Clear recent access list when fragment is paused.
When the fragment is resumed, the recent access list will be reloaded. Clearing the list ahead of time results in a nicer animation and matches the animtion when the fragment is first open. Bug: 191503437 Test: manual Change-Id: I91d01057acc601e6b2a40401f8bd69c5f5aa3579
This commit is contained in:
@@ -63,6 +63,7 @@ public class LocationSettings extends DashboardFragment implements
|
|||||||
|
|
||||||
private LocationSwitchBarController mSwitchBarController;
|
private LocationSwitchBarController mSwitchBarController;
|
||||||
private LocationEnabler mLocationEnabler;
|
private LocationEnabler mLocationEnabler;
|
||||||
|
private RecentLocationAccessPreferenceController mController;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
@@ -86,12 +87,21 @@ public class LocationSettings extends DashboardFragment implements
|
|||||||
super.onAttach(context);
|
super.onAttach(context);
|
||||||
|
|
||||||
use(AppLocationPermissionPreferenceController.class).init(this);
|
use(AppLocationPermissionPreferenceController.class).init(this);
|
||||||
use(RecentLocationAccessPreferenceController.class).init(this);
|
mController = use(RecentLocationAccessPreferenceController.class);
|
||||||
|
mController.init(this);
|
||||||
use(RecentLocationAccessSeeAllButtonPreferenceController.class).init(this);
|
use(RecentLocationAccessSeeAllButtonPreferenceController.class).init(this);
|
||||||
use(LocationForWorkPreferenceController.class).init(this);
|
use(LocationForWorkPreferenceController.class).init(this);
|
||||||
use(LocationSettingsFooterPreferenceController.class).init(this);
|
use(LocationSettingsFooterPreferenceController.class).init(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
if (mController != null) {
|
||||||
|
mController.clearPreferenceList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.location_settings;
|
return R.xml.location_settings;
|
||||||
|
@@ -126,6 +126,15 @@ public class RecentLocationAccessPreferenceController extends LocationBasePrefer
|
|||||||
mCategoryRecentLocationRequests.setVisible(enabled);
|
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
|
* Initialize {@link ProfileSelectFragment.ProfileType} of the controller
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user