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

Commit 8cb800ad authored by Tony Huang's avatar Tony Huang Committed by Android (Google) Code Review
Browse files

Merge "Migrate OneHanded to WM shell (1/n)"

parents 8f859343 d68dd158
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.onehanded;
import android.animation.Animator;
import android.animation.ValueAnimator;
import android.annotation.IntDef;
import android.content.Context;
import android.graphics.Rect;
import android.view.SurfaceControl;
import android.view.animation.Interpolator;
@@ -32,8 +33,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.inject.Inject;

/**
 * Controller class of OneHanded animations (both from and to OneHanded mode).
 */
@@ -62,10 +61,8 @@ public class OneHandedAnimationController {
    /**
     * Constructor of OneHandedAnimationController
     */
    @Inject
    public OneHandedAnimationController(
            OneHandedSurfaceTransactionHelper surfaceTransactionHelper) {
        mSurfaceTransactionHelper = surfaceTransactionHelper;
    public OneHandedAnimationController(Context context) {
        mSurfaceTransactionHelper = new OneHandedSurfaceTransactionHelper(context);
        mOvershootInterpolator = new OvershootInterpolator();
    }

+0 −3
Original line number Diff line number Diff line
@@ -48,8 +48,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Objects;

import javax.inject.Inject;

/**
 * Manages OneHanded display areas such as offset.
 *
@@ -149,7 +147,6 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer implemen
    /**
     * Constructor of OneHandedDisplayAreaOrganizer
     */
    @Inject
    public OneHandedDisplayAreaOrganizer(Context context,
            DisplayController displayController,
            OneHandedAnimationController animationController,
+0 −5
Original line number Diff line number Diff line
@@ -40,18 +40,14 @@ import android.window.WindowContainerTransaction;
import androidx.annotation.VisibleForTesting;

import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.wm.shell.common.DisplayChangeController;
import com.android.wm.shell.common.DisplayController;

import javax.inject.Inject;

/**
 * The class manage swipe up and down gesture for 3-Button mode navigation,
 * others(e.g, 2-button, full gesture mode) are handled by Launcher quick steps.
 */
@SysUISingleton
public class OneHandedGestureHandler implements OneHandedTransitionCallback,
        NavigationModeController.ModeChangedListener,
        DisplayChangeController.OnDisplayChangingListener {
@@ -91,7 +87,6 @@ public class OneHandedGestureHandler implements OneHandedTransitionCallback,
     * @param displayController        {@link DisplayController}
     * @param navigationModeController {@link NavigationModeController}
     */
    @Inject
    public OneHandedGestureHandler(Context context, DisplayController displayController,
            NavigationModeController navigationModeController) {
        mDisplayController = displayController;
+32 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.Dumpable;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.model.SysUiState;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.TaskStackChangeListener;
import com.android.systemui.statusbar.CommandQueue;
@@ -94,7 +95,6 @@ public class OneHandedManagerImpl implements OneHandedManager, Dumpable {
    /**
     * Handle rotation based on OnDisplayChangingListener callback
     */
    @VisibleForTesting
    private final DisplayChangeController.OnDisplayChangingListener mRotationController =
            (display, fromRotation, toRotation, wct) -> {
                if (mDisplayAreaOrganizer != null) {
@@ -107,6 +107,37 @@ public class OneHandedManagerImpl implements OneHandedManager, Dumpable {
     */
    @Inject
    public OneHandedManagerImpl(Context context,
            CommandQueue commandQueue,
            DisplayController displayController,
            NavigationModeController navigationModeController,
            SysUiState sysUiState) {
        mCommandQueue = commandQueue;
        mDisplayController = displayController;
        mDisplayController.addDisplayChangingController(mRotationController);
        mSysUiFlagContainer = sysUiState;
        mOffSetFraction = SystemProperties.getInt(ONE_HANDED_MODE_OFFSET_PERCENTAGE, 50) / 100.0f;

        mIsOneHandedEnabled = OneHandedSettingsUtil.getSettingsOneHandedModeEnabled(
                context.getContentResolver());
        mIsSwipeToNotificationEnabled = OneHandedSettingsUtil.getSettingsSwipeToNotificationEnabled(
                context.getContentResolver());
        mTimeoutHandler = OneHandedTimeoutHandler.get();
        mTouchHandler = new OneHandedTouchHandler();
        mTutorialHandler = new OneHandedTutorialHandler(context);
        mDisplayAreaOrganizer = new OneHandedDisplayAreaOrganizer(context, displayController,
                new OneHandedAnimationController(context), mTutorialHandler);
        mGestureHandler = new OneHandedGestureHandler(
                context, displayController, navigationModeController);
        updateOneHandedEnabled();
        setupGestures();
    }

    /**
     * Constructor of OneHandedManager for testing
     */
    // TODO(b/161980408): Should remove extra constructor.
    @VisibleForTesting
    OneHandedManagerImpl(Context context,
            CommandQueue commandQueue,
            DisplayController displayController,
            OneHandedDisplayAreaOrganizer displayAreaOrganizer,
+0 −3
Original line number Diff line number Diff line
@@ -23,8 +23,6 @@ import android.view.SurfaceControl;

import com.android.systemui.R;

import javax.inject.Inject;

/**
 * Abstracts the common operations on {@link SurfaceControl.Transaction} for OneHanded transition.
 */
@@ -32,7 +30,6 @@ public class OneHandedSurfaceTransactionHelper {
    private final boolean mEnableCornerRadius;
    private final float mCornerRadius;

    @Inject
    public OneHandedSurfaceTransactionHelper(Context context) {
        final Resources res = context.getResources();
        mCornerRadius = res.getDimension(com.android.internal.R.dimen.rounded_corner_radius);
Loading