Update to ActionBarSherlock 4.1.0.
[debian/openrocket] / android-libraries / ActionBarSherlock / src / com / actionbarsherlock / app / SherlockListFragment.java
index 03a312b353adff5b9dcef0b8eb59283f20dbc1d1..13ca3c49fb9dd2f47f0ad1e44f128e218ae79a51 100644 (file)
@@ -1,18 +1,18 @@
 package com.actionbarsherlock.app;
 
-import static com.actionbarsherlock.app.SherlockFragmentActivity.DEBUG;
 import android.app.Activity;
 import android.support.v4.app.ListFragment;
-import android.util.Log;
-import com.actionbarsherlock.internal.view.menu.MenuItemMule;
-import com.actionbarsherlock.internal.view.menu.MenuMule;
+import com.actionbarsherlock.internal.view.menu.MenuItemWrapper;
+import com.actionbarsherlock.internal.view.menu.MenuWrapper;
 import com.actionbarsherlock.view.Menu;
 import com.actionbarsherlock.view.MenuInflater;
 import com.actionbarsherlock.view.MenuItem;
 
-public class SherlockListFragment extends ListFragment {
-    private static final String TAG = "SherlockListFragment";
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener;
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener;
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener;
 
+public class SherlockListFragment extends ListFragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener {
     private SherlockFragmentActivity mActivity;
 
     public SherlockFragmentActivity getSherlockActivity() {
@@ -22,7 +22,7 @@ public class SherlockListFragment extends ListFragment {
     @Override
     public void onAttach(Activity activity) {
         if (!(activity instanceof SherlockFragmentActivity)) {
-            throw new IllegalStateException(TAG + " must be attached to a SherlockFragmentActivity.");
+            throw new IllegalStateException(getClass().getSimpleName() + " must be attached to a SherlockFragmentActivity.");
         }
         mActivity = (SherlockFragmentActivity)activity;
 
@@ -30,45 +30,37 @@ public class SherlockListFragment extends ListFragment {
     }
 
     @Override
-    public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) {
-        if (DEBUG) Log.d(TAG, "[onCreateOptionsMenu] menu: " + menu + ", inflater: " + inflater);
+    public void onDetach() {
+        mActivity = null;
+        super.onDetach();
+    }
 
-        if (menu instanceof MenuMule) {
-            MenuMule mule = (MenuMule)menu;
-            mule.mDispatchShow = true;
-            onCreateOptionsMenu(mule.unwrap(), mActivity.getSupportMenuInflater());
-        }
+    @Override
+    public final void onCreateOptionsMenu(android.view.Menu menu, android.view.MenuInflater inflater) {
+        onCreateOptionsMenu(new MenuWrapper(menu), mActivity.getSupportMenuInflater());
     }
 
+    @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         //Nothing to see here.
     }
 
     @Override
     public final void onPrepareOptionsMenu(android.view.Menu menu) {
-        if (DEBUG) Log.d(TAG, "[onPrepareOptionsMenu] menu: " + menu);
-
-        if (menu instanceof MenuMule) {
-            MenuMule mule = (MenuMule)menu;
-            mule.mDispatchShow = true;
-            onPrepareOptionsMenu(mule.unwrap());
-        }
+        onPrepareOptionsMenu(new MenuWrapper(menu));
     }
 
+    @Override
     public void onPrepareOptionsMenu(Menu menu) {
         //Nothing to see here.
     }
 
     @Override
     public final boolean onOptionsItemSelected(android.view.MenuItem item) {
-        if (DEBUG) Log.d(TAG, "[onOptionsItemSelected] item: " + item);
-
-        if (item instanceof MenuItemMule) {
-            return onOptionsItemSelected(((MenuItemMule)item).unwrap());
-        }
-        return false;
+        return onOptionsItemSelected(new MenuItemWrapper(item));
     }
 
+    @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         //Nothing to see here.
         return false;