Merge "Rename landscape version of editor fragment" into ub-contactsdialer-h-dev
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index c9c5915..25315e8 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -43,6 +43,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
@@ -55,6 +56,7 @@
import com.android.contacts.R;
import com.android.contacts.activities.ActionBarAdapter;
import com.android.contacts.common.Experiments;
+import com.android.contacts.common.compat.CompatUtils;
import com.android.contacts.common.list.ContactEntryListFragment;
import com.android.contacts.common.list.ContactListAdapter;
import com.android.contacts.common.list.ContactListFilter;
@@ -245,6 +247,7 @@
private void maybeShowHamburgerFeatureHighlight() {
if (mActionBarAdapter!= null && !mActionBarAdapter.isSearchMode()
&& !mActionBarAdapter.isSelectionMode()
+ && !isTalkbackOnAndOnPreLollipopMr1()
&& SharedPreferenceUtil.getShouldShowHamburgerPromo(getContext())) {
if (FeatureHighlightHelper.showHamburgerFeatureHighlight(mActivity)) {
SharedPreferenceUtil.setHamburgerPromoDisplayedBefore(getContext());
@@ -252,6 +255,14 @@
}
}
+ // There's a crash if we show feature highlight when Talkback is on, on API 21 and below.
+ // See b/31180524.
+ private boolean isTalkbackOnAndOnPreLollipopMr1(){
+ return ((AccessibilityManager) getContext().getSystemService(Context.ACCESSIBILITY_SERVICE))
+ .isTouchExplorationEnabled()
+ && !CompatUtils.isLollipopMr1Compatible();
+ }
+
private void bindListHeader(int numberOfContacts) {
final ContactListFilter filter = getFilter();
// If the phone has at least one Google account whose sync status is unsyncable or pending