Fix "Cleared text" announcement when placing a call
+ Accessibility for the dialpad EditBox is temporarily disabled
while DialtactsActvity.hideDialpadFragment() is called with
true for clearDialpad.
Bug:24570971
Change-Id: Ieeab034a65a66910c02981f7ba6505a768ddef33
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 9105e6f..0881582 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -48,7 +48,6 @@
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnDragListener;
-import android.view.View.OnTouchListener;
import android.view.ViewTreeObserver;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
@@ -83,16 +82,14 @@
import com.android.dialer.list.SmartDialSearchFragment;
import com.android.dialer.list.SpeedDialFragment;
import com.android.dialer.settings.DialerSettingsActivity;
-import com.android.dialer.util.IntentUtil;
-import com.android.dialer.util.TelecomUtil;
-import com.android.dialer.util.IntentUtil.CallIntentBuilder;
import com.android.dialer.util.DialerUtils;
+import com.android.dialer.util.IntentUtil;
+import com.android.dialer.util.IntentUtil.CallIntentBuilder;
+import com.android.dialer.util.TelecomUtil;
import com.android.dialer.widget.ActionBarController;
import com.android.dialer.widget.SearchEditTextLayout;
-import com.android.dialer.widget.SearchEditTextLayout.Callback;
import com.android.dialerbind.DatabaseHelperManager;
import com.android.dialerbind.ObjectFactory;
-import com.android.incallui.Call.LogState;
import com.android.phone.common.animation.AnimUtils;
import com.android.phone.common.animation.AnimationListenerAdapter;
@@ -782,7 +779,13 @@
return;
}
if (clearDialpad) {
+ // Temporarily disable accessibility when we clear the dialpad, since it should be
+ // invisible and should not announce anything.
+ mDialpadFragment.getDigitsWidget().setImportantForAccessibility(
+ View.IMPORTANT_FOR_ACCESSIBILITY_NO);
mDialpadFragment.clearDialpad();
+ mDialpadFragment.getDigitsWidget().setImportantForAccessibility(
+ View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
}
if (!mIsDialpadShown) {
return;