diff options
| author | Winson Chung <winsonc@google.com> | 2020-04-13 16:58:07 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-04-13 16:58:07 +0000 |
| commit | 3908fb22b66a943ffeb4ebe31f4f81600733de04 (patch) | |
| tree | 4e84fb3a1122b7eb662270ae0e054836a831608a /core/java/android/window/VirtualDisplayTaskEmbedder.java | |
| parent | 83e0ddc69beeb705f1ef795305b470d5f7706200 (diff) | |
| parent | 1df39e2cf6baf6441636ef69f8f978bf51a27462 (diff) | |
Merge "Send task description changed though task org taskInfoChanged" into rvc-dev
Diffstat (limited to 'core/java/android/window/VirtualDisplayTaskEmbedder.java')
| -rw-r--r-- | core/java/android/window/VirtualDisplayTaskEmbedder.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/core/java/android/window/VirtualDisplayTaskEmbedder.java b/core/java/android/window/VirtualDisplayTaskEmbedder.java index 0f26d5d00f6d..70164692032f 100644 --- a/core/java/android/window/VirtualDisplayTaskEmbedder.java +++ b/core/java/android/window/VirtualDisplayTaskEmbedder.java @@ -67,6 +67,7 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { private VirtualDisplay mVirtualDisplay; private Insets mForwardedInsets; private DisplayMetrics mTmpDisplayMetrics; + private TaskStackListener mTaskStackListener; /** * Constructs a new TaskEmbedder. @@ -82,11 +83,6 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { mSingleTaskInstance = singleTaskInstance; } - @Override - public TaskStackListener createTaskStackListener() { - return new TaskStackListenerImpl(); - } - /** * Whether this container has been initialized. * @@ -124,6 +120,9 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { .setDisplayToSingleTaskInstance(displayId); } setForwardedInsets(mForwardedInsets); + + mTaskStackListener = new TaskStackListenerImpl(); + mActivityTaskManager.registerTaskStackListener(mTaskStackListener); } catch (RemoteException e) { e.rethrowAsRuntimeException(); } @@ -142,6 +141,15 @@ public class VirtualDisplayTaskEmbedder extends TaskEmbedder { // Clear tap-exclude region (if any) for this window. clearTapExcludeRegion(); + if (mTaskStackListener != null) { + try { + mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener); + } catch (RemoteException e) { + Log.e(TAG, "Failed to unregister task stack listener", e); + } + mTaskStackListener = null; + } + if (isInitialized()) { mVirtualDisplay.release(); mVirtualDisplay = null; |
