summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/accessibility
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2014-12-16 16:51:19 -0800
committerAlan Viverette <alanv@google.com>2014-12-16 16:51:19 -0800
commit3c682c32a4d9f703a1233568735ef1165ab73395 (patch)
treedc285e0b7032cde733fe3e4c8e24c6eb9bee8922 /src/com/android/settings/accessibility
parent7068d702bdf21232669ea82a6c64a52a08cc6e45 (diff)
downloadpackages_apps_Settings-3c682c32a4d9f703a1233568735ef1165ab73395.zip
packages_apps_Settings-3c682c32a4d9f703a1233568735ef1165ab73395.tar.gz
packages_apps_Settings-3c682c32a4d9f703a1233568735ef1165ab73395.tar.bz2
Show a toast when filtering obscured touch input
We can't verify user consent if the touch input is obscured, so the best we can do is fail with an informative message. BUG: 18082299 Change-Id: I99bea51171d998c0e0ba58dd7bbf1167d4af925d
Diffstat (limited to 'src/com/android/settings/accessibility')
-rw-r--r--src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java26
1 files changed, 23 insertions, 3 deletions
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index 0b7600b..5fd2e18 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -32,11 +32,13 @@ import android.os.Handler;
import android.provider.Settings;
import android.text.TextUtils;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.accessibility.AccessibilityManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
+import android.widget.Toast;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.ConfirmDeviceCredentialActivity;
@@ -168,11 +170,13 @@ public class ToggleAccessibilityServicePreferenceFragment
switch (dialogId) {
case DIALOG_ID_ENABLE_WARNING: {
mShownDialogId = DIALOG_ID_ENABLE_WARNING;
- AccessibilityServiceInfo info = getAccessibilityServiceInfo();
+
+ final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
if (info == null) {
return null;
}
- AlertDialog ad = new AlertDialog.Builder(getActivity())
+
+ final AlertDialog ad = new AlertDialog.Builder(getActivity())
.setTitle(getString(R.string.enable_service_title,
info.getResolveInfo().loadLabel(getPackageManager())))
.setView(createEnableDialogContentView(info))
@@ -180,8 +184,24 @@ public class ToggleAccessibilityServicePreferenceFragment
.setPositiveButton(android.R.string.ok, this)
.setNegativeButton(android.R.string.cancel, this)
.create();
+
+ final View.OnTouchListener filterTouchListener = new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ // Filter obscured touches by consuming them.
+ if ((event.getFlags() & MotionEvent.FLAG_WINDOW_IS_OBSCURED) != 0) {
+ if (event.getAction() == MotionEvent.ACTION_UP) {
+ Toast.makeText(v.getContext(), R.string.touch_filtered_warning,
+ Toast.LENGTH_SHORT).show();
+ }
+ return true;
+ }
+ return false;
+ }
+ };
+
ad.create();
- ad.getButton(AlertDialog.BUTTON_POSITIVE).setFilterTouchesWhenObscured(true);
+ ad.getButton(AlertDialog.BUTTON_POSITIVE).setOnTouchListener(filterTouchListener);
return ad;
}
case DIALOG_ID_DISABLE_WARNING: {