diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java index 26bb7f4b1..ec8e07b8a 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsActivity.java @@ -1,6 +1,7 @@ package fr.free.nrw.commons.contributions; import android.content.Intent; +import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Bundle; import android.support.design.widget.TabLayout; @@ -15,6 +16,7 @@ import android.view.MenuItem; import android.view.View; import javax.inject.Inject; +import javax.inject.Named; import butterknife.BindView; import butterknife.ButterKnife; @@ -40,6 +42,9 @@ public class ContributionsActivity extends AuthenticatedActivity implements Frag ViewPager viewPager; @Inject public LocationServiceManager locationManager; + @Inject + @Named("default_preferences") + public SharedPreferences prefs; public Intent uploadServiceIntent; diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java index cc5fc57ec..efb5d1df6 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java @@ -472,16 +472,22 @@ public class ContributionsFragment new UnreadNotificationsCheckAsync((ContributionsActivity) getActivity(), notificationController).execute(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (((ContributionsActivity)getActivity()).locationManager.isLocationPermissionGranted()) { - // Display nearest location, first listen - nearbyNoificationCardView.displayPermissionRequestButton(false); + if (prefs.getBoolean("displayNearbyCardView", true)) { + nearbyNoificationCardView.setVisibility(View.VISIBLE); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (((ContributionsActivity)getActivity()).locationManager.isLocationPermissionGranted()) { + // Display nearest location, first listen + nearbyNoificationCardView.displayPermissionRequestButton(false); - } else { - // Display tab to see button, since permission is not granted and you have to grant it first - nearbyNoificationCardView.displayPermissionRequestButton(true); + } else { + // Display tab to see button, since permission is not granted and you have to grant it first + nearbyNoificationCardView.displayPermissionRequestButton(true); + } } + } else { + nearbyNoificationCardView.setVisibility(View.GONE); } + } @Override diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java index 97105bb61..d6a093c9e 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyNoificationCardView.java @@ -1,6 +1,8 @@ package fr.free.nrw.commons.nearby; import android.content.Context; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.design.widget.CoordinatorLayout; @@ -19,6 +21,9 @@ import android.widget.TextView; import java.util.ArrayList; import java.util.List; +import javax.inject.Inject; +import javax.inject.Named; + import fr.free.nrw.commons.R; import fr.free.nrw.commons.contributions.ContributionsActivity; import fr.free.nrw.commons.contributions.ContributionsFragment; @@ -83,8 +88,8 @@ public class NearbyNoificationCardView extends CardView{ * make view invisible at all. */ NearbyNoificationCardView.this.setVisibility(GONE); - // Save shared preference for nearby card view accordingly + ((ContributionsActivity) context).prefs.edit().putBoolean("displayNearbyCardView", false).apply(); } @Override diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e7b56a1fe..805eb11a7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -355,4 +355,7 @@ Contributions Nearby + Display nearby notification + Display closest wikidata item needs an image, above contribution list + diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 37b6a8b01..0af4d50c6 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -36,6 +36,12 @@ android:inputType="numberDecimal" android:maxLength="3" /> + +