1 package com.actionbarsherlock.app;
3 import static com.actionbarsherlock.app.SherlockFragmentActivity.DEBUG;
4 import android.app.Activity;
5 import android.support.v4.app.Fragment;
6 import android.util.Log;
7 import com.actionbarsherlock.internal.view.menu.MenuItemMule;
8 import com.actionbarsherlock.internal.view.menu.MenuMule;
9 import com.actionbarsherlock.view.Menu;
10 import com.actionbarsherlock.view.MenuInflater;
11 import com.actionbarsherlock.view.MenuItem;
13 public class SherlockFragment extends Fragment {
14 private static final String TAG = "SherlockFragment";
16 private SherlockFragmentActivity mActivity;
18 public SherlockFragmentActivity getSherlockActivity() {
23 public void onAttach(Activity activity) {
24 if (!(activity instanceof SherlockFragmentActivity)) {
25 throw new IllegalStateException(TAG + " must be attached to a SherlockFragmentActivity.");
27 mActivity = (SherlockFragmentActivity)activity;
29 super.onAttach(activity);
33 public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) {
34 if (DEBUG) Log.d(TAG, "[onCreateOptionsMenu] menu: " + menu + ", inflater: " + inflater);
36 if (menu instanceof MenuMule) {
37 MenuMule mule = (MenuMule)menu;
38 mule.mDispatchShow = true;
39 onCreateOptionsMenu(mule.unwrap(), mActivity.getSupportMenuInflater());
43 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
44 //Nothing to see here.
48 public final void onPrepareOptionsMenu(android.view.Menu menu) {
49 if (DEBUG) Log.d(TAG, "[onPrepareOptionsMenu] menu: " + menu);
51 if (menu instanceof MenuMule) {
52 MenuMule mule = (MenuMule)menu;
53 mule.mDispatchShow = true;
54 onPrepareOptionsMenu(mule.unwrap());
58 public void onPrepareOptionsMenu(Menu menu) {
59 //Nothing to see here.
63 public final boolean onOptionsItemSelected(android.view.MenuItem item) {
64 if (DEBUG) Log.d(TAG, "[onOptionsItemSelected] item: " + item);
66 if (item instanceof MenuItemMule) {
67 return onOptionsItemSelected(((MenuItemMule)item).unwrap());
72 public boolean onOptionsItemSelected(MenuItem item) {
73 //Nothing to see here.