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

Commit 0081bd9d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix back gesture not enabled in 3-button mode on fresh boot" into udc-qpr-dev am: 72ed444d

parents 553accdf 72ed444d
Loading
Loading
Loading
Loading
+75 −75
Original line number Diff line number Diff line
@@ -254,8 +254,9 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
    private boolean mDeferSetIsOnLeftEdge;

    private boolean mIsAttached;
    private boolean mIsGesturalModeEnabled;
    private boolean mIsGestureHandlingEnabled;
    private boolean mIsTrackpadConnected;
    private boolean mInGestureNavMode;
    private boolean mUsingThreeButtonNav;
    private boolean mIsEnabled;
    private boolean mIsNavBarShownTransiently;
@@ -562,9 +563,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
            mInputManager.registerInputDeviceListener(mInputDeviceListener, mMainHandler);
            int [] inputDevices = mInputManager.getInputDeviceIds();
            for (int inputDeviceId : inputDevices) {
                if (isTrackpadDevice(inputDeviceId)) {
                    mIsTrackpadConnected = true;
                }
                mInputDeviceListener.onInputDeviceAdded(inputDeviceId);
            }
        }
        updateIsEnabled();
@@ -589,8 +588,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
     */
    public void onNavigationModeChanged(int mode) {
        mUsingThreeButtonNav = QuickStepContract.isLegacyMode(mode);
        mIsGesturalModeEnabled = QuickStepContract.isGesturalMode(mode) || (
                mIsTrackpadGestureFeaturesEnabled && mUsingThreeButtonNav && mIsTrackpadConnected);
        mInGestureNavMode = QuickStepContract.isGesturalMode(mode);
        updateIsEnabled();
        updateCurrentUserResources();
    }
@@ -613,14 +611,11 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
    private void updateIsEnabled() {
        try {
            Trace.beginSection("EdgeBackGestureHandler#updateIsEnabled");
            updateIsEnabledTraced();
        } finally {
            Trace.endSection();
        }
    }

    private void updateIsEnabledTraced() {
        boolean isEnabled = mIsAttached && mIsGesturalModeEnabled;
            mIsGestureHandlingEnabled =
                    mInGestureNavMode || (mIsTrackpadGestureFeaturesEnabled && mUsingThreeButtonNav
                            && mIsTrackpadConnected);
            boolean isEnabled = mIsAttached && mIsGestureHandlingEnabled;
            if (isEnabled == mIsEnabled) {
                return;
            }
@@ -638,7 +633,8 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
                    Log.d(DEBUG_MISSING_GESTURE_TAG, "Unregister display listener");
                }
                mPluginManager.removePluginListener(this);
            TaskStackChangeListeners.getInstance().unregisterTaskStackListener(mTaskStackListener);
                TaskStackChangeListeners.getInstance().unregisterTaskStackListener(
                        mTaskStackListener);
                DeviceConfig.removeOnPropertiesChangedListener(mOnPropertiesChangedListener);
                mPipOptional.ifPresent(pip -> pip.setOnIsInPipStateChangedListener(null));

@@ -655,11 +651,12 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
                if (DEBUG_MISSING_GESTURE) {
                    Log.d(DEBUG_MISSING_GESTURE_TAG, "Register display listener");
                }
            TaskStackChangeListeners.getInstance().registerTaskStackListener(mTaskStackListener);
                TaskStackChangeListeners.getInstance().registerTaskStackListener(
                        mTaskStackListener);
                DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
                        mMainExecutor::execute, mOnPropertiesChangedListener);
            mPipOptional.ifPresent(
                    pip -> pip.setOnIsInPipStateChangedListener(mOnIsInPipStateChangedListener));
                mPipOptional.ifPresent(pip -> pip.setOnIsInPipStateChangedListener(
                        mOnIsInPipStateChangedListener));
                mDesktopModeOptional.ifPresent(
                        dm -> dm.addDesktopGestureExclusionRegionListener(
                                mDesktopCornersChangedListener, mMainExecutor));
@@ -686,6 +683,9 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
            }
            // Update the ML model resources.
            updateMLModelState();
        } finally {
            Trace.endSection();
        }
    }

    @Override
@@ -762,8 +762,8 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
    }

    private void updateMLModelState() {
        boolean newState =
                mIsGesturalModeEnabled && DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
        boolean newState = mIsGestureHandlingEnabled && DeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_SYSTEMUI,
                SystemUiDeviceConfigFlags.USE_BACK_GESTURE_ML_MODEL, false);

        if (newState == mUseMLModel) {
@@ -1234,7 +1234,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
        pw.println("  mIsEnabled=" + mIsEnabled);
        pw.println("  mIsAttached=" + mIsAttached);
        pw.println("  mIsBackGestureAllowed=" + mIsBackGestureAllowed);
        pw.println("  mIsGesturalModeEnabled=" + mIsGesturalModeEnabled);
        pw.println("  mIsGestureHandlingEnabled=" + mIsGestureHandlingEnabled);
        pw.println("  mIsNavBarShownTransiently=" + mIsNavBarShownTransiently);
        pw.println("  mGestureBlockingActivityRunning=" + mGestureBlockingActivityRunning);
        pw.println("  mAllowGesture=" + mAllowGesture);