summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-04-20 10:01:14 -0700
committerAdam Powell <adamp@google.com>2010-05-13 01:27:59 -0700
commit33b974393b6fadcefc896ec4a0f9b66724f61e9f (patch)
tree5c90001e5931a2cf09e9900c58d6d815d3dfa46b /policy
parent5d8636dbada23bd40c80dbf43702d538b2997ac4 (diff)
downloadframeworks_base-33b974393b6fadcefc896ec4a0f9b66724f61e9f.zip
frameworks_base-33b974393b6fadcefc896ec4a0f9b66724f61e9f.tar.gz
frameworks_base-33b974393b6fadcefc896ec4a0f9b66724f61e9f.tar.bz2
ActionBar added to framework, integrated with Activity and styles.
Added onClick attribute support to menus in MenuInflater. Change-Id: I739771b4f249d87a0d8b15969f3d526b099067a1
Diffstat (limited to 'policy')
-rw-r--r--policy/com/android/internal/policy/impl/PhoneWindow.java30
1 files changed, 23 insertions, 7 deletions
diff --git a/policy/com/android/internal/policy/impl/PhoneWindow.java b/policy/com/android/internal/policy/impl/PhoneWindow.java
index 5592b6d..20d9f26 100644
--- a/policy/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/com/android/internal/policy/impl/PhoneWindow.java
@@ -21,13 +21,6 @@ import static android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
-
-import com.android.internal.view.menu.ContextMenuBuilder;
-import com.android.internal.view.menu.MenuBuilder;
-import com.android.internal.view.menu.MenuDialogHelper;
-import com.android.internal.view.menu.MenuView;
-import com.android.internal.view.menu.SubMenuBuilder;
-
import android.app.KeyguardManager;
import android.app.SearchManager;
import android.content.ActivityNotFoundException;
@@ -51,6 +44,7 @@ import android.util.Config;
import android.util.EventLog;
import android.util.Log;
import android.util.SparseArray;
+import android.view.ActionBarView;
import android.view.Gravity;
import android.view.HapticFeedbackConstants;
import android.view.KeyCharacterMap;
@@ -75,6 +69,12 @@ import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
+import com.android.internal.view.menu.ContextMenuBuilder;
+import com.android.internal.view.menu.MenuBuilder;
+import com.android.internal.view.menu.MenuDialogHelper;
+import com.android.internal.view.menu.MenuView;
+import com.android.internal.view.menu.SubMenuBuilder;
+
/**
* Android-specific Window.
* <p>
@@ -105,6 +105,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
private LayoutInflater mLayoutInflater;
private TextView mTitleView;
+
+ private ActionBarView mActionBar;
private DrawableFeatureState[] mDrawables;
@@ -258,6 +260,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
public void setTitle(CharSequence title) {
if (mTitleView != null) {
mTitleView.setText(title);
+ } else if (mActionBar != null) {
+ mActionBar.setTitle(title);
}
mTitle = title;
}
@@ -2067,6 +2071,9 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
if (a.getBoolean(com.android.internal.R.styleable.Window_windowNoTitle, false)) {
requestFeature(FEATURE_NO_TITLE);
+ } else if (a.getBoolean(com.android.internal.R.styleable.Window_windowActionBar, false)) {
+ // Don't allow an action bar if there is no title.
+ requestFeature(FEATURE_ACTION_BAR);
}
if (a.getBoolean(com.android.internal.R.styleable.Window_windowFullscreen, false)) {
@@ -2150,6 +2157,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
// If the window is floating, we need a dialog layout
if (mIsFloating) {
layoutResource = com.android.internal.R.layout.dialog_title;
+ } else if ((features & (1 << FEATURE_ACTION_BAR)) != 0) {
+ layoutResource = com.android.internal.R.layout.screen_action_bar;
} else {
layoutResource = com.android.internal.R.layout.screen_title;
}
@@ -2234,6 +2243,13 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
} else {
mTitleView.setText(mTitle);
}
+ } else {
+ mActionBar = (ActionBarView) findViewById(com.android.internal.R.id.action_bar);
+ if (mActionBar != null) {
+ if (mActionBar.getTitle() == null) {
+ mActionBar.setTitle(mTitle);
+ }
+ }
}
}
}