From c90eb8e7426f605e638ef1325c6c202d6c560597 Mon Sep 17 00:00:00 2001 From: Hongwei Wang Date: Fri, 27 Mar 2020 12:45:13 -0700 Subject: [PATCH] Handle the UnsupportedOperationException when register TaskOrganizer With ag/10847461, register TaskOrganizer with unsupported windowing mode would throw UnsupportedOperationException. This is a work around and in long term, we should not initiate anything related to PiP if this feature is not configured on the device at all. Bug: 152401027 Test: hardcode picture-in-picture mode to be off Change-Id: I7e3f8714a535b485f9bb770702abf44559a88386 --- .../src/com/android/systemui/pip/phone/PipManager.java | 3 +-- .../SystemUI/src/com/android/systemui/pip/tv/PipManager.java | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java index e89ce2e3a56f4..9722c0873a781 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java +++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipManager.java @@ -36,7 +36,6 @@ import android.util.Pair; import android.view.DisplayInfo; import android.view.IPinnedStackController; import android.window.WindowContainerTransaction; -import android.window.WindowOrganizer; import com.android.systemui.Dependency; import com.android.systemui.UiOffloadThread; @@ -258,7 +257,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio // register the pip input consumer to ensure touch can send to it. mInputConsumerController.registerInputConsumer(); } - } catch (RemoteException e) { + } catch (RemoteException | UnsupportedOperationException e) { e.printStackTrace(); } } diff --git a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java index 2dcf1f89c3ec3..18dde9dfc61e3 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java +++ b/packages/SystemUI/src/com/android/systemui/pip/tv/PipManager.java @@ -45,7 +45,6 @@ import android.text.TextUtils; import android.util.Log; import android.util.Pair; import android.view.DisplayInfo; -import android.window.WindowOrganizer; import com.android.systemui.Dependency; import com.android.systemui.R; @@ -296,7 +295,7 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio try { WindowManagerWrapper.getInstance().addPinnedStackListener(mPinnedStackListener); TaskOrganizer.registerOrganizer(mPipTaskOrganizer, WINDOWING_MODE_PINNED); - } catch (RemoteException e) { + } catch (RemoteException | UnsupportedOperationException e) { Log.e(TAG, "Failed to register pinned stack listener", e); }