Disable pinch gesture when accessibility is enabled.
Bug: 27676309
Change-Id: Iba0f04693c494f258ef21d740ee933f9c32a7674
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 7311cce..9795498 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -84,6 +84,7 @@
import android.view.ViewTreeObserver;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
import android.view.animation.OvershootInterpolator;
import android.view.inputmethod.InputMethodManager;
import android.widget.Advanceable;
@@ -138,7 +139,8 @@
*/
public class Launcher extends Activity
implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks,
- View.OnTouchListener, PageSwitchListener, LauncherProviderChangeListener {
+ View.OnTouchListener, PageSwitchListener, LauncherProviderChangeListener,
+ AccessibilityManager.AccessibilityStateChangeListener {
public static final String TAG = "Launcher";
static final boolean LOGD = false;
@@ -452,6 +454,9 @@
mExtractedColors = new ExtractedColors();
loadExtractedColorsAndColorItems();
+ ((AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE))
+ .addAccessibilityStateChangeListener(this);
+
lockAllApps();
mSavedState = savedInstanceState;
@@ -2011,6 +2016,9 @@
TextKeyListener.getInstance().release();
+ ((AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE))
+ .removeAccessibilityStateChangeListener(this);
+
unregisterReceiver(mCloseSystemDialogsReceiver);
LauncherAnimUtils.onDestroyActivity();
@@ -2794,6 +2802,11 @@
return mHapticFeedbackTouchListener;
}
+ @Override
+ public void onAccessibilityStateChanged(boolean enabled) {
+ mDragLayer.onAccessibilityStateChanged(enabled);
+ }
+
public void onDragStarted(View view) {
if (isOnCustomContent()) {
// Custom content screen doesn't participate in drag and drop. If on custom