diff options
| author | 2010-07-14 14:51:12 -0700 | |
|---|---|---|
| committer | 2010-07-14 14:51:12 -0700 | |
| commit | 1f5dddc85c07169b19846d454e0797b791299e3d (patch) | |
| tree | f00730f4df1476c8878286fb1350a52c199d4728 | |
| parent | 92db56f78ca4bc31c95318a062ff68212d3aa411 (diff) | |
| parent | e92ea3474de7998a016b48bab4e9a4bbafd5b549 (diff) | |
Merge "Fix bug 2835056 - ActionBar doesn't update title properly when set in onCreate"
| -rw-r--r-- | core/java/com/android/internal/widget/ActionBarView.java | 24 | ||||
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindow.java | 4 |
2 files changed, 26 insertions, 2 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index 48707b959548..fbff8ae4ae5e 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -91,6 +91,7 @@ public class ActionBarView extends ViewGroup { private View mCustomNavView; private boolean mShowMenu; + private boolean mUserTitle; private MenuBuilder mOptionsMenu; private ActionMenuView mMenuView; @@ -212,7 +213,30 @@ public class ActionBarView extends ViewGroup { return mTitle; } + /** + * Set the action bar title. This will always replace or override window titles. + * @param title Title to set + * + * @see #setWindowTitle(CharSequence) + */ public void setTitle(CharSequence title) { + mUserTitle = true; + setTitleImpl(title); + } + + /** + * Set the window title. A window title will always be replaced or overridden by a user title. + * @param title Title to set + * + * @see #setTitle(CharSequence) + */ + public void setWindowTitle(CharSequence title) { + if (!mUserTitle) { + setTitleImpl(title); + } + } + + private void setTitleImpl(CharSequence title) { mTitle = title; if (mTitleView != null) { mTitleView.setText(title); diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java index 8321473c39b6..070d1e8fc3e1 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java @@ -284,7 +284,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { if (mTitleView != null) { mTitleView.setText(title); } else if (mActionBar != null) { - mActionBar.setTitle(title); + mActionBar.setWindowTitle(title); } mTitle = title; } @@ -2334,7 +2334,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } else { mActionBar = (ActionBarView) findViewById(com.android.internal.R.id.action_bar); if (mActionBar != null && mActionBar.getTitle() == null) { - mActionBar.setTitle(mTitle); + mActionBar.setWindowTitle(mTitle); } } } |