Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9082be89 authored by Kate Montgomery's avatar Kate Montgomery
Browse files

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
parent 24d67e9a
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -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;
+9 −0
Original line number Diff line number Diff line
@@ -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
     *