Merge "Clear recent access list when fragment is paused."

This commit is contained in:
Kate Montgomery
2022-02-08 16:22:52 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 1 deletions

View File

@@ -63,6 +63,7 @@ public class LocationSettings extends DashboardFragment implements
private LocationSwitchBarController mSwitchBarController;
private LocationEnabler mLocationEnabler;
private RecentLocationAccessPreferenceController mController;
@Override
public int getMetricsCategory() {
@@ -86,12 +87,21 @@ public class LocationSettings extends DashboardFragment implements
super.onAttach(context);
use(AppLocationPermissionPreferenceController.class).init(this);
use(RecentLocationAccessPreferenceController.class).init(this);
mController = use(RecentLocationAccessPreferenceController.class);
mController.init(this);
use(RecentLocationAccessSeeAllButtonPreferenceController.class).init(this);
use(LocationForWorkPreferenceController.class).init(this);
use(LocationSettingsFooterPreferenceController.class).init(this);
}
@Override
public void onPause() {
super.onPause();
if (mController != null) {
mController.clearPreferenceList();
}
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.location_settings;

View File

@@ -126,6 +126,15 @@ public class RecentLocationAccessPreferenceController extends LocationBasePrefer
mCategoryRecentLocationRequests.setVisible(enabled);
}
/**
* Clears the list of apps which recently accessed location from the screen.
*/
public void clearPreferenceList() {
if (mCategoryRecentLocationRequests != null) {
mCategoryRecentLocationRequests.removeAll();
}
}
/**
* Initialize {@link ProfileSelectFragment.ProfileType} of the controller
*