Fix tabs when using ContactsUnavailableFragment
Also fix landscape tabs when opening the app from landscape
launcher.
Bug: 16516327
Change-Id: Id930dd1aa8d1a9001d7c7901a5822ebbf4cfa2db
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index e27419a..6a5c1cb 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -311,10 +311,9 @@
private void update(boolean skipAnimation) {
final boolean isIconifiedChanging
= (mSearchContainer.getParent() == null) == mSearchMode;
- mToolbar.removeView(mLandscapeTabs);
if (isIconifiedChanging && !skipAnimation) {
+ mToolbar.removeView(mLandscapeTabs);
if (mSearchMode) {
- mToolbar.removeView(mLandscapeTabs);
addSearchContainer();
mSearchContainer.setAlpha(0);
mSearchContainer.animate().alpha(1);
@@ -336,9 +335,9 @@
return;
}
if (isIconifiedChanging && skipAnimation) {
+ mToolbar.removeView(mLandscapeTabs);
if (mSearchMode) {
setPortraitTabHeight(0);
- mToolbar.removeView(mLandscapeTabs);
addSearchContainer();
} else {
setPortraitTabHeight(mMaxPortraitTabHeight);
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 7c0b14b..261f8e1 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -580,6 +580,10 @@
mContactsUnavailableFragment.setMessageText(R.string.noContacts, -1);
break;
}
+ // When using the mContactsUnavailableFragment the ViewPager doesn't contain two views.
+ // Therefore, we have to trick the ViewPagerTabs into thinking we have changed tabs
+ // when the mContactsUnavailableFragment changes. Otherwise the tab strip won't move.
+ mViewPagerTabs.onPageScrolled(tab, 0, 0);
}
}