From f2edf158f6b87a1b5178ba27fd1115adaa9c1da1 Mon Sep 17 00:00:00 2001 From: neslihanturan Date: Tue, 12 Dec 2017 21:44:31 +0300 Subject: [PATCH] Add .xml of nearby lit items --- .../commons/nearby/NearbyAdapterFactory.java | 13 +- .../commons/nearby/NearbyListFragment.java | 5 +- .../nrw/commons/nearby/PlaceRenderer.java | 36 +++-- app/src/main/res/layout/item_place.xml | 140 +++++++++--------- 4 files changed, 110 insertions(+), 84 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyAdapterFactory.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyAdapterFactory.java index d5eb05851..b61f40c28 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyAdapterFactory.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyAdapterFactory.java @@ -10,17 +10,20 @@ import java.util.Collections; import java.util.List; class NearbyAdapterFactory { - private PlaceRenderer.PlaceClickedListener listener; + //private PlaceRenderer.PlaceClickedListener listener; + public static boolean isItemOpen = false; - NearbyAdapterFactory(@NonNull PlaceRenderer.PlaceClickedListener listener) { - this.listener = listener; + NearbyAdapterFactory(){ + //@NonNull PlaceRenderer.PlaceClickedListener listener) { + //this.listener = listener; } public RVRendererAdapter create(List placeList) { RendererBuilder builder = new RendererBuilder() - .bind(Place.class, new PlaceRenderer(listener)); + //.bind(Place.class, new PlaceRenderer(listener)); + .bind(Place.class, new PlaceRenderer()); ListAdapteeCollection collection = new ListAdapteeCollection<>( placeList != null ? placeList : Collections.emptyList()); return new RVRendererAdapter<>(builder, collection); } -} +} \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java index d57a23137..1b4f38d9c 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyListFragment.java @@ -56,7 +56,8 @@ public class NearbyListFragment extends Fragment { View view = inflater.inflate(R.layout.fragment_nearby, container, false); recyclerView = (RecyclerView) view.findViewById(R.id.listView); recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); - adapterFactory = new NearbyAdapterFactory(place -> NearbyInfoDialog.showYourself(getActivity(), place)); + //adapterFactory = new NearbyAdapterFactory(place -> NearbyInfoDialog.showYourself(getActivity(), place)); + adapterFactory = new NearbyAdapterFactory(); return view; } @@ -79,4 +80,4 @@ public class NearbyListFragment extends Fragment { recyclerView.setAdapter(adapterFactory.create(placeList)); } -} +} \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java index d1100be01..ddeb0f3f0 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceRenderer.java @@ -2,6 +2,8 @@ package fr.free.nrw.commons.nearby; import android.os.CountDownTimer; import android.support.annotation.NonNull; +import android.support.v4.view.ViewCompat; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -20,26 +22,34 @@ import butterknife.ButterKnife; import fr.free.nrw.commons.R; class PlaceRenderer extends Renderer { + //private static boolean isAnyItemOpen = false; @BindView(R.id.tvName) TextView tvName; @BindView(R.id.tvDesc) TextView tvDesc; @BindView(R.id.distance) TextView distance; @BindView(R.id.icon) ImageView icon; - @BindView(R.id.buttonLayout) - LinearLayout buttonLayout; + @BindView(R.id.buttonLayout) LinearLayout buttonLayout; private Animation animationUp; private Animation animationDown; - private final int COUNTDOWN_RUNNING_TIME = 300; + + private View view; + private final int COUNTDOWN_RUNNING_TIME = 500; private static ArrayList openedItems; + //private final PlaceClickedListener listener; + PlaceRenderer(){ + //@NonNull PlaceClickedListener listener) { + Log.d("nesli","renderer created"); openedItems = new ArrayList<>(); + //this.listener = listener; } @Override protected View inflate(LayoutInflater layoutInflater, ViewGroup viewGroup) { - return layoutInflater.inflate(R.layout.item_place, viewGroup, false); + view = layoutInflater.inflate(R.layout.item_place, viewGroup, false); + return view; } @Override @@ -51,9 +61,11 @@ class PlaceRenderer extends Renderer { @Override protected void hookListeners(View view) { + final View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View view) { + Log.d("Renderer", "clicked"); if(buttonLayout.isShown()){ closeLayout(buttonLayout); }else { @@ -76,11 +88,10 @@ class PlaceRenderer extends Renderer { }); } - private void closeLayout(LinearLayout buttonLayout) { - + private void closeLayout(LinearLayout buttonLayout){ + //openedItems.remove(buttonLayout); buttonLayout.startAnimation(animationUp); - CountDownTimer countDownTimerStatic = new CountDownTimer(COUNTDOWN_RUNNING_TIME - , 16) { + CountDownTimer countDownTimerStatic = new CountDownTimer(COUNTDOWN_RUNNING_TIME, 16) { @Override public void onTick(long millisUntilFinished) { } @@ -88,6 +99,7 @@ class PlaceRenderer extends Renderer { @Override public void onFinish() { buttonLayout.setVisibility(View.GONE); + //buttonLayout.setVisibility(View.GONE); } }; countDownTimerStatic.start(); @@ -95,7 +107,9 @@ class PlaceRenderer extends Renderer { private void openLayout(LinearLayout buttonLayout){ buttonLayout.setVisibility(View.VISIBLE); + ViewCompat.setElevation( view, 10); buttonLayout.startAnimation(animationDown); + //openedItems.add(buttonLayout); } @Override @@ -110,4 +124,8 @@ class PlaceRenderer extends Renderer { distance.setText(place.distance); icon.setImageResource(place.getLabel().getIcon()); } -} + + /*interface PlaceClickedListener { + void onPlaceOpened(Place place); + }*/ +} \ No newline at end of file diff --git a/app/src/main/res/layout/item_place.xml b/app/src/main/res/layout/item_place.xml index 3f48de0de..b03fdbe1f 100644 --- a/app/src/main/res/layout/item_place.xml +++ b/app/src/main/res/layout/item_place.xml @@ -3,7 +3,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" xmlns:app="http://schemas.android.com/apk/res-auto" - android:foreground="?selectableItemBackground" android:focusableInTouchMode="true" android:minHeight="72dp"> @@ -41,7 +40,7 @@ android:layout_alignParentRight="true" android:layout_marginRight="16dp" android:layout_marginTop="32dp" - app:srcCompat="@drawable/ic_keyboard_arrow_right_black_24dp" + /> @@ -92,81 +91,86 @@ android:layout_height="wrap_content" android:layout_marginLeft="72dp" android:layout_marginRight="16dp" - android:layout_marginBottom="16dp" + android:layout_marginTop="16dp" android:textSize="16sp" android:text="Description Description Description Description Description Description Description Description Description " /> - - - - - - - - + android:orientation="horizontal"> - - - + + + + + + + - /> + + + + \ No newline at end of file