diff options
Diffstat (limited to 'com_actionbarsherlock/src/com/actionbarsherlock/app')
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);
|