Loading core/java/android/widget/Toolbar.java +6 −5 Original line number Diff line number Diff line Loading @@ -248,12 +248,13 @@ public class Toolbar extends ViewGroup { final Drawable navIcon = a.getDrawable(R.styleable.Toolbar_navigationIcon); if (navIcon != null) { setNavigationIcon(navIcon); } final CharSequence navDesc = a.getText( R.styleable.Toolbar_navigationContentDescription); if (!TextUtils.isEmpty(navDesc)) { setNavigationContentDescription(navDesc); } } a.recycle(); } Loading core/java/com/android/internal/app/ToolbarActionBar.java +24 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.app.ActionBar; import android.content.Context; import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.view.ActionMode; import android.view.KeyEvent; import android.view.LayoutInflater; Loading @@ -32,6 +33,7 @@ import android.view.Window; import android.view.WindowCallbackWrapper; import android.widget.SpinnerAdapter; import android.widget.Toolbar; import com.android.internal.R; import com.android.internal.view.menu.MenuBuilder; import com.android.internal.widget.DecorToolbar; import com.android.internal.widget.ToolbarWidgetWrapper; Loading @@ -44,6 +46,8 @@ public class ToolbarActionBar extends ActionBar { private boolean mToolbarMenuPrepared; private Window.Callback mWindowCallback; private CharSequence mHomeDescription; private boolean mLastMenuVisibility; private ArrayList<OnMenuVisibilityListener> mMenuVisibilityListeners = new ArrayList<OnMenuVisibilityListener>(); Loading @@ -70,6 +74,8 @@ public class ToolbarActionBar extends ActionBar { mDecorToolbar.setWindowCallback(mWindowCallback); toolbar.setOnMenuItemClickListener(mMenuClicker); mDecorToolbar.setWindowTitle(title); mHomeDescription = mToolbar.getNavigationContentDescription(); updateNavDescription(); } public Window.Callback getWrappedWindowCallback() { Loading Loading @@ -161,6 +167,7 @@ public class ToolbarActionBar extends ActionBar { @Override public void setHomeActionContentDescription(CharSequence description) { mToolbar.setNavigationContentDescription(description); mHomeDescription = description; } @Override Loading @@ -171,6 +178,7 @@ public class ToolbarActionBar extends ActionBar { @Override public void setHomeActionContentDescription(int resId) { mToolbar.setNavigationContentDescription(resId); mHomeDescription = mToolbar.getNavigationContentDescription(); } @Override Loading Loading @@ -247,8 +255,22 @@ public class ToolbarActionBar extends ActionBar { @Override public void setDisplayOptions(@DisplayOptions int options, @DisplayOptions int mask) { mDecorToolbar.setDisplayOptions((options & mask) | mDecorToolbar.getDisplayOptions() & ~mask); final int currentOptions = mDecorToolbar.getDisplayOptions(); final int changed = (options ^ currentOptions) & mask; mDecorToolbar.setDisplayOptions(options & mask | currentOptions & ~mask); if ((changed & ActionBar.DISPLAY_HOME_AS_UP) != 0) { updateNavDescription(); } } private void updateNavDescription() { if ((mDecorToolbar.getDisplayOptions() & ActionBar.DISPLAY_HOME_AS_UP) != 0) { if (TextUtils.isEmpty(mHomeDescription)) { mToolbar.setNavigationContentDescription(R.string.action_bar_up_description); } else { mToolbar.setNavigationContentDescription(mHomeDescription); } } } @Override Loading core/res/res/layout/screen_toolbar.xml +1 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ This is an optimized layout for a screen with a toolbar enabled. android:id="@+id/action_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:navigationContentDescription="@string/action_bar_up_description" style="?attr/toolbarStyle" /> <com.android.internal.widget.ActionBarContextView android:id="@+id/action_context_bar" Loading Loading
core/java/android/widget/Toolbar.java +6 −5 Original line number Diff line number Diff line Loading @@ -248,12 +248,13 @@ public class Toolbar extends ViewGroup { final Drawable navIcon = a.getDrawable(R.styleable.Toolbar_navigationIcon); if (navIcon != null) { setNavigationIcon(navIcon); } final CharSequence navDesc = a.getText( R.styleable.Toolbar_navigationContentDescription); if (!TextUtils.isEmpty(navDesc)) { setNavigationContentDescription(navDesc); } } a.recycle(); } Loading
core/java/com/android/internal/app/ToolbarActionBar.java +24 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.app.ActionBar; import android.content.Context; import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.view.ActionMode; import android.view.KeyEvent; import android.view.LayoutInflater; Loading @@ -32,6 +33,7 @@ import android.view.Window; import android.view.WindowCallbackWrapper; import android.widget.SpinnerAdapter; import android.widget.Toolbar; import com.android.internal.R; import com.android.internal.view.menu.MenuBuilder; import com.android.internal.widget.DecorToolbar; import com.android.internal.widget.ToolbarWidgetWrapper; Loading @@ -44,6 +46,8 @@ public class ToolbarActionBar extends ActionBar { private boolean mToolbarMenuPrepared; private Window.Callback mWindowCallback; private CharSequence mHomeDescription; private boolean mLastMenuVisibility; private ArrayList<OnMenuVisibilityListener> mMenuVisibilityListeners = new ArrayList<OnMenuVisibilityListener>(); Loading @@ -70,6 +74,8 @@ public class ToolbarActionBar extends ActionBar { mDecorToolbar.setWindowCallback(mWindowCallback); toolbar.setOnMenuItemClickListener(mMenuClicker); mDecorToolbar.setWindowTitle(title); mHomeDescription = mToolbar.getNavigationContentDescription(); updateNavDescription(); } public Window.Callback getWrappedWindowCallback() { Loading Loading @@ -161,6 +167,7 @@ public class ToolbarActionBar extends ActionBar { @Override public void setHomeActionContentDescription(CharSequence description) { mToolbar.setNavigationContentDescription(description); mHomeDescription = description; } @Override Loading @@ -171,6 +178,7 @@ public class ToolbarActionBar extends ActionBar { @Override public void setHomeActionContentDescription(int resId) { mToolbar.setNavigationContentDescription(resId); mHomeDescription = mToolbar.getNavigationContentDescription(); } @Override Loading Loading @@ -247,8 +255,22 @@ public class ToolbarActionBar extends ActionBar { @Override public void setDisplayOptions(@DisplayOptions int options, @DisplayOptions int mask) { mDecorToolbar.setDisplayOptions((options & mask) | mDecorToolbar.getDisplayOptions() & ~mask); final int currentOptions = mDecorToolbar.getDisplayOptions(); final int changed = (options ^ currentOptions) & mask; mDecorToolbar.setDisplayOptions(options & mask | currentOptions & ~mask); if ((changed & ActionBar.DISPLAY_HOME_AS_UP) != 0) { updateNavDescription(); } } private void updateNavDescription() { if ((mDecorToolbar.getDisplayOptions() & ActionBar.DISPLAY_HOME_AS_UP) != 0) { if (TextUtils.isEmpty(mHomeDescription)) { mToolbar.setNavigationContentDescription(R.string.action_bar_up_description); } else { mToolbar.setNavigationContentDescription(mHomeDescription); } } } @Override Loading
core/res/res/layout/screen_toolbar.xml +1 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ This is an optimized layout for a screen with a toolbar enabled. android:id="@+id/action_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:navigationContentDescription="@string/action_bar_up_description" style="?attr/toolbarStyle" /> <com.android.internal.widget.ActionBarContextView android:id="@+id/action_context_bar" Loading