API changes
|
Before Width: | Height: | Size: 146 B |
|
Before Width: | Height: | Size: 146 B |
|
Before Width: | Height: | Size: 153 B |
|
Before Width: | Height: | Size: 133 B |
|
Before Width: | Height: | Size: 582 B |
|
Before Width: | Height: | Size: 622 B |
|
Before Width: | Height: | Size: 150 B |
|
Before Width: | Height: | Size: 157 B |
|
Before Width: | Height: | Size: 163 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1007 B |
|
Before Width: | Height: | Size: 148 B |
|
Before Width: | Height: | Size: 166 B |
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2008 The Android Open Source Project
|
||||
|
||||
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.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Non focused states -->
|
||||
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/abs__tab_unselected_holo" />
|
||||
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/abs__tab_selected_holo" />
|
||||
|
||||
<!-- Focused states -->
|
||||
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/abs__tab_unselected_focused_holo" />
|
||||
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/abs__tab_selected_focused_holo" />
|
||||
|
||||
<!-- Pressed -->
|
||||
<!-- Non focused states -->
|
||||
<item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/abs__tab_unselected_pressed_holo" />
|
||||
<item android:state_focused="false" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/abs__tab_selected_pressed_holo" />
|
||||
|
||||
<!-- Focused states -->
|
||||
<item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/abs__tab_unselected_pressed_holo" />
|
||||
<item android:state_focused="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/abs__tab_selected_pressed_holo" />
|
||||
</selector>
|
||||
@@ -1,144 +0,0 @@
|
||||
package android.support.v4.app;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import com.actionbarsherlock.ActionBarSherlock.OnCreatePanelMenuListener;
|
||||
import com.actionbarsherlock.ActionBarSherlock.OnMenuItemSelectedListener;
|
||||
import com.actionbarsherlock.ActionBarSherlock.OnPreparePanelListener;
|
||||
import com.actionbarsherlock.view.Menu;
|
||||
import com.actionbarsherlock.view.MenuInflater;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/** I'm in ur package. Stealing ur variables. */
|
||||
public abstract class _ActionBarSherlockTrojanHorse extends FragmentActivity implements OnCreatePanelMenuListener, OnPreparePanelListener, OnMenuItemSelectedListener {
|
||||
private static final boolean DEBUG = false;
|
||||
private static final String TAG = "_ActionBarSherlockTrojanHorse";
|
||||
|
||||
/** Fragment interface for menu creation callback. */
|
||||
public interface OnCreateOptionsMenuListener {
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater);
|
||||
}
|
||||
/** Fragment interface for menu preparation callback. */
|
||||
public interface OnPrepareOptionsMenuListener {
|
||||
public void onPrepareOptionsMenu(Menu menu);
|
||||
}
|
||||
/** Fragment interface for menu item selection callback. */
|
||||
public interface OnOptionsItemSelectedListener {
|
||||
public boolean onOptionsItemSelected(MenuItem item);
|
||||
}
|
||||
|
||||
private ArrayList<Fragment> mCreatedMenus;
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Sherlock menu handling
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public boolean onCreatePanelMenu(int featureId, Menu menu) {
|
||||
if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] featureId: " + featureId + ", menu: " + menu);
|
||||
|
||||
if (featureId == Window.FEATURE_OPTIONS_PANEL) {
|
||||
boolean result = onCreateOptionsMenu(menu);
|
||||
if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] activity create result: " + result);
|
||||
|
||||
MenuInflater inflater = getSupportMenuInflater();
|
||||
boolean show = false;
|
||||
ArrayList<Fragment> newMenus = null;
|
||||
if (mFragments.mActive != null) {
|
||||
for (int i = 0; i < mFragments.mAdded.size(); i++) {
|
||||
Fragment f = mFragments.mAdded.get(i);
|
||||
if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnCreateOptionsMenuListener) {
|
||||
show = true;
|
||||
((OnCreateOptionsMenuListener)f).onCreateOptionsMenu(menu, inflater);
|
||||
if (newMenus == null) {
|
||||
newMenus = new ArrayList<Fragment>();
|
||||
}
|
||||
newMenus.add(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mCreatedMenus != null) {
|
||||
for (int i = 0; i < mCreatedMenus.size(); i++) {
|
||||
Fragment f = mCreatedMenus.get(i);
|
||||
if (newMenus == null || !newMenus.contains(f)) {
|
||||
f.onDestroyOptionsMenu();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mCreatedMenus = newMenus;
|
||||
|
||||
if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] fragments create result: " + show);
|
||||
result |= show;
|
||||
|
||||
if (DEBUG) Log.d(TAG, "[onCreatePanelMenu] returning " + result);
|
||||
return result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreparePanel(int featureId, View view, Menu menu) {
|
||||
if (DEBUG) Log.d(TAG, "[onPreparePanel] featureId: " + featureId + ", view: " + view + " menu: " + menu);
|
||||
|
||||
if (featureId == Window.FEATURE_OPTIONS_PANEL) {
|
||||
boolean result = onPrepareOptionsMenu(menu);
|
||||
if (DEBUG) Log.d(TAG, "[onPreparePanel] activity prepare result: " + result);
|
||||
|
||||
boolean show = false;
|
||||
if (mFragments.mActive != null) {
|
||||
for (int i = 0; i < mFragments.mAdded.size(); i++) {
|
||||
Fragment f = mFragments.mAdded.get(i);
|
||||
if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnPrepareOptionsMenuListener) {
|
||||
show = true;
|
||||
((OnPrepareOptionsMenuListener)f).onPrepareOptionsMenu(menu);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (DEBUG) Log.d(TAG, "[onPreparePanel] fragments prepare result: " + show);
|
||||
result |= show;
|
||||
|
||||
result &= menu.hasVisibleItems();
|
||||
if (DEBUG) Log.d(TAG, "[onPreparePanel] returning " + result);
|
||||
return result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemSelected(int featureId, MenuItem item) {
|
||||
if (DEBUG) Log.d(TAG, "[onMenuItemSelected] featureId: " + featureId + ", item: " + item);
|
||||
|
||||
if (featureId == Window.FEATURE_OPTIONS_PANEL) {
|
||||
if (onOptionsItemSelected(item)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (mFragments.mActive != null) {
|
||||
for (int i = 0; i < mFragments.mAdded.size(); i++) {
|
||||
Fragment f = mFragments.mAdded.get(i);
|
||||
if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible && f instanceof OnOptionsItemSelectedListener) {
|
||||
if (((OnOptionsItemSelectedListener)f).onOptionsItemSelected(item)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public abstract boolean onCreateOptionsMenu(Menu menu);
|
||||
|
||||
public abstract boolean onPrepareOptionsMenu(Menu menu);
|
||||
|
||||
public abstract boolean onOptionsItemSelected(MenuItem item);
|
||||
|
||||
public abstract MenuInflater getSupportMenuInflater();
|
||||
}
|
||||
@@ -1,234 +0,0 @@
|
||||
package com.actionbarsherlock.internal.view.menu;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.ActionProvider;
|
||||
import android.view.MenuItem;
|
||||
import android.view.SubMenu;
|
||||
import android.view.View;
|
||||
import android.view.ContextMenu.ContextMenuInfo;
|
||||
|
||||
/** Used to carry an instance of our version of MenuItem through a native channel. */
|
||||
public class MenuItemMule implements MenuItem {
|
||||
private static final String ERROR = "Cannot interact with object designed for temporary "
|
||||
+ "instance passing. Make sure you using both SherlockFragmentActivity and "
|
||||
+ "SherlockFragment.";
|
||||
|
||||
|
||||
private final com.actionbarsherlock.view.MenuItem mItem;
|
||||
|
||||
public MenuItemMule(com.actionbarsherlock.view.MenuItem item) {
|
||||
mItem = item;
|
||||
}
|
||||
|
||||
public com.actionbarsherlock.view.MenuItem unwrap() {
|
||||
return mItem;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean collapseActionView() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean expandActionView() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionProvider getActionProvider() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getActionView() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public char getAlphabeticShortcut() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getGroupId() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Drawable getIcon() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Intent getIntent() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemId() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ContextMenuInfo getMenuInfo() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public char getNumericShortcut() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrder() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SubMenu getSubMenu() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getTitle() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getTitleCondensed() {
|
||||
return mItem.getTitleCondensed();
|
||||
//throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasSubMenu() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActionViewExpanded() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCheckable() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setActionProvider(ActionProvider arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setActionView(View arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setActionView(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setAlphabeticShortcut(char arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setCheckable(boolean arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setChecked(boolean arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setEnabled(boolean arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setIcon(Drawable arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setIcon(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setIntent(Intent arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setNumericShortcut(char arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setOnActionExpandListener(OnActionExpandListener arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setOnMenuItemClickListener(OnMenuItemClickListener arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setShortcut(char arg0, char arg1) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setShowAsAction(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setShowAsActionFlags(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setTitle(CharSequence arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setTitle(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setTitleCondensed(CharSequence arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem setVisible(boolean arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
}
|
||||
@@ -1,151 +0,0 @@
|
||||
package com.actionbarsherlock.internal.view.menu;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Intent;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.SubMenu;
|
||||
|
||||
/** Used to carry an instance of our version of Menu through a native channel. */
|
||||
public class MenuMule implements Menu {
|
||||
private static final String ERROR = "Cannot interact with object designed for temporary "
|
||||
+ "instance passing. Make sure you using both SherlockFragmentActivity and "
|
||||
+ "SherlockFragment.";
|
||||
|
||||
|
||||
private final com.actionbarsherlock.view.Menu mMenu;
|
||||
public boolean mDispatchShow = false;
|
||||
|
||||
public MenuMule(com.actionbarsherlock.view.Menu menu) {
|
||||
mMenu = menu;
|
||||
}
|
||||
|
||||
public com.actionbarsherlock.view.Menu unwrap() {
|
||||
return mMenu;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public MenuItem add(CharSequence arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem add(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem add(int arg0, int arg1, int arg2, CharSequence arg3) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem add(int arg0, int arg1, int arg2, int arg3) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int addIntentOptions(int arg0, int arg1, int arg2,
|
||||
ComponentName arg3, Intent[] arg4, Intent arg5, int arg6,
|
||||
MenuItem[] arg7) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SubMenu addSubMenu(CharSequence arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SubMenu addSubMenu(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SubMenu addSubMenu(int arg0, int arg1, int arg2, CharSequence arg3) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SubMenu addSubMenu(int arg0, int arg1, int arg2, int arg3) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem findItem(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MenuItem getItem(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasVisibleItems() {
|
||||
return mMenu.hasVisibleItems();
|
||||
//throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isShortcutKey(int arg0, KeyEvent arg1) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performIdentifierAction(int arg0, int arg1) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performShortcut(int arg0, KeyEvent arg1, int arg2) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroup(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeItem(int arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGroupCheckable(int arg0, boolean arg1, boolean arg2) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGroupEnabled(int arg0, boolean arg1) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGroupVisible(int arg0, boolean arg1) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQwertyMode(boolean arg0) {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
throw new IllegalStateException(ERROR);
|
||||
}
|
||||
}
|
||||