Add preference to disable or display closest nearby location

This commit is contained in:
neslihanturan 2018-09-14 14:18:15 +03:00
parent 3b5f8a35ab
commit b1ac46c0da
5 changed files with 33 additions and 8 deletions

View file

@ -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;

View file

@ -472,6 +472,8 @@ public class ContributionsFragment
new UnreadNotificationsCheckAsync((ContributionsActivity) getActivity(), notificationController).execute();
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
@ -482,6 +484,10 @@ public class ContributionsFragment
nearbyNoificationCardView.displayPermissionRequestButton(true);
}
}
} else {
nearbyNoificationCardView.setVisibility(View.GONE);
}
}
@Override

View file

@ -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

View file

@ -355,4 +355,7 @@
<string name="contributions_fragment">Contributions</string>
<string name="nearby_fragment">Nearby</string>
<string name="display_nearby_notification">Display nearby notification</string>
<string name="display_nearby_notification_summary">Display closest wikidata item needs an image, above contribution list</string>
</resources>

View file

@ -36,6 +36,12 @@
android:inputType="numberDecimal"
android:maxLength="3" />
<fr.free.nrw.commons.ui.LongTitlePreferences.LongTitleSwitchPreference
android:key="displayNearbyCardView"
android:title="@string/display_nearby_notification"
android:defaultValue="true"
android:summary="@string/display_nearby_notification_summary" />
</fr.free.nrw.commons.ui.LongTitlePreferences.LongTitlePreferenceCategory>
<!-- The key 'allowGps' was used before and has since been removed based on the discussion at #1599.