summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-12-08 15:07:24 -0800
committerSunny Goyal <sunnygoyal@google.com>2017-12-08 16:09:45 -0800
commitd0030b05f591cbadb21f51b7c87f2d8813f35627 (patch)
treef690494af4d5942b02fb2ef2caffa18c77c0f85b /src/com
parentfcb1dd183cc81208ec4d6498b12e7e969a3e3e9a (diff)
downloadandroid_packages_apps_Trebuchet-d0030b05f591cbadb21f51b7c87f2d8813f35627.tar.gz
android_packages_apps_Trebuchet-d0030b05f591cbadb21f51b7c87f2d8813f35627.tar.bz2
android_packages_apps_Trebuchet-d0030b05f591cbadb21f51b7c87f2d8813f35627.zip
Adding placeholder method for compat implementations for Accessibility manager
> Moving some utility methods to the compat class Bug: 69611105 Change-Id: Ide0cab0b926d7bc03617fc568d2a2b429ee00cd9
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/launcher3/DropTargetBar.java2
-rw-r--r--src/com/android/launcher3/PagedView.java12
-rw-r--r--src/com/android/launcher3/Utilities.java19
-rw-r--r--src/com/android/launcher3/Workspace.java2
-rw-r--r--src/com/android/launcher3/WorkspaceStateTransitionAnimation.java14
-rw-r--r--src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java11
-rw-r--r--src/com/android/launcher3/compat/AccessibilityManagerCompat.java47
-rw-r--r--src/com/android/launcher3/dragndrop/DragLayer.java4
-rw-r--r--src/com/android/launcher3/folder/Folder.java7
-rw-r--r--src/com/android/launcher3/popup/PopupContainerWithArrow.java3
10 files changed, 70 insertions, 51 deletions
diff --git a/src/com/android/launcher3/DropTargetBar.java b/src/com/android/launcher3/DropTargetBar.java
index 3eca5cd44..106671f74 100644
--- a/src/com/android/launcher3/DropTargetBar.java
+++ b/src/com/android/launcher3/DropTargetBar.java
@@ -17,7 +17,7 @@
package com.android.launcher3;
import static com.android.launcher3.AlphaUpdateListener.updateVisibility;
-import static com.android.launcher3.Utilities.isAccessibilityEnabled;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
import android.animation.TimeInterpolator;
import android.content.Context;
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index b23568e9e..d6b56564e 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -16,6 +16,9 @@
package com.android.launcher3;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.isObservedEventType;
+
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.LayoutTransition;
@@ -41,7 +44,6 @@ import android.view.ViewDebug;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.animation.Interpolator;
@@ -521,9 +523,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
}
private void sendScrollAccessibilityEvent() {
- AccessibilityManager am =
- (AccessibilityManager) getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
- if (am.isEnabled()) {
+ if (isObservedEventType(getContext(), AccessibilityEvent.TYPE_VIEW_SCROLLED)) {
if (mCurrentPage != getNextPage()) {
AccessibilityEvent ev =
AccessibilityEvent.obtain(AccessibilityEvent.TYPE_VIEW_SCROLLED);
@@ -572,9 +572,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
}
onPostReorderingAnimationCompleted();
- AccessibilityManager am = (AccessibilityManager)
- getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
- if (am.isEnabled()) {
+ if (isAccessibilityEnabled(getContext())) {
// Notify the user when the page changes
announceForAccessibility(getCurrentPageDescription());
}
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index e6bc77066..ca235eb01 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -47,8 +47,6 @@ import android.util.Pair;
import android.util.SparseArray;
import android.util.TypedValue;
import android.view.View;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityManager;
import com.android.launcher3.config.FeatureFlags;
@@ -614,23 +612,6 @@ public final class Utilities {
return c == null || c.isEmpty();
}
- public static boolean isAccessibilityEnabled(Context context) {
- AccessibilityManager accessibilityManager = (AccessibilityManager)
- context.getSystemService(Context.ACCESSIBILITY_SERVICE);
- return accessibilityManager.isEnabled();
- }
-
- public static void sendCustomAccessibilityEvent(View target, int type, String text) {
- AccessibilityManager accessibilityManager = (AccessibilityManager)
- target.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
- if (accessibilityManager.isEnabled()) {
- AccessibilityEvent event = AccessibilityEvent.obtain(type);
- target.onInitializeAccessibilityEvent(event);
- event.getText().add(text);
- accessibilityManager.sendAccessibilityEvent(event);
- }
- }
-
public static boolean isBinderSizeError(Exception e) {
return e.getCause() instanceof TransactionTooLargeException
|| e.getCause() instanceof DeadObjectException;
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 9dc8bb7a0..417366d18 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -22,7 +22,7 @@ import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_TRANSITION_M
import static com.android.launcher3.LauncherState.ALL_APPS;
import static com.android.launcher3.LauncherState.NORMAL;
import static com.android.launcher3.LauncherState.SPRING_LOADED;
-import static com.android.launcher3.Utilities.isAccessibilityEnabled;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
diff --git a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
index abc140d7d..9f76b6f96 100644
--- a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
+++ b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
@@ -18,16 +18,15 @@ package com.android.launcher3;
import static com.android.launcher3.LauncherAnimUtils.DRAWABLE_ALPHA;
import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.animation.TimeInterpolator;
import android.animation.ValueAnimator;
-import android.content.Context;
import android.util.Property;
import android.view.View;
-import android.view.accessibility.AccessibilityManager;
import com.android.launcher3.LauncherState.PageAlphaProvider;
import com.android.launcher3.LauncherStateManager.AnimationConfig;
@@ -165,7 +164,7 @@ public class WorkspaceStateTransitionAnimation {
return;
}
view.setAlpha(alpha);
- AlphaUpdateListener.updateVisibility(view, isAccessibilityEnabled(view));
+ AlphaUpdateListener.updateVisibility(view, isAccessibilityEnabled(view.getContext()));
}
public <T> void setFloat(T target, Property<T, Float> property, float value,
@@ -177,12 +176,6 @@ public class WorkspaceStateTransitionAnimation {
TimeInterpolator interpolator) {
property.set(target, value);
}
-
- protected boolean isAccessibilityEnabled(View v) {
- AccessibilityManager am = (AccessibilityManager)
- v.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
- return am.isEnabled();
- }
}
public static class AnimatedPropertySetter extends PropertySetter {
@@ -202,7 +195,8 @@ public class WorkspaceStateTransitionAnimation {
return;
}
anim = ObjectAnimator.ofFloat(view, View.ALPHA, alpha);
- anim.addListener(new AlphaUpdateListener(view, isAccessibilityEnabled(view)));
+ anim.addListener(new AlphaUpdateListener(view,
+ isAccessibilityEnabled(view.getContext())));
}
anim.setDuration(mDuration).setInterpolator(getFadeInterpolator(alpha));
diff --git a/src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java b/src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java
index 99deb7b1c..fdf2786f6 100644
--- a/src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java
+++ b/src/com/android/launcher3/accessibility/DragViewStateAnnouncer.java
@@ -16,10 +16,10 @@
package com.android.launcher3.accessibility;
-import android.content.Context;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.isAccessibilityEnabled;
+
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityManager;
import com.android.launcher3.Launcher;
@@ -59,11 +59,6 @@ public class DragViewStateAnnouncer implements Runnable {
}
public static DragViewStateAnnouncer createFor(View v) {
- if (((AccessibilityManager) v.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE))
- .isEnabled()) {
- return new DragViewStateAnnouncer(v);
- } else {
- return null;
- }
+ return isAccessibilityEnabled(v.getContext()) ? new DragViewStateAnnouncer(v) : null;
}
}
diff --git a/src/com/android/launcher3/compat/AccessibilityManagerCompat.java b/src/com/android/launcher3/compat/AccessibilityManagerCompat.java
new file mode 100644
index 000000000..0c78381ea
--- /dev/null
+++ b/src/com/android/launcher3/compat/AccessibilityManagerCompat.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.compat;
+
+import android.content.Context;
+import android.view.View;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
+
+public class AccessibilityManagerCompat {
+
+ public static boolean isAccessibilityEnabled(Context context) {
+ return getManager(context).isEnabled();
+ }
+
+ public static boolean isObservedEventType(Context context, int eventType) {
+ // TODO: Use new API once available
+ return isAccessibilityEnabled(context);
+ }
+
+ public static void sendCustomAccessibilityEvent(View target, int type, String text) {
+ if (isObservedEventType(target.getContext(), type)) {
+ AccessibilityEvent event = AccessibilityEvent.obtain(type);
+ target.onInitializeAccessibilityEvent(event);
+ event.getText().add(text);
+ getManager(target.getContext()).sendAccessibilityEvent(event);
+ }
+ }
+
+ private static AccessibilityManager getManager(Context context) {
+ return (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
+ }
+}
diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java
index cf76e2ec9..27d6b896a 100644
--- a/src/com/android/launcher3/dragndrop/DragLayer.java
+++ b/src/com/android/launcher3/dragndrop/DragLayer.java
@@ -16,6 +16,8 @@
package com.android.launcher3.dragndrop;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent;
+
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.TimeInterpolator;
@@ -222,7 +224,7 @@ public class DragLayer extends InsettableFrameLayout {
private void sendTapOutsideFolderAccessibilityEvent(boolean isEditingName) {
int stringId = isEditingName ? R.string.folder_tap_to_rename : R.string.folder_tap_to_close;
- Utilities.sendCustomAccessibilityEvent(
+ sendCustomAccessibilityEvent(
this, AccessibilityEvent.TYPE_VIEW_FOCUSED, getContext().getString(stringId));
}
diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java
index 2168001ca..b78e47037 100644
--- a/src/com/android/launcher3/folder/Folder.java
+++ b/src/com/android/launcher3/folder/Folder.java
@@ -18,6 +18,7 @@ package com.android.launcher3.folder;
import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY;
import static com.android.launcher3.LauncherState.NORMAL;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -346,7 +347,7 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC
mFolderName.setHint(sDefaultFolderName.contentEquals(newTitle) ? sHintText : null);
- Utilities.sendCustomAccessibilityEvent(
+ sendCustomAccessibilityEvent(
this, AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED,
getContext().getString(R.string.folder_renamed, newTitle));
@@ -540,7 +541,7 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC
mFolderIcon.setBackgroundVisible(false);
mFolderIcon.drawLeaveBehindIfExists();
- Utilities.sendCustomAccessibilityEvent(
+ sendCustomAccessibilityEvent(
Folder.this,
AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED,
mContent.getAccessibilityDescription());
@@ -654,7 +655,7 @@ public class Folder extends AbstractFloatingView implements DragSource, View.OnC
}
@Override
public void onAnimationStart(Animator animation) {
- Utilities.sendCustomAccessibilityEvent(
+ sendCustomAccessibilityEvent(
Folder.this,
AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED,
getContext().getString(R.string.folder_closed));
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
index 3dc58a1f2..a166dff0f 100644
--- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java
+++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
@@ -85,6 +85,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import static com.android.launcher3.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent;
import static com.android.launcher3.notification.NotificationMainView.NOTIFICATION_ITEM_INFO;
import static com.android.launcher3.popup.PopupPopulator.MAX_SHORTCUTS;
import static com.android.launcher3.popup.PopupPopulator.MAX_SHORTCUTS_IF_NOTIFICATIONS;
@@ -573,7 +574,7 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
@Override
public void onAnimationEnd(Animator animation) {
mOpenCloseAnimator = null;
- Utilities.sendCustomAccessibilityEvent(
+ sendCustomAccessibilityEvent(
PopupContainerWithArrow.this,
AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED,
getContext().getString(R.string.action_deep_shortcut));