[FP5-2896] [Desktop moke]The application interface in the recent interface is blank after disconnect the second screen
* Root Cause
disconnet desktop Task snapshot is null
* Solution
refresh task when desktop is on
* Test Steps
test Desktop
* Test Result
pass
Change-Id: I87a5d1e90c3080ae114a63b4a813263243a44e25
diff --git a/quickstep/src/com/android/quickstep/RecentTasksList.java b/quickstep/src/com/android/quickstep/RecentTasksList.java
index 6b616b1..608d580 100644
--- a/quickstep/src/com/android/quickstep/RecentTasksList.java
+++ b/quickstep/src/com/android/quickstep/RecentTasksList.java
@@ -125,6 +125,9 @@
*/
public synchronized int getTasks(boolean loadKeysOnly,
Consumer<ArrayList<GroupTask>> callback) {
+ if(mSysUiProxy.isDesktopOn()) {
+ invalidateLoadedTasks();
+ }
final int requestLoadId = mChangeId;
if (mResultsUi.isValidForRequest(requestLoadId, loadKeysOnly)) {
// The list is up to date, send the callback on the next frame,
diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java
index 3b2df31..159217e 100644
--- a/quickstep/src/com/android/quickstep/SystemUiProxy.java
+++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java
@@ -19,6 +19,7 @@
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR;
+import static android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS;
import android.app.ActivityManager;
import android.app.PendingIntent;
@@ -44,6 +45,7 @@
import android.view.RemoteAnimationTarget;
import android.view.SurfaceControl;
import android.window.IOnBackInvokedCallback;
+import android.provider.Settings;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
@@ -926,4 +928,10 @@
}
}
}
+
+ public boolean isDesktopOn(){
+ boolean desktopOn = Settings.Global.getInt(mContext.getContentResolver(),
+ DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, 0) == 1;
+ return desktopOn;
+ }
}