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

Commit 76cbd4b3 authored by Tony Mantler's avatar Tony Mantler
Browse files

Make ApplicationsState.Session lifecycle-aware

Bug: 66682989
Test: RunSettingsRoboTests
Change-Id: Idf56788fcae22639b7bf604a8c73cd5f0ff2da16
parent 10ba1f1e
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
        mApplicationFeatureProvider = FeatureFactory.getFactory(activity)
                .getApplicationFeatureProvider(activity);
        mState = ApplicationsState.getInstance(activity.getApplication());
        mSession = mState.newSession(this);
        mSession = mState.newSession(this, getLifecycle());
        mDpm = new DevicePolicyManagerWrapper(
                (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE));
        mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE);
@@ -107,7 +107,6 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
    @Override
    public void onResume() {
        super.onResume();
        mSession.resume();
        mAppsControlDisallowedAdmin = RestrictedLockUtils.checkIfRestrictionEnforced(getActivity(),
                UserManager.DISALLOW_APPS_CONTROL, mUserId);
        mAppsControlDisallowedBySystem = RestrictedLockUtils.hasBaseUserRestriction(getActivity(),
@@ -118,16 +117,10 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
        }
    }

    @Override
    public void onPause() {
        mSession.pause();
        super.onPause();
    }

    @Override
    public void onDestroy() {
        stopListeningToPackageRemove();
        mSession.release();
        super.onDestroy();
    }

+3 −3
Original line number Diff line number Diff line
@@ -50,15 +50,15 @@ public abstract class AppStateBaseBridge implements ApplicationsState.Callbacks

    public void resume() {
        mHandler.sendEmptyMessage(BackgroundHandler.MSG_LOAD_ALL);
        mAppSession.resume();
        mAppSession.onResume();
    }

    public void pause() {
        mAppSession.pause();
        mAppSession.onPause();
    }

    public void release() {
        mAppSession.release();
        mAppSession.onDestroy();
    }

    public void forceUpdate(String pkg, int uid) {
+3 −3
Original line number Diff line number Diff line
@@ -988,7 +988,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment
            if (DEBUG) Log.i(TAG, "Resume!  mResumed=" + mResumed);
            if (!mResumed) {
                mResumed = true;
                mSession.resume();
                mSession.onResume();
                mLastSortMode = sort;
                if (mExtraInfoBridge != null) {
                    mExtraInfoBridge.resume();
@@ -1002,7 +1002,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment
        public void pause() {
            if (mResumed) {
                mResumed = false;
                mSession.pause();
                mSession.onPause();
                if (mExtraInfoBridge != null) {
                    mExtraInfoBridge.pause();
                }
@@ -1015,7 +1015,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment
        }

        public void release() {
            mSession.release();
            mSession.onDestroy();
            if (mExtraInfoBridge != null) {
                mExtraInfoBridge.release();
            }
+1 −19
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
        setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getContext()));
        mApplicationsState = ApplicationsState.getInstance(
                (Application) getContext().getApplicationContext());
        mSession = mApplicationsState.newSession(this);
        mSession = mApplicationsState.newSession(this, getLifecycle());
        setHasOptionsMenu(true);
    }

@@ -75,24 +75,6 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
        super.onViewCreated(view, savedInstanceState);
    }

    @Override
    public void onResume() {
        super.onResume();
        mSession.resume();
    }

    @Override
    public void onPause() {
        super.onPause();
        mSession.pause();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        mSession.release();
    }

    @Override
    public void onRunningStateChanged(boolean running) {
    }
+1 −5
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import com.android.settings.DividerPreference;
import com.android.settings.R;
import com.android.settings.applications.AppStateBaseBridge.Callback;
import com.android.settings.applications.AppStateSmsPremBridge.SmsState;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.notification.EmptyTextSettings;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.applications.ApplicationsState;
@@ -53,7 +52,7 @@ public class PremiumSmsAccess extends EmptyTextSettings implements Callback, Cal
        super.onCreate(icicle);
        mApplicationsState = ApplicationsState.getInstance((Application)
                getContext().getApplicationContext());
        mSession = mApplicationsState.newSession(this);
        mSession = mApplicationsState.newSession(this, getLifecycle());
        mSmsBackend = new AppStateSmsPremBridge(getContext(), mApplicationsState, this);
    }

@@ -66,21 +65,18 @@ public class PremiumSmsAccess extends EmptyTextSettings implements Callback, Cal
    @Override
    public void onResume() {
        super.onResume();
        mSession.resume();
        mSmsBackend.resume();
    }

    @Override
    public void onPause() {
        mSmsBackend.pause();
        mSession.pause();
        super.onPause();
    }

    @Override
    public void onDestroy() {
        mSmsBackend.release();
        mSession.release();
        super.onDestroy();
    }

Loading