diff --git a/actionbarsherlock/plugins/README.md b/actionbarsherlock/plugins/README.md deleted file mode 100644 index 6c241e520..000000000 --- a/actionbarsherlock/plugins/README.md +++ /dev/null @@ -1,8 +0,0 @@ -ActionBarSherlock Plugins -========================= - -Modules provided in this folder are plugins which add functionality to the -ActionBarSherlock library. - -The requirements for implementing each pluging are detailed in the `README.md` -file in each plugin folder. diff --git a/actionbarsherlock/plugins/maps/AndroidManifest.xml b/actionbarsherlock/plugins/maps/AndroidManifest.xml deleted file mode 100644 index 7b80ceee3..000000000 --- a/actionbarsherlock/plugins/maps/AndroidManifest.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/actionbarsherlock/plugins/maps/README.md b/actionbarsherlock/plugins/maps/README.md deleted file mode 100644 index a45dd1ffb..000000000 --- a/actionbarsherlock/plugins/maps/README.md +++ /dev/null @@ -1,18 +0,0 @@ -ActionBarSherlock Plugin: Maps -============================== - -This plugin provides support for the Google API `MapView` widget through an -additional base activity, `FragmentMapActivity`. Your application must adhere -to all of the regular requirements of implementing the [Google Map View][1]. - -By using `FragmentMapActivity` you are afforded the use of fragments, loaders, -and the action bar--including support for using a `MapView` within a fragment. -You can find examples of these implementations in the 'demos' sample. - - - - - - - - [1]: http://developer.android.com/resources/tutorials/views/hello-mapview.html diff --git a/actionbarsherlock/plugins/maps/checkstyle.xml b/actionbarsherlock/plugins/maps/checkstyle.xml deleted file mode 100644 index 91bcb9a52..000000000 --- a/actionbarsherlock/plugins/maps/checkstyle.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/actionbarsherlock/plugins/maps/pom.xml b/actionbarsherlock/plugins/maps/pom.xml deleted file mode 100644 index 24169c0e9..000000000 --- a/actionbarsherlock/plugins/maps/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - 4.0.0 - - com.actionbarsherlock - plugin-maps - Plugin: Maps - jar - - - com.actionbarsherlock - parent-plugins - 3.5.0 - ../pom.xml - - - - - android - android - provided - - - - com.google.android.maps - maps - provided - - - - com.actionbarsherlock - library - ${project.version} - provided - - - - - ${apk.prefix}-${project.artifactId}-${project.version} - src - - - - com.jayway.maven.plugins.android.generation2 - maven-android-plugin - true - - - - org.apache.maven.plugins - maven-javadoc-plugin - - true - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - - ${project.basedir}/checkstyle.xml - - - - verify - - checkstyle - - - - - - - diff --git a/actionbarsherlock/plugins/maps/project.properties b/actionbarsherlock/plugins/maps/project.properties deleted file mode 100644 index e5171db54..000000000 --- a/actionbarsherlock/plugins/maps/project.properties +++ /dev/null @@ -1,13 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system use, -# "ant.properties", and override values to adapt the script to your -# project structure. - -android.library=true -# Project target. -target=Google Inc.:Google APIs:13 -android.library.reference.1=../../library diff --git a/actionbarsherlock/plugins/maps/src/android/support/v4/app/FragmentMapActivity.java b/actionbarsherlock/plugins/maps/src/android/support/v4/app/FragmentMapActivity.java deleted file mode 100644 index 6bfe29c66..000000000 --- a/actionbarsherlock/plugins/maps/src/android/support/v4/app/FragmentMapActivity.java +++ /dev/null @@ -1,1362 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * Copyright (C) 2011 Jake Wharton - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.support.v4.app; - -import java.io.FileDescriptor; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.HashMap; -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.content.res.Configuration; -import android.content.res.TypedArray; -import android.os.Build; -import android.os.Bundle; -import android.os.Handler; -import com.google.android.maps.MapActivity; -import android.os.Message; -import android.os.Parcelable; -import android.support.v4.view.ActionMode; -import android.support.v4.view.Menu; -import android.support.v4.view.MenuItem; -import android.support.v4.view.Window; -import android.util.AttributeSet; -import android.util.Log; -import android.view.KeyEvent; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewGroup.LayoutParams; -import com.actionbarsherlock.R; -import com.actionbarsherlock.internal.app.ActionBarImpl; -import com.actionbarsherlock.internal.app.ActionBarWrapper; -import com.actionbarsherlock.internal.view.menu.MenuBuilder; -import com.actionbarsherlock.internal.view.menu.MenuInflaterImpl; -import com.actionbarsherlock.internal.view.menu.MenuInflaterWrapper; -import com.actionbarsherlock.internal.view.menu.MenuItemImpl; -import com.actionbarsherlock.internal.view.menu.MenuItemWrapper; -import com.actionbarsherlock.internal.view.menu.MenuPresenter; -import com.actionbarsherlock.internal.view.menu.MenuWrapper; -import com.actionbarsherlock.internal.widget.ActionBarView; - -/** - * Base class for activities that want to use the support-based - * {@link android.support.v4.app.Fragment}, - * {@link android.support.v4.content.Loader}, and - * {@link android.support.v4.app.ActionBar} APIs. - * - *

When using this class as opposed to new platform's built-in fragment - * and loader support, you must use the {@link #getSupportFragmentManager()} - * and {@link #getSupportLoaderManager()} methods respectively to access - * those features. - * - *

Known limitations:

- *
    - *
  • When using the <fragment> tag, this implementation can not - * use the parent view's ID as the new fragment's ID. You must explicitly - * specify an ID (or tag) in the <fragment>.

    - *
  • Prior to Honeycomb (3.0), an activity's state was saved before pausing. - * Fragments are a significant amount of new state, and dynamic enough that one - * often wants them to change between pausing and stopping. These classes - * throw an exception if you try to change the fragment state after it has been - * saved, to avoid accidental loss of UI state. However this is too restrictive - * prior to Honeycomb, where the state is saved before pausing. To address this, - * when running on platforms prior to Honeycomb an exception will not be thrown - * if you change fragments between the state save and the activity being stopped. - * This means that in some cases if the activity is restored from its last saved - * state, this may be a snapshot slightly before what the user last saw.

    - *
- */ -public abstract class FragmentMapActivity extends MapActivity implements SupportActivity { - private static final String TAG = "FragmentMapActivity"; - private static final boolean DEBUG = false; - - private static final String FRAGMENTS_TAG = "android:support:fragments"; - - static final boolean IS_HONEYCOMB = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB; - - static final int MSG_REALLY_STOPPED = 1; - static final int MSG_RESUME_PENDING = 2; - - final SupportActivity.InternalCallbacks mInternalCallbacks = new SupportActivity.InternalCallbacks() { - @Override - void invalidateSupportFragmentIndex(int index) { - FragmentMapActivity.this.invalidateSupportFragmentIndex(index); - } - - @Override - LoaderManagerImpl getLoaderManager(int index, boolean started, boolean create) { - return FragmentMapActivity.this.getLoaderManager(index, started, create); - } - - @Override - Handler getHandler() { - return mHandler; - } - - @Override - FragmentManagerImpl getFragments() { - return mFragments; - } - - @Override - boolean getRetaining() { - return mRetaining; - } - }; - - final Handler mHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case MSG_REALLY_STOPPED: - if (mStopped) { - doReallyStop(false); - } - break; - case MSG_RESUME_PENDING: - mFragments.dispatchResume(); - mFragments.execPendingActions(); - break; - default: - super.handleMessage(msg); - } - } - }; - final FragmentManagerImpl mFragments = new FragmentManagerImpl(); - - ViewGroup mDecor; - ViewGroup mContentParent; - ActionBar mActionBar; - ActionBarView mActionBarView; - long mWindowFlags = 0; - - android.view.MenuInflater mMenuInflater; - - MenuBuilder mSupportMenu; - final MenuBuilder.Callback mSupportMenuCallback = new MenuBuilder.Callback() { - @Override - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { - return FragmentMapActivity.this.onMenuItemSelected(Window.FEATURE_OPTIONS_PANEL, item); - } - - @Override - public void onMenuModeChange(MenuBuilder menu) { - // No-op - } - }; - private final MenuPresenter.Callback mMenuPresenterCallback = new MenuPresenter.Callback() { - @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { - return false; - } - - @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { - } - }; - - /** Map between native options items and sherlock items (pre-3.0 only). */ - private HashMap mNativeItemMap; - /** Native menu item callback which proxies to our callback. */ - private final android.view.MenuItem.OnMenuItemClickListener mNativeItemListener = new android.view.MenuItem.OnMenuItemClickListener() { - @Override - public boolean onMenuItemClick(android.view.MenuItem item) { - if (DEBUG) Log.d(TAG, "[mNativeItemListener.onMenuItemClick] item: " + item); - - final MenuItemImpl sherlockItem = mNativeItemMap.get(item); - if (sherlockItem != null) { - sherlockItem.invoke(); - } else { - Log.e(TAG, "Options item \"" + item + "\" not found in mapping"); - } - - return true; //Do not allow continuation of native handling - } - }; - - boolean mCreated; - boolean mResumed; - boolean mStopped; - boolean mReallyStopped; - boolean mRetaining; - - boolean mOptionsMenuInvalidated; - boolean mOptionsMenuCreateResult; - - boolean mCheckedForLoaderManager; - boolean mLoadersStarted; - HCSparseArray mAllLoaderManagers; - LoaderManagerImpl mLoaderManager; - - static final class NonConfigurationInstances { - Object activity; - Object custom; - HashMap children; - ArrayList fragments; - HCSparseArray loaders; - } - - static class FragmentTag { - public static final int[] Fragment = { - 0x01010003, 0x010100d0, 0x010100d1 - }; - public static final int Fragment_id = 1; - public static final int Fragment_name = 0; - public static final int Fragment_tag = 2; - } - - - - - - @Override - public SupportActivity.InternalCallbacks getInternalCallbacks() { - return mInternalCallbacks; - } - - @Override - public Activity asActivity() { - return this; - } - - private void initActionBar() { - if (DEBUG) Log.d(TAG, "[initActionBar]"); - - // Initializing the window decor can change window feature flags. - // Make sure that we have the correct set before performing the test below. - if (mDecor == null) { - installDecor(); - } - - if ((mActionBar != null) || !hasFeature(Window.FEATURE_ACTION_BAR) || isChild()) { - return; - } - - if (IS_HONEYCOMB) { - mActionBar = ActionBarWrapper.createFor(this); - } else { - mActionBar = new ActionBarImpl(this); - } - } - - private void installDecor() { - if (DEBUG) Log.d(TAG, "[installDecor]"); - - if (mDecor == null) { - if (IS_HONEYCOMB) { - mDecor = (ViewGroup)getWindow().getDecorView(); - } else { - mDecor = (ViewGroup)getWindow().getDecorView().findViewById(android.R.id.content); - } - } - if (mContentParent == null) { - if (IS_HONEYCOMB) { - mContentParent = (ViewGroup)mDecor.findViewById(android.R.id.content); - } else { - mContentParent = generateLayout(); - mActionBarView = (ActionBarView)mDecor.findViewById(R.id.abs__action_bar); - if (mActionBarView != null) { - if (mActionBarView.getTitle() == null) { - mActionBarView.setTitle(getTitle()); - } - if (hasFeature(Window.FEATURE_INDETERMINATE_PROGRESS)) { - mActionBarView.initIndeterminateProgress(); - } - } - - // Post the panel invalidate for later; avoid application onCreateOptionsMenu - // being called in the middle of onCreate or similar. - mDecor.post(new Runnable() { - @Override - public void run() { - //Invalidate if the panel menu hasn't been created before this. - if (mSupportMenu == null) { - invalidateOptionsMenu(); - } - } - }); - } - } - } - - private ViewGroup generateLayout() { - if (DEBUG) Log.d(TAG, "[generateLayout]"); - - // Apply data from current theme. - - TypedArray a = getTheme().obtainStyledAttributes(R.styleable.SherlockTheme); - - if (a.getBoolean(R.styleable.SherlockTheme_windowNoTitle, false)) { - requestWindowFeature(Window.FEATURE_NO_TITLE); - } else if (a.getBoolean(R.styleable.SherlockTheme_windowActionBar, false)) { - // Don't allow an action bar if there is no title. - requestWindowFeature(Window.FEATURE_ACTION_BAR); - } - - if (a.getBoolean(R.styleable.SherlockTheme_windowActionBarOverlay, false)) { - requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); - } - - if (a.getBoolean(R.styleable.SherlockTheme_windowActionModeOverlay, false)) { - requestWindowFeature(Window.FEATURE_ACTION_MODE_OVERLAY); - } - - a.recycle(); - - int layoutResource; - if (hasFeature(Window.FEATURE_ACTION_BAR)) { - if (hasFeature(Window.FEATURE_ACTION_BAR_OVERLAY)) { - layoutResource = R.layout.abs__screen_action_bar_overlay; - } else { - layoutResource = R.layout.abs__screen_action_bar; - } - //} else if (hasFeature(Window.FEATURE_ACTION_MODE_OVERLAY)) { - // layoutResource = R.layout.abs__screen_simple_overlay_action_mode; - } else { - layoutResource = R.layout.abs__screen_simple; - } - - View in = getLayoutInflater().inflate(layoutResource, null); - mDecor.addView(in, new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - - ViewGroup contentParent = (ViewGroup)mDecor.findViewById(R.id.abs__content); - if (contentParent == null) { - throw new RuntimeException("Couldn't find content container view"); - } - - //Make our new child the true content view (for fragments). VERY VOLATILE! - mDecor.setId(View.NO_ID); - contentParent.setId(android.R.id.content); - - return contentParent; - } - - private boolean hasFeature(long featureId) { - if (IS_HONEYCOMB) { - return getWindow().hasFeature((int)featureId); - } - return (mWindowFlags & (1 << featureId)) != 0; - } - - // ------------------------------------------------------------------------ - // HOOKS INTO ACTIVITY - // ------------------------------------------------------------------------ - - /** - * Enable extended window features. - * - * @param featureId The desired feature as defined in - * {@link android.support.v4.view.Window}. - * @return Returns {@code true} if the requested feature is supported and - * now enabled. - */ - @Override - public boolean requestWindowFeature(long featureId) { - if (!IS_HONEYCOMB) { - switch ((int)featureId) { - case (int)Window.FEATURE_ACTION_BAR: - case (int)Window.FEATURE_ACTION_BAR_OVERLAY: - case (int)Window.FEATURE_ACTION_MODE_OVERLAY: - case (int)Window.FEATURE_INDETERMINATE_PROGRESS: - mWindowFlags |= (1 << featureId); - return true; - } - } - return super.requestWindowFeature((int)featureId); - } - - @Override - public android.view.MenuInflater getMenuInflater() { - if (DEBUG) Log.d(TAG, "[getMenuInflater]"); - - if (mMenuInflater == null) { - initActionBar(); - } - if (IS_HONEYCOMB) { - if (DEBUG) Log.d(TAG, "getMenuInflater(): Wrapping native inflater."); - - //Wrap the native inflater so it can unwrap the native menu first - mMenuInflater = new MenuInflaterWrapper(this, super.getMenuInflater()); - } else { - if (DEBUG) Log.d(TAG, "getMenuInflater(): Returning support inflater."); - - //Use our custom menu inflater - mMenuInflater = new MenuInflaterImpl(this, super.getMenuInflater()); - } - - return mMenuInflater; - } - - @Override - public void setContentView(int layoutResId) { - if (DEBUG) Log.d(TAG, "[setContentView] layoutResId: " + layoutResId); - - if (mContentParent == null) { - installDecor(); - } else { - mContentParent.removeAllViews(); - } - getLayoutInflater().inflate(layoutResId, mContentParent); - - android.view.Window.Callback callback = getWindow().getCallback(); - if (callback != null) { - callback.onContentChanged(); - } - initActionBar(); - } - - @Override - public void setContentView(View view, LayoutParams params) { - if (DEBUG) Log.d(TAG, "[setContentView] view: " + view + ", params: " + params); - - if (mContentParent == null) { - installDecor(); - } else { - mContentParent.removeAllViews(); - } - mContentParent.addView(view, params); - - android.view.Window.Callback callback = getWindow().getCallback(); - if (callback != null) { - callback.onContentChanged(); - } - - initActionBar(); - } - - @Override - public void setContentView(View view) { - if (DEBUG) Log.d(TAG, "[setContentView] view: " + view); - - setContentView(view, new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - } - - @Override - public void addContentView(View view, ViewGroup.LayoutParams params) { - if (DEBUG) Log.d(TAG, "[addContentView] view: " + view + ", params: " + params); - - if (mContentParent == null) { - installDecor(); - } - mContentParent.addView(view, params); - - initActionBar(); - } - - @Override - public void setTitle(CharSequence title) { - if (IS_HONEYCOMB || (mActionBar == null)) { - super.setTitle(title); - } else { - getSupportActionBar().setTitle(title); - } - } - - @Override - public void setTitle(int titleId) { - if (IS_HONEYCOMB || (mActionBar == null)) { - super.setTitle(titleId); - } else { - getSupportActionBar().setTitle(titleId); - } - } - - /** - * Dispatch incoming result to the correct fragment. - */ - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - int index = requestCode>>16; - if (index != 0) { - index--; - if (mFragments.mActive == null || index < 0 || index >= mFragments.mActive.size()) { - Log.w(TAG, "Activity result fragment index out of range: 0x" - + Integer.toHexString(requestCode)); - return; - } - Fragment frag = mFragments.mActive.get(index); - if (frag == null) { - Log.w(TAG, "Activity result no fragment exists for index: 0x" - + Integer.toHexString(requestCode)); - } else { - frag.onActivityResult(requestCode&0xffff, resultCode, data); - } - return; - } - - super.onActivityResult(requestCode, resultCode, data); - } - - /** - * Take care of popping the fragment back stack or finishing the activity - * as appropriate. - */ - @Override - public void onBackPressed() { - if (!mFragments.popBackStackImmediate()) { - finish(); - } - } - - /** - * Dispatch configuration change to all fragments. - */ - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - mFragments.dispatchConfigurationChanged(newConfig); - } - - /** - * Perform initialization of all fragments and loaders. - */ - @Override - protected void onCreate(Bundle savedInstanceState) { - mFragments.attachActivity(this); - // Old versions of the platform didn't do this! - if (getLayoutInflater().getFactory() == null) { - getLayoutInflater().setFactory(this); - } - - super.onCreate(savedInstanceState); - - NonConfigurationInstances nc = (NonConfigurationInstances) - getLastNonConfigurationInstance(); - if (nc != null) { - mAllLoaderManagers = nc.loaders; - } - if (savedInstanceState != null) { - Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG); - mFragments.restoreAllState(p, nc != null ? nc.fragments : null); - } - mFragments.dispatchCreate(); - } - - /** - *

Initialize the contents of the Activity's standard options menu. You - * should place your menu items in to menu.

- * - *

The default implementation populates the menu with standard system - * menu items. These are placed in the {@link Menu.CATEGORY_SYSTEM} group - * so that they will be correctly ordered with application-defined menu - * items. Deriving classes should always call through to the base - * implementation.

- * - *

You can safely hold on to menu (and any items created from it), - * making modifications to it as desired, until the next time - * {@code onCreateOptionsMenu()} is called.

- * - *

When you add items to the menu, you can implement the Activity's - * {@link #onOptionsItemSelected(MenuItem)} method to handle them - * there.

- * - * @param menu The options menu in which you place your items. - * @return You must return true for the menu to be displayed; if you return - * false it will not be shown. - */ - @Override - public boolean onCreateOptionsMenu(Menu menu) { - if (DEBUG) Log.d(TAG, "onCreateOptionsMenu(Menu): Returning true"); - return true; - } - - @Override - public final boolean onCreateOptionsMenu(android.view.Menu menu) { - // Prior to Honeycomb, the framework can't invalidate the options - // menu, so we must always say we have one in case the app later - // invalidates it and needs to have it shown. - boolean result = true; - - if (IS_HONEYCOMB) { - if (DEBUG) Log.d(TAG, "onCreateOptionsMenu(android.view.Menu): Calling support method with wrapped native menu."); - MenuWrapper wrapped = new MenuWrapper(menu); - result = onCreateOptionsMenu(wrapped); - result |= mFragments.dispatchCreateOptionsMenu(wrapped, getMenuInflater()); - } - - if (DEBUG) Log.d(TAG, "onCreateOptionsMenu(android.view.Menu): Returning " + result); - return result; - } - - private boolean dispatchCreateOptionsMenu() { - if (DEBUG) Log.d(TAG, "[dispatchCreateOptionsMenu]"); - - boolean result = onCreateOptionsMenu(mSupportMenu); - result |= mFragments.dispatchCreateOptionsMenu(mSupportMenu, getMenuInflater()); - return result; - } - - /** - * Add support for inflating the <fragment> tag. - */ - @Override - public View onCreateView(String name, Context context, AttributeSet attrs) { - if (!"fragment".equals(name)) { - return super.onCreateView(name, context, attrs); - } - - String fname = attrs.getAttributeValue(null, "class"); - TypedArray a = context.obtainStyledAttributes(attrs, FragmentTag.Fragment); - if (fname == null) { - fname = a.getString(FragmentTag.Fragment_name); - } - int id = a.getResourceId(FragmentTag.Fragment_id, View.NO_ID); - String tag = a.getString(FragmentTag.Fragment_tag); - a.recycle(); - - View parent = null; // NOTE: no way to get parent pre-Honeycomb. - int containerId = parent != null ? parent.getId() : 0; - if (containerId == View.NO_ID && id == View.NO_ID && tag == null) { - throw new IllegalArgumentException(attrs.getPositionDescription() - + ": Must specify unique android:id, android:tag, or have a parent with an id for " + fname); - } - - // If we restored from a previous state, we may already have - // instantiated this fragment from the state and should use - // that instance instead of making a new one. - Fragment fragment = id != View.NO_ID ? mFragments.findFragmentById(id) : null; - if (fragment == null && tag != null) { - fragment = mFragments.findFragmentByTag(tag); - } - if (fragment == null && containerId != View.NO_ID) { - fragment = mFragments.findFragmentById(containerId); - } - - if (FragmentManagerImpl.DEBUG) Log.v(TAG, "onCreateView: id=0x" - + Integer.toHexString(id) + " fname=" + fname - + " existing=" + fragment); - if (fragment == null) { - fragment = Fragment.instantiate(this, fname); - fragment.mFromLayout = true; - fragment.mFragmentId = id != 0 ? id : containerId; - fragment.mContainerId = containerId; - fragment.mTag = tag; - fragment.mInLayout = true; - fragment.mFragmentManager = mFragments; - fragment.onInflate(this, attrs, fragment.mSavedFragmentState); - mFragments.addFragment(fragment, true); - - } else if (fragment.mInLayout) { - // A fragment already exists and it is not one we restored from - // previous state. - throw new IllegalArgumentException(attrs.getPositionDescription() - + ": Duplicate id 0x" + Integer.toHexString(id) - + ", tag " + tag + ", or parent id 0x" + Integer.toHexString(containerId) - + " with another fragment for " + fname); - } else { - // This fragment was retained from a previous instance; get it - // going now. - fragment.mInLayout = true; - // If this fragment is newly instantiated (either right now, or - // from last saved state), then give it the attributes to - // initialize itself. - if (!fragment.mRetaining) { - fragment.onInflate(this, attrs, fragment.mSavedFragmentState); - } - mFragments.moveToState(fragment); - } - - if (fragment.mView == null) { - throw new IllegalStateException("Fragment " + fname - + " did not create a view."); - } - if (id != 0) { - fragment.mView.setId(id); - } - if (fragment.mView.getTag() == null) { - fragment.mView.setTag(tag); - } - return fragment.mView; - } - - @Override - public void invalidateOptionsMenu() { - if (DEBUG) Log.d(TAG, "[invalidateOptionsMenu]"); - - if (IS_HONEYCOMB) { - HoneycombInvalidateOptionsMenu.invoke(this); - return; - } - - if (mSupportMenu == null) { - mSupportMenu = new MenuBuilder(this); - mSupportMenu.setCallback(mSupportMenuCallback); - } - - mSupportMenu.stopDispatchingItemsChanged(); - mSupportMenu.clear(); - - if (!dispatchCreateOptionsMenu()) { - if (mActionBar != null) { - ((ActionBarImpl)mActionBar).setMenu(null, mMenuPresenterCallback); - } - return; - } - - if (!dispatchPrepareOptionsMenu()) { - if (mActionBar != null) { - ((ActionBarImpl)mActionBar).setMenu(null, mMenuPresenterCallback); - } - mSupportMenu.startDispatchingItemsChanged(); - return; - } - - mSupportMenu.startDispatchingItemsChanged(); - - if (mActionBar != null) { - ((ActionBarImpl)mActionBar).setMenu(mSupportMenu, mMenuPresenterCallback); - } - } - - private static final class HoneycombInvalidateOptionsMenu { - static void invoke(Activity activity) { - activity.getWindow().invalidatePanelMenu(Window.FEATURE_OPTIONS_PANEL); - } - } - - /** - * Destroy all fragments and loaders. - */ - @Override - protected void onDestroy() { - super.onDestroy(); - - doReallyStop(false); - - mFragments.dispatchDestroy(); - if (mLoaderManager != null) { - mLoaderManager.doDestroy(); - } - } - - /** - * Take care of calling onBackPressed() for pre-Eclair platforms. - */ - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - if (android.os.Build.VERSION.SDK_INT < 5 /* ECLAIR */ - && keyCode == KeyEvent.KEYCODE_BACK - && event.getRepeatCount() == 0) { - // Take care of calling this method on earlier versions of - // the platform where it doesn't exist. - onBackPressed(); - return true; - } - - return super.onKeyDown(keyCode, event); - } - - /** - * Dispatch onLowMemory() to all fragments. - */ - @Override - public void onLowMemory() { - super.onLowMemory(); - mFragments.dispatchLowMemory(); - } - - /** - * Dispatch context and options menu to fragments. - */ - @Override - public final boolean onMenuItemSelected(int featureId, android.view.MenuItem item) { - if (super.onMenuItemSelected(featureId, item)) { - return true; - } - - switch (featureId) { - case Window.FEATURE_OPTIONS_PANEL: - return mFragments.dispatchOptionsItemSelected(new MenuItemWrapper(item)); - - case Window.FEATURE_CONTEXT_MENU: - return mFragments.dispatchContextItemSelected(new MenuItemWrapper(item)); - - default: - return false; - } - } - - @Override - public boolean onMenuItemSelected(int featureId, MenuItem item) { - if (onOptionsItemSelected(item)) { - return true; - } - - switch (featureId) { - case Window.FEATURE_OPTIONS_PANEL: - return mFragments.dispatchOptionsItemSelected(item); - - case Window.FEATURE_CONTEXT_MENU: - return mFragments.dispatchContextItemSelected(item); - - default: - return false; - } - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - return super.onOptionsItemSelected(item); - } - - @Override - public final boolean onOptionsItemSelected(android.view.MenuItem item) { - return onOptionsItemSelected(new MenuItemWrapper(item)); - } - - /** - * Call onOptionsMenuClosed() on fragments. - */ - @Override - public void onPanelClosed(int featureId, android.view.Menu menu) { - switch (featureId) { - case Window.FEATURE_OPTIONS_PANEL: - mFragments.dispatchOptionsMenuClosed(new MenuWrapper(menu)); - - if (!IS_HONEYCOMB && (getSupportActionBar() != null)) { - if (DEBUG) Log.d(TAG, "onPanelClosed(int, android.view.Menu): Dispatch menu visibility false to custom action bar."); - ((ActionBarImpl)mActionBar).onMenuVisibilityChanged(false); - } - break; - } - super.onPanelClosed(featureId, menu); - } - - /** - * Dispatch onPause() to fragments. - */ - @Override - protected void onPause() { - super.onPause(); - mResumed = false; - if (mHandler.hasMessages(MSG_RESUME_PENDING)) { - mHandler.removeMessages(MSG_RESUME_PENDING); - mFragments.dispatchResume(); - } - mFragments.dispatchPause(); - } - - /** - * Dispatch onResume() to fragments. - */ - @Override - protected void onResume() { - super.onResume(); - mHandler.sendEmptyMessage(MSG_RESUME_PENDING); - mResumed = true; - mFragments.execPendingActions(); - } - - /** - * Dispatch onResume() to fragments. - */ - @Override - protected void onPostResume() { - super.onPostResume(); - mHandler.removeMessages(MSG_RESUME_PENDING); - mFragments.dispatchResume(); - mFragments.execPendingActions(); - } - - @Override - public boolean onPrepareOptionsMenu(Menu menu) { - return true; - } - - @Override - public final boolean onPrepareOptionsMenu(android.view.Menu menu) { - if (IS_HONEYCOMB) { - if (DEBUG) Log.d(TAG, "onPrepareOptionsMenu(android.view.Menu): Calling support method with wrapped native menu."); - final MenuWrapper wrappedMenu = new MenuWrapper(menu); - boolean result = onPrepareOptionsMenu(wrappedMenu); - if (result) { - if (DEBUG) Log.d(TAG, "onPrepareOptionsMenu(android.view.Menu): Dispatching fragment method with wrapped native menu."); - mFragments.dispatchPrepareOptionsMenu(wrappedMenu); - } - return result; - } - - if (!dispatchPrepareOptionsMenu()) { - return false; - } - - if (mNativeItemMap == null) { - mNativeItemMap = new HashMap(); - } else { - mNativeItemMap.clear(); - } - - if (mSupportMenu != null) { - return mSupportMenu.bindOverflowToNative(menu, mNativeItemListener, mNativeItemMap); - } - return false; - } - - private boolean dispatchPrepareOptionsMenu() { - if (DEBUG) Log.d(TAG, "[dispatchPrepareOptionsMenu]"); - - if (onPrepareOptionsMenu(mSupportMenu)) { - mFragments.dispatchPrepareOptionsMenu(mSupportMenu); - return true; - } - return false; - } - - /** - * Cause this Activity to be recreated with a new instance. This results in - * essentially the same flow as when the Activity is created due to a - * configuration change -- the current instance will go through its - * lifecycle to onDestroy() and a new instance then created after it. - */ - @Override - public void recreate() { - //This SUCKS! Figure out a way to call the super method and support Android 1.6 - /* - if (IS_HONEYCOMB) { - super.recreate(); - } else { - */ - final Intent intent = getIntent(); - intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); - - startActivity(intent); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { - OverridePendingTransition.invoke(this); - } - - finish(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { - OverridePendingTransition.invoke(this); - } - /* - } - */ - } - - private static final class OverridePendingTransition { - static void invoke(Activity activity) { - activity.overridePendingTransition(0, 0); - } - } - - /** - * Retain all appropriate fragment and loader state. You can NOT - * override this yourself! Use {@link #onRetainCustomNonConfigurationInstance()} - * if you want to retain your own state. - */ - @Override - public final Object onRetainNonConfigurationInstance() { - if (mStopped) { - doReallyStop(true); - } - - Object custom = onRetainCustomNonConfigurationInstance(); - - ArrayList fragments = mFragments.retainNonConfig(); - boolean retainLoaders = false; - if (mAllLoaderManagers != null) { - // prune out any loader managers that were already stopped and so - // have nothing useful to retain. - for (int i=mAllLoaderManagers.size()-1; i>=0; i--) { - LoaderManagerImpl lm = mAllLoaderManagers.valueAt(i); - if (lm.mRetaining) { - retainLoaders = true; - } else { - lm.doDestroy(); - mAllLoaderManagers.removeAt(i); - } - } - } - if (fragments == null && !retainLoaders && custom == null) { - return null; - } - - NonConfigurationInstances nci = new NonConfigurationInstances(); - nci.activity = null; - nci.custom = custom; - nci.children = null; - nci.fragments = fragments; - nci.loaders = mAllLoaderManagers; - return nci; - } - - /** - * Save all appropriate fragment state. - */ - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - Parcelable p = mFragments.saveAllState(); - if (p != null) { - outState.putParcelable(FRAGMENTS_TAG, p); - } - } - - /** - * Dispatch onStart() to all fragments. Ensure any created loaders are - * now started. - */ - @Override - protected void onStart() { - super.onStart(); - - mStopped = false; - mReallyStopped = false; - mHandler.removeMessages(MSG_REALLY_STOPPED); - - if (!mCreated) { - mCreated = true; - mFragments.dispatchActivityCreated(); - } - - mFragments.noteStateNotSaved(); - mFragments.execPendingActions(); - - if (!mLoadersStarted) { - mLoadersStarted = true; - if (mLoaderManager != null) { - mLoaderManager.doStart(); - } else if (!mCheckedForLoaderManager) { - mLoaderManager = getLoaderManager(-1, mLoadersStarted, false); - } - mCheckedForLoaderManager = true; - } - // NOTE: HC onStart goes here. - - mFragments.dispatchStart(); - if (mAllLoaderManagers != null) { - for (int i=mAllLoaderManagers.size()-1; i>=0; i--) { - LoaderManagerImpl lm = mAllLoaderManagers.valueAt(i); - lm.finishRetain(); - lm.doReportStart(); - } - } - } - - /** - * Dispatch onStop() to all fragments. Ensure all loaders are stopped. - */ - @Override - protected void onStop() { - super.onStop(); - - mStopped = true; - mHandler.sendEmptyMessage(MSG_REALLY_STOPPED); - - mFragments.dispatchStop(); - } - - /** - *

Sets the visibility of the indeterminate progress bar in the - * title.

- * - *

In order for the progress bar to be shown, the feature must be - * requested via {@link #requestWindowFeature(long)}.

- * - *

This method must be used instead of - * {@link #setProgressBarIndeterminateVisibility(boolean)} for - * ActionBarSherlock. Pass {@link Boolean.TRUE} or - * {@link Boolean.FALSE} to ensure the appropriate one is called.

- * - * @param visible Whether to show the progress bars in the title. - */ - @Override - public void setProgressBarIndeterminateVisibility(Boolean visible) { - if (IS_HONEYCOMB || (mActionBar == null)) { - super.setProgressBarIndeterminateVisibility(visible); - } else { - mActionBarView.setProgressBarIndeterminateVisibility(visible); - } - } - - // ------------------------------------------------------------------------ - // NEW METHODS - // ------------------------------------------------------------------------ - - /** - * Use this instead of {@link #onRetainNonConfigurationInstance()}. - * Retrieve later with {@link #getLastCustomNonConfigurationInstance()}. - */ - public Object onRetainCustomNonConfigurationInstance() { - return null; - } - - /** - * Return the value previously returned from - * {@link #onRetainCustomNonConfigurationInstance()}. - */ - public Object getLastCustomNonConfigurationInstance() { - NonConfigurationInstances nc = (NonConfigurationInstances) - getLastNonConfigurationInstance(); - return nc != null ? nc.custom : null; - } - - /** - * @deprecated Use {@link invalidateOptionsMenu}. - */ - @Deprecated - void supportInvalidateOptionsMenu() { - invalidateOptionsMenu(); - } - - /** - * Print the Activity's state into the given stream. This gets invoked if - * you run "adb shell dumpsys activity ". - * - * @param prefix Desired prefix to prepend at each line of output. - * @param fd The raw file descriptor that the dump is being sent to. - * @param writer The PrintWriter to which you should dump your state. This will be - * closed for you after you return. - * @param args additional arguments to the dump request. - */ - @Override - public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) { - if (IS_HONEYCOMB) { - //This can only work if we can call the super-class impl. :/ - //ActivityCompatHoneycomb.dump(this, prefix, fd, writer, args); - } - writer.print(prefix); writer.print("Local FragmentActivity "); - writer.print(Integer.toHexString(System.identityHashCode(this))); - writer.println(" State:"); - String innerPrefix = prefix + " "; - writer.print(innerPrefix); writer.print("mCreated="); - writer.print(mCreated); writer.print("mResumed="); - writer.print(mResumed); writer.print(" mStopped="); - writer.print(mStopped); writer.print(" mReallyStopped="); - writer.println(mReallyStopped); - writer.print(innerPrefix); writer.print("mLoadersStarted="); - writer.println(mLoadersStarted); - if (mLoaderManager != null) { - writer.print(prefix); writer.print("Loader Manager "); - writer.print(Integer.toHexString(System.identityHashCode(mLoaderManager))); - writer.println(":"); - mLoaderManager.dump(prefix + " ", fd, writer, args); - } - mFragments.dump(prefix, fd, writer, args); - } - - void doReallyStop(boolean retaining) { - if (!mReallyStopped) { - mReallyStopped = true; - mRetaining = retaining; - mHandler.removeMessages(MSG_REALLY_STOPPED); - onReallyStop(); - } - } - - /** - * Pre-HC, we didn't have a way to determine whether an activity was - * being stopped for a config change or not until we saw - * onRetainNonConfigurationInstance() called after onStop(). However - * we need to know this, to know whether to retain fragments. This will - * tell us what we need to know. - */ - void onReallyStop() { - if (mLoadersStarted) { - mLoadersStarted = false; - if (mLoaderManager != null) { - if (!mRetaining) { - mLoaderManager.doStop(); - } else { - mLoaderManager.doRetain(); - } - } - } - - mFragments.dispatchReallyStop(); - } - - // ------------------------------------------------------------------------ - // ACTION BAR AND ACTION MODE SUPPORT - // ------------------------------------------------------------------------ - - /** - * Retrieve a reference to this activity's action bar handler. - * - * @return The handler for the appropriate action bar, or null. - */ - @Override - public ActionBar getSupportActionBar() { - initActionBar(); - return mActionBar; - } - - /** - * Notifies the activity that an action mode has finished. Activity - * subclasses overriding this method should call the superclass - * implementation. - * - * @param mode The action mode that just finished. - */ - @Override - public void onActionModeFinished(ActionMode mode) { - } - - /** - * Notifies the Activity that an action mode has been started. Activity - * subclasses overriding this method should call the superclass - * implementation. - * - * @param mode The new action mode. - */ - @Override - public void onActionModeStarted(ActionMode mode) { - } - - /** - *

Give the Activity a chance to control the UI for an action mode - * requested by the system.

- * - *

Note: If you are looking for a notification callback that an action - * mode has been started for this activity, see - * {@link #onActionModeStarted(ActionMode)}.

- * - * @param callback The callback that should control the new action mode - * @return The new action mode, or null if the activity does not want to - * provide special handling for this action mode. (It will be handled by the - * system.) - */ - @Override - public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) { - return null; - } - - /** - * Start an action mode. - * - * @param callback Callback that will manage lifecycle events for this - * context mode - * @return The ContextMode that was started, or null if it was cancelled - * @see android.support.v4.view.ActionMode - */ - @Override - public final ActionMode startActionMode(final ActionMode.Callback callback) { - //Give the activity override a chance to handle the action mode - ActionMode actionMode = onWindowStartingActionMode(callback); - - if (actionMode == null) { - //If the activity did not handle, send to action bar for platform- - //specific implementation - actionMode = mActionBar.startActionMode(callback); - } - if (actionMode != null) { - //Send the activity callback that our action mode was started - onActionModeStarted(actionMode); - } - - //Return to the caller - return actionMode; - } - - // ------------------------------------------------------------------------ - // FRAGMENT SUPPORT - // ------------------------------------------------------------------------ - - /** - * Called when a fragment is attached to the activity. - */ - @Override - public void onAttachFragment(Fragment fragment) { - } - - /** - * Return the FragmentManager for interacting with fragments associated - * with this activity. - */ - @Override - public FragmentManager getSupportFragmentManager() { - //PLEASE let no one be dumb enough to call this too soon... - initActionBar(); - return mFragments; - } - - /** - * Modifies the standard behavior to allow results to be delivered to fragments. - * This imposes a restriction that requestCode be <= 0xffff. - */ - @Override - public void startActivityForResult(Intent intent, int requestCode) { - if (requestCode != -1 && (requestCode&0xffff0000) != 0) { - throw new IllegalArgumentException("Can only use lower 16 bits for requestCode"); - } - super.startActivityForResult(intent, requestCode); - } - - /** - * Called by Fragment.startActivityForResult() to implement its behavior. - */ - @Override - public void startActivityFromFragment(Fragment fragment, Intent intent, - int requestCode) { - if (requestCode == -1) { - super.startActivityForResult(intent, -1); - return; - } - if ((requestCode&0xffff0000) != 0) { - throw new IllegalArgumentException("Can only use lower 16 bits for requestCode"); - } - super.startActivityForResult(intent, ((fragment.mIndex+1)<<16) + (requestCode&0xffff)); - } - - void invalidateSupportFragmentIndex(int index) { - //Log.v(TAG, "invalidateFragmentIndex: index=" + index); - if (mAllLoaderManagers != null) { - LoaderManagerImpl lm = mAllLoaderManagers.get(index); - if (lm != null && !lm.mRetaining) { - lm.doDestroy(); - mAllLoaderManagers.remove(index); - } - } - } - - // ------------------------------------------------------------------------ - // LOADER SUPPORT - // ------------------------------------------------------------------------ - - /** - * Return the LoaderManager for this fragment, creating it if needed. - */ - @Override - public LoaderManager getSupportLoaderManager() { - if (mLoaderManager != null) { - return mLoaderManager; - } - mCheckedForLoaderManager = true; - mLoaderManager = getLoaderManager(-1, mLoadersStarted, true); - return mLoaderManager; - } - - LoaderManagerImpl getLoaderManager(int index, boolean started, boolean create) { - if (mAllLoaderManagers == null) { - mAllLoaderManagers = new HCSparseArray(); - } - LoaderManagerImpl lm = mAllLoaderManagers.get(index); - if (lm == null) { - if (create) { - lm = new LoaderManagerImpl(this, started); - mAllLoaderManagers.put(index, lm); - } - } else { - lm.updateActivity(this); - } - return lm; - } -} diff --git a/actionbarsherlock/plugins/maps/update.py b/actionbarsherlock/plugins/maps/update.py deleted file mode 100644 index c3781c3a8..000000000 --- a/actionbarsherlock/plugins/maps/update.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python - -import os -import re - -dir_maps_base = os.path.dirname(os.path.realpath(__file__)) -dir_repo_base = os.path.dirname(os.path.dirname(dir_maps_base)) -dir_lib_base = os.path.join(dir_repo_base, 'library') - -path_to_source_activity = 'src/android/support/v4/app/FragmentActivity.java'.split('/') -path_to_dest_activity = 'src/android/support/v4/app/FragmentMapActivity.java'.split('/') - -file_source = os.path.join(dir_lib_base , *path_to_source_activity) -file_dest = os.path.join(dir_maps_base, *path_to_dest_activity) - -# Read in entire source file -code = None -with open(file_source) as f: - code = f.read() - - -code = code.split('\n') - -# Add MapActivity import -code.insert(31, 'import com.google.android.maps.MapActivity;') - -code = '\n'.join(code) - -# Class declaration -code = code.replace('class FragmentActivity extends Activity', 'abstract class FragmentMapActivity extends MapActivity') - -# TAG variable content -code = code.replace('"FragmentActivity"', '"FragmentMapActivity"') - -# Update inner class references -code = code.replace('FragmentActivity.this', 'FragmentMapActivity.this') - -# Class constructor -code = code.replace('FragmentActivity()', 'FragmentMapActivity()') - -# Javadoc -code = code.replace('Fragment, and Loader APIs.', 'Fragment, Loader, and Google Map APIs.') - - -# Exit stage left -with open(file_dest, 'w') as f: - f.write(code) diff --git a/actionbarsherlock/plugins/pom.xml b/actionbarsherlock/plugins/pom.xml deleted file mode 100644 index f5ea7faee..000000000 --- a/actionbarsherlock/plugins/pom.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - 4.0.0 - - com.actionbarsherlock - parent-plugins - Plugins (Parent) - pom - - - com.actionbarsherlock - parent - 3.5.0 - ../pom.xml - - - - maps - preference - - diff --git a/actionbarsherlock/plugins/preference/AndroidManifest.xml b/actionbarsherlock/plugins/preference/AndroidManifest.xml deleted file mode 100644 index 7b80ceee3..000000000 --- a/actionbarsherlock/plugins/preference/AndroidManifest.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/actionbarsherlock/plugins/preference/README.md b/actionbarsherlock/plugins/preference/README.md deleted file mode 100644 index 256445d04..000000000 --- a/actionbarsherlock/plugins/preference/README.md +++ /dev/null @@ -1,5 +0,0 @@ -ActionBarSherlock Plugin: Preference -==================================== - -This plugin provides support for an action bar enhanced preference screen -through an additional base activity, `SherlockPreferenceActivity`. diff --git a/actionbarsherlock/plugins/preference/checkstyle.xml b/actionbarsherlock/plugins/preference/checkstyle.xml deleted file mode 100644 index 91bcb9a52..000000000 --- a/actionbarsherlock/plugins/preference/checkstyle.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/actionbarsherlock/plugins/preference/pom.xml b/actionbarsherlock/plugins/preference/pom.xml deleted file mode 100644 index 0f14dddbf..000000000 --- a/actionbarsherlock/plugins/preference/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - 4.0.0 - - com.actionbarsherlock - plugin-preference - Plugin: Preference - jar - - - com.actionbarsherlock - parent-plugins - 3.5.0 - ../pom.xml - - - - - android - android - provided - - - - com.actionbarsherlock - library - ${project.version} - provided - - - - - ${apk.prefix}-${project.artifactId}-${project.version} - src - - - - com.jayway.maven.plugins.android.generation2 - maven-android-plugin - true - - - - org.apache.maven.plugins - maven-javadoc-plugin - - true - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - - ${project.basedir}/checkstyle.xml - - - - verify - - checkstyle - - - - - - - diff --git a/actionbarsherlock/plugins/preference/project.properties b/actionbarsherlock/plugins/preference/project.properties deleted file mode 100644 index c632419fc..000000000 --- a/actionbarsherlock/plugins/preference/project.properties +++ /dev/null @@ -1,13 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system use, -# "ant.properties", and override values to adapt the script to your -# project structure. - -android.library=true -# Project target. -target=android-13 -android.library.reference.1=../../library diff --git a/actionbarsherlock/plugins/preference/src/android/support/v4/app/SherlockPreferenceActivity.java b/actionbarsherlock/plugins/preference/src/android/support/v4/app/SherlockPreferenceActivity.java deleted file mode 100644 index a3c4e4ce8..000000000 --- a/actionbarsherlock/plugins/preference/src/android/support/v4/app/SherlockPreferenceActivity.java +++ /dev/null @@ -1,1362 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * Copyright (C) 2011 Jake Wharton - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.support.v4.app; - -import java.io.FileDescriptor; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.HashMap; -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.content.res.Configuration; -import android.content.res.TypedArray; -import android.os.Build; -import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.os.Parcelable; -import android.preference.PreferenceActivity; -import android.support.v4.view.ActionMode; -import android.support.v4.view.Menu; -import android.support.v4.view.MenuItem; -import android.support.v4.view.Window; -import android.util.AttributeSet; -import android.util.Log; -import android.view.KeyEvent; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewGroup.LayoutParams; -import com.actionbarsherlock.R; -import com.actionbarsherlock.internal.app.ActionBarImpl; -import com.actionbarsherlock.internal.app.ActionBarWrapper; -import com.actionbarsherlock.internal.view.menu.MenuBuilder; -import com.actionbarsherlock.internal.view.menu.MenuInflaterImpl; -import com.actionbarsherlock.internal.view.menu.MenuInflaterWrapper; -import com.actionbarsherlock.internal.view.menu.MenuItemImpl; -import com.actionbarsherlock.internal.view.menu.MenuItemWrapper; -import com.actionbarsherlock.internal.view.menu.MenuPresenter; -import com.actionbarsherlock.internal.view.menu.MenuWrapper; -import com.actionbarsherlock.internal.widget.ActionBarView; - -/** - * Base class for activities that want to use the support-based - * {@link android.support.v4.app.Fragment}, - * {@link android.support.v4.content.Loader}, - * {@link android.support.v4.app.ActionBar}, and Preference APIs. - * - *

When using this class as opposed to new platform's built-in fragment - * and loader support, you must use the {@link #getSupportFragmentManager()} - * and {@link #getSupportLoaderManager()} methods respectively to access - * those features. - * - *

Known limitations:

- *
    - *
  • When using the <fragment> tag, this implementation can not - * use the parent view's ID as the new fragment's ID. You must explicitly - * specify an ID (or tag) in the <fragment>.

    - *
  • Prior to Honeycomb (3.0), an activity's state was saved before pausing. - * Fragments are a significant amount of new state, and dynamic enough that one - * often wants them to change between pausing and stopping. These classes - * throw an exception if you try to change the fragment state after it has been - * saved, to avoid accidental loss of UI state. However this is too restrictive - * prior to Honeycomb, where the state is saved before pausing. To address this, - * when running on platforms prior to Honeycomb an exception will not be thrown - * if you change fragments between the state save and the activity being stopped. - * This means that in some cases if the activity is restored from its last saved - * state, this may be a snapshot slightly before what the user last saw.

    - *
- */ -public abstract class SherlockPreferenceActivity extends PreferenceActivity implements SupportActivity { - private static final String TAG = "SherlockPreferenceActivity"; - private static final boolean DEBUG = false; - - private static final String FRAGMENTS_TAG = "android:support:fragments"; - - static final boolean IS_HONEYCOMB = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB; - - static final int MSG_REALLY_STOPPED = 1; - static final int MSG_RESUME_PENDING = 2; - - final SupportActivity.InternalCallbacks mInternalCallbacks = new SupportActivity.InternalCallbacks() { - @Override - void invalidateSupportFragmentIndex(int index) { - SherlockPreferenceActivity.this.invalidateSupportFragmentIndex(index); - } - - @Override - LoaderManagerImpl getLoaderManager(int index, boolean started, boolean create) { - return SherlockPreferenceActivity.this.getLoaderManager(index, started, create); - } - - @Override - Handler getHandler() { - return mHandler; - } - - @Override - FragmentManagerImpl getFragments() { - return mFragments; - } - - @Override - boolean getRetaining() { - return mRetaining; - } - }; - - final Handler mHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case MSG_REALLY_STOPPED: - if (mStopped) { - doReallyStop(false); - } - break; - case MSG_RESUME_PENDING: - mFragments.dispatchResume(); - mFragments.execPendingActions(); - break; - default: - super.handleMessage(msg); - } - } - }; - final FragmentManagerImpl mFragments = new FragmentManagerImpl(); - - ViewGroup mDecor; - ViewGroup mContentParent; - ActionBar mActionBar; - ActionBarView mActionBarView; - long mWindowFlags = 0; - - android.view.MenuInflater mMenuInflater; - - MenuBuilder mSupportMenu; - final MenuBuilder.Callback mSupportMenuCallback = new MenuBuilder.Callback() { - @Override - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { - return SherlockPreferenceActivity.this.onMenuItemSelected(Window.FEATURE_OPTIONS_PANEL, item); - } - - @Override - public void onMenuModeChange(MenuBuilder menu) { - // No-op - } - }; - private final MenuPresenter.Callback mMenuPresenterCallback = new MenuPresenter.Callback() { - @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { - return false; - } - - @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { - } - }; - - /** Map between native options items and sherlock items (pre-3.0 only). */ - private HashMap mNativeItemMap; - /** Native menu item callback which proxies to our callback. */ - private final android.view.MenuItem.OnMenuItemClickListener mNativeItemListener = new android.view.MenuItem.OnMenuItemClickListener() { - @Override - public boolean onMenuItemClick(android.view.MenuItem item) { - if (DEBUG) Log.d(TAG, "[mNativeItemListener.onMenuItemClick] item: " + item); - - final MenuItemImpl sherlockItem = mNativeItemMap.get(item); - if (sherlockItem != null) { - sherlockItem.invoke(); - } else { - Log.e(TAG, "Options item \"" + item + "\" not found in mapping"); - } - - return true; //Do not allow continuation of native handling - } - }; - - boolean mCreated; - boolean mResumed; - boolean mStopped; - boolean mReallyStopped; - boolean mRetaining; - - boolean mOptionsMenuInvalidated; - boolean mOptionsMenuCreateResult; - - boolean mCheckedForLoaderManager; - boolean mLoadersStarted; - HCSparseArray mAllLoaderManagers; - LoaderManagerImpl mLoaderManager; - - static final class NonConfigurationInstances { - Object activity; - Object custom; - HashMap children; - ArrayList fragments; - HCSparseArray loaders; - } - - static class FragmentTag { - public static final int[] Fragment = { - 0x01010003, 0x010100d0, 0x010100d1 - }; - public static final int Fragment_id = 1; - public static final int Fragment_name = 0; - public static final int Fragment_tag = 2; - } - - - - - - @Override - public SupportActivity.InternalCallbacks getInternalCallbacks() { - return mInternalCallbacks; - } - - @Override - public Activity asActivity() { - return this; - } - - private void initActionBar() { - if (DEBUG) Log.d(TAG, "[initActionBar]"); - - // Initializing the window decor can change window feature flags. - // Make sure that we have the correct set before performing the test below. - if (mDecor == null) { - installDecor(); - } - - if ((mActionBar != null) || !hasFeature(Window.FEATURE_ACTION_BAR) || isChild()) { - return; - } - - if (IS_HONEYCOMB) { - mActionBar = ActionBarWrapper.createFor(this); - } else { - mActionBar = new ActionBarImpl(this); - } - } - - private void installDecor() { - if (DEBUG) Log.d(TAG, "[installDecor]"); - - if (mDecor == null) { - if (IS_HONEYCOMB) { - mDecor = (ViewGroup)getWindow().getDecorView(); - } else { - mDecor = (ViewGroup)getWindow().getDecorView().findViewById(android.R.id.content); - } - } - if (mContentParent == null) { - if (IS_HONEYCOMB) { - mContentParent = (ViewGroup)mDecor.findViewById(android.R.id.content); - } else { - mContentParent = generateLayout(); - mActionBarView = (ActionBarView)mDecor.findViewById(R.id.abs__action_bar); - if (mActionBarView != null) { - if (mActionBarView.getTitle() == null) { - mActionBarView.setTitle(getTitle()); - } - if (hasFeature(Window.FEATURE_INDETERMINATE_PROGRESS)) { - mActionBarView.initIndeterminateProgress(); - } - } - - // Post the panel invalidate for later; avoid application onCreateOptionsMenu - // being called in the middle of onCreate or similar. - mDecor.post(new Runnable() { - @Override - public void run() { - //Invalidate if the panel menu hasn't been created before this. - if (mSupportMenu == null) { - invalidateOptionsMenu(); - } - } - }); - } - } - } - - private ViewGroup generateLayout() { - if (DEBUG) Log.d(TAG, "[generateLayout]"); - - // Apply data from current theme. - - TypedArray a = getTheme().obtainStyledAttributes(R.styleable.SherlockTheme); - - if (a.getBoolean(R.styleable.SherlockTheme_windowNoTitle, false)) { - requestWindowFeature(Window.FEATURE_NO_TITLE); - } else if (a.getBoolean(R.styleable.SherlockTheme_windowActionBar, false)) { - // Don't allow an action bar if there is no title. - requestWindowFeature(Window.FEATURE_ACTION_BAR); - } - - if (a.getBoolean(R.styleable.SherlockTheme_windowActionBarOverlay, false)) { - requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); - } - - if (a.getBoolean(R.styleable.SherlockTheme_windowActionModeOverlay, false)) { - requestWindowFeature(Window.FEATURE_ACTION_MODE_OVERLAY); - } - - a.recycle(); - - int layoutResource; - if (hasFeature(Window.FEATURE_ACTION_BAR)) { - if (hasFeature(Window.FEATURE_ACTION_BAR_OVERLAY)) { - layoutResource = R.layout.abs__screen_action_bar_overlay; - } else { - layoutResource = R.layout.abs__screen_action_bar; - } - //} else if (hasFeature(Window.FEATURE_ACTION_MODE_OVERLAY)) { - // layoutResource = R.layout.abs__screen_simple_overlay_action_mode; - } else { - layoutResource = R.layout.abs__screen_simple; - } - - View in = getLayoutInflater().inflate(layoutResource, null); - mDecor.addView(in, new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - - ViewGroup contentParent = (ViewGroup)mDecor.findViewById(R.id.abs__content); - if (contentParent == null) { - throw new RuntimeException("Couldn't find content container view"); - } - - //Make our new child the true content view (for fragments). VERY VOLATILE! - mDecor.setId(View.NO_ID); - contentParent.setId(android.R.id.content); - - return contentParent; - } - - private boolean hasFeature(long featureId) { - if (IS_HONEYCOMB) { - return getWindow().hasFeature((int)featureId); - } - return (mWindowFlags & (1 << featureId)) != 0; - } - - // ------------------------------------------------------------------------ - // HOOKS INTO ACTIVITY - // ------------------------------------------------------------------------ - - /** - * Enable extended window features. - * - * @param featureId The desired feature as defined in - * {@link android.support.v4.view.Window}. - * @return Returns {@code true} if the requested feature is supported and - * now enabled. - */ - @Override - public boolean requestWindowFeature(long featureId) { - if (!IS_HONEYCOMB) { - switch ((int)featureId) { - case (int)Window.FEATURE_ACTION_BAR: - case (int)Window.FEATURE_ACTION_BAR_OVERLAY: - case (int)Window.FEATURE_ACTION_MODE_OVERLAY: - case (int)Window.FEATURE_INDETERMINATE_PROGRESS: - mWindowFlags |= (1 << featureId); - return true; - } - } - return super.requestWindowFeature((int)featureId); - } - - @Override - public android.view.MenuInflater getMenuInflater() { - if (DEBUG) Log.d(TAG, "[getMenuInflater]"); - - if (mMenuInflater == null) { - initActionBar(); - } - if (IS_HONEYCOMB) { - if (DEBUG) Log.d(TAG, "getMenuInflater(): Wrapping native inflater."); - - //Wrap the native inflater so it can unwrap the native menu first - mMenuInflater = new MenuInflaterWrapper(this, super.getMenuInflater()); - } else { - if (DEBUG) Log.d(TAG, "getMenuInflater(): Returning support inflater."); - - //Use our custom menu inflater - mMenuInflater = new MenuInflaterImpl(this, super.getMenuInflater()); - } - - return mMenuInflater; - } - - @Override - public void setContentView(int layoutResId) { - if (DEBUG) Log.d(TAG, "[setContentView] layoutResId: " + layoutResId); - - if (mContentParent == null) { - installDecor(); - } else { - mContentParent.removeAllViews(); - } - getLayoutInflater().inflate(layoutResId, mContentParent); - - android.view.Window.Callback callback = getWindow().getCallback(); - if (callback != null) { - callback.onContentChanged(); - } - initActionBar(); - } - - @Override - public void setContentView(View view, LayoutParams params) { - if (DEBUG) Log.d(TAG, "[setContentView] view: " + view + ", params: " + params); - - if (mContentParent == null) { - installDecor(); - } else { - mContentParent.removeAllViews(); - } - mContentParent.addView(view, params); - - android.view.Window.Callback callback = getWindow().getCallback(); - if (callback != null) { - callback.onContentChanged(); - } - - initActionBar(); - } - - @Override - public void setContentView(View view) { - if (DEBUG) Log.d(TAG, "[setContentView] view: " + view); - - setContentView(view, new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - } - - @Override - public void addContentView(View view, ViewGroup.LayoutParams params) { - if (DEBUG) Log.d(TAG, "[addContentView] view: " + view + ", params: " + params); - - if (mContentParent == null) { - installDecor(); - } - mContentParent.addView(view, params); - - initActionBar(); - } - - @Override - public void setTitle(CharSequence title) { - if (IS_HONEYCOMB || (mActionBar == null)) { - super.setTitle(title); - } else { - getSupportActionBar().setTitle(title); - } - } - - @Override - public void setTitle(int titleId) { - if (IS_HONEYCOMB || (mActionBar == null)) { - super.setTitle(titleId); - } else { - getSupportActionBar().setTitle(titleId); - } - } - - /** - * Dispatch incoming result to the correct fragment. - */ - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - int index = requestCode>>16; - if (index != 0) { - index--; - if (mFragments.mActive == null || index < 0 || index >= mFragments.mActive.size()) { - Log.w(TAG, "Activity result fragment index out of range: 0x" - + Integer.toHexString(requestCode)); - return; - } - Fragment frag = mFragments.mActive.get(index); - if (frag == null) { - Log.w(TAG, "Activity result no fragment exists for index: 0x" - + Integer.toHexString(requestCode)); - } else { - frag.onActivityResult(requestCode&0xffff, resultCode, data); - } - return; - } - - super.onActivityResult(requestCode, resultCode, data); - } - - /** - * Take care of popping the fragment back stack or finishing the activity - * as appropriate. - */ - @Override - public void onBackPressed() { - if (!mFragments.popBackStackImmediate()) { - finish(); - } - } - - /** - * Dispatch configuration change to all fragments. - */ - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - mFragments.dispatchConfigurationChanged(newConfig); - } - - /** - * Perform initialization of all fragments and loaders. - */ - @Override - protected void onCreate(Bundle savedInstanceState) { - mFragments.attachActivity(this); - // Old versions of the platform didn't do this! - if (getLayoutInflater().getFactory() == null) { - getLayoutInflater().setFactory(this); - } - - super.onCreate(savedInstanceState); - - NonConfigurationInstances nc = (NonConfigurationInstances) - getLastNonConfigurationInstance(); - if (nc != null) { - mAllLoaderManagers = nc.loaders; - } - if (savedInstanceState != null) { - Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG); - mFragments.restoreAllState(p, nc != null ? nc.fragments : null); - } - mFragments.dispatchCreate(); - } - - /** - *

Initialize the contents of the Activity's standard options menu. You - * should place your menu items in to menu.

- * - *

The default implementation populates the menu with standard system - * menu items. These are placed in the {@link Menu.CATEGORY_SYSTEM} group - * so that they will be correctly ordered with application-defined menu - * items. Deriving classes should always call through to the base - * implementation.

- * - *

You can safely hold on to menu (and any items created from it), - * making modifications to it as desired, until the next time - * {@code onCreateOptionsMenu()} is called.

- * - *

When you add items to the menu, you can implement the Activity's - * {@link #onOptionsItemSelected(MenuItem)} method to handle them - * there.

- * - * @param menu The options menu in which you place your items. - * @return You must return true for the menu to be displayed; if you return - * false it will not be shown. - */ - @Override - public boolean onCreateOptionsMenu(Menu menu) { - if (DEBUG) Log.d(TAG, "onCreateOptionsMenu(Menu): Returning true"); - return true; - } - - @Override - public final boolean onCreateOptionsMenu(android.view.Menu menu) { - // Prior to Honeycomb, the framework can't invalidate the options - // menu, so we must always say we have one in case the app later - // invalidates it and needs to have it shown. - boolean result = true; - - if (IS_HONEYCOMB) { - if (DEBUG) Log.d(TAG, "onCreateOptionsMenu(android.view.Menu): Calling support method with wrapped native menu."); - MenuWrapper wrapped = new MenuWrapper(menu); - result = onCreateOptionsMenu(wrapped); - result |= mFragments.dispatchCreateOptionsMenu(wrapped, getMenuInflater()); - } - - if (DEBUG) Log.d(TAG, "onCreateOptionsMenu(android.view.Menu): Returning " + result); - return result; - } - - private boolean dispatchCreateOptionsMenu() { - if (DEBUG) Log.d(TAG, "[dispatchCreateOptionsMenu]"); - - boolean result = onCreateOptionsMenu(mSupportMenu); - result |= mFragments.dispatchCreateOptionsMenu(mSupportMenu, getMenuInflater()); - return result; - } - - /** - * Add support for inflating the <fragment> tag. - */ - @Override - public View onCreateView(String name, Context context, AttributeSet attrs) { - if (!"fragment".equals(name)) { - return super.onCreateView(name, context, attrs); - } - - String fname = attrs.getAttributeValue(null, "class"); - TypedArray a = context.obtainStyledAttributes(attrs, FragmentTag.Fragment); - if (fname == null) { - fname = a.getString(FragmentTag.Fragment_name); - } - int id = a.getResourceId(FragmentTag.Fragment_id, View.NO_ID); - String tag = a.getString(FragmentTag.Fragment_tag); - a.recycle(); - - View parent = null; // NOTE: no way to get parent pre-Honeycomb. - int containerId = parent != null ? parent.getId() : 0; - if (containerId == View.NO_ID && id == View.NO_ID && tag == null) { - throw new IllegalArgumentException(attrs.getPositionDescription() - + ": Must specify unique android:id, android:tag, or have a parent with an id for " + fname); - } - - // If we restored from a previous state, we may already have - // instantiated this fragment from the state and should use - // that instance instead of making a new one. - Fragment fragment = id != View.NO_ID ? mFragments.findFragmentById(id) : null; - if (fragment == null && tag != null) { - fragment = mFragments.findFragmentByTag(tag); - } - if (fragment == null && containerId != View.NO_ID) { - fragment = mFragments.findFragmentById(containerId); - } - - if (FragmentManagerImpl.DEBUG) Log.v(TAG, "onCreateView: id=0x" - + Integer.toHexString(id) + " fname=" + fname - + " existing=" + fragment); - if (fragment == null) { - fragment = Fragment.instantiate(this, fname); - fragment.mFromLayout = true; - fragment.mFragmentId = id != 0 ? id : containerId; - fragment.mContainerId = containerId; - fragment.mTag = tag; - fragment.mInLayout = true; - fragment.mFragmentManager = mFragments; - fragment.onInflate(this, attrs, fragment.mSavedFragmentState); - mFragments.addFragment(fragment, true); - - } else if (fragment.mInLayout) { - // A fragment already exists and it is not one we restored from - // previous state. - throw new IllegalArgumentException(attrs.getPositionDescription() - + ": Duplicate id 0x" + Integer.toHexString(id) - + ", tag " + tag + ", or parent id 0x" + Integer.toHexString(containerId) - + " with another fragment for " + fname); - } else { - // This fragment was retained from a previous instance; get it - // going now. - fragment.mInLayout = true; - // If this fragment is newly instantiated (either right now, or - // from last saved state), then give it the attributes to - // initialize itself. - if (!fragment.mRetaining) { - fragment.onInflate(this, attrs, fragment.mSavedFragmentState); - } - mFragments.moveToState(fragment); - } - - if (fragment.mView == null) { - throw new IllegalStateException("Fragment " + fname - + " did not create a view."); - } - if (id != 0) { - fragment.mView.setId(id); - } - if (fragment.mView.getTag() == null) { - fragment.mView.setTag(tag); - } - return fragment.mView; - } - - @Override - public void invalidateOptionsMenu() { - if (DEBUG) Log.d(TAG, "[invalidateOptionsMenu]"); - - if (IS_HONEYCOMB) { - HoneycombInvalidateOptionsMenu.invoke(this); - return; - } - - if (mSupportMenu == null) { - mSupportMenu = new MenuBuilder(this); - mSupportMenu.setCallback(mSupportMenuCallback); - } - - mSupportMenu.stopDispatchingItemsChanged(); - mSupportMenu.clear(); - - if (!dispatchCreateOptionsMenu()) { - if (mActionBar != null) { - ((ActionBarImpl)mActionBar).setMenu(null, mMenuPresenterCallback); - } - return; - } - - if (!dispatchPrepareOptionsMenu()) { - if (mActionBar != null) { - ((ActionBarImpl)mActionBar).setMenu(null, mMenuPresenterCallback); - } - mSupportMenu.startDispatchingItemsChanged(); - return; - } - - mSupportMenu.startDispatchingItemsChanged(); - - if (mActionBar != null) { - ((ActionBarImpl)mActionBar).setMenu(mSupportMenu, mMenuPresenterCallback); - } - } - - private static final class HoneycombInvalidateOptionsMenu { - static void invoke(Activity activity) { - activity.getWindow().invalidatePanelMenu(Window.FEATURE_OPTIONS_PANEL); - } - } - - /** - * Destroy all fragments and loaders. - */ - @Override - protected void onDestroy() { - super.onDestroy(); - - doReallyStop(false); - - mFragments.dispatchDestroy(); - if (mLoaderManager != null) { - mLoaderManager.doDestroy(); - } - } - - /** - * Take care of calling onBackPressed() for pre-Eclair platforms. - */ - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - if (android.os.Build.VERSION.SDK_INT < 5 /* ECLAIR */ - && keyCode == KeyEvent.KEYCODE_BACK - && event.getRepeatCount() == 0) { - // Take care of calling this method on earlier versions of - // the platform where it doesn't exist. - onBackPressed(); - return true; - } - - return super.onKeyDown(keyCode, event); - } - - /** - * Dispatch onLowMemory() to all fragments. - */ - @Override - public void onLowMemory() { - super.onLowMemory(); - mFragments.dispatchLowMemory(); - } - - /** - * Dispatch context and options menu to fragments. - */ - @Override - public final boolean onMenuItemSelected(int featureId, android.view.MenuItem item) { - if (super.onMenuItemSelected(featureId, item)) { - return true; - } - - switch (featureId) { - case Window.FEATURE_OPTIONS_PANEL: - return mFragments.dispatchOptionsItemSelected(new MenuItemWrapper(item)); - - case Window.FEATURE_CONTEXT_MENU: - return mFragments.dispatchContextItemSelected(new MenuItemWrapper(item)); - - default: - return false; - } - } - - @Override - public boolean onMenuItemSelected(int featureId, MenuItem item) { - if (onOptionsItemSelected(item)) { - return true; - } - - switch (featureId) { - case Window.FEATURE_OPTIONS_PANEL: - return mFragments.dispatchOptionsItemSelected(item); - - case Window.FEATURE_CONTEXT_MENU: - return mFragments.dispatchContextItemSelected(item); - - default: - return false; - } - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - return super.onOptionsItemSelected(item); - } - - @Override - public final boolean onOptionsItemSelected(android.view.MenuItem item) { - return onOptionsItemSelected(new MenuItemWrapper(item)); - } - - /** - * Call onOptionsMenuClosed() on fragments. - */ - @Override - public void onPanelClosed(int featureId, android.view.Menu menu) { - switch (featureId) { - case Window.FEATURE_OPTIONS_PANEL: - mFragments.dispatchOptionsMenuClosed(new MenuWrapper(menu)); - - if (!IS_HONEYCOMB && (getSupportActionBar() != null)) { - if (DEBUG) Log.d(TAG, "onPanelClosed(int, android.view.Menu): Dispatch menu visibility false to custom action bar."); - ((ActionBarImpl)mActionBar).onMenuVisibilityChanged(false); - } - break; - } - super.onPanelClosed(featureId, menu); - } - - /** - * Dispatch onPause() to fragments. - */ - @Override - protected void onPause() { - super.onPause(); - mResumed = false; - if (mHandler.hasMessages(MSG_RESUME_PENDING)) { - mHandler.removeMessages(MSG_RESUME_PENDING); - mFragments.dispatchResume(); - } - mFragments.dispatchPause(); - } - - /** - * Dispatch onResume() to fragments. - */ - @Override - protected void onResume() { - super.onResume(); - mHandler.sendEmptyMessage(MSG_RESUME_PENDING); - mResumed = true; - mFragments.execPendingActions(); - } - - /** - * Dispatch onResume() to fragments. - */ - @Override - protected void onPostResume() { - super.onPostResume(); - mHandler.removeMessages(MSG_RESUME_PENDING); - mFragments.dispatchResume(); - mFragments.execPendingActions(); - } - - @Override - public boolean onPrepareOptionsMenu(Menu menu) { - return true; - } - - @Override - public final boolean onPrepareOptionsMenu(android.view.Menu menu) { - if (IS_HONEYCOMB) { - if (DEBUG) Log.d(TAG, "onPrepareOptionsMenu(android.view.Menu): Calling support method with wrapped native menu."); - final MenuWrapper wrappedMenu = new MenuWrapper(menu); - boolean result = onPrepareOptionsMenu(wrappedMenu); - if (result) { - if (DEBUG) Log.d(TAG, "onPrepareOptionsMenu(android.view.Menu): Dispatching fragment method with wrapped native menu."); - mFragments.dispatchPrepareOptionsMenu(wrappedMenu); - } - return result; - } - - if (!dispatchPrepareOptionsMenu()) { - return false; - } - - if (mNativeItemMap == null) { - mNativeItemMap = new HashMap(); - } else { - mNativeItemMap.clear(); - } - - if (mSupportMenu != null) { - return mSupportMenu.bindOverflowToNative(menu, mNativeItemListener, mNativeItemMap); - } - return false; - } - - private boolean dispatchPrepareOptionsMenu() { - if (DEBUG) Log.d(TAG, "[dispatchPrepareOptionsMenu]"); - - if (onPrepareOptionsMenu(mSupportMenu)) { - mFragments.dispatchPrepareOptionsMenu(mSupportMenu); - return true; - } - return false; - } - - /** - * Cause this Activity to be recreated with a new instance. This results in - * essentially the same flow as when the Activity is created due to a - * configuration change -- the current instance will go through its - * lifecycle to onDestroy() and a new instance then created after it. - */ - @Override - public void recreate() { - //This SUCKS! Figure out a way to call the super method and support Android 1.6 - /* - if (IS_HONEYCOMB) { - super.recreate(); - } else { - */ - final Intent intent = getIntent(); - intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); - - startActivity(intent); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { - OverridePendingTransition.invoke(this); - } - - finish(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ECLAIR) { - OverridePendingTransition.invoke(this); - } - /* - } - */ - } - - private static final class OverridePendingTransition { - static void invoke(Activity activity) { - activity.overridePendingTransition(0, 0); - } - } - - /** - * Retain all appropriate fragment and loader state. You can NOT - * override this yourself! Use {@link #onRetainCustomNonConfigurationInstance()} - * if you want to retain your own state. - */ - @Override - public final Object onRetainNonConfigurationInstance() { - if (mStopped) { - doReallyStop(true); - } - - Object custom = onRetainCustomNonConfigurationInstance(); - - ArrayList fragments = mFragments.retainNonConfig(); - boolean retainLoaders = false; - if (mAllLoaderManagers != null) { - // prune out any loader managers that were already stopped and so - // have nothing useful to retain. - for (int i=mAllLoaderManagers.size()-1; i>=0; i--) { - LoaderManagerImpl lm = mAllLoaderManagers.valueAt(i); - if (lm.mRetaining) { - retainLoaders = true; - } else { - lm.doDestroy(); - mAllLoaderManagers.removeAt(i); - } - } - } - if (fragments == null && !retainLoaders && custom == null) { - return null; - } - - NonConfigurationInstances nci = new NonConfigurationInstances(); - nci.activity = null; - nci.custom = custom; - nci.children = null; - nci.fragments = fragments; - nci.loaders = mAllLoaderManagers; - return nci; - } - - /** - * Save all appropriate fragment state. - */ - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - Parcelable p = mFragments.saveAllState(); - if (p != null) { - outState.putParcelable(FRAGMENTS_TAG, p); - } - } - - /** - * Dispatch onStart() to all fragments. Ensure any created loaders are - * now started. - */ - @Override - protected void onStart() { - super.onStart(); - - mStopped = false; - mReallyStopped = false; - mHandler.removeMessages(MSG_REALLY_STOPPED); - - if (!mCreated) { - mCreated = true; - mFragments.dispatchActivityCreated(); - } - - mFragments.noteStateNotSaved(); - mFragments.execPendingActions(); - - if (!mLoadersStarted) { - mLoadersStarted = true; - if (mLoaderManager != null) { - mLoaderManager.doStart(); - } else if (!mCheckedForLoaderManager) { - mLoaderManager = getLoaderManager(-1, mLoadersStarted, false); - } - mCheckedForLoaderManager = true; - } - // NOTE: HC onStart goes here. - - mFragments.dispatchStart(); - if (mAllLoaderManagers != null) { - for (int i=mAllLoaderManagers.size()-1; i>=0; i--) { - LoaderManagerImpl lm = mAllLoaderManagers.valueAt(i); - lm.finishRetain(); - lm.doReportStart(); - } - } - } - - /** - * Dispatch onStop() to all fragments. Ensure all loaders are stopped. - */ - @Override - protected void onStop() { - super.onStop(); - - mStopped = true; - mHandler.sendEmptyMessage(MSG_REALLY_STOPPED); - - mFragments.dispatchStop(); - } - - /** - *

Sets the visibility of the indeterminate progress bar in the - * title.

- * - *

In order for the progress bar to be shown, the feature must be - * requested via {@link #requestWindowFeature(long)}.

- * - *

This method must be used instead of - * {@link #setProgressBarIndeterminateVisibility(boolean)} for - * ActionBarSherlock. Pass {@link Boolean.TRUE} or - * {@link Boolean.FALSE} to ensure the appropriate one is called.

- * - * @param visible Whether to show the progress bars in the title. - */ - @Override - public void setProgressBarIndeterminateVisibility(Boolean visible) { - if (IS_HONEYCOMB || (mActionBar == null)) { - super.setProgressBarIndeterminateVisibility(visible); - } else { - mActionBarView.setProgressBarIndeterminateVisibility(visible); - } - } - - // ------------------------------------------------------------------------ - // NEW METHODS - // ------------------------------------------------------------------------ - - /** - * Use this instead of {@link #onRetainNonConfigurationInstance()}. - * Retrieve later with {@link #getLastCustomNonConfigurationInstance()}. - */ - public Object onRetainCustomNonConfigurationInstance() { - return null; - } - - /** - * Return the value previously returned from - * {@link #onRetainCustomNonConfigurationInstance()}. - */ - public Object getLastCustomNonConfigurationInstance() { - NonConfigurationInstances nc = (NonConfigurationInstances) - getLastNonConfigurationInstance(); - return nc != null ? nc.custom : null; - } - - /** - * @deprecated Use {@link invalidateOptionsMenu}. - */ - @Deprecated - void supportInvalidateOptionsMenu() { - invalidateOptionsMenu(); - } - - /** - * Print the Activity's state into the given stream. This gets invoked if - * you run "adb shell dumpsys activity ". - * - * @param prefix Desired prefix to prepend at each line of output. - * @param fd The raw file descriptor that the dump is being sent to. - * @param writer The PrintWriter to which you should dump your state. This will be - * closed for you after you return. - * @param args additional arguments to the dump request. - */ - @Override - public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) { - if (IS_HONEYCOMB) { - //This can only work if we can call the super-class impl. :/ - //ActivityCompatHoneycomb.dump(this, prefix, fd, writer, args); - } - writer.print(prefix); writer.print("Local FragmentActivity "); - writer.print(Integer.toHexString(System.identityHashCode(this))); - writer.println(" State:"); - String innerPrefix = prefix + " "; - writer.print(innerPrefix); writer.print("mCreated="); - writer.print(mCreated); writer.print("mResumed="); - writer.print(mResumed); writer.print(" mStopped="); - writer.print(mStopped); writer.print(" mReallyStopped="); - writer.println(mReallyStopped); - writer.print(innerPrefix); writer.print("mLoadersStarted="); - writer.println(mLoadersStarted); - if (mLoaderManager != null) { - writer.print(prefix); writer.print("Loader Manager "); - writer.print(Integer.toHexString(System.identityHashCode(mLoaderManager))); - writer.println(":"); - mLoaderManager.dump(prefix + " ", fd, writer, args); - } - mFragments.dump(prefix, fd, writer, args); - } - - void doReallyStop(boolean retaining) { - if (!mReallyStopped) { - mReallyStopped = true; - mRetaining = retaining; - mHandler.removeMessages(MSG_REALLY_STOPPED); - onReallyStop(); - } - } - - /** - * Pre-HC, we didn't have a way to determine whether an activity was - * being stopped for a config change or not until we saw - * onRetainNonConfigurationInstance() called after onStop(). However - * we need to know this, to know whether to retain fragments. This will - * tell us what we need to know. - */ - void onReallyStop() { - if (mLoadersStarted) { - mLoadersStarted = false; - if (mLoaderManager != null) { - if (!mRetaining) { - mLoaderManager.doStop(); - } else { - mLoaderManager.doRetain(); - } - } - } - - mFragments.dispatchReallyStop(); - } - - // ------------------------------------------------------------------------ - // ACTION BAR AND ACTION MODE SUPPORT - // ------------------------------------------------------------------------ - - /** - * Retrieve a reference to this activity's action bar handler. - * - * @return The handler for the appropriate action bar, or null. - */ - @Override - public ActionBar getSupportActionBar() { - initActionBar(); - return mActionBar; - } - - /** - * Notifies the activity that an action mode has finished. Activity - * subclasses overriding this method should call the superclass - * implementation. - * - * @param mode The action mode that just finished. - */ - @Override - public void onActionModeFinished(ActionMode mode) { - } - - /** - * Notifies the Activity that an action mode has been started. Activity - * subclasses overriding this method should call the superclass - * implementation. - * - * @param mode The new action mode. - */ - @Override - public void onActionModeStarted(ActionMode mode) { - } - - /** - *

Give the Activity a chance to control the UI for an action mode - * requested by the system.

- * - *

Note: If you are looking for a notification callback that an action - * mode has been started for this activity, see - * {@link #onActionModeStarted(ActionMode)}.

- * - * @param callback The callback that should control the new action mode - * @return The new action mode, or null if the activity does not want to - * provide special handling for this action mode. (It will be handled by the - * system.) - */ - @Override - public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) { - return null; - } - - /** - * Start an action mode. - * - * @param callback Callback that will manage lifecycle events for this - * context mode - * @return The ContextMode that was started, or null if it was cancelled - * @see android.support.v4.view.ActionMode - */ - @Override - public final ActionMode startActionMode(final ActionMode.Callback callback) { - //Give the activity override a chance to handle the action mode - ActionMode actionMode = onWindowStartingActionMode(callback); - - if (actionMode == null) { - //If the activity did not handle, send to action bar for platform- - //specific implementation - actionMode = mActionBar.startActionMode(callback); - } - if (actionMode != null) { - //Send the activity callback that our action mode was started - onActionModeStarted(actionMode); - } - - //Return to the caller - return actionMode; - } - - // ------------------------------------------------------------------------ - // FRAGMENT SUPPORT - // ------------------------------------------------------------------------ - - /** - * Called when a fragment is attached to the activity. - */ - @Override - public void onAttachFragment(Fragment fragment) { - } - - /** - * Return the FragmentManager for interacting with fragments associated - * with this activity. - */ - @Override - public FragmentManager getSupportFragmentManager() { - //PLEASE let no one be dumb enough to call this too soon... - initActionBar(); - return mFragments; - } - - /** - * Modifies the standard behavior to allow results to be delivered to fragments. - * This imposes a restriction that requestCode be <= 0xffff. - */ - @Override - public void startActivityForResult(Intent intent, int requestCode) { - if (requestCode != -1 && (requestCode&0xffff0000) != 0) { - throw new IllegalArgumentException("Can only use lower 16 bits for requestCode"); - } - super.startActivityForResult(intent, requestCode); - } - - /** - * Called by Fragment.startActivityForResult() to implement its behavior. - */ - @Override - public void startActivityFromFragment(Fragment fragment, Intent intent, - int requestCode) { - if (requestCode == -1) { - super.startActivityForResult(intent, -1); - return; - } - if ((requestCode&0xffff0000) != 0) { - throw new IllegalArgumentException("Can only use lower 16 bits for requestCode"); - } - super.startActivityForResult(intent, ((fragment.mIndex+1)<<16) + (requestCode&0xffff)); - } - - void invalidateSupportFragmentIndex(int index) { - //Log.v(TAG, "invalidateFragmentIndex: index=" + index); - if (mAllLoaderManagers != null) { - LoaderManagerImpl lm = mAllLoaderManagers.get(index); - if (lm != null && !lm.mRetaining) { - lm.doDestroy(); - mAllLoaderManagers.remove(index); - } - } - } - - // ------------------------------------------------------------------------ - // LOADER SUPPORT - // ------------------------------------------------------------------------ - - /** - * Return the LoaderManager for this fragment, creating it if needed. - */ - @Override - public LoaderManager getSupportLoaderManager() { - if (mLoaderManager != null) { - return mLoaderManager; - } - mCheckedForLoaderManager = true; - mLoaderManager = getLoaderManager(-1, mLoadersStarted, true); - return mLoaderManager; - } - - LoaderManagerImpl getLoaderManager(int index, boolean started, boolean create) { - if (mAllLoaderManagers == null) { - mAllLoaderManagers = new HCSparseArray(); - } - LoaderManagerImpl lm = mAllLoaderManagers.get(index); - if (lm == null) { - if (create) { - lm = new LoaderManagerImpl(this, started); - mAllLoaderManagers.put(index, lm); - } - } else { - lm.updateActivity(this); - } - return lm; - } -} diff --git a/greendroid/GDCatalog/AndroidManifest.xml b/greendroid/GDCatalog/AndroidManifest.xml deleted file mode 100644 index 3fcfeda7e..000000000 --- a/greendroid/GDCatalog/AndroidManifest.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/greendroid/GDCatalog/assets/LICENSE.txt b/greendroid/GDCatalog/assets/LICENSE.txt deleted file mode 100644 index b7dafce6b..000000000 --- a/greendroid/GDCatalog/assets/LICENSE.txt +++ /dev/null @@ -1,56 +0,0 @@ - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and - - 2. You must cause any modified files to carry prominent notices stating that You changed the files; and - - 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - - 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS diff --git a/greendroid/GDCatalog/default.properties b/greendroid/GDCatalog/default.properties deleted file mode 100644 index 2dde05127..000000000 --- a/greendroid/GDCatalog/default.properties +++ /dev/null @@ -1,14 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system use, -# "build.properties", and override values to adapt the script to your -# project structure. - -# Indicates whether an apk should be generated for each density. -split.density=false -# Project target. -target=android-8 -android.library.reference.1=../GreenDroid diff --git a/greendroid/GDCatalog/res/color/link.xml b/greendroid/GDCatalog/res/color/link.xml deleted file mode 100644 index d4f7ea0cf..000000000 --- a/greendroid/GDCatalog/res/color/link.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - diff --git a/greendroid/GDCatalog/res/drawable-hdpi/action_bar_divider.png b/greendroid/GDCatalog/res/drawable-hdpi/action_bar_divider.png deleted file mode 100755 index 249f7f357..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/action_bar_divider.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/class1.jpg b/greendroid/GDCatalog/res/drawable-hdpi/class1.jpg deleted file mode 100644 index 9c36d9ca4..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/class1.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/class2.jpg b/greendroid/GDCatalog/res/drawable-hdpi/class2.jpg deleted file mode 100644 index b2930a386..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/class2.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/class3.jpg b/greendroid/GDCatalog/res/drawable-hdpi/class3.jpg deleted file mode 100644 index 779b4835e..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/class3.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/class4.jpg b/greendroid/GDCatalog/res/drawable-hdpi/class4.jpg deleted file mode 100644 index 7845de7c6..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/class4.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/class5.jpg b/greendroid/GDCatalog/res/drawable-hdpi/class5.jpg deleted file mode 100644 index 08f0817bc..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/class5.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/greendroid_application_logo_alt.png b/greendroid/GDCatalog/res/drawable-hdpi/greendroid_application_logo_alt.png deleted file mode 100644 index de9d22867..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/greendroid_application_logo_alt.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/greendroid_application_logo_normal.png b/greendroid/GDCatalog/res/drawable-hdpi/greendroid_application_logo_normal.png deleted file mode 100644 index 39f240813..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/greendroid_application_logo_normal.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/greendroid_logo.png b/greendroid/GDCatalog/res/drawable-hdpi/greendroid_logo.png deleted file mode 100644 index fc5cb0de1..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/greendroid_logo.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/ic_action_bar_info.png b/greendroid/GDCatalog/res/drawable-hdpi/ic_action_bar_info.png deleted file mode 100644 index 59ec7e078..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/ic_action_bar_info.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/ic_gdcatalog.png b/greendroid/GDCatalog/res/drawable-hdpi/ic_gdcatalog.png deleted file mode 100644 index 1b21d0f5c..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/ic_gdcatalog.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/ic_title_export_alt.png b/greendroid/GDCatalog/res/drawable-hdpi/ic_title_export_alt.png deleted file mode 100644 index b55e41def..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/ic_title_export_alt.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/ic_title_export_default.png b/greendroid/GDCatalog/res/drawable-hdpi/ic_title_export_default.png deleted file mode 100644 index b86014d5f..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/ic_title_export_default.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-hdpi/separator_bg.9.png b/greendroid/GDCatalog/res/drawable-hdpi/separator_bg.9.png deleted file mode 100644 index 955a61c3a..000000000 Binary files a/greendroid/GDCatalog/res/drawable-hdpi/separator_bg.9.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/action_bar_divider.png b/greendroid/GDCatalog/res/drawable-mdpi/action_bar_divider.png deleted file mode 100755 index 16b5accd2..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/action_bar_divider.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/class1.jpg b/greendroid/GDCatalog/res/drawable-mdpi/class1.jpg deleted file mode 100644 index de3daa04c..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/class1.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/class2.jpg b/greendroid/GDCatalog/res/drawable-mdpi/class2.jpg deleted file mode 100644 index 0e0350a2c..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/class2.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/class3.jpg b/greendroid/GDCatalog/res/drawable-mdpi/class3.jpg deleted file mode 100644 index 353785d83..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/class3.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/class4.jpg b/greendroid/GDCatalog/res/drawable-mdpi/class4.jpg deleted file mode 100644 index dc260f38c..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/class4.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/class5.jpg b/greendroid/GDCatalog/res/drawable-mdpi/class5.jpg deleted file mode 100644 index f0dcf2538..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/class5.jpg and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/greendroid_application_logo_alt.png b/greendroid/GDCatalog/res/drawable-mdpi/greendroid_application_logo_alt.png deleted file mode 100644 index 046e350f5..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/greendroid_application_logo_alt.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/greendroid_application_logo_normal.png b/greendroid/GDCatalog/res/drawable-mdpi/greendroid_application_logo_normal.png deleted file mode 100644 index c17623673..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/greendroid_application_logo_normal.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/greendroid_logo.png b/greendroid/GDCatalog/res/drawable-mdpi/greendroid_logo.png deleted file mode 100644 index 62bf17a87..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/greendroid_logo.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/ic_action_bar_info.png b/greendroid/GDCatalog/res/drawable-mdpi/ic_action_bar_info.png deleted file mode 100644 index 8318a3dc7..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/ic_action_bar_info.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/ic_gdcatalog.png b/greendroid/GDCatalog/res/drawable-mdpi/ic_gdcatalog.png deleted file mode 100644 index 6538176a9..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/ic_gdcatalog.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/ic_title_export_alt.png b/greendroid/GDCatalog/res/drawable-mdpi/ic_title_export_alt.png deleted file mode 100644 index af322aa18..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/ic_title_export_alt.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/ic_title_export_default.png b/greendroid/GDCatalog/res/drawable-mdpi/ic_title_export_default.png deleted file mode 100644 index 06797e08f..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/ic_title_export_default.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable-mdpi/separator_bg.9.png b/greendroid/GDCatalog/res/drawable-mdpi/separator_bg.9.png deleted file mode 100644 index 4b0ca5062..000000000 Binary files a/greendroid/GDCatalog/res/drawable-mdpi/separator_bg.9.png and /dev/null differ diff --git a/greendroid/GDCatalog/res/drawable/action_bar_background.xml b/greendroid/GDCatalog/res/drawable/action_bar_background.xml deleted file mode 100644 index d2f22e024..000000000 --- a/greendroid/GDCatalog/res/drawable/action_bar_background.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - diff --git a/greendroid/GDCatalog/res/drawable/greendroid_application_logo.xml b/greendroid/GDCatalog/res/drawable/greendroid_application_logo.xml deleted file mode 100644 index ac8c0a9f1..000000000 --- a/greendroid/GDCatalog/res/drawable/greendroid_application_logo.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - diff --git a/greendroid/GDCatalog/res/drawable/ic_title_export.xml b/greendroid/GDCatalog/res/drawable/ic_title_export.xml deleted file mode 100644 index ed09bb102..000000000 --- a/greendroid/GDCatalog/res/drawable/ic_title_export.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - diff --git a/greendroid/GDCatalog/res/layout/about.xml b/greendroid/GDCatalog/res/layout/about.xml deleted file mode 100644 index 18cf228a1..000000000 --- a/greendroid/GDCatalog/res/layout/about.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - diff --git a/greendroid/GDCatalog/res/layout/headed_text_item_view.xml b/greendroid/GDCatalog/res/layout/headed_text_item_view.xml deleted file mode 100644 index 3c7cb9a88..000000000 --- a/greendroid/GDCatalog/res/layout/headed_text_item_view.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/greendroid/GDCatalog/res/layout/image.xml b/greendroid/GDCatalog/res/layout/image.xml deleted file mode 100644 index 53c60b197..000000000 --- a/greendroid/GDCatalog/res/layout/image.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - -