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

Commit 8c32899e authored by Winson Chung's avatar Winson Chung Committed by android-build-merger
Browse files

Merge "Stop preloading recent tasks in SysUI when bound to overview service"...

Merge "Stop preloading recent tasks in SysUI when bound to overview service" into pi-dev am: 3955e197
am: 4d8439f8

Change-Id: Ic8990ec6bc56548b8ae62d6f2ae3884683ed34fd
parents 3d8a0d96 4d8439f8
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.app.trust.TrustManager;
import android.content.ActivityNotFoundException;
import android.content.ComponentCallbacks2;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
@@ -45,6 +46,8 @@ import android.view.WindowManager;

import android.widget.Toast;

import com.android.systemui.Dependency;
import com.android.systemui.OverviewProxyService;
import com.google.android.collect.Lists;

import com.android.internal.logging.MetricsLogger;
@@ -122,6 +125,11 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener

        @Override
        public void onTaskStackChangedBackground() {
            // Skip background preloading recents in SystemUI if the overview services is bound
            if (Dependency.get(OverviewProxyService.class).getProxy() != null) {
                return;
            }

            // Check this is for the right user
            if (!checkCurrentUserId(mContext, false /* debug */)) {
                return;
@@ -257,6 +265,17 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
        }
    });

    private OverviewProxyService.OverviewProxyListener mOverviewProxyListener =
            new OverviewProxyService.OverviewProxyListener() {
        @Override
        public void onConnectionChanged(boolean isConnected) {
            if (!isConnected) {
                // Clear everything when the connection to the overview service
                Recents.getTaskLoader().onTrimMemory(ComponentCallbacks2.TRIM_MEMORY_COMPLETE);
            }
        }
    };

    public RecentsImpl(Context context) {
        mContext = context;
        mHandler = new Handler();
@@ -277,6 +296,11 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
    }

    public void onBootCompleted() {
        // Skip preloading tasks if we are already bound to the service
        if (Dependency.get(OverviewProxyService.class).getProxy() != null) {
            return;
        }

        // When we start, preload the data associated with the previous recent tasks.
        // We can use a new plan since the caches will be the same.
        RecentsTaskLoader loader = Recents.getTaskLoader();