AppCompatDelegateImplV7.java revision bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17f
1bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell/* 2bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * Copyright (C) 2012 The Android Open Source Project 3bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * 4bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * Licensed under the Apache License, Version 2.0 (the "License"); 5bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * you may not use this file except in compliance with the License. 6bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * You may obtain a copy of the License at 7bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * 8bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * http://www.apache.org/licenses/LICENSE-2.0 9bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * 10bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * Unless required by applicable law or agreed to in writing, software 11bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * distributed under the License is distributed on an "AS IS" BASIS, 12bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * See the License for the specific language governing permissions and 14bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell * limitations under the License. 15bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell */ 16bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 17bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellpackage android.support.appcompat.app; 18bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 19bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.content.res.TypedArray; 20bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.os.Bundle; 21bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.support.appcompat.R; 22bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.support.v4.app.FragmentActivity; 23bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.view.LayoutInflater; 24bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.view.View; 25bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellimport android.view.ViewGroup; 26bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 27bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powellpublic class ActionBarActivity extends FragmentActivity implements ActionBar.Callback { 28bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 29bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell private static final int FEATURE_ACTION_BAR = 8; 30bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell private static final int FEATURE_ACTION_BAR_OVERLAY = 9; 31bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 32bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell interface ActionBarActivityImpl { 33bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell void onCreate(ActionBarActivity activity, Bundle savedInstanceState); 34bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell void setContentView(ActionBarActivity activity, View v); 35bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell void setContentView(ActionBarActivity activity, int resId); 36bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell void setContentView(ActionBarActivity activity, View v, ViewGroup.LayoutParams lp); 37bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell void addContentView(ActionBarActivity activity, View v, ViewGroup.LayoutParams lp); 38bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell ActionBar createActionBar(ActionBarActivity activity); 39bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell void requestWindowFeature(ActionBarActivity activity, int feature); 40bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 41bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 42bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell static class ActionBarActivityImplBase implements ActionBarActivityImpl { 43bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 44bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 45bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void onCreate(ActionBarActivity activity, Bundle savedInstanceState) { 46bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell TypedArray a = activity.obtainStyledAttributes(R.styleable.ActionBarWindow); 47bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.mHasActionBar = a.getBoolean( 48bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell R.styleable.ActionBarWindow_windowActionBar, false); 49bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.mOverlayActionBar = a.getBoolean( 50bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell R.styleable.ActionBarWindow_windowActionBarOverlay, false); 51bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell a.recycle(); 52bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 53bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 54bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell private void ensureSubDecor(ActionBarActivity activity) { 55bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (activity.mHasActionBar && !activity.mSubDecorInstalled) { 56bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (activity.mOverlayActionBar) { 57bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(R.layout.action_bar_decor_overlay); 58bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } else { 59bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(R.layout.action_bar_decor); 60bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 61bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 62bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 63bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 64bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 65bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void setContentView(ActionBarActivity activity, View v) { 66bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell ensureSubDecor(activity); 67bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (activity.mHasActionBar) { 68bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell final ViewGroup contentParent = 69bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell (ViewGroup) activity.findViewById(R.id.action_bar_activity_content); 70bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell contentParent.removeAllViews(); 71bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell contentParent.addView(v); 72bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } else { 73bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(v); 74bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 75bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 76bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 77bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 78bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void setContentView(ActionBarActivity activity, int resId) { 79bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell ensureSubDecor(activity); 80bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (activity.mHasActionBar) { 81bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell final ViewGroup contentParent = 82bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell (ViewGroup) activity.findViewById(R.id.action_bar_activity_content); 83bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell contentParent.removeAllViews(); 84bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell final LayoutInflater inflater = activity.getLayoutInflater(); 85bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell inflater.inflate(resId, contentParent); 86bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } else { 87bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(resId); 88bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 89bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 90bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 91bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 92bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void setContentView(ActionBarActivity activity, View v, ViewGroup.LayoutParams lp) { 93bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell ensureSubDecor(activity); 94bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (activity.mHasActionBar) { 95bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell final ViewGroup contentParent = 96bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell (ViewGroup) activity.findViewById(R.id.action_bar_activity_content); 97bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell contentParent.removeAllViews(); 98bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell contentParent.addView(v, lp); 99bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } else { 100bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(v, lp); 101bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 102bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 103bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 104bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 105bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void addContentView(ActionBarActivity activity, View v, ViewGroup.LayoutParams lp) { 106bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell ensureSubDecor(activity); 107bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (activity.mHasActionBar) { 108bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell final ViewGroup contentParent = 109bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell (ViewGroup) activity.findViewById(R.id.action_bar_activity_content); 110bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell contentParent.addView(v, lp); 111bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } else { 112bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(v, lp); 113bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 114bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 115bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 116bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 117bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public ActionBar createActionBar(ActionBarActivity activity) { 118bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell return new ActionBarImplCompat(activity, activity); 119bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 120bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 121bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 122bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void requestWindowFeature(ActionBarActivity activity, int feature) { 123bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (feature == FEATURE_ACTION_BAR) { 124bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.mHasActionBar = true; 125bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } else if (feature == FEATURE_ACTION_BAR_OVERLAY) { 126bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.mOverlayActionBar = true; 127bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 128bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 129bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 130bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 131bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 132bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell static class ActionBarActivityImplHC implements ActionBarActivityImpl { 133bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 134bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 135bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void onCreate(ActionBarActivity activity, Bundle savedInstanceState) { 136bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell // Not needed; the native action bar will take care of things. 137bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 138bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 139bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 140bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void setContentView(ActionBarActivity activity, View v) { 141bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(v); 142bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 143bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 144bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 145bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void setContentView(ActionBarActivity activity, int resId) { 146bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(resId); 147bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 148bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 149bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 150bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void setContentView(ActionBarActivity activity, View v, ViewGroup.LayoutParams lp) { 151bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.setContentView(v, lp); 152bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 153bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 154bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 155bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void addContentView(ActionBarActivity activity, View v, ViewGroup.LayoutParams lp) { 156bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.addContentView(v, lp); 157bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 158bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 159bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 160bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public ActionBar createActionBar(ActionBarActivity activity) { 161bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell return new ActionBarImplHC(activity, activity); 162bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 163bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 164bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 165bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public void requestWindowFeature(ActionBarActivity activity, int feature) { 166bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell activity.requestWindowFeature(feature); 167bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 168bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 169bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 170bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 171bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell static class ActionBarActivityImplICS extends ActionBarActivityImplHC { 172bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell @Override 173bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public ActionBar createActionBar(ActionBarActivity activity) { 174bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell return new ActionBarImplICS(activity, activity); 175bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 176bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 177bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 178bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell static final ActionBarActivityImpl IMPL; 179bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell static { 180bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell final int version = android.os.Build.VERSION.SDK_INT; 181bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (version >= 14) { 182bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell IMPL = new ActionBarActivityImplICS(); 183bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } else if (version >= 11) { 184bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell IMPL = new ActionBarActivityImplHC(); 185bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } else { 186bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell IMPL = new ActionBarActivityImplBase(); 187bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 188bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 189bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 190bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell private ActionBar mActionBar; 191bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 192bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell // true if the compatibility implementation has installed a window sub-decor layout. 193bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell boolean mSubDecorInstalled; 194bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 195bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell // true if this activity has an action bar. 196bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell boolean mHasActionBar; 197bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 198bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell // true if this activity's action bar overlays other activity content. 199bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell boolean mOverlayActionBar; 200bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 201bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell protected void onCreate(Bundle savedInstanceState) { 202bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell super.onCreate(savedInstanceState); 203bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell IMPL.onCreate(this, savedInstanceState); 204bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 205bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 206bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell public ActionBar getSupportActionBar() { 207bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell initActionBar(); 208bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell return mActionBar; 209bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 210bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell 211bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell private void initActionBar() { 212bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell if (mActionBar == null && mHasActionBar) { 213bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell mActionBar = IMPL.createActionBar(this); 214bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 215bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell } 216bbbb8f39d1b1d1b317c5f9237f20fe6b1d9eb17fAdam Powell} 217