Merge "Remove all Dependency.get(ActivityStarterDelegate.class) calls."

This commit is contained in:
Dave Mankoff
2019-12-19 17:39:09 +00:00
committed by Android (Google) Code Review
4 changed files with 36 additions and 57 deletions

View File

@@ -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));
}
}

View File

@@ -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;
@@ -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);

View File

@@ -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;
@@ -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

View File

@@ -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;
@@ -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);