Merge "Stop preloading recent tasks in SysUI when bound to overview service" into pi-dev
am: 3955e1979f
Change-Id: Ie760ce1decf33d709dcd20c3af0d5dfc174037d8
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user