aboutsummaryrefslogtreecommitdiffstats
path: root/com_actionbarsherlock/src/com/actionbarsherlock/app
diff options
context:
space:
mode:
Diffstat (limited to 'com_actionbarsherlock/src/com/actionbarsherlock/app')
-rw-r--r--com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockActivity.java6
-rw-r--r--com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java46
-rw-r--r--com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java6
-rw-r--r--com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragment.java46
-rw-r--r--com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java84
-rw-r--r--com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListActivity.java6
-rw-r--r--com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListFragment.java46
-rw-r--r--com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java6
8 files changed, 94 insertions, 152 deletions
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockActivity.java b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockActivity.java
index d0a6d8128..9cb57e95a 100644
--- a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockActivity.java
+++ b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockActivity.java
@@ -77,6 +77,12 @@ public abstract class SherlockActivity extends Activity implements OnCreatePanel
}
@Override
+ protected void onDestroy() {
+ getSherlock().dispatchDestroy();
+ super.onDestroy();
+ }
+
+ @Override
protected void onPostCreate(Bundle savedInstanceState) {
getSherlock().dispatchPostCreate(savedInstanceState);
super.onPostCreate(savedInstanceState);
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java
index 4172888cc..a7c856bf0 100644
--- a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java
+++ b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockDialogFragment.java
@@ -1,18 +1,18 @@
package com.actionbarsherlock.app;
-import static com.actionbarsherlock.app.SherlockFragmentActivity.DEBUG;
import android.app.Activity;
import android.support.v4.app.DialogFragment;
-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 SherlockDialogFragment extends DialogFragment {
- private static final String TAG = "SherlockDialogFragment";
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener;
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener;
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener;
+public class SherlockDialogFragment extends DialogFragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener {
private SherlockFragmentActivity mActivity;
public SherlockFragmentActivity getSherlockActivity() {
@@ -22,7 +22,7 @@ public class SherlockDialogFragment extends DialogFragment {
@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 SherlockDialogFragment extends DialogFragment {
}
@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;
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java
index 3247c987c..078f9b0ca 100644
--- a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java
+++ b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockExpandableListActivity.java
@@ -77,6 +77,12 @@ public abstract class SherlockExpandableListActivity extends ExpandableListActiv
}
@Override
+ protected void onDestroy() {
+ getSherlock().dispatchDestroy();
+ super.onDestroy();
+ }
+
+ @Override
protected void onPostCreate(Bundle savedInstanceState) {
getSherlock().dispatchPostCreate(savedInstanceState);
super.onPostCreate(savedInstanceState);
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragment.java b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragment.java
index 10d673f9f..0f24e9c85 100644
--- a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragment.java
+++ b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragment.java
@@ -1,18 +1,18 @@
package com.actionbarsherlock.app;
-import static com.actionbarsherlock.app.SherlockFragmentActivity.DEBUG;
import android.app.Activity;
import android.support.v4.app.Fragment;
-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 SherlockFragment extends Fragment {
- private static final String TAG = "SherlockFragment";
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnCreateOptionsMenuListener;
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnOptionsItemSelectedListener;
+import static com.actionbarsherlock.app.SherlockFragmentActivity.OnPrepareOptionsMenuListener;
+public class SherlockFragment extends Fragment implements OnCreateOptionsMenuListener, OnPrepareOptionsMenuListener, OnOptionsItemSelectedListener {
private SherlockFragmentActivity mActivity;
public SherlockFragmentActivity getSherlockActivity() {
@@ -22,7 +22,7 @@ public class SherlockFragment extends Fragment {
@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 SherlockFragment extends Fragment {
}
@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;
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java
index 49a5c6ca9..5cd13ba7c 100644
--- a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java
+++ b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockFragmentActivity.java
@@ -2,27 +2,24 @@ package com.actionbarsherlock.app;
import android.content.res.Configuration;
import android.os.Bundle;
-import android.support.v4.app.FragmentActivity;
+import android.support.v4.app._ActionBarSherlockTrojanHorse;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import com.actionbarsherlock.ActionBarSherlock;
-import com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener;
-import com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener;
-import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener;
-import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener;
-import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener;
-import com.actionbarsherlock.internal.view.menu.MenuItemMule;
-import com.actionbarsherlock.internal.view.menu.MenuMule;
import com.actionbarsherlock.view.ActionMode;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
-public abstract class SherlockFragmentActivity extends FragmentActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener, OnActionModeStartedListener, OnActionModeFinishedListener {
- static final boolean DEBUG = false;
+import static com.actionbarsherlock.ActionBarSherlock.OnActionModeFinishedListener;
+import static com.actionbarsherlock.ActionBarSherlock.OnActionModeStartedListener;
+
+/** @see {@link _ActionBarSherlockTrojanHorse} */
+public class SherlockFragmentActivity extends _ActionBarSherlockTrojanHorse implements OnActionModeStartedListener, OnActionModeFinishedListener {
+ private static final boolean DEBUG = false;
private static final String TAG = "SherlockFragmentActivity";
private ActionBarSherlock mSherlock;
@@ -86,6 +83,12 @@ public abstract class SherlockFragmentActivity extends FragmentActivity implemen
}
@Override
+ protected void onDestroy() {
+ getSherlock().dispatchDestroy();
+ super.onDestroy();
+ }
+
+ @Override
protected void onPostCreate(Bundle savedInstanceState) {
getSherlock().dispatchPostCreate(savedInstanceState);
super.onPostCreate(savedInstanceState);
@@ -221,75 +224,14 @@ public abstract class SherlockFragmentActivity extends FragmentActivity implemen
// Sherlock menu handling
///////////////////////////////////////////////////////////////////////////
- @Override
- public boolean onCreatePanelMenu(int featureId, Menu menu) {
- if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu);
-
- if (featureId == Window.FEATURE_OPTIONS_PANEL) {
- boolean result = onCreateOptionsMenu(menu);
- if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] activity create result: " + result);
-
- //Dispatch to parent panel creation for fragment dispatching
- if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] dispatching to native with mule");
- MenuMule mule = new MenuMule(menu);
- super.onCreatePanelMenu(featureId, mule);
-
- if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] fragments create result: " + mule.mDispatchShow);
- result |= mule.mDispatchShow;
-
- if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] returning " + result);
- return result;
- }
- return false;
- }
-
public boolean onCreateOptionsMenu(Menu menu) {
return true;
}
- @Override
- public boolean onPreparePanel(int featureId, View view, Menu menu) {
- if (DEBUG) Log.d(TAG, "[onPreparePanel] featureId: " + featureId + ", view: " + view + " menu: " + menu);
-
- if (featureId == Window.FEATURE_OPTIONS_PANEL) {
- boolean result = onPrepareOptionsMenu(menu);
- if (DEBUG) Log.d(TAG, "[onPreparePanel] activity prepare result: " + result);
-
- //Dispatch to parent panel preparation for fragment dispatching
- if (DEBUG) Log.d(TAG, "[onPreparePanel] dispatching to native with mule");
- MenuMule mule = new MenuMule(menu);
- super.onPreparePanel(featureId, view, mule);
-
- if (DEBUG) Log.d(TAG, "[onPreparePanel] fragments prepare result: " + mule.mDispatchShow);
- result |= mule.mDispatchShow;
-
- result &= menu.hasVisibleItems();
- if (DEBUG) Log.d(TAG, "[onPreparePanel] returning " + result);
- return result;
- }
- return false;
- }
-
public boolean onPrepareOptionsMenu(Menu menu) {
return true;
}
- @Override
- public boolean onMenuItemSelected(int featureId, MenuItem item) {
- if (DEBUG) Log.d(TAG, "[onMenuItemSelected] featureId: " + featureId + ", item: " + item);
-
- if (featureId == Window.FEATURE_OPTIONS_PANEL) {
- if (onOptionsItemSelected(item)) {
- return true;
- }
-
- //Dispatch to parent panel selection for fragment dispatching
- if (DEBUG) Log.d(TAG, "[onMenuItemSelected] dispatching to native with mule");
- return super.onMenuItemSelected(featureId, new MenuItemMule(item));
- }
- return false;
- }
-
public boolean onOptionsItemSelected(MenuItem item) {
return false;
}
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListActivity.java b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListActivity.java
index 83114c3aa..00c00fee5 100644
--- a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListActivity.java
+++ b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListActivity.java
@@ -77,6 +77,12 @@ public abstract class SherlockListActivity extends ListActivity implements OnCre
}
@Override
+ protected void onDestroy() {
+ getSherlock().dispatchDestroy();
+ super.onDestroy();
+ }
+
+ @Override
protected void onPostCreate(Bundle savedInstanceState) {
getSherlock().dispatchPostCreate(savedInstanceState);
super.onPostCreate(savedInstanceState);
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListFragment.java b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListFragment.java
index 03a312b35..13ca3c49f 100644
--- a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListFragment.java
+++ b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockListFragment.java
@@ -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;
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java
index 71e40300a..4f80be515 100644
--- a/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java
+++ b/com_actionbarsherlock/src/com/actionbarsherlock/app/SherlockPreferenceActivity.java
@@ -77,6 +77,12 @@ public abstract class SherlockPreferenceActivity extends PreferenceActivity impl
}
@Override
+ protected void onDestroy() {
+ getSherlock().dispatchDestroy();
+ super.onDestroy();
+ }
+
+ @Override
protected void onPostCreate(Bundle savedInstanceState) {
getSherlock().dispatchPostCreate(savedInstanceState);
super.onPostCreate(savedInstanceState);