Merge "Never setting accessibility focus manually" into ub-launcher3-edmonton
diff --git a/src/com/android/launcher3/AbstractFloatingView.java b/src/com/android/launcher3/AbstractFloatingView.java
index 5a1c158..9ab1512 100644
--- a/src/com/android/launcher3/AbstractFloatingView.java
+++ b/src/com/android/launcher3/AbstractFloatingView.java
@@ -101,7 +101,7 @@
}
public final void close(boolean animate) {
- animate &= !Utilities.isPowerSaverOn(getContext());
+ animate &= !Utilities.isPowerSaverPreventingAnimation(getContext());
handleClose(animate);
BaseActivity.fromContext(getContext()).getUserEventDispatcher()
.resetElapsedContainerMillis("container closed");
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java
index 7979082..6c2fd8e 100644
--- a/src/com/android/launcher3/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -1980,7 +1980,7 @@
// Animations are disabled in power save mode, causing the repeated animation to jump
// spastically between beginning and end states. Since this looks bad, we don't repeat
// the animation in power save mode.
- if (!Utilities.isPowerSaverOn(getContext())) {
+ if (!Utilities.isPowerSaverPreventingAnimation(getContext())) {
va.setRepeatMode(ValueAnimator.REVERSE);
va.setRepeatCount(ValueAnimator.INFINITE);
}
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index a71fbf1..efbd004 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -1495,12 +1495,20 @@
return Math.abs(delta) > 0;
}
- public void scrollLeft() {
- if (getNextPage() > 0) snapToPage(getNextPage() - 1);
+ public boolean scrollLeft() {
+ if (getNextPage() > 0) {
+ snapToPage(getNextPage() - 1);
+ return true;
+ }
+ return false;
}
- public void scrollRight() {
- if (getNextPage() < getChildCount() -1) snapToPage(getNextPage() + 1);
+ public boolean scrollRight() {
+ if (getNextPage() < getChildCount() - 1) {
+ snapToPage(getNextPage() + 1);
+ return true;
+ }
+ return false;
}
@Override
@@ -1551,22 +1559,6 @@
event.setScrollable(getPageCount() > 1);
}
- private boolean accessibilityScrollLeft() {
- if (getCurrentPage() > 0) {
- scrollLeft();
- return true;
- }
- return false;
- }
-
- private boolean accessibilityScrollRight() {
- if (getCurrentPage() < getPageCount() - 1) {
- scrollRight();
- return true;
- }
- return false;
- }
-
@Override
public boolean performAccessibilityAction(int action, Bundle arguments) {
if (super.performAccessibilityAction(action, arguments)) {
@@ -1575,12 +1567,12 @@
final boolean pagesFlipped = isPageOrderFlipped();
switch (action) {
case AccessibilityNodeInfo.ACTION_SCROLL_FORWARD: {
- if (pagesFlipped ? accessibilityScrollLeft() : accessibilityScrollRight()) {
+ if (pagesFlipped ? scrollLeft() : scrollRight()) {
return true;
}
} break;
case AccessibilityNodeInfo.ACTION_SCROLL_BACKWARD: {
- if (pagesFlipped ? accessibilityScrollRight() : accessibilityScrollLeft()) {
+ if (pagesFlipped ? scrollRight() : scrollLeft()) {
return true;
}
}
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index 006dc95..4bd9a9b 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -39,7 +39,6 @@
import android.os.Message;
import android.os.PowerManager;
import android.os.TransactionTooLargeException;
-import android.support.v4.os.BuildCompat;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.TextUtils;
@@ -83,7 +82,8 @@
private static final Matrix sMatrix = new Matrix();
private static final Matrix sInverseMatrix = new Matrix();
- public static final boolean ATLEAST_P = BuildCompat.isAtLeastP();
+ public static final boolean ATLEAST_P =
+ Build.VERSION.SDK_INT >= Build.VERSION_CODES.P;
public static final boolean ATLEAST_OREO_MR1 =
Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1;
@@ -492,7 +492,11 @@
LauncherFiles.DEVICE_PREFERENCES_KEY, Context.MODE_PRIVATE);
}
- public static boolean isPowerSaverOn(Context context) {
+ public static boolean isPowerSaverPreventingAnimation(Context context) {
+ if (ATLEAST_P) {
+ // Battery saver mode no longer prevents animations.
+ return false;
+ }
PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
return powerManager.isPowerSaveMode();
}
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 2df34d5..6631f77 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -2961,25 +2961,29 @@
}
@Override
- public void scrollLeft() {
+ public boolean scrollLeft() {
+ boolean result = false;
if (!workspaceInModalState() && !mIsSwitchingState) {
- super.scrollLeft();
+ result = super.scrollLeft();
}
Folder openFolder = Folder.getOpen(mLauncher);
if (openFolder != null) {
openFolder.completeDragExit();
}
+ return result;
}
@Override
- public void scrollRight() {
+ public boolean scrollRight() {
+ boolean result = false;
if (!workspaceInModalState() && !mIsSwitchingState) {
- super.scrollRight();
+ result = super.scrollRight();
}
Folder openFolder = Folder.getOpen(mLauncher);
if (openFolder != null) {
openFolder.completeDragExit();
}
+ return result;
}
/**
diff --git a/src/com/android/launcher3/compat/UserManagerCompatVP.java b/src/com/android/launcher3/compat/UserManagerCompatVP.java
index 2e8a8eb..fa3902b 100644
--- a/src/com/android/launcher3/compat/UserManagerCompatVP.java
+++ b/src/com/android/launcher3/compat/UserManagerCompatVP.java
@@ -15,41 +15,20 @@
*/
package com.android.launcher3.compat;
+import android.annotation.TargetApi;
import android.content.Context;
+import android.os.Build;
import android.os.UserHandle;
-import android.os.UserManager;
-import android.util.Log;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
+@TargetApi(Build.VERSION_CODES.P)
public class UserManagerCompatVP extends UserManagerCompatVNMr1 {
- private static final String TAG = "UserManagerCompatVP";
-
- private Method mRequestQuietModeEnabled;
UserManagerCompatVP(Context context) {
super(context);
- // TODO: Replace it with proper API call once SDK is ready.
- try {
- mRequestQuietModeEnabled = UserManager.class.getDeclaredMethod(
- "requestQuietModeEnabled", boolean.class, UserHandle.class);
- } catch (NoSuchMethodException e) {
- Log.e(TAG, "requestQuietModeEnabled is not available", e);
- }
}
@Override
public boolean requestQuietModeEnabled(boolean enableQuietMode, UserHandle user) {
- if (mRequestQuietModeEnabled == null) {
- return false;
- }
- try {
- return (boolean)
- mRequestQuietModeEnabled.invoke(mUserManager, enableQuietMode, user);
- } catch (IllegalAccessException | InvocationTargetException e) {
- Log.e(TAG, "Failed to invoke mRequestQuietModeEnabled", e);
- }
- return false;
+ return mUserManager.requestQuietModeEnabled(enableQuietMode, user);
}
}