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

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

Merge "Use Provider for EdgeBackGestureHandler" into sc-dev

parents d1bd8119 78fd4b23
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -140,6 +140,7 @@ import java.util.function.Consumer;

import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;

import dagger.Lazy;

@@ -198,6 +199,12 @@ public class Dependency {
     */
    public static final String ALLOW_NOTIFICATION_LONG_PRESS_NAME = "allow_notif_longpress";

    /**
     * A provider of {@link EdgeBackGestureHandler}.
     */
    public static final String EDGE_BACK_GESTURE_HANDLER_PROVIDER_NAME =
            "edge_back_gesture_handler_provider";

    /**
     * Key for getting a background Looper for background work.
     */
@@ -233,6 +240,12 @@ public class Dependency {
     */
    public static final DependencyKey<String> LEAK_REPORT_EMAIL =
            new DependencyKey<>(LEAK_REPORT_EMAIL_NAME);
    /**
     * Key for retrieving an Provider<EdgeBackGestureHandler>.
     */
    public static final DependencyKey<Provider<EdgeBackGestureHandler>>
            EDGE_BACK_GESTURE_HANDLER_PROVIDER =
            new DependencyKey<>(EDGE_BACK_GESTURE_HANDLER_PROVIDER_NAME);

    private final ArrayMap<Object, Object> mDependencies = new ArrayMap<>();
    private final ArrayMap<Object, LazyDependencyCreator> mProviders = new ArrayMap<>();
@@ -359,7 +372,7 @@ public class Dependency {
    @Inject Lazy<TelephonyListenerManager> mTelephonyListenerManager;
    @Inject Lazy<SystemStatusAnimationScheduler> mSystemStatusAnimationSchedulerLazy;
    @Inject Lazy<PrivacyDotViewController> mPrivacyDotViewControllerLazy;
    @Inject Lazy<EdgeBackGestureHandler> mEdgeBackGestureHandler;
    @Inject Provider<EdgeBackGestureHandler> mEdgeBackGestureHandlerProvider;
    @Inject Lazy<UiEventLogger> mUiEventLogger;
    @Inject Lazy<FeatureFlags> mFeatureFlagsLazy;

@@ -574,7 +587,7 @@ public class Dependency {
        mProviders.put(SystemStatusAnimationScheduler.class,
                mSystemStatusAnimationSchedulerLazy::get);
        mProviders.put(PrivacyDotViewController.class, mPrivacyDotViewControllerLazy::get);
        mProviders.put(EdgeBackGestureHandler.class, mEdgeBackGestureHandler::get);
        mProviders.put(EDGE_BACK_GESTURE_HANDLER_PROVIDER, () -> mEdgeBackGestureHandlerProvider);
        mProviders.put(UiEventLogger.class, mUiEventLogger::get);
        mProviders.put(FeatureFlags.class, mFeatureFlagsLazy::get);

+2 −1
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.navigationbar;

import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;

import static com.android.systemui.Dependency.EDGE_BACK_GESTURE_HANDLER_PROVIDER;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED;
@@ -342,7 +343,7 @@ public class NavigationBarView extends FrameLayout implements

        mNavColorSampleMargin = getResources()
                        .getDimensionPixelSize(R.dimen.navigation_handle_sample_horizontal_margin);
        mEdgeBackGestureHandler = Dependency.get(EdgeBackGestureHandler.class);
        mEdgeBackGestureHandler = Dependency.get(EDGE_BACK_GESTURE_HANDLER_PROVIDER).get();
        mEdgeBackGestureHandler.setStateChangeCallback(this::updateStates);
        mRegionSamplingHelper = new RegionSamplingHelper(this,
                new RegionSamplingHelper.SamplingCallback() {
+0 −2
Original line number Diff line number Diff line
@@ -58,7 +58,6 @@ import com.android.internal.policy.GestureNavigationSettingsObserver;
import com.android.systemui.R;
import com.android.systemui.SystemUIFactory;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.model.SysUiState;
import com.android.systemui.navigationbar.NavigationBarView;
@@ -92,7 +91,6 @@ import javax.inject.Inject;
/**
 * Utility class to handle edge swipes for back gesture
 */
@SysUISingleton
public class EdgeBackGestureHandler extends CurrentUserTracker
        implements PluginListener<NavigationEdgeBackPlugin>, ProtoTraceable<SystemUiTraceProto> {

+5 −1
Original line number Diff line number Diff line
@@ -16,8 +16,11 @@

package com.android.systemui.navigationbar;

import static com.android.systemui.Dependency.EDGE_BACK_GESTURE_HANDLER_PROVIDER;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;

import android.graphics.PixelFormat;
import android.hardware.display.DisplayManager;
@@ -68,7 +71,8 @@ public class NavigationBarButtonTest extends SysuiTestCase {
        mDependency.injectMockDependency(OverviewProxyService.class);
        mDependency.injectMockDependency(KeyguardStateController.class);
        mDependency.injectMockDependency(NavigationBarController.class);
        mDependency.injectMockDependency(EdgeBackGestureHandler.class);
        mDependency.injectTestDependency(EDGE_BACK_GESTURE_HANDLER_PROVIDER,
                () -> mock(EdgeBackGestureHandler.class));
        mNavBar = new NavigationBarView(context, null);
    }

+3 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS;

import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.HOME_BUTTON_LONG_PRESS_DURATION_MS;
import static com.android.systemui.Dependency.EDGE_BACK_GESTURE_HANDLER_PROVIDER;
import static com.android.systemui.navigationbar.NavigationBar.NavBarActionEvent.NAVBAR_ASSIST_LONGPRESS;

import static org.junit.Assert.assertEquals;
@@ -135,7 +136,8 @@ public class NavigationBarTest extends SysuiTestCase {
        mDependency.injectMockDependency(StatusBarStateController.class);
        mDependency.injectMockDependency(NavigationBarController.class);
        mOverviewProxyService = mDependency.injectMockDependency(OverviewProxyService.class);
        mDependency.injectMockDependency(EdgeBackGestureHandler.class);
        mDependency.injectTestDependency(EDGE_BACK_GESTURE_HANDLER_PROVIDER,
                () -> mock(EdgeBackGestureHandler.class));
        TestableLooper.get(this).runWithLooper(() -> {
            mNavigationBar = createNavBar(mContext);
            mExternalDisplayNavigationBar = createNavBar(mSysuiTestableContextExternal);
Loading