summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adam Powell <adamp@google.com> 2010-07-14 14:51:12 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2010-07-14 14:51:12 -0700
commit1f5dddc85c07169b19846d454e0797b791299e3d (patch)
treef00730f4df1476c8878286fb1350a52c199d4728
parent92db56f78ca4bc31c95318a062ff68212d3aa411 (diff)
parente92ea3474de7998a016b48bab4e9a4bbafd5b549 (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.java24
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindow.java4
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);
}
}
}