Loading packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java +34 −52 Original line number Diff line number Diff line Loading @@ -19,117 +19,99 @@ import android.content.Intent; import android.view.View; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.statusbar.phone.StatusBar; import java.util.Optional; import javax.inject.Inject; import javax.inject.Singleton; import dagger.Lazy; /** * 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. * delegates to an actual implementation (StatusBar). */ @SuppressWarnings("OptionalUsedAsFieldOrParameterType") @Singleton public class ActivityStarterDelegate implements ActivityStarter { private ActivityStarter mActualStarter; private Optional<Lazy<StatusBar>> mActualStarter; @Inject public ActivityStarterDelegate() { public ActivityStarterDelegate(Optional<Lazy<StatusBar>> statusBar) { mActualStarter = statusBar; } @Override public void startPendingIntentDismissingKeyguard(PendingIntent intent) { if (mActualStarter == null) { return; } mActualStarter.startPendingIntentDismissingKeyguard(intent); mActualStarter.ifPresent( starter -> starter.get().startPendingIntentDismissingKeyguard(intent)); } @Override public void startPendingIntentDismissingKeyguard(PendingIntent intent, Runnable intentSentCallback) { if (mActualStarter == null) { return; } mActualStarter.startPendingIntentDismissingKeyguard(intent, intentSentCallback); mActualStarter.ifPresent( starter -> starter.get().startPendingIntentDismissingKeyguard(intent, intentSentCallback)); } @Override public void startPendingIntentDismissingKeyguard(PendingIntent intent, Runnable intentSentCallback, View associatedView) { if (mActualStarter == null) { return; } mActualStarter.startPendingIntentDismissingKeyguard(intent, intentSentCallback, associatedView); mActualStarter.ifPresent( starter -> starter.get().startPendingIntentDismissingKeyguard(intent, intentSentCallback, associatedView)); } @Override public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade, int flags) { if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, onlyProvisioned, dismissShade, flags); mActualStarter.ifPresent( starter -> starter.get().startActivity(intent, onlyProvisioned, dismissShade, flags)); } @Override public void startActivity(Intent intent, boolean dismissShade) { if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, dismissShade); mActualStarter.ifPresent(starter -> starter.get().startActivity(intent, dismissShade)); } @Override public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade) { if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, onlyProvisioned, dismissShade); mActualStarter.ifPresent( starter -> starter.get().startActivity(intent, onlyProvisioned, dismissShade)); } @Override public void startActivity(Intent intent, boolean dismissShade, Callback callback) { if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, dismissShade, callback); mActualStarter.ifPresent( starter -> starter.get().startActivity(intent, dismissShade, callback)); } @Override public void postStartActivityDismissingKeyguard(Intent intent, int delay) { if (mActualStarter == null) { return; } mActualStarter.postStartActivityDismissingKeyguard(intent, delay); mActualStarter.ifPresent( starter -> starter.get().postStartActivityDismissingKeyguard(intent, delay)); } @Override public void postStartActivityDismissingKeyguard(PendingIntent intent) { if (mActualStarter == null) { return; } mActualStarter.postStartActivityDismissingKeyguard(intent); mActualStarter.ifPresent( starter -> starter.get().postStartActivityDismissingKeyguard(intent)); } @Override public void postQSRunnableDismissingKeyguard(Runnable runnable) { if (mActualStarter == null) { return; } mActualStarter.postQSRunnableDismissingKeyguard(runnable); mActualStarter.ifPresent( starter -> starter.get().postQSRunnableDismissingKeyguard(runnable)); } @Override public void dismissKeyguardThenExecute(OnDismissAction action, Runnable cancel, boolean afterKeyguardGone) { if (mActualStarter == null) { return; } mActualStarter.dismissKeyguardThenExecute(action, cancel, afterKeyguardGone); } public void setActivityStarterImpl(ActivityStarter starter) { mActualStarter = starter; mActualStarter.ifPresent(starter -> starter.get().dismissKeyguardThenExecute(action, cancel, afterKeyguardGone)); } } packages/SystemUI/src/com/android/systemui/Dependency.java +0 −2 Original line number Diff line number Diff line Loading @@ -210,7 +210,6 @@ public class Dependency { private final ArrayMap<Object, LazyDependencyCreator> mProviders = new ArrayMap<>(); @Inject Lazy<ActivityStarter> mActivityStarter; @Inject Lazy<ActivityStarterDelegate> mActivityStarterDelegate; @Inject Lazy<BroadcastDispatcher> mBroadcastDispatcher; @Inject Lazy<AsyncSensorManager> mAsyncSensorManager; @Inject Lazy<BluetoothController> mBluetoothController; Loading Loading @@ -341,7 +340,6 @@ public class Dependency { mProviders.put(MAIN_LOOPER, mMainLooper::get); mProviders.put(MAIN_HANDLER, mMainHandler::get); mProviders.put(ActivityStarter.class, mActivityStarter::get); mProviders.put(ActivityStarterDelegate.class, mActivityStarterDelegate::get); mProviders.put(BroadcastDispatcher.class, mBroadcastDispatcher::get); mProviders.put(AsyncSensorManager.class, mAsyncSensorManager::get); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +0 −3 Original line number Diff line number Diff line Loading @@ -124,7 +124,6 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.ActivityIntentHelper; import com.android.systemui.ActivityStarterDelegate; import com.android.systemui.AutoReinflateContainer; import com.android.systemui.DejankUtils; import com.android.systemui.DemoMode; Loading Loading @@ -898,8 +897,6 @@ public class StatusBar extends SystemUI implements DemoMode, mStatusBarWindowViewController, mNotificationPanel, mAmbientIndicationContainer); Dependency.get(ActivityStarterDelegate.class).setActivityStarterImpl(this); mConfigurationController.addCallback(this); // set the initial view visibility Loading packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import androidx.test.filters.SmallTest; import com.android.internal.logging.MetricsLogger; import com.android.systemui.Dependency; import com.android.systemui.SysuiTestCase; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSHost; Loading Loading @@ -83,6 +84,7 @@ public class QSTileImplTest extends SysuiTestCase { String spec = "spec"; mTestableLooper = TestableLooper.get(this); mDependency.injectTestDependency(Dependency.BG_LOOPER, mTestableLooper.getLooper()); mDependency.injectMockDependency(ActivityStarter.class); mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class); mStatusBarStateController = mDependency.injectMockDependency(StatusBarStateController.class); Loading Loading
packages/SystemUI/src/com/android/systemui/ActivityStarterDelegate.java +34 −52 Original line number Diff line number Diff line Loading @@ -19,117 +19,99 @@ import android.content.Intent; import android.view.View; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.statusbar.phone.StatusBar; import java.util.Optional; import javax.inject.Inject; import javax.inject.Singleton; import dagger.Lazy; /** * 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. * delegates to an actual implementation (StatusBar). */ @SuppressWarnings("OptionalUsedAsFieldOrParameterType") @Singleton public class ActivityStarterDelegate implements ActivityStarter { private ActivityStarter mActualStarter; private Optional<Lazy<StatusBar>> mActualStarter; @Inject public ActivityStarterDelegate() { public ActivityStarterDelegate(Optional<Lazy<StatusBar>> statusBar) { mActualStarter = statusBar; } @Override public void startPendingIntentDismissingKeyguard(PendingIntent intent) { if (mActualStarter == null) { return; } mActualStarter.startPendingIntentDismissingKeyguard(intent); mActualStarter.ifPresent( starter -> starter.get().startPendingIntentDismissingKeyguard(intent)); } @Override public void startPendingIntentDismissingKeyguard(PendingIntent intent, Runnable intentSentCallback) { if (mActualStarter == null) { return; } mActualStarter.startPendingIntentDismissingKeyguard(intent, intentSentCallback); mActualStarter.ifPresent( starter -> starter.get().startPendingIntentDismissingKeyguard(intent, intentSentCallback)); } @Override public void startPendingIntentDismissingKeyguard(PendingIntent intent, Runnable intentSentCallback, View associatedView) { if (mActualStarter == null) { return; } mActualStarter.startPendingIntentDismissingKeyguard(intent, intentSentCallback, associatedView); mActualStarter.ifPresent( starter -> starter.get().startPendingIntentDismissingKeyguard(intent, intentSentCallback, associatedView)); } @Override public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade, int flags) { if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, onlyProvisioned, dismissShade, flags); mActualStarter.ifPresent( starter -> starter.get().startActivity(intent, onlyProvisioned, dismissShade, flags)); } @Override public void startActivity(Intent intent, boolean dismissShade) { if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, dismissShade); mActualStarter.ifPresent(starter -> starter.get().startActivity(intent, dismissShade)); } @Override public void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade) { if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, onlyProvisioned, dismissShade); mActualStarter.ifPresent( starter -> starter.get().startActivity(intent, onlyProvisioned, dismissShade)); } @Override public void startActivity(Intent intent, boolean dismissShade, Callback callback) { if (mActualStarter == null) { return; } mActualStarter.startActivity(intent, dismissShade, callback); mActualStarter.ifPresent( starter -> starter.get().startActivity(intent, dismissShade, callback)); } @Override public void postStartActivityDismissingKeyguard(Intent intent, int delay) { if (mActualStarter == null) { return; } mActualStarter.postStartActivityDismissingKeyguard(intent, delay); mActualStarter.ifPresent( starter -> starter.get().postStartActivityDismissingKeyguard(intent, delay)); } @Override public void postStartActivityDismissingKeyguard(PendingIntent intent) { if (mActualStarter == null) { return; } mActualStarter.postStartActivityDismissingKeyguard(intent); mActualStarter.ifPresent( starter -> starter.get().postStartActivityDismissingKeyguard(intent)); } @Override public void postQSRunnableDismissingKeyguard(Runnable runnable) { if (mActualStarter == null) { return; } mActualStarter.postQSRunnableDismissingKeyguard(runnable); mActualStarter.ifPresent( starter -> starter.get().postQSRunnableDismissingKeyguard(runnable)); } @Override public void dismissKeyguardThenExecute(OnDismissAction action, Runnable cancel, boolean afterKeyguardGone) { if (mActualStarter == null) { return; } mActualStarter.dismissKeyguardThenExecute(action, cancel, afterKeyguardGone); } public void setActivityStarterImpl(ActivityStarter starter) { mActualStarter = starter; mActualStarter.ifPresent(starter -> starter.get().dismissKeyguardThenExecute(action, cancel, afterKeyguardGone)); } }
packages/SystemUI/src/com/android/systemui/Dependency.java +0 −2 Original line number Diff line number Diff line Loading @@ -210,7 +210,6 @@ public class Dependency { private final ArrayMap<Object, LazyDependencyCreator> mProviders = new ArrayMap<>(); @Inject Lazy<ActivityStarter> mActivityStarter; @Inject Lazy<ActivityStarterDelegate> mActivityStarterDelegate; @Inject Lazy<BroadcastDispatcher> mBroadcastDispatcher; @Inject Lazy<AsyncSensorManager> mAsyncSensorManager; @Inject Lazy<BluetoothController> mBluetoothController; Loading Loading @@ -341,7 +340,6 @@ public class Dependency { mProviders.put(MAIN_LOOPER, mMainLooper::get); mProviders.put(MAIN_HANDLER, mMainHandler::get); mProviders.put(ActivityStarter.class, mActivityStarter::get); mProviders.put(ActivityStarterDelegate.class, mActivityStarterDelegate::get); mProviders.put(BroadcastDispatcher.class, mBroadcastDispatcher::get); mProviders.put(AsyncSensorManager.class, mAsyncSensorManager::get); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +0 −3 Original line number Diff line number Diff line Loading @@ -124,7 +124,6 @@ import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.ActivityIntentHelper; import com.android.systemui.ActivityStarterDelegate; import com.android.systemui.AutoReinflateContainer; import com.android.systemui.DejankUtils; import com.android.systemui.DemoMode; Loading Loading @@ -898,8 +897,6 @@ public class StatusBar extends SystemUI implements DemoMode, mStatusBarWindowViewController, mNotificationPanel, mAmbientIndicationContainer); Dependency.get(ActivityStarterDelegate.class).setActivityStarterImpl(this); mConfigurationController.addCallback(this); // set the initial view visibility Loading
packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileImplTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import androidx.test.filters.SmallTest; import com.android.internal.logging.MetricsLogger; import com.android.systemui.Dependency; import com.android.systemui.SysuiTestCase; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSHost; Loading Loading @@ -83,6 +84,7 @@ public class QSTileImplTest extends SysuiTestCase { String spec = "spec"; mTestableLooper = TestableLooper.get(this); mDependency.injectTestDependency(Dependency.BG_LOOPER, mTestableLooper.getLooper()); mDependency.injectMockDependency(ActivityStarter.class); mMetricsLogger = mDependency.injectMockDependency(MetricsLogger.class); mStatusBarStateController = mDependency.injectMockDependency(StatusBarStateController.class); Loading