Inject location manager to activity instead

This commit is contained in:
neslihanturan 2018-09-14 12:24:08 +03:00
parent a37fbf05f1
commit 0b965aa5e8
3 changed files with 12 additions and 10 deletions

View file

@ -22,6 +22,7 @@ import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.R; import fr.free.nrw.commons.R;
import fr.free.nrw.commons.auth.AuthenticatedActivity; import fr.free.nrw.commons.auth.AuthenticatedActivity;
import fr.free.nrw.commons.auth.SessionManager; import fr.free.nrw.commons.auth.SessionManager;
import fr.free.nrw.commons.location.LocationServiceManager;
import fr.free.nrw.commons.nearby.NearbyFragment; import fr.free.nrw.commons.nearby.NearbyFragment;
import fr.free.nrw.commons.notification.NotificationActivity; import fr.free.nrw.commons.notification.NotificationActivity;
import fr.free.nrw.commons.theme.NavigationBaseActivity; import fr.free.nrw.commons.theme.NavigationBaseActivity;
@ -37,6 +38,8 @@ public class ContributionsActivity extends AuthenticatedActivity implements Frag
TabLayout tabLayout; TabLayout tabLayout;
@BindView(R.id.pager) @BindView(R.id.pager)
ViewPager viewPager; ViewPager viewPager;
@Inject
public LocationServiceManager locationManager;
public Intent uploadServiceIntent; public Intent uploadServiceIntent;

View file

@ -85,8 +85,6 @@ public class ContributionsFragment
MediaWikiApi mediaWikiApi; MediaWikiApi mediaWikiApi;
@Inject @Inject
NotificationController notificationController; NotificationController notificationController;
@Inject
public LocationServiceManager locationManager;
private ArrayList<DataSetObserver> observersWaitingForLoad = new ArrayList<>(); private ArrayList<DataSetObserver> observersWaitingForLoad = new ArrayList<>();
private Cursor allContributions; private Cursor allContributions;
@ -288,8 +286,8 @@ public class ContributionsFragment
// No need to display permission request button anymore // No need to display permission request button anymore
nearbyNoificationCardView.displayPermissionRequestButton(false); nearbyNoificationCardView.displayPermissionRequestButton(false);
} else { } else {
// No need to display permission request button anymore // Still ask for permission
nearbyNoificationCardView.displayPermissionRequestButton(false); nearbyNoificationCardView.displayPermissionRequestButton(true);
} }
} }
break; break;
@ -444,15 +442,15 @@ public class ContributionsFragment
@Override @Override
public void onStart() { public void onStart() {
super.onStart(); super.onStart();
locationManager.addLocationListener(this); ((ContributionsActivity)getActivity()).locationManager.addLocationListener(this);
} }
@Override @Override
public void onPause() { public void onPause() {
super.onPause(); super.onPause();
locationManager.removeLocationListener(this); ((ContributionsActivity)getActivity()).locationManager.removeLocationListener(this);
locationManager.unregisterLocationManager(); ((ContributionsActivity)getActivity()).locationManager.unregisterLocationManager();
} }
@Override @Override
@ -475,7 +473,7 @@ public class ContributionsFragment
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (locationManager.isLocationPermissionGranted()) { if (((ContributionsActivity)getActivity()).locationManager.isLocationPermissionGranted()) {
// Display nearest location, first listen // Display nearest location, first listen
nearbyNoificationCardView.displayPermissionRequestButton(false); nearbyNoificationCardView.displayPermissionRequestButton(false);

View file

@ -74,8 +74,7 @@ public class NearbyNoificationCardView extends CardView{
@Override @Override
public void onClick(View view) { public void onClick(View view) {
if (!((ContributionsActivity)context).isFinishing()) { if (!((ContributionsActivity)context).isFinishing()) {
// TODO: why location manager is null ((ContributionsActivity) context).locationManager.requestPermissions((ContributionsActivity) context);
((ContributionsActivity) context).contributionsFragment.locationManager.requestPermissions((ContributionsActivity) context);
} }
} }
}); });
@ -83,9 +82,11 @@ public class NearbyNoificationCardView extends CardView{
public void displayPermissionRequestButton(boolean isPermissionRequestButtonNeeded) { public void displayPermissionRequestButton(boolean isPermissionRequestButtonNeeded) {
if (isPermissionRequestButtonNeeded) { if (isPermissionRequestButtonNeeded) {
Log.d("deneme","called1");
contentLayout.setVisibility(GONE); contentLayout.setVisibility(GONE);
permissionRequestButton.setVisibility(VISIBLE); permissionRequestButton.setVisibility(VISIBLE);
} else { } else {
Log.d("deneme","called2");
contentLayout.setVisibility(VISIBLE); contentLayout.setVisibility(VISIBLE);
permissionRequestButton.setVisibility(GONE); permissionRequestButton.setVisibility(GONE);
} }