diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java index 3cb39e7252142..f0a685ec4d2e9 100644 --- a/core/java/com/android/internal/app/ChooserActivity.java +++ b/core/java/com/android/internal/app/ChooserActivity.java @@ -2507,11 +2507,6 @@ public class ChooserActivity extends ResolverActivity implements offset += findViewById(R.id.tabs).getHeight(); } - View tabDivider = findViewById(R.id.resolver_tab_divider); - if (tabDivider.getVisibility() == View.VISIBLE) { - offset += tabDivider.getHeight(); - } - if (recyclerView.getVisibility() == View.VISIBLE) { int directShareHeight = 0; rowsToShow = Math.min(4, rowsToShow); @@ -2700,7 +2695,7 @@ public class ChooserActivity extends ResolverActivity implements if (mResolverDrawerLayout == null) { return; } - int elevatedViewResId = shouldShowTabs() ? R.id.resolver_tab_divider : R.id.chooser_header; + int elevatedViewResId = shouldShowTabs() ? R.id.tabs : R.id.chooser_header; final View elevatedView = mResolverDrawerLayout.findViewById(elevatedViewResId); final float defaultElevation = elevatedView.getElevation(); final float chooserHeaderScrollElevation = diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java index 3d93b2a231c2c..bd5a73d8194af 100644 --- a/core/java/com/android/internal/app/ResolverActivity.java +++ b/core/java/com/android/internal/app/ResolverActivity.java @@ -69,7 +69,6 @@ import android.stats.devicepolicy.DevicePolicyEnums; import android.text.TextUtils; import android.util.Log; import android.util.Slog; -import android.util.TypedValue; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; @@ -1711,23 +1710,32 @@ public class ResolverActivity extends Activity implements tabHost.setup(); ViewPager viewPager = findViewById(R.id.profile_pager); viewPager.setSaveEnabled(false); + + Button personalButton = (Button) getLayoutInflater().inflate( + R.layout.resolver_profile_tab_button, tabHost.getTabWidget(), false); + personalButton.setText(getPersonalTabLabel()); + personalButton.setContentDescription(getPersonalTabAccessibilityLabel()); + TabHost.TabSpec tabSpec = tabHost.newTabSpec(TAB_TAG_PERSONAL) .setContent(R.id.profile_pager) - .setIndicator(getPersonalTabLabel()); + .setIndicator(personalButton); tabHost.addTab(tabSpec); + Button workButton = (Button) getLayoutInflater().inflate( + R.layout.resolver_profile_tab_button, tabHost.getTabWidget(), false); + workButton.setText(getWorkTabLabel()); + workButton.setContentDescription(getWorkTabAccessibilityLabel()); + tabSpec = tabHost.newTabSpec(TAB_TAG_WORK) .setContent(R.id.profile_pager) - .setIndicator(getWorkTabLabel()); + .setIndicator(workButton); tabHost.addTab(tabSpec); TabWidget tabWidget = tabHost.getTabWidget(); tabWidget.setVisibility(View.VISIBLE); - resetTabsHeaderStyle(tabWidget); updateActiveTabStyle(tabHost); tabHost.setOnTabChangedListener(tabId -> { - resetTabsHeaderStyle(tabWidget); updateActiveTabStyle(tabHost); if (TAB_TAG_PERSONAL.equals(tabId)) { viewPager.setCurrentItem(0); @@ -1767,7 +1775,6 @@ public class ResolverActivity extends Activity implements workTab.setFocusableInTouchMode(true); workTab.requestFocus(); }); - findViewById(R.id.resolver_tab_divider).setVisibility(View.VISIBLE); } private String getPersonalTabLabel() { @@ -1810,22 +1817,6 @@ public class ResolverActivity extends Activity implements } } - private void resetTabsHeaderStyle(TabWidget tabWidget) { - for (int i = 0; i < tabWidget.getChildCount(); i++) { - View tabView = tabWidget.getChildAt(i); - TextView title = tabView.findViewById(android.R.id.title); - title.setTextAppearance(android.R.style.TextAppearance_DeviceDefault_DialogWindowTitle); - title.setTextColor(getAttrColor(this, android.R.attr.textColorTertiary)); - title.setTextSize(TypedValue.COMPLEX_UNIT_PX, - getResources().getDimension(R.dimen.resolver_tab_text_size)); - if (title.getText().equals(getPersonalTabLabel())) { - tabView.setContentDescription(getPersonalTabAccessibilityLabel()); - } else if (title.getText().equals(getWorkTabLabel())) { - tabView.setContentDescription(getWorkTabAccessibilityLabel()); - } - } - } - private String getPersonalTabAccessibilityLabel() { return getSystemService(DevicePolicyManager.class).getResources().getString( RESOLVER_PERSONAL_TAB_ACCESSIBILITY, @@ -1846,9 +1837,11 @@ public class ResolverActivity extends Activity implements } private void updateActiveTabStyle(TabHost tabHost) { - TextView title = tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()) - .findViewById(android.R.id.title); - title.setTextColor(getAttrColor(this, android.R.attr.colorAccent)); + int currentTab = tabHost.getCurrentTab(); + TextView selected = (TextView) tabHost.getTabWidget().getChildAt(currentTab); + TextView unselected = (TextView) tabHost.getTabWidget().getChildAt(1 - currentTab); + selected.setSelected(true); + unselected.setSelected(false); } private void setupViewVisibilities() { diff --git a/core/res/res/color-night/resolver_accent_ripple.xml b/core/res/res/color-night/resolver_accent_ripple.xml new file mode 100644 index 0000000000000..f0ae77fc620da --- /dev/null +++ b/core/res/res/color-night/resolver_accent_ripple.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/core/res/res/color-night/resolver_profile_tab_selected_bg.xml b/core/res/res/color-night/resolver_profile_tab_selected_bg.xml new file mode 100644 index 0000000000000..106fe1dc2ab3e --- /dev/null +++ b/core/res/res/color-night/resolver_profile_tab_selected_bg.xml @@ -0,0 +1,19 @@ + + + + + diff --git a/core/res/res/color-night/resolver_profile_tab_text.xml b/core/res/res/color-night/resolver_profile_tab_text.xml new file mode 100644 index 0000000000000..61a5140582d0b --- /dev/null +++ b/core/res/res/color-night/resolver_profile_tab_text.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/core/res/res/color/resolver_accent_ripple.xml b/core/res/res/color/resolver_accent_ripple.xml new file mode 100644 index 0000000000000..d5cac384ad92c --- /dev/null +++ b/core/res/res/color/resolver_accent_ripple.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/core/res/res/color/resolver_profile_tab_selected_bg.xml b/core/res/res/color/resolver_profile_tab_selected_bg.xml new file mode 100644 index 0000000000000..e7d2f1f86d6ca --- /dev/null +++ b/core/res/res/color/resolver_profile_tab_selected_bg.xml @@ -0,0 +1,19 @@ + + + + + diff --git a/core/res/res/color/resolver_profile_tab_text.xml b/core/res/res/color/resolver_profile_tab_text.xml new file mode 100644 index 0000000000000..6b8c42d70cdfd --- /dev/null +++ b/core/res/res/color/resolver_profile_tab_text.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/core/res/res/drawable/resolver_profile_tab_bg.xml b/core/res/res/drawable/resolver_profile_tab_bg.xml new file mode 100644 index 0000000000000..bc96345800074 --- /dev/null +++ b/core/res/res/drawable/resolver_profile_tab_bg.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/res/res/layout/chooser_grid.xml b/core/res/res/layout/chooser_grid.xml index 933b4d243df97..6e3a11af27a7b 100644 --- a/core/res/res/layout/chooser_grid.xml +++ b/core/res/res/layout/chooser_grid.xml @@ -81,14 +81,6 @@ android:layout_height="wrap_content" android:visibility="gone"> - - - + android:tabStripEnabled="false" + android:visibility="gone" /> + + +