create changelog entry
[debian/openrocket] / android-libraries / ActionBarSherlock / src / com / actionbarsherlock / app / SherlockActivity.java
1 package com.actionbarsherlock.app;\r
2 \r
3 import android.app.Activity;\r
4 import android.content.res.Configuration;\r
5 import android.os.Bundle;\r
6 import android.view.KeyEvent;\r
7 import android.view.View;\r
8 import android.view.Window;\r
9 import android.view.ViewGroup.LayoutParams;\r
10 import com.actionbarsherlock.ActionBarSherlock;\r
11 import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener;\r
12 import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener;\r
13 import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener;\r
14 import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener;\r
15 import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener;\r
16 import com.actionbarsherlock.view.ActionMode;\r
17 import com.actionbarsherlock.view.Menu;\r
18 import com.actionbarsherlock.view.MenuInflater;\r
19 import com.actionbarsherlock.view.MenuItem;\r
20 \r
21 public abstract class SherlockActivity extends Activity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener {\r
22     private ActionBarSherlock mSherlock;\r
23 \r
24     protected final ActionBarSherlock getSherlock() {\r
25         if (mSherlock == null) {\r
26             mSherlock = ActionBarSherlock.wrap(this, ActionBarSherlock.FLAG_DELEGATE);\r
27         }\r
28         return mSherlock;\r
29     }\r
30 \r
31 \r
32     ///////////////////////////////////////////////////////////////////////////\r
33     // Action bar and mode\r
34     ///////////////////////////////////////////////////////////////////////////\r
35 \r
36     public ActionBar getSupportActionBar() {\r
37         return getSherlock().getActionBar();\r
38     }\r
39 \r
40     public ActionMode startActionMode(ActionMode.Callback callback) {\r
41         return getSherlock().startActionMode(callback);\r
42     }\r
43 \r
44     @Override\r
45     public void onActionModeStarted(ActionMode mode) {}\r
46 \r
47     @Override\r
48     public void onActionModeFinished(ActionMode mode) {}\r
49 \r
50 \r
51     ///////////////////////////////////////////////////////////////////////////\r
52     // General lifecycle/callback dispatching\r
53     ///////////////////////////////////////////////////////////////////////////\r
54 \r
55     @Override\r
56     public void onConfigurationChanged(Configuration newConfig) {\r
57         super.onConfigurationChanged(newConfig);\r
58         getSherlock().dispatchConfigurationChanged(newConfig);\r
59     }\r
60 \r
61     @Override\r
62     protected void onPostResume() {\r
63         super.onPostResume();\r
64         getSherlock().dispatchPostResume();\r
65     }\r
66 \r
67     @Override\r
68     protected void onPause() {\r
69         getSherlock().dispatchPause();\r
70         super.onPause();\r
71     }\r
72 \r
73     @Override\r
74     protected void onStop() {\r
75         getSherlock().dispatchStop();\r
76         super.onStop();\r
77     }\r
78 \r
79     @Override\r
80     protected void onDestroy() {\r
81         getSherlock().dispatchDestroy();\r
82         super.onDestroy();\r
83     }\r
84 \r
85     @Override\r
86     protected void onPostCreate(Bundle savedInstanceState) {\r
87         getSherlock().dispatchPostCreate(savedInstanceState);\r
88         super.onPostCreate(savedInstanceState);\r
89     }\r
90 \r
91     @Override\r
92     protected void onTitleChanged(CharSequence title, int color) {\r
93         getSherlock().dispatchTitleChanged(title, color);\r
94         super.onTitleChanged(title, color);\r
95     }\r
96 \r
97     @Override\r
98     public final boolean onMenuOpened(int featureId, android.view.Menu menu) {\r
99         if (getSherlock().dispatchMenuOpened(featureId, menu)) {\r
100             return true;\r
101         }\r
102         return super.onMenuOpened(featureId, menu);\r
103     }\r
104 \r
105     @Override\r
106     public void onPanelClosed(int featureId, android.view.Menu menu) {\r
107         getSherlock().dispatchPanelClosed(featureId, menu);\r
108         super.onPanelClosed(featureId, menu);\r
109     }\r
110 \r
111     @Override\r
112     public boolean dispatchKeyEvent(KeyEvent event) {\r
113         if (getSherlock().dispatchKeyEvent(event)) {\r
114             return true;\r
115         }\r
116         return super.dispatchKeyEvent(event);\r
117     }\r
118 \r
119 \r
120     ///////////////////////////////////////////////////////////////////////////\r
121     // Native menu handling\r
122     ///////////////////////////////////////////////////////////////////////////\r
123 \r
124     public MenuInflater getSupportMenuInflater() {\r
125         return getSherlock().getMenuInflater();\r
126     }\r
127 \r
128     public void invalidateOptionsMenu() {\r
129         getSherlock().dispatchInvalidateOptionsMenu();\r
130     }\r
131 \r
132     public void supportInvalidateOptionsMenu() {\r
133         invalidateOptionsMenu();\r
134     }\r
135 \r
136     @Override\r
137     public final boolean onCreateOptionsMenu(android.view.Menu menu) {\r
138         return getSherlock().dispatchCreateOptionsMenu(menu);\r
139     }\r
140 \r
141     @Override\r
142     public final boolean onPrepareOptionsMenu(android.view.Menu menu) {\r
143         return getSherlock().dispatchPrepareOptionsMenu(menu);\r
144     }\r
145 \r
146     @Override\r
147     public final boolean onOptionsItemSelected(android.view.MenuItem item) {\r
148         return getSherlock().dispatchOptionsItemSelected(item);\r
149     }\r
150 \r
151     @Override\r
152     public void openOptionsMenu() {\r
153         if (!getSherlock().dispatchOpenOptionsMenu()) {\r
154             super.openOptionsMenu();\r
155         }\r
156     }\r
157 \r
158     @Override\r
159     public void closeOptionsMenu() {\r
160         if (!getSherlock().dispatchCloseOptionsMenu()) {\r
161             super.closeOptionsMenu();\r
162         }\r
163     }\r
164 \r
165 \r
166     ///////////////////////////////////////////////////////////////////////////\r
167     // Sherlock menu handling\r
168     ///////////////////////////////////////////////////////////////////////////\r
169 \r
170     @Override\r
171     public boolean onCreatePanelMenu(int featureId, Menu menu) {\r
172         if (featureId == Window.FEATURE_OPTIONS_PANEL) {\r
173             return onCreateOptionsMenu(menu);\r
174         }\r
175         return false;\r
176     }\r
177 \r
178     public boolean onCreateOptionsMenu(Menu menu) {\r
179         return true;\r
180     }\r
181 \r
182     @Override\r
183     public boolean onPreparePanel(int featureId, View view, Menu menu) {\r
184         if (featureId == Window.FEATURE_OPTIONS_PANEL) {\r
185             return onPrepareOptionsMenu(menu);\r
186         }\r
187         return false;\r
188     }\r
189 \r
190     public boolean onPrepareOptionsMenu(Menu menu) {\r
191         return true;\r
192     }\r
193 \r
194     @Override\r
195     public boolean onMenuItemSelected(int featureId, MenuItem item) {\r
196         if (featureId == Window.FEATURE_OPTIONS_PANEL) {\r
197             return onOptionsItemSelected(item);\r
198         }\r
199         return false;\r
200     }\r
201 \r
202     public boolean onOptionsItemSelected(MenuItem item) {\r
203         return false;\r
204     }\r
205 \r
206 \r
207     ///////////////////////////////////////////////////////////////////////////\r
208     // Content\r
209     ///////////////////////////////////////////////////////////////////////////\r
210 \r
211     @Override\r
212     public void addContentView(View view, LayoutParams params) {\r
213         getSherlock().addContentView(view, params);\r
214     }\r
215 \r
216     @Override\r
217     public void setContentView(int layoutResId) {\r
218         getSherlock().setContentView(layoutResId);\r
219     }\r
220 \r
221     @Override\r
222     public void setContentView(View view, LayoutParams params) {\r
223         getSherlock().setContentView(view, params);\r
224     }\r
225 \r
226     @Override\r
227     public void setContentView(View view) {\r
228         getSherlock().setContentView(view);\r
229     }\r
230 \r
231     public void requestWindowFeature(long featureId) {\r
232         getSherlock().requestFeature((int)featureId);\r
233     }\r
234 \r
235 \r
236     ///////////////////////////////////////////////////////////////////////////\r
237     // Progress Indication\r
238     ///////////////////////////////////////////////////////////////////////////\r
239 \r
240     public void setSupportProgress(int progress) {\r
241         getSherlock().setProgress(progress);\r
242     }\r
243 \r
244     public void setSupportProgressBarIndeterminate(boolean indeterminate) {\r
245         getSherlock().setProgressBarIndeterminate(indeterminate);\r
246     }\r
247 \r
248     public void setSupportProgressBarIndeterminateVisibility(boolean visible) {\r
249         getSherlock().setProgressBarIndeterminateVisibility(visible);\r
250     }\r
251 \r
252     public void setSupportProgressBarVisibility(boolean visible) {\r
253         getSherlock().setProgressBarVisibility(visible);\r
254     }\r
255 \r
256     public void setSupportSecondaryProgress(int secondaryProgress) {\r
257         getSherlock().setSecondaryProgress(secondaryProgress);\r
258     }\r
259 }\r