Code cleanup

This commit is contained in:
neslihanturan 2019-09-17 18:49:04 +03:00
parent 148c891580
commit cff4086bb3
6 changed files with 21 additions and 77 deletions

View file

@ -47,13 +47,15 @@ import static android.content.ContentResolver.requestSync;
public class MainActivity extends AuthenticatedActivity implements FragmentManager.OnBackStackChangedListener { public class MainActivity extends AuthenticatedActivity implements FragmentManager.OnBackStackChangedListener {
@Inject
SessionManager sessionManager;
@Inject ContributionController controller;
@BindView(R.id.tab_layout) @BindView(R.id.tab_layout)
TabLayout tabLayout; TabLayout tabLayout;
@BindView(R.id.pager) @BindView(R.id.pager)
public UnswipableViewPager viewPager; public UnswipableViewPager viewPager;
@Inject
SessionManager sessionManager;
@Inject
ContributionController controller;
@Inject @Inject
public LocationServiceManager locationManager; public LocationServiceManager locationManager;
@Inject @Inject
@ -72,8 +74,6 @@ public class MainActivity extends AuthenticatedActivity implements FragmentManag
public boolean isContributionsFragmentVisible = true; // False means nearby fragment is visible public boolean isContributionsFragmentVisible = true; // False means nearby fragment is visible
private Menu menu; private Menu menu;
private boolean onOrientationChanged = false;
private MenuItem notificationsMenuItem; private MenuItem notificationsMenuItem;
private TextView notificationCount; private TextView notificationCount;
@ -84,16 +84,6 @@ public class MainActivity extends AuthenticatedActivity implements FragmentManag
requestAuthToken(); requestAuthToken();
initDrawer(); initDrawer();
setTitle(getString(R.string.navigation_item_home)); // Should I create a new string variable with another name instead? setTitle(getString(R.string.navigation_item_home)); // Should I create a new string variable with another name instead?
if (savedInstanceState != null ) {
onOrientationChanged = true; // Will be used in nearby fragment to determine significant update of map
//If nearby map was visible, call on Tab Selected to call all nearby operations
/*if (savedInstanceState.getInt("viewPagerCurrentItem") == 1) {
((NearbyFragment)contributionsActivityPagerAdapter.getItem(1)).onTabSelected(onOrientationChanged);
}*/
}
} }
@Override @Override
@ -160,9 +150,7 @@ public class MainActivity extends AuthenticatedActivity implements FragmentManag
* tab won't change and vice versa. So we have to notify each of them. * tab won't change and vice versa. So we have to notify each of them.
*/ */
private void setTabAndViewPagerSynchronisation() { private void setTabAndViewPagerSynchronisation() {
//viewPager.canScrollHorizontally(false);
viewPager.setFocusableInTouchMode(true); viewPager.setFocusableInTouchMode(true);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override @Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
@ -177,7 +165,6 @@ public class MainActivity extends AuthenticatedActivity implements FragmentManag
tabLayout.getTabAt(CONTRIBUTIONS_TAB_POSITION).select(); tabLayout.getTabAt(CONTRIBUTIONS_TAB_POSITION).select();
isContributionsFragmentVisible = true; isContributionsFragmentVisible = true;
updateMenuItem(); updateMenuItem();
break; break;
case NEARBY_TAB_POSITION: case NEARBY_TAB_POSITION:
Timber.d("Nearby tab selected"); Timber.d("Nearby tab selected");
@ -324,12 +311,12 @@ public class MainActivity extends AuthenticatedActivity implements FragmentManag
// Display notifications menu item // Display notifications menu item
menu.findItem(R.id.notifications).setVisible(true); menu.findItem(R.id.notifications).setVisible(true);
menu.findItem(R.id.list_sheet).setVisible(false); menu.findItem(R.id.list_sheet).setVisible(false);
Timber.d("Contributions activity notifications menu item is visible"); Timber.d("Contributions fragment notifications menu item is visible");
} else { } else {
// Display bottom list menu item // Display bottom list menu item
menu.findItem(R.id.notifications).setVisible(false); menu.findItem(R.id.notifications).setVisible(false);
menu.findItem(R.id.list_sheet).setVisible(true); menu.findItem(R.id.list_sheet).setVisible(true);
Timber.d("Contributions activity list sheet menu item is visible"); Timber.d("Nearby fragment list sheet menu item is visible");
} }
} }
} }
@ -353,8 +340,6 @@ public class MainActivity extends AuthenticatedActivity implements FragmentManag
public class ContributionsActivityPagerAdapter extends FragmentPagerAdapter { public class ContributionsActivityPagerAdapter extends FragmentPagerAdapter {
FragmentManager fragmentManager; FragmentManager fragmentManager;
private boolean isContributionsListFragment = true; // to know what to put in first tab, Contributions of Media Details
public ContributionsActivityPagerAdapter(FragmentManager fragmentManager) { public ContributionsActivityPagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager); super(fragmentManager);

View file

@ -13,7 +13,7 @@ import fr.free.nrw.commons.explore.images.SearchImageFragment;
import fr.free.nrw.commons.explore.recentsearches.RecentSearchesFragment; import fr.free.nrw.commons.explore.recentsearches.RecentSearchesFragment;
import fr.free.nrw.commons.media.MediaDetailFragment; import fr.free.nrw.commons.media.MediaDetailFragment;
import fr.free.nrw.commons.media.MediaDetailPagerFragment; import fr.free.nrw.commons.media.MediaDetailPagerFragment;
import fr.free.nrw.commons.nearby.NearbyListFragment; import fr.free.nrw.commons.nearby.mvp.fragments.NearbyListFragment;
import fr.free.nrw.commons.nearby.mvp.fragments.NearbyMapFragment; import fr.free.nrw.commons.nearby.mvp.fragments.NearbyMapFragment;
import fr.free.nrw.commons.nearby.mvp.fragments.NearbyParentFragment; import fr.free.nrw.commons.nearby.mvp.fragments.NearbyParentFragment;
import fr.free.nrw.commons.review.ReviewImageFragment; import fr.free.nrw.commons.review.ReviewImageFragment;
@ -60,7 +60,7 @@ public abstract class FragmentBuilderModule {
abstract ContributionsFragment bindContributionsFragment(); abstract ContributionsFragment bindContributionsFragment();
@ContributesAndroidInjector @ContributesAndroidInjector
abstract NearbyMapFragment bindSupportMapFragment(); abstract NearbyMapFragment bindNearbyMapFragment();
@ContributesAndroidInjector @ContributesAndroidInjector
abstract NearbyParentFragment bindNearbyParentFragment(); abstract NearbyParentFragment bindNearbyParentFragment();

View file

@ -6,8 +6,6 @@ import android.location.Location;
import android.location.LocationListener; import android.location.LocationListener;
import android.location.LocationManager; import android.location.LocationManager;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;

View file

@ -98,10 +98,13 @@ public class NearbyController {
nearbyPlacesInfo.placeList = places; nearbyPlacesInfo.placeList = places;
nearbyPlacesInfo.boundaryCoordinates = boundaryCoordinates; nearbyPlacesInfo.boundaryCoordinates = boundaryCoordinates;
// Returning closes result means we use the controller for nearby card. So no need to set search this area flags
if (!returnClosestResult) { if (!returnClosestResult) {
// To remember latest search either around user or any point on map
latestSearchLocation = searchLatLng; latestSearchLocation = searchLatLng;
latestSearchRadius = nearbyPlaces.radius*1000; // to meter latestSearchRadius = nearbyPlaces.radius*1000; // to meter
// Our radius searched around us, will be used to understand when user search their own location, we will follow them
if (checkingAroundCurrentLocation) { if (checkingAroundCurrentLocation) {
currentLocationSearchRadius = nearbyPlaces.radius*1000; // to meter currentLocationSearchRadius = nearbyPlaces.radius*1000; // to meter
currentLocation = curLatLng; currentLocation = curLatLng;
@ -123,7 +126,7 @@ public class NearbyController {
* @param placeList list of nearby places in Place data type * @param placeList list of nearby places in Place data type
* @return Place list that holds nearby places * @return Place list that holds nearby places
*/ */
static List<Place> loadAttractionsFromLocationToPlaces( public static List<Place> loadAttractionsFromLocationToPlaces(
LatLng curLatLng, LatLng curLatLng,
List<Place> placeList) { List<Place> placeList) {
placeList = placeList.subList(0, Math.min(placeList.size(), MAX_RESULTS)); placeList = placeList.subList(0, Math.min(placeList.size(), MAX_RESULTS));
@ -223,7 +226,7 @@ public class NearbyController {
public class NearbyPlacesInfo { public class NearbyPlacesInfo {
public List<Place> placeList; // List of nearby places public List<Place> placeList; // List of nearby places
public LatLng[] boundaryCoordinates; // Corners of nearby area public LatLng[] boundaryCoordinates; // Corners of nearby area
public LatLng curLatLng; // current location when this places are populated public LatLng curLatLng; // Current location when this places are populated
public LatLng searchLatLng; //search location for finding this places public LatLng searchLatLng; // Search location for finding this places
} }
} }

View file

@ -1,4 +1,4 @@
package fr.free.nrw.commons.nearby; package fr.free.nrw.commons.nearby.mvp.fragments;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
@ -22,11 +22,13 @@ import fr.free.nrw.commons.R;
import fr.free.nrw.commons.contributions.ContributionController; import fr.free.nrw.commons.contributions.ContributionController;
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
import fr.free.nrw.commons.location.LatLng; import fr.free.nrw.commons.location.LatLng;
import fr.free.nrw.commons.nearby.NearbyAdapterFactory;
import fr.free.nrw.commons.nearby.NearbyController;
import fr.free.nrw.commons.nearby.Place;
import fr.free.nrw.commons.nearby.mvp.contract.NearbyParentFragmentContract; import fr.free.nrw.commons.nearby.mvp.contract.NearbyParentFragmentContract;
import timber.log.Timber; import timber.log.Timber;
public class NearbyListFragment extends CommonsDaggerSupportFragment implements NearbyParentFragmentContract.ListView { public class NearbyListFragment extends CommonsDaggerSupportFragment implements NearbyParentFragmentContract.ListView {
private Bundle bundleForUpdates; // Carry information from activity about changed nearby places and current location
private static final Type LIST_TYPE = new TypeToken<List<Place>>() { private static final Type LIST_TYPE = new TypeToken<List<Place>>() {
}.getType(); }.getType();
@ -70,30 +72,6 @@ public class NearbyListFragment extends CommonsDaggerSupportFragment implements
recyclerView.setAdapter(adapterFactory.create(getPlaceListFromBundle(bundle))); recyclerView.setAdapter(adapterFactory.create(getPlaceListFromBundle(bundle)));
} }
/**
* Updates nearby list elements all together
*/
public void updateNearbyListSignificantly() {
try {
adapterFactory.updateAdapterData(getPlaceListFromBundle(bundleForUpdates), (RVRendererAdapter<Place>) recyclerView.getAdapter());
} catch (NullPointerException e) {
Timber.e("Null pointer exception from calling recyclerView.getAdapter()");
}
}
/**
* While nearby updates for current location held with bundle, automatically, custom updates are
* done by calling this method, triggered by search this are button input from user.
* @param placeList List of nearby places to be added list fragment
*/
public void updateNearbyListSignificantlyForCustomLocation(List<Place> placeList) {
try {
adapterFactory.updateAdapterData(placeList, (RVRendererAdapter<Place>) recyclerView.getAdapter());
} catch (NullPointerException e) {
Timber.e("Null pointer exception from calling recyclerView.getAdapter()");
}
}
/** /**
* When user moved too much, we need to update nearby list too. This operation is made by passing * When user moved too much, we need to update nearby list too. This operation is made by passing
* a bundle from NearbyFragment to NearbyListFragment and NearbyMapFragment. This method extracts * a bundle from NearbyFragment to NearbyListFragment and NearbyMapFragment. This method extracts
@ -117,16 +95,9 @@ public class NearbyListFragment extends CommonsDaggerSupportFragment implements
return placeList; return placeList;
} }
/**
* Sets bundles for updates in map. Ie. user is moved too much so we need to update nearby markers.
* @param bundleForUpdates includes new calculated nearby places.
*/
public void setBundleForUpdates(Bundle bundleForUpdates) {
this.bundleForUpdates = bundleForUpdates;
}
@Override @Override
public void updateListFragment(List<Place> placeList) { public void updateListFragment(List<Place> placeList) {
Timber.d("Update list fragment");
adapterFactory.updateAdapterData(placeList, (RVRendererAdapter<Place>) recyclerView.getAdapter()); adapterFactory.updateAdapterData(placeList, (RVRendererAdapter<Place>) recyclerView.getAdapter());
} }
} }

View file

@ -42,8 +42,6 @@ import com.mapbox.mapboxsdk.maps.MapboxMapOptions;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.maps.Style;
import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
@ -58,7 +56,6 @@ import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
import fr.free.nrw.commons.kvstore.JsonKvStore; import fr.free.nrw.commons.kvstore.JsonKvStore;
import fr.free.nrw.commons.location.LocationServiceManager; import fr.free.nrw.commons.location.LocationServiceManager;
import fr.free.nrw.commons.nearby.NearbyController; import fr.free.nrw.commons.nearby.NearbyController;
import fr.free.nrw.commons.nearby.NearbyListFragment;
import fr.free.nrw.commons.nearby.NearbyMarker; import fr.free.nrw.commons.nearby.NearbyMarker;
import fr.free.nrw.commons.nearby.Place; import fr.free.nrw.commons.nearby.Place;
import fr.free.nrw.commons.nearby.mvp.contract.NearbyParentFragmentContract; import fr.free.nrw.commons.nearby.mvp.contract.NearbyParentFragmentContract;
@ -205,7 +202,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment
NearbyMapFragment nearbyMapFragment; NearbyMapFragment nearbyMapFragment;
private fr.free.nrw.commons.nearby.NearbyListFragment nearbyListFragment; private NearbyListFragment nearbyListFragment;
public static final String TAG_RETAINED_MAP_FRAGMENT = NearbyMapFragment.class.getSimpleName(); public static final String TAG_RETAINED_MAP_FRAGMENT = NearbyMapFragment.class.getSimpleName();
public static final String TAG_RETAINED_LIST_FRAGMENT = NearbyListFragment.class.getSimpleName(); public static final String TAG_RETAINED_LIST_FRAGMENT = NearbyListFragment.class.getSimpleName();
@ -446,16 +443,6 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment
} }
} }
/**
* Updates nearby list for custom location, will be used with search this area method. When you
* want to search for a place where you are not at.
* @param placeList List of places around your manually chosen target location from map.
*/
private void updateListFragmentForCustomLocation(List<Place> placeList) {
nearbyListFragment.updateNearbyListSignificantlyForCustomLocation(placeList);
}
/** /**
* Thanks to this method we make sure NearbyMapFragment is ready and attached. So that we can * Thanks to this method we make sure NearbyMapFragment is ready and attached. So that we can
* prevent NPE caused by null child fragment. This method is called from child fragment when * prevent NPE caused by null child fragment. This method is called from child fragment when