Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20cc19de authored by Dave Mankoff's avatar Dave Mankoff Committed by Android (Google) Code Review
Browse files

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

parents 9d8c7089 d5cf4cf7
Loading
Loading
Loading
Loading
+34 −52
Original line number Diff line number Diff line
@@ -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));
    }
}
+0 −2
Original line number Diff line number Diff line
@@ -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);
+0 −3
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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);