diff options
| author | 2017-02-24 15:57:05 -0500 | |
|---|---|---|
| committer | 2017-03-01 13:26:01 -0500 | |
| commit | ec34da8f6f31c5ee1e543c0c7999a067487e0ce9 (patch) | |
| tree | 6c20ee14ff536ae16d8377b6f2f22339f679e406 | |
| parent | 56fee637e90d9fb02196681cf62ca3bc54f39b9a (diff) | |
Add method for plugins to reference global dependencies
The new annotation versioning system allows plugins to share common
global interfaces that can be versioned on their own. To facilitate
this add a static method for plugins to get a hold of dependencies.
To get any dependency a plugin must @Requires it so it can be version
checked.
Test: Plugin that uses the new call.
Change-Id: I8e01260f8fbc14465502d506a7aa08212795ad9b
26 files changed, 149 insertions, 56 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/ActivityStarter.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/ActivityStarter.java index a4d8a1003f98..b58ea00997ef 100644 --- a/packages/SystemUI/src/com/android/systemui/ActivityStarter.java +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/ActivityStarter.java @@ -12,17 +12,21 @@ * permissions and limitations under the License. */ -package com.android.systemui; +package com.android.systemui.plugins; import android.app.PendingIntent; import android.content.Intent; +import com.android.systemui.plugins.annotations.ProvidesInterface; + /** * An interface to start activities. This is used as a callback from the views to * {@link PhoneStatusBar} to allow custom handling for starting the activity, i.e. dismissing the * Keyguard. */ +@ProvidesInterface(version = ActivityStarter.VERSION) public interface ActivityStarter { + int VERSION = 1; void startPendingIntentDismissingKeyguard(PendingIntent intent); void startActivity(Intent intent, boolean dismissShade); diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/PluginDependency.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/PluginDependency.java new file mode 100644 index 000000000000..25ce3ddf8169 --- /dev/null +++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/PluginDependency.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.android.systemui.plugins; + +import com.android.systemui.plugins.annotations.ProvidesInterface; + +@ProvidesInterface(version = PluginDependency.VERSION) +public class PluginDependency { + public static final int VERSION = 1; + static DependencyProvider sProvider; + + public static <T> T get(Plugin p, Class<T> cls) { + return sProvider.get(p, cls); + } + + static abstract class DependencyProvider { + abstract <T> T get(Plugin p, Class<T> cls); + } +} diff --git a/packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java b/packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java index 14c67fe8a9ad..e58538db9cea 100644 --- a/packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java +++ b/packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java @@ -17,6 +17,8 @@ package com.android.systemui; import android.app.PendingIntent; import android.content.Intent; +import com.android.systemui.plugins.ActivityStarter; + /** * Single common instance of ActivityStarter that can be gotten and referenced from anywhere, but * delegates to an actual implementation such as StatusBar, assuming it exists. diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java index ac7ab9de7f11..8f9358feceb1 100644 --- a/packages/SystemUI/src/com/android/systemui/Dependency.java +++ b/packages/SystemUI/src/com/android/systemui/Dependency.java @@ -25,8 +25,9 @@ import android.util.ArrayMap; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.Preconditions; import com.android.systemui.assist.AssistManager; -import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.fragments.FragmentService; +import com.android.systemui.plugins.ActivityStarter; +import com.android.systemui.plugins.PluginDependencyProvider; import com.android.systemui.plugins.PluginManager; import com.android.systemui.statusbar.phone.ConfigurationControllerImpl; import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; @@ -238,6 +239,9 @@ public class Dependency extends SystemUI { mProviders.put(ExtensionController.class, () -> new ExtensionControllerImpl()); + mProviders.put(PluginDependencyProvider.class, () -> + new PluginDependencyProvider(get(PluginManager.class))); + // Put all dependencies above here so the factory can override them if it wants. SystemUIFactory.getInstance().injectDependencies(mProviders, mContext); } diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginDependencyProvider.java b/packages/SystemUI/src/com/android/systemui/plugins/PluginDependencyProvider.java new file mode 100644 index 000000000000..59f6d56ac1be --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/plugins/PluginDependencyProvider.java @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the + * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package com.android.systemui.plugins; + +import android.util.ArrayMap; + +import com.android.systemui.Dependency; +import com.android.systemui.plugins.PluginDependency.DependencyProvider; + +public class PluginDependencyProvider extends DependencyProvider { + + private final ArrayMap<Class<?>, Object> mDependencies = new ArrayMap<>(); + private final PluginManager mManager; + + public PluginDependencyProvider(PluginManager manager) { + mManager = manager; + PluginDependency.sProvider = this; + } + + public <T> void allowPluginDependency(Class<T> cls) { + allowPluginDependency(cls, Dependency.get(cls)); + } + + public <T> void allowPluginDependency(Class<T> cls, T obj) { + mDependencies.put(cls, obj); + } + + @Override + <T> T get(Plugin p, Class<T> cls) { + if (!mManager.dependsOn(p, cls)) { + throw new IllegalArgumentException(p.getClass() + " does not depend on " + cls); + } + if (!mDependencies.containsKey(cls)) { + throw new IllegalArgumentException("Unknown dependency " + cls); + } + return (T) mDependencies.get(cls); + } +} diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginInstanceManager.java b/packages/SystemUI/src/com/android/systemui/plugins/PluginInstanceManager.java index e895fa226cf3..58670da88f4b 100644 --- a/packages/SystemUI/src/com/android/systemui/plugins/PluginInstanceManager.java +++ b/packages/SystemUI/src/com/android/systemui/plugins/PluginInstanceManager.java @@ -161,6 +161,16 @@ public class PluginInstanceManager<T extends Plugin> { mContext.sendBroadcast(intent); } + public <T> boolean dependsOn(Plugin p, Class<T> cls) { + ArrayList<PluginInfo> plugins = new ArrayList<>(mPluginHandler.mPlugins); + for (PluginInfo info : plugins) { + if (info.mPlugin.getClass().getName().equals(p.getClass().getName())) { + return info.mVersion != null && info.mVersion.hasClass(cls); + } + } + return false; + } + private class MainHandler extends Handler { private static final int PLUGIN_CONNECTED = 1; private static final int PLUGIN_DISCONNECTED = 2; @@ -304,9 +314,9 @@ public class PluginInstanceManager<T extends Plugin> { // legacy version check. T plugin = (T) pluginClass.newInstance(); try { - checkVersion(pluginClass, plugin, mVersion); + VersionInfo version = checkVersion(pluginClass, plugin, mVersion); if (DEBUG) Log.d(TAG, "createPlugin"); - return new PluginInfo(pkg, cls, plugin, pluginContext); + return new PluginInfo(pkg, cls, plugin, pluginContext, version); } catch (InvalidVersionException e) { final int icon = mContext.getResources().getIdentifier("tuner", "drawable", mContext.getPackageName()); @@ -354,7 +364,7 @@ public class PluginInstanceManager<T extends Plugin> { } } - private void checkVersion(Class<?> pluginClass, T plugin, VersionInfo version) + private VersionInfo checkVersion(Class<?> pluginClass, T plugin, VersionInfo version) throws InvalidVersionException { VersionInfo pv = new VersionInfo().addClass(pluginClass); if (pv.hasVersionInfo()) { @@ -364,7 +374,9 @@ public class PluginInstanceManager<T extends Plugin> { if (fallbackVersion != version.getDefaultVersion()) { throw new InvalidVersionException("Invalid legacy version", false); } + return null; } + return pv; } } @@ -396,15 +408,18 @@ public class PluginInstanceManager<T extends Plugin> { static class PluginInfo<T> { private final Context mPluginContext; + private final VersionInfo mVersion; private String mClass; T mPlugin; String mPackage; - public PluginInfo(String pkg, String cls, T plugin, Context pluginContext) { + public PluginInfo(String pkg, String cls, T plugin, Context pluginContext, + VersionInfo info) { mPlugin = plugin; mClass = cls; mPackage = pkg; mPluginContext = pluginContext; + mVersion = info; } } } diff --git a/packages/SystemUI/src/com/android/systemui/plugins/PluginManager.java b/packages/SystemUI/src/com/android/systemui/plugins/PluginManager.java index 0c3e40c7d891..9ad862d4c33a 100644 --- a/packages/SystemUI/src/com/android/systemui/plugins/PluginManager.java +++ b/packages/SystemUI/src/com/android/systemui/plugins/PluginManager.java @@ -29,6 +29,7 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.net.Uri; import android.os.Build; +import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.SystemProperties; @@ -39,6 +40,7 @@ import android.util.ArraySet; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; +import com.android.systemui.Dependency; import com.android.systemui.plugins.PluginInstanceManager.PluginContextWrapper; import com.android.systemui.plugins.PluginInstanceManager.PluginInfo; import com.android.systemui.plugins.annotations.ProvidesInterface; @@ -93,6 +95,14 @@ public class PluginManager extends BroadcastReceiver { PluginExceptionHandler uncaughtExceptionHandler = new PluginExceptionHandler( defaultHandler); Thread.setDefaultUncaughtExceptionHandler(uncaughtExceptionHandler); + if (isDebuggable) { + new Handler(mBackgroundThread.getLooper()).post(() -> { + // Plugin dependencies that don't have another good home can go here, but + // dependencies that have better places to init can happen elsewhere. + Dependency.get(PluginDependencyProvider.class) + .allowPluginDependency(ActivityStarter.class); + }); + } } public <T extends Plugin> T getOneShotPlugin(Class<T> cls) { @@ -268,11 +278,6 @@ public class PluginManager extends BroadcastReceiver { return mParentClassLoader; } - public Context getAllPluginContext(Context context) { - return new PluginContextWrapper(context, - new AllPluginClassLoader(context.getClassLoader())); - } - public Context getContext(ApplicationInfo info, String pkg) throws NameNotFoundException { ClassLoader classLoader = getClassLoader(info.sourceDir, pkg); return new PluginContextWrapper(mContext.createApplicationContext(info, 0), classLoader); @@ -289,26 +294,13 @@ public class PluginManager extends BroadcastReceiver { return info.action(); } - private class AllPluginClassLoader extends ClassLoader { - public AllPluginClassLoader(ClassLoader classLoader) { - super(classLoader); - } - - @Override - public Class<?> loadClass(String s) throws ClassNotFoundException { - try { - return super.loadClass(s); - } catch (ClassNotFoundException e) { - for (ClassLoader classLoader : mClassLoaders.values()) { - try { - return classLoader.loadClass(s); - } catch (ClassNotFoundException e1) { - // Will re-throw e if all fail. - } - } - throw e; + public <T> boolean dependsOn(Plugin p, Class<T> cls) { + for (int i = 0; i < mPluginMap.size(); i++) { + if (mPluginMap.valueAt(i).dependsOn(p, cls)) { + return true; } } + return false; } @VisibleForTesting diff --git a/packages/SystemUI/src/com/android/systemui/plugins/VersionInfo.java b/packages/SystemUI/src/com/android/systemui/plugins/VersionInfo.java index 84f7761a8043..b69a7b4d77d9 100644 --- a/packages/SystemUI/src/com/android/systemui/plugins/VersionInfo.java +++ b/packages/SystemUI/src/com/android/systemui/plugins/VersionInfo.java @@ -103,6 +103,10 @@ public class VersionInfo { return null; } + public <T> boolean hasClass(Class<T> cls) { + return mVersions.containsKey(cls); + } + public static class InvalidVersionException extends RuntimeException { private final boolean mTooNew; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java index a20b7baa0261..7df124a1ec03 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSDetail.java @@ -37,7 +37,7 @@ import com.android.systemui.Dependency; import com.android.systemui.FontSizeUtils; import com.android.systemui.R; import com.android.systemui.SysUiServiceProvider; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.BaseStatusBarHeader; import com.android.systemui.plugins.qs.QS.Callback; import com.android.systemui.plugins.qs.QS.DetailAdapter; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java index 1835afd937c1..d6c2447467da 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java @@ -37,7 +37,7 @@ import android.widget.TextView; import com.android.systemui.Dependency; import com.android.systemui.FontSizeUtils; import com.android.systemui.R; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.statusbar.phone.QSTileHost; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.policy.SecurityController; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java index 0829ae5f597c..c02067e698e1 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java @@ -32,7 +32,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.RestrictedLockUtils; import com.android.systemui.Dependency; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.DetailAdapter; import com.android.systemui.qs.QSTile.State; import com.android.systemui.qs.external.TileServices; @@ -45,8 +45,6 @@ import com.android.settingslib.Utils; import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; -import com.android.systemui.R; - /** * Base quick-settings tile, extend this to create a new tile. * diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java index cdde6ea0e85a..b28b0e70ceb5 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java @@ -30,17 +30,13 @@ import android.provider.Settings; import android.service.quicksettings.IQSTileService; import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; -import android.text.SpannableStringBuilder; -import android.text.style.ForegroundColorSpan; import android.util.Log; import android.view.IWindowManager; -import android.view.WindowManager; import android.view.WindowManagerGlobal; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; -import com.android.systemui.R; import com.android.systemui.Dependency; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.qs.QSTile; import com.android.systemui.qs.external.TileLifecycleManager.TileChangeListener; import com.android.systemui.statusbar.phone.QSTileHost; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java index 4b56ecdfade7..5d7508b5747b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java @@ -34,7 +34,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.systemui.Dependency; import com.android.systemui.R; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.DetailAdapter; import com.android.systemui.qs.QSDetailItems; import com.android.systemui.qs.QSDetailItems.Item; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java index 3c28f7602c18..c501c914eb32 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java @@ -30,7 +30,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.systemui.Dependency; import com.android.systemui.R; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.DetailAdapter; import com.android.systemui.qs.QSDetailItems; import com.android.systemui.qs.QSDetailItems.Item; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java index bae163fc1451..1a04a51f93ea 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java @@ -31,7 +31,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.net.DataUsageController; import com.android.systemui.Dependency; import com.android.systemui.R; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.DetailAdapter; import com.android.systemui.qs.QSIconView; import com.android.systemui.qs.QSTile; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java index 4072b4442377..d554a1788627 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/DndTile.java @@ -39,7 +39,7 @@ import com.android.systemui.Dependency; import com.android.systemui.Prefs; import com.android.systemui.R; import com.android.systemui.SysUIToast; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.DetailAdapter; import com.android.systemui.qs.QSTile; import com.android.systemui.statusbar.policy.ZenModeController; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java index fcc959601dab..aeea75d179f7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/IntentTile.java @@ -32,7 +32,7 @@ import android.util.Log; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.systemui.Dependency; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.qs.QSTile; import java.util.Arrays; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java index 423a1df703e1..e61a953aaa82 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java @@ -26,7 +26,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.systemui.Dependency; import com.android.systemui.R; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.qs.QSTile; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.LocationController; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java index 796967c877c7..83dc1c2e69af 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java @@ -33,7 +33,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settingslib.wifi.AccessPoint; import com.android.systemui.Dependency; import com.android.systemui.R; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.DetailAdapter; import com.android.systemui.qs.QSDetailItems; import com.android.systemui.qs.QSDetailItems.Item; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java index 2538bdd79b0e..9a49d67d70d6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java @@ -36,7 +36,6 @@ import android.content.ServiceConnection; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; -import android.content.res.AssetFileDescriptor.AutoCloseOutputStream; import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.os.AsyncTask; @@ -64,7 +63,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; -import com.android.systemui.EventLogConstants; import com.android.systemui.EventLogTags; import com.android.systemui.Dependency; import com.android.systemui.Interpolators; @@ -75,7 +73,7 @@ import com.android.systemui.plugins.IntentButtonProvider.IntentButton; import com.android.systemui.plugins.IntentButtonProvider.IntentButton.IconState; import com.android.systemui.plugins.PluginListener; import com.android.systemui.plugins.PluginManager; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.KeyguardAffordanceView; import com.android.systemui.statusbar.KeyguardIndicationController; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitch.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitch.java index 3cbac178f9ec..8cad85c35287 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitch.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitch.java @@ -31,7 +31,7 @@ import android.widget.FrameLayout; import com.android.systemui.Dependency; import com.android.systemui.R; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.DetailAdapter; import com.android.systemui.qs.QSPanel; import com.android.systemui.statusbar.policy.KeyguardUserSwitcher; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java index c0708692cb39..a5590f2c3b08 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStatusBarHeader.java @@ -43,7 +43,7 @@ import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto; import com.android.keyguard.KeyguardStatusView; import com.android.settingslib.Utils; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.BatteryMeterView; import com.android.systemui.Dependency; import com.android.systemui.FontSizeUtils; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index a6b145e07812..648e00cd96a8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -124,7 +124,6 @@ import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.ActivityStarterDelegate; import com.android.systemui.DemoMode; import com.android.systemui.Dependency; -import com.android.systemui.EventLogConstants; import com.android.systemui.EventLogTags; import com.android.systemui.Interpolators; import com.android.systemui.Prefs; @@ -139,7 +138,7 @@ import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.fragments.PluginFragmentListener; import com.android.systemui.keyguard.KeyguardViewMediator; import com.android.systemui.plugins.qs.QS; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QS.BaseStatusBarHeader; import com.android.systemui.plugins.statusbar.NotificationMenuRowProvider.SnoozeListener; import com.android.systemui.plugins.statusbar.NotificationMenuRowProvider.SnoozeOption; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java index 6df4a21807db..a776e995a32e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java @@ -59,7 +59,7 @@ import com.android.systemui.SystemUI; import com.android.systemui.SystemUISecondaryUserService; import com.android.systemui.plugins.qs.QS.DetailAdapter; import com.android.systemui.qs.tiles.UserDetailView; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.util.NotificationChannels; diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java index 0a1d34ff701e..9d0ecec43b30 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java @@ -25,7 +25,7 @@ import android.os.Bundle; import android.os.Handler; import android.view.WindowManager; -import com.android.systemui.ActivityStarter; +import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.Dependency; import com.android.systemui.SystemUI; import com.android.systemui.SystemUIFactory; diff --git a/packages/SystemUI/tests/src/com/android/systemui/plugins/PluginManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/plugins/PluginManagerTest.java index 09ac5a633cb0..053e5cf2d4c0 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/plugins/PluginManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/plugins/PluginManagerTest.java @@ -76,7 +76,7 @@ public class PluginManagerTest extends SysuiTestCase { public void testOneShot() { Plugin mockPlugin = mock(Plugin.class); when(mMockPluginInstance.getPlugin()).thenReturn(new PluginInfo(null, null, mockPlugin, - null)); + null, null)); Plugin result = mPluginManager.getOneShotPlugin("myAction", TestPlugin.class); assertTrue(result == mockPlugin); } |