From f3a62151d096970945534097dbe50567091468d0 Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Thu, 9 Sep 2021 21:17:24 +0000 Subject: [PATCH] Revert "4/N Remove #handleWtfs from PluginInitializer." Revert submission 15560568-b194781951-flags-8 Reason for revert: Broken build. Reverted Changes: Ie522ae3cc:5/N Remove PluginInitializer entirely. Icaeaaee28:4/N Remove #handleWtfs from PluginInitializer. I1c86c246c:3/N Remove #getPrivilegedPlugins from PluginInitia... Id525f27e3:2/N Rename PluginInstanceManager to PluginActionMa... Change-Id: Ia5f864646ee8806ec4080349dda3d71c827c1e40 --- .../shared/plugins/PluginActionManager.java | 1 + .../shared/plugins/PluginInitializer.java | 5 +++++ .../plugins/PluginInitializerImpl.java | 20 +++++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginActionManager.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginActionManager.java index 3275d2d804bef..af541f07fb68a 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginActionManager.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginActionManager.java @@ -212,6 +212,7 @@ public class PluginActionManager { private void onPluginConnected(PluginInstance pluginInstance) { if (DEBUG) Log.d(TAG, "onPluginConnected"); PluginPrefs.setHasPlugins(mContext); + mInitializer.handleWtfs(); pluginInstance.onCreate(mContext, mListener); } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInitializer.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInitializer.java index 5890f81cc6936..868f22ee4bed6 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInitializer.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginInitializer.java @@ -18,4 +18,9 @@ package com.android.systemui.shared.plugins; * Provides necessary components for initializing {@link PluginManagerImpl}. */ public interface PluginInitializer { + + /** + * Called from {@link PluginActionManager}. + */ + void handleWtfs(); } diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginInitializerImpl.java b/packages/SystemUI/src/com/android/systemui/plugins/PluginInitializerImpl.java index 8effd53ef56da..09af98ea5244e 100644 --- a/packages/SystemUI/src/com/android/systemui/plugins/PluginInitializerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/plugins/PluginInitializerImpl.java @@ -14,7 +14,10 @@ package com.android.systemui.plugins; +import android.util.Log; + import com.android.systemui.shared.plugins.PluginInitializer; +import com.android.systemui.shared.plugins.PluginManagerImpl; import javax.inject.Inject; import javax.inject.Singleton; @@ -22,8 +25,25 @@ import javax.inject.Singleton; /** */ @Singleton public class PluginInitializerImpl implements PluginInitializer { + + /** + * True if WTFs should lead to crashes + */ + private static final boolean WTFS_SHOULD_CRASH = false; + private boolean mWtfsSet; + @Inject public PluginInitializerImpl(PluginDependencyProvider dependencyProvider) { dependencyProvider.allowPluginDependency(ActivityStarter.class); } + + @Override + public void handleWtfs() { + if (WTFS_SHOULD_CRASH && !mWtfsSet) { + mWtfsSet = true; + Log.setWtfHandler((tag, what, system) -> { + throw new PluginManagerImpl.CrashWhilePluginActiveException(what); + }); + } + } }