From ef35760840025f61ae60ec950db41d158852f38c Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Fri, 8 May 2015 23:45:14 +0200 Subject: [PATCH 1/2] update ski maps --- plugins/Osmand-Nautical/AndroidManifest.xml | 2 +- .../NauticalActivity.java | 2 +- plugins/Osmand-Skimaps/.classpath | 9 +++ plugins/Osmand-Skimaps/.gitignore | 5 ++ plugins/Osmand-Skimaps/.project | 33 +++++++++ plugins/Osmand-Skimaps/AndroidManifest.xml | 26 +++++++ plugins/Osmand-Skimaps/build.gradle | 67 ++++++++++++++++++ plugins/Osmand-Skimaps/proguard-project.txt | 20 ++++++ plugins/Osmand-Skimaps/project.properties | 14 ++++ .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 9397 bytes .../Osmand-Skimaps/res/drawable-hdpi/icon.png | Bin 0 -> 8348 bytes .../res/drawable-ldpi/ic_launcher.png | Bin 0 -> 2729 bytes .../Osmand-Skimaps/res/drawable-ldpi/icon.png | Bin 0 -> 2683 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 5237 bytes .../Osmand-Skimaps/res/drawable-mdpi/icon.png | Bin 0 -> 5028 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 14383 bytes .../res/drawable-xhdpi/icon.png | Bin 0 -> 11548 bytes .../res/drawable-xxhdpi/icon.png | Bin 0 -> 21398 bytes .../res/drawable-xxxhdpi/icon.png | Bin 0 -> 42204 bytes plugins/Osmand-Skimaps/res/layout/main.xml | 13 ++++ plugins/Osmand-Skimaps/res/values/strings.xml | 8 +++ .../net/osmand/skimaps/SkiMapsActivity.java | 61 ++++++++++++++++ 22 files changed, 258 insertions(+), 2 deletions(-) rename plugins/Osmand-Nautical/src/net/osmand/{parkingPlugin => nautical}/NauticalActivity.java (98%) create mode 100644 plugins/Osmand-Skimaps/.classpath create mode 100644 plugins/Osmand-Skimaps/.gitignore create mode 100644 plugins/Osmand-Skimaps/.project create mode 100644 plugins/Osmand-Skimaps/AndroidManifest.xml create mode 100644 plugins/Osmand-Skimaps/build.gradle create mode 100644 plugins/Osmand-Skimaps/proguard-project.txt create mode 100644 plugins/Osmand-Skimaps/project.properties create mode 100644 plugins/Osmand-Skimaps/res/drawable-hdpi/ic_launcher.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-hdpi/icon.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-ldpi/ic_launcher.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-ldpi/icon.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-mdpi/ic_launcher.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-mdpi/icon.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-xhdpi/ic_launcher.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-xhdpi/icon.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-xxhdpi/icon.png create mode 100644 plugins/Osmand-Skimaps/res/drawable-xxxhdpi/icon.png create mode 100644 plugins/Osmand-Skimaps/res/layout/main.xml create mode 100644 plugins/Osmand-Skimaps/res/values/strings.xml create mode 100644 plugins/Osmand-Skimaps/src/net/osmand/skimaps/SkiMapsActivity.java diff --git a/plugins/Osmand-Nautical/AndroidManifest.xml b/plugins/Osmand-Nautical/AndroidManifest.xml index 69b47a7196..c32db38c58 100644 --- a/plugins/Osmand-Nautical/AndroidManifest.xml +++ b/plugins/Osmand-Nautical/AndroidManifest.xml @@ -12,7 +12,7 @@ android:icon="@drawable/icon" android:label="OsmAnd Nautical" > + + + + diff --git a/plugins/Osmand-Skimaps/build.gradle b/plugins/Osmand-Skimaps/build.gradle new file mode 100644 index 0000000000..9d9cc05dd9 --- /dev/null +++ b/plugins/Osmand-Skimaps/build.gradle @@ -0,0 +1,67 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 21 + buildToolsVersion "21.1.2" + + signingConfigs { + development { + storeFile file("../../keystores/debug.keystore") + storePassword "android" + keyAlias "androiddebugkey" + keyPassword "android" + } + + publishing { + storeFile file("../../osmand_key") + storePassword System.getenv("OSMAND_APK_PASSWORD") + keyAlias "androiddebugkey" + keyPassword System.getenv("OSMAND_APK_PASSWORD") + } + } + + defaultConfig { + minSdkVersion 9 + targetSdkVersion 21 + } + + lintOptions { + abortOnError false + } + + sourceSets { + main { + manifest.srcFile "AndroidManifest.xml" + jni.srcDirs = [] + jniLibs.srcDirs = [] + aidl.srcDirs = ["src"] + java.srcDirs = ["src"] + resources.srcDirs = ["src"] + renderscript.srcDirs = ["src"] + res.srcDirs = ["res"] + assets.srcDirs = ["assets"] + } + } + + buildTypes { + debug { + signingConfig signingConfigs.development + } + release { + signingConfig signingConfigs.publishing + } + } +} + +repositories { + ivy { + name = "OsmAndBinariesIvy" + url = "http://builder.osmand.net" + layout "pattern", { + artifact "ivy/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" + } + } +} + +dependencies { +} diff --git a/plugins/Osmand-Skimaps/proguard-project.txt b/plugins/Osmand-Skimaps/proguard-project.txt new file mode 100644 index 0000000000..f2fe1559a2 --- /dev/null +++ b/plugins/Osmand-Skimaps/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/plugins/Osmand-Skimaps/project.properties b/plugins/Osmand-Skimaps/project.properties new file mode 100644 index 0000000000..4ab125693c --- /dev/null +++ b/plugins/Osmand-Skimaps/project.properties @@ -0,0 +1,14 @@ +# 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 edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-19 diff --git a/plugins/Osmand-Skimaps/res/drawable-hdpi/ic_launcher.png b/plugins/Osmand-Skimaps/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..96a442e5b8e9394ccf50bab9988cb2316026245d GIT binary patch literal 9397 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 literal 0 HcmV?d00001 diff --git a/plugins/Osmand-Skimaps/res/drawable-ldpi/icon.png b/plugins/Osmand-Skimaps/res/drawable-ldpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c99e8a25f70d64ed2ba830c9deb80f940932e220 GIT binary patch literal 2683 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 literal 0 HcmV?d00001 diff --git a/plugins/Osmand-Skimaps/res/drawable-mdpi/icon.png b/plugins/Osmand-Skimaps/res/drawable-mdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4af917296f51149d23d8495e64b89f1349a5b5cd GIT binary patch literal 5028 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 literal 0 HcmV?d00001 diff --git a/plugins/Osmand-Skimaps/res/drawable-xhdpi/ic_launcher.png b/plugins/Osmand-Skimaps/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..71c6d760f05183ef8a47c614d8d13380c8528499 GIT binary patch literal 14383 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 literal 0 HcmV?d00001 diff --git a/plugins/Osmand-Skimaps/res/drawable-xhdpi/icon.png b/plugins/Osmand-Skimaps/res/drawable-xhdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..655980e9521328128da25964528cfad62cbb075b GIT binary patch literal 11548 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 G_WuCYk#M*G literal 0 HcmV?d00001 diff --git a/plugins/Osmand-Skimaps/res/drawable-xxhdpi/icon.png b/plugins/Osmand-Skimaps/res/drawable-xxhdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f82c59aaad0f77b5acae2b236b4df5741d667b GIT binary patch literal 21398 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 literal 0 HcmV?d00001 diff --git a/plugins/Osmand-Skimaps/res/drawable-xxxhdpi/icon.png b/plugins/Osmand-Skimaps/res/drawable-xxxhdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9a554aeef5ce286447b701a6f12b84eab03f0d9a GIT binary patch literal 42204 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

jDdLNd`(xK>LR~YRkRGgz0i^Emd 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 + + + + + \ No newline at end of file diff --git a/plugins/Osmand-Skimaps/res/values/strings.xml b/plugins/Osmand-Skimaps/res/values/strings.xml new file mode 100644 index 0000000000..1ac4c0dcad --- /dev/null +++ b/plugins/Osmand-Skimaps/res/values/strings.xml @@ -0,0 +1,8 @@ + + + No + Yes + OsmAnd is not installed + OsmAnd Ski Maps + OsmAnd Ski Maps Plugin is installed and enabled in OsmAnd settings. + \ No newline at end of file diff --git a/plugins/Osmand-Skimaps/src/net/osmand/skimaps/SkiMapsActivity.java b/plugins/Osmand-Skimaps/src/net/osmand/skimaps/SkiMapsActivity.java new file mode 100644 index 0000000000..ba6cb48380 --- /dev/null +++ b/plugins/Osmand-Skimaps/src/net/osmand/skimaps/SkiMapsActivity.java @@ -0,0 +1,61 @@ +package net.osmand.skimaps; + +import net.osmand.skimapsPlugin.R; +import android.app.Activity; +import android.app.AlertDialog; +import android.content.ActivityNotFoundException; +import android.content.ComponentName; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.net.Uri; +import android.os.Bundle; + +public class SkiMapsActivity extends Activity { + private static final String OSMAND_COMPONENT = "net.osmand"; //$NON-NLS-1$ + private static final String OSMAND_COMPONENT_PLUS = "net.osmand.plus"; //$NON-NLS-1$ + private static final String OSMAND_ACTIVITY = "net.osmand.plus.activities.MapActivity"; //$NON-NLS-1$ + + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + Intent intentPlus = new Intent(); + intentPlus.setComponent(new ComponentName(OSMAND_COMPONENT_PLUS, OSMAND_ACTIVITY)); + intentPlus.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); + ResolveInfo resolved = getPackageManager().resolveActivity(intentPlus, PackageManager.MATCH_DEFAULT_ONLY); + if(resolved != null) { + stopService(intentPlus); + startActivity(intentPlus); + } else { + Intent intentNormal = new Intent(); + intentNormal.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); + intentNormal.setComponent(new ComponentName(OSMAND_COMPONENT, OSMAND_ACTIVITY)); + resolved = getPackageManager().resolveActivity(intentNormal, PackageManager.MATCH_DEFAULT_ONLY); + if (resolved != null) { + stopService(intentNormal); + startActivity(intentNormal); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setMessage(getString(R.string.osmand_app_not_found)); + builder.setPositiveButton(getString(R.string.shared_string_yes), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pname:" + OSMAND_COMPONENT_PLUS)); + try { + stopService(intent); + startActivity(intent); + } catch (ActivityNotFoundException e) { + } + } + }); + builder.setNegativeButton(getString(R.string.shared_string_no), null); + builder.show(); + } + } + } + +} \ No newline at end of file From 04afed3e6854b6cbd51a6049ccf684ef0745d5c4 Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Fri, 8 May 2015 23:52:20 +0200 Subject: [PATCH 2/2] Fix appcompat --- .../layout/abc_action_menu_item_layout.xml | 2 +- .../res/layout/abc_expanded_menu_layout.xml | 2 +- .../res/layout/abc_list_menu_item_layout.xml | 4 +-- .../res/layout/abc_popup_menu_item_layout.xml | 4 +-- .../v7/app/AppCompatDelegateImplBase.java | 6 ++-- .../v7/app/AppCompatDelegateImplV7.java | 32 ++++++++--------- .../v7/internal/app/ToolbarActionBar.java | 26 +++++++------- .../v7/internal/app/WindowDecorActionBar.java | 18 +++++----- .../internal/view/StandaloneActionMode.java | 18 +++++----- .../view/SupportActionModeWrapper.java | 2 +- .../v7/internal/view/SupportMenuInflater.java | 4 +-- .../internal/widget/ActionBarContextView.java | 4 +-- .../widget/ActionBarOverlayLayout.java | 2 +- .../internal/widget/DecorContentParent.java | 2 +- .../v7/internal/widget/DecorToolbar.java | 6 ++-- .../internal/widget/ToolbarWidgetWrapper.java | 10 +++--- .../v7/widget/ActionMenuPresenter.java | 24 ++++++------- .../support/v7/widget/ActionMenuView.java | 34 +++++++++---------- .../android/support/v7/widget/PopupMenu.java | 22 ++++++------ .../android/support/v7/widget/Toolbar.java | 30 ++++++++-------- .../rmenu}/ActionMenuItem.java | 2 +- .../rmenu}/ActionMenuItemView.java | 6 ++-- .../rmenu}/BaseMenuPresenter.java | 12 +++---- .../rmenu}/BaseMenuWrapper.java | 2 +- .../rmenu}/BaseWrapper.java | 2 +- .../rmenu}/ExpandedMenuView.java | 12 +++---- .../rmenu}/ListMenuItemView.java | 2 +- .../rmenu}/ListMenuPresenter.java | 12 +++---- .../rmenu/MBuilder.java} | 28 +++++++-------- .../rmenu}/MenuDialogHelper.java | 12 +++---- .../rmenu}/MenuItemImpl.java | 6 ++-- .../rmenu}/MenuItemWrapperICS.java | 2 +- .../rmenu}/MenuItemWrapperJB.java | 2 +- .../rmenu}/MenuPopupHelper.java | 24 ++++++------- .../rmenu}/MenuPresenter.java | 18 +++++----- .../rmenu}/MenuView.java | 10 +++--- .../rmenu}/MenuWrapperFactory.java | 2 +- .../rmenu}/MenuWrapperICS.java | 2 +- .../rmenu}/SubMenuBuilder.java | 12 +++---- .../rmenu}/SubMenuWrapperICS.java | 2 +- 40 files changed, 211 insertions(+), 211 deletions(-) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/ActionMenuItem.java (99%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/ActionMenuItemView.java (98%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/BaseMenuPresenter.java (94%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/BaseMenuWrapper.java (98%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/BaseWrapper.java (94%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/ExpandedMenuView.java (88%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/ListMenuItemView.java (99%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/ListMenuPresenter.java (95%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu/MenuBuilder.java => androidv7/rmenu/MBuilder.java} (98%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuDialogHelper.java (94%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuItemImpl.java (99%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuItemWrapperICS.java (99%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuItemWrapperJB.java (98%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuPopupHelper.java (93%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuPresenter.java (88%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuView.java (92%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuWrapperFactory.java (97%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/MenuWrapperICS.java (98%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/SubMenuBuilder.java (90%) rename eclipse-compile/appcompat/src/{android/support/v7/internal/view/renamemenu => androidv7/rmenu}/SubMenuWrapperICS.java (97%) diff --git a/eclipse-compile/appcompat/res/layout/abc_action_menu_item_layout.xml b/eclipse-compile/appcompat/res/layout/abc_action_menu_item_layout.xml index b1d68274b0..4df82e88cb 100644 --- a/eclipse-compile/appcompat/res/layout/abc_action_menu_item_layout.xml +++ b/eclipse-compile/appcompat/res/layout/abc_action_menu_item_layout.xml @@ -14,7 +14,7 @@ limitations under the License. --> - - - @@ -57,4 +57,4 @@ - + diff --git a/eclipse-compile/appcompat/res/layout/abc_popup_menu_item_layout.xml b/eclipse-compile/appcompat/res/layout/abc_popup_menu_item_layout.xml index 43fa49a6d6..7e9ba96f6f 100644 --- a/eclipse-compile/appcompat/res/layout/abc_popup_menu_item_layout.xml +++ b/eclipse-compile/appcompat/res/layout/abc_popup_menu_item_layout.xml @@ -14,7 +14,7 @@ limitations under the License. --> - - + diff --git a/eclipse-compile/appcompat/src/android/support/v7/app/AppCompatDelegateImplBase.java b/eclipse-compile/appcompat/src/android/support/v7/app/AppCompatDelegateImplBase.java index fd03461246..b7959a971c 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/app/AppCompatDelegateImplBase.java +++ b/eclipse-compile/appcompat/src/android/support/v7/app/AppCompatDelegateImplBase.java @@ -26,7 +26,6 @@ import android.os.Bundle; import android.support.v7.appcompat.R; import android.support.v7.internal.view.SupportMenuInflater; import android.support.v7.internal.view.WindowCallbackWrapper; -import android.support.v7.internal.view.renamemenu.MenuBuilder; import android.support.v7.internal.widget.TintTypedArray; import android.support.v7.view.ActionMode; import android.view.KeyEvent; @@ -34,6 +33,7 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.View; import android.view.Window; +import androidv7.rmenu.MBuilder; abstract class AppCompatDelegateImplBase extends AppCompatDelegate { @@ -243,7 +243,7 @@ abstract class AppCompatDelegateImplBase extends AppCompatDelegate { @Override public boolean onCreatePanelMenu(int featureId, Menu menu) { - if (featureId == Window.FEATURE_OPTIONS_PANEL && !(menu instanceof MenuBuilder)) { + if (featureId == Window.FEATURE_OPTIONS_PANEL && !(menu instanceof MBuilder)) { // If this is an options menu but it's not an AppCompat menu, we eat the event // and return false return false; @@ -253,7 +253,7 @@ abstract class AppCompatDelegateImplBase extends AppCompatDelegate { @Override public boolean onPreparePanel(int featureId, View view, Menu menu) { - if (featureId == Window.FEATURE_OPTIONS_PANEL && !(menu instanceof MenuBuilder)) { + if (featureId == Window.FEATURE_OPTIONS_PANEL && !(menu instanceof MBuilder)) { // If this is an options menu but it's not an AppCompat menu, we eat the event // and return false return false; diff --git a/eclipse-compile/appcompat/src/android/support/v7/app/AppCompatDelegateImplV7.java b/eclipse-compile/appcompat/src/android/support/v7/app/AppCompatDelegateImplV7.java index eac79f9aee..99f15f2b76 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/app/AppCompatDelegateImplV7.java +++ b/eclipse-compile/appcompat/src/android/support/v7/app/AppCompatDelegateImplV7.java @@ -43,10 +43,6 @@ import android.support.v7.internal.app.ToolbarActionBar; import android.support.v7.internal.app.WindowDecorActionBar; import android.support.v7.internal.view.ContextThemeWrapper; import android.support.v7.internal.view.StandaloneActionMode; -import android.support.v7.internal.view.renamemenu.ListMenuPresenter; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuPresenter; -import android.support.v7.internal.view.renamemenu.MenuView; import android.support.v7.internal.widget.ActionBarContextView; import android.support.v7.internal.widget.DecorContentParent; import android.support.v7.internal.widget.FitWindowsViewGroup; @@ -78,6 +74,10 @@ import android.view.accessibility.AccessibilityEvent; import android.widget.FrameLayout; import android.widget.PopupWindow; import android.widget.TextView; +import androidv7.rmenu.ListMenuPresenter; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuPresenter; +import androidv7.rmenu.MenuView; import static android.support.v4.view.WindowCompat.FEATURE_ACTION_BAR; import static android.support.v4.view.WindowCompat.FEATURE_ACTION_BAR_OVERLAY; import static android.support.v4.view.WindowCompat.FEATURE_ACTION_MODE_OVERLAY; @@ -86,7 +86,7 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static android.view.Window.FEATURE_OPTIONS_PANEL; class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase - implements MenuBuilder.Callback, LayoutInflaterFactory { + implements MBuilder.Callback, LayoutInflaterFactory { private DecorContentParent mDecorContentParent; private ActionMenuPresenterCallback mActionMenuPresenterCallback; @@ -545,7 +545,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase } @Override - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + public boolean onMenuItemSelected(MBuilder menu, MenuItem item) { final Window.Callback cb = getWindowCallback(); if (cb != null && !isDestroyed()) { final PanelFeatureState panel = findMenuPanel(menu.getRootMenu()); @@ -557,7 +557,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase } @Override - public void onMenuModeChange(MenuBuilder menu) { + public void onMenuModeChange(MBuilder menu) { reopenMenu(menu, true); } @@ -927,7 +927,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase return true; } - private void reopenMenu(MenuBuilder menu, boolean toggleMenuMode) { + private void reopenMenu(MBuilder menu, boolean toggleMenuMode) { if (mDecorContentParent != null && mDecorContentParent.canShowOverflowMenu() && (!ViewConfigurationCompat.hasPermanentMenuKey(ViewConfiguration.get(mContext)) || mDecorContentParent.isOverflowMenuShowPending())) { @@ -1007,7 +1007,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase } } - final MenuBuilder menu = new MenuBuilder(context); + final MBuilder menu = new MBuilder(context); menu.setCallback(this); st.setMenu(menu); @@ -1137,7 +1137,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase return true; } - private void checkCloseActionMenu(MenuBuilder menu) { + private void checkCloseActionMenu(MBuilder menu) { if (mClosingActionMenu) { return; } @@ -1506,7 +1506,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase private final class PanelMenuPresenterCallback implements MenuPresenter.Callback { @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { final Menu parentMenu = menu.getRootMenu(); final boolean isSubMenu = parentMenu != menu; final PanelFeatureState panel = findMenuPanel(isSubMenu ? parentMenu : menu); @@ -1523,7 +1523,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase } @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { + public boolean onOpenSubMenu(MBuilder subMenu) { if (subMenu == null && mHasActionBar) { Window.Callback cb = getWindowCallback(); if (cb != null && !isDestroyed()) { @@ -1536,7 +1536,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase private final class ActionMenuPresenterCallback implements MenuPresenter.Callback { @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { + public boolean onOpenSubMenu(MBuilder subMenu) { Window.Callback cb = getWindowCallback(); if (cb != null) { cb.onMenuOpened(FEATURE_ACTION_BAR, subMenu); @@ -1545,7 +1545,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase } @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { checkCloseActionMenu(menu); } } @@ -1575,7 +1575,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase View createdPanelView; /** Use {@link #setMenu} to set this. */ - MenuBuilder menu; + MBuilder menu; ListMenuPresenter listMenuPresenter; @@ -1670,7 +1670,7 @@ class AppCompatDelegateImplV7 extends AppCompatDelegateImplBase a.recycle(); } - void setMenu(MenuBuilder menu) { + void setMenu(MBuilder menu) { if (menu == this.menu) return; if (this.menu != null) { diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/app/ToolbarActionBar.java b/eclipse-compile/appcompat/src/android/support/v7/internal/app/ToolbarActionBar.java index 2be46f0c7c..857344b5b4 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/app/ToolbarActionBar.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/app/ToolbarActionBar.java @@ -26,9 +26,6 @@ import android.support.v4.view.WindowCompat; import android.support.v7.app.ActionBar; import android.support.v7.internal.view.WindowCallbackWrapper; import android.support.v7.appcompat.R; -import android.support.v7.internal.view.renamemenu.ListMenuPresenter; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuPresenter; import android.support.v7.internal.widget.DecorToolbar; import android.support.v7.internal.widget.ToolbarWidgetWrapper; import android.support.v7.widget.Toolbar; @@ -41,6 +38,9 @@ import android.view.MenuItem; import android.view.View; import android.view.Window; import android.widget.SpinnerAdapter; +import androidv7.rmenu.ListMenuPresenter; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuPresenter; import java.util.ArrayList; @@ -440,7 +440,7 @@ public class ToolbarActionBar extends ActionBar { void populateOptionsMenu() { final Menu menu = getMenu(); - final MenuBuilder mb = menu instanceof MenuBuilder ? (MenuBuilder) menu : null; + final MBuilder mb = menu instanceof MBuilder ? (MBuilder) menu : null; if (mb != null) { mb.stopDispatchingItemsChanged(); } @@ -505,8 +505,8 @@ public class ToolbarActionBar extends ActionBar { } private void ensureListMenuPresenter(Menu menu) { - if (mListMenuPresenter == null && (menu instanceof MenuBuilder)) { - MenuBuilder mb = (MenuBuilder) menu; + if (mListMenuPresenter == null && (menu instanceof MBuilder)) { + MBuilder mb = (MBuilder) menu; Context context = mDecorToolbar.getContext(); final TypedValue outValue = new TypedValue(); @@ -573,7 +573,7 @@ public class ToolbarActionBar extends ActionBar { private boolean mClosingActionMenu; @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { + public boolean onOpenSubMenu(MBuilder subMenu) { if (mWindowCallback != null) { mWindowCallback.onMenuOpened(WindowCompat.FEATURE_ACTION_BAR, subMenu); return true; @@ -582,7 +582,7 @@ public class ToolbarActionBar extends ActionBar { } @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { if (mClosingActionMenu) { return; } @@ -598,14 +598,14 @@ public class ToolbarActionBar extends ActionBar { private final class PanelMenuPresenterCallback implements MenuPresenter.Callback { @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { if (mWindowCallback != null) { mWindowCallback.onPanelClosed(Window.FEATURE_OPTIONS_PANEL, menu); } } @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { + public boolean onOpenSubMenu(MBuilder subMenu) { if (subMenu == null && mWindowCallback != null) { mWindowCallback.onMenuOpened(Window.FEATURE_OPTIONS_PANEL, subMenu); } @@ -613,15 +613,15 @@ public class ToolbarActionBar extends ActionBar { } } - private final class MenuBuilderCallback implements MenuBuilder.Callback { + private final class MenuBuilderCallback implements MBuilder.Callback { @Override - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + public boolean onMenuItemSelected(MBuilder menu, MenuItem item) { return false; } @Override - public void onMenuModeChange(MenuBuilder menu) { + public void onMenuModeChange(MBuilder menu) { if (mWindowCallback != null) { if (mDecorToolbar.isOverflowMenuShowing()) { mWindowCallback.onPanelClosed(WindowCompat.FEATURE_ACTION_BAR, menu); diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/app/WindowDecorActionBar.java b/eclipse-compile/appcompat/src/android/support/v7/internal/app/WindowDecorActionBar.java index 479ebb6dc9..2641bc77cd 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/app/WindowDecorActionBar.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/app/WindowDecorActionBar.java @@ -36,9 +36,6 @@ import android.support.v7.appcompat.R; import android.support.v7.internal.view.ActionBarPolicy; import android.support.v7.internal.view.ViewPropertyAnimatorCompatSet; import android.support.v7.internal.view.SupportMenuInflater; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuPopupHelper; -import android.support.v7.internal.view.renamemenu.SubMenuBuilder; import android.support.v7.internal.widget.ActionBarContainer; import android.support.v7.internal.widget.ActionBarContextView; import android.support.v7.internal.widget.ActionBarOverlayLayout; @@ -59,6 +56,9 @@ import android.view.Window; import android.view.accessibility.AccessibilityEvent; import android.view.animation.AnimationUtils; import android.widget.SpinnerAdapter; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuPopupHelper; +import androidv7.rmenu.SubMenuBuilder; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -949,9 +949,9 @@ public class WindowDecorActionBar extends ActionBar implements /** * @hide */ - public class ActionModeImpl extends ActionMode implements MenuBuilder.Callback { + public class ActionModeImpl extends ActionMode implements MBuilder.Callback { private final Context mActionModeContext; - private final MenuBuilder mMenu; + private final MBuilder mMenu; private ActionMode.Callback mCallback; private WeakReference mCustomView; @@ -959,7 +959,7 @@ public class WindowDecorActionBar extends ActionBar implements public ActionModeImpl(Context context, ActionMode.Callback callback) { mActionModeContext = context; mCallback = callback; - mMenu = new MenuBuilder(context) + mMenu = new MBuilder(context) .setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); mMenu.setCallback(this); } @@ -1083,7 +1083,7 @@ public class WindowDecorActionBar extends ActionBar implements return mCustomView != null ? mCustomView.get() : null; } - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + public boolean onMenuItemSelected(MBuilder menu, MenuItem item) { if (mCallback != null) { return mCallback.onActionItemClicked(this, item); } else { @@ -1091,7 +1091,7 @@ public class WindowDecorActionBar extends ActionBar implements } } - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { } public boolean onSubMenuSelected(SubMenuBuilder subMenu) { @@ -1110,7 +1110,7 @@ public class WindowDecorActionBar extends ActionBar implements public void onCloseSubMenu(SubMenuBuilder menu) { } - public void onMenuModeChange(MenuBuilder menu) { + public void onMenuModeChange(MBuilder menu) { if (mCallback == null) { return; } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/StandaloneActionMode.java b/eclipse-compile/appcompat/src/android/support/v7/internal/view/StandaloneActionMode.java index ef6a69c50c..0ba5c5f4a0 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/StandaloneActionMode.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/view/StandaloneActionMode.java @@ -18,9 +18,6 @@ package android.support.v7.internal.view; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuPopupHelper; -import android.support.v7.internal.view.renamemenu.SubMenuBuilder; import android.support.v7.internal.widget.ActionBarContextView; import android.support.v7.view.ActionMode; import android.view.Menu; @@ -28,13 +25,16 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.accessibility.AccessibilityEvent; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuPopupHelper; +import androidv7.rmenu.SubMenuBuilder; import java.lang.ref.WeakReference; /** * @hide */ -public class StandaloneActionMode extends ActionMode implements MenuBuilder.Callback { +public class StandaloneActionMode extends ActionMode implements MBuilder.Callback { private Context mContext; private ActionBarContextView mContextView; private ActionMode.Callback mCallback; @@ -42,7 +42,7 @@ public class StandaloneActionMode extends ActionMode implements MenuBuilder.Call private boolean mFinished; private boolean mFocusable; - private MenuBuilder mMenu; + private MBuilder mMenu; public StandaloneActionMode(Context context, ActionBarContextView view, ActionMode.Callback callback, boolean isFocusable) { @@ -50,7 +50,7 @@ public class StandaloneActionMode extends ActionMode implements MenuBuilder.Call mContextView = view; mCallback = callback; - mMenu = new MenuBuilder(context).setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + mMenu = new MBuilder(context).setDefaultShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); mMenu.setCallback(this); mFocusable = isFocusable; } @@ -133,11 +133,11 @@ public class StandaloneActionMode extends ActionMode implements MenuBuilder.Call return new MenuInflater(mContext); } - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + public boolean onMenuItemSelected(MBuilder menu, MenuItem item) { return mCallback.onActionItemClicked(this, item); } - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { } public boolean onSubMenuSelected(SubMenuBuilder subMenu) { @@ -152,7 +152,7 @@ public class StandaloneActionMode extends ActionMode implements MenuBuilder.Call public void onCloseSubMenu(SubMenuBuilder menu) { } - public void onMenuModeChange(MenuBuilder menu) { + public void onMenuModeChange(MBuilder menu) { invalidate(); mContextView.showOverflowMenu(); } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/SupportActionModeWrapper.java b/eclipse-compile/appcompat/src/android/support/v7/internal/view/SupportActionModeWrapper.java index 75aa66c848..d236f13b3c 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/SupportActionModeWrapper.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/view/SupportActionModeWrapper.java @@ -22,11 +22,11 @@ import android.os.Build; import android.support.v4.internal.view.SupportMenu; import android.support.v4.internal.view.SupportMenuItem; import android.support.v4.util.SimpleArrayMap; -import android.support.v7.internal.view.renamemenu.MenuWrapperFactory; import android.view.ActionMode; import android.view.Menu; import android.view.MenuInflater; import android.view.View; +import androidv7.rmenu.MenuWrapperFactory; /** * Wraps a support {@link android.support.v7.view.ActionMode} as a framework diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/SupportMenuInflater.java b/eclipse-compile/appcompat/src/android/support/v7/internal/view/SupportMenuInflater.java index 1fcc846e95..cd88bebcfc 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/SupportMenuInflater.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/view/SupportMenuInflater.java @@ -28,8 +28,6 @@ import android.support.v4.internal.view.SupportMenu; import android.support.v4.view.ActionProvider; import android.support.v4.view.MenuItemCompat; import android.support.v7.appcompat.R; -import android.support.v7.internal.view.renamemenu.MenuItemImpl; -import android.support.v7.internal.view.renamemenu.MenuItemWrapperICS; import android.util.AttributeSet; import android.util.Log; import android.util.Xml; @@ -39,6 +37,8 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.SubMenu; import android.view.View; +import androidv7.rmenu.MenuItemImpl; +import androidv7.rmenu.MenuItemWrapperICS; import java.io.IOException; import java.lang.reflect.Constructor; diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ActionBarContextView.java b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ActionBarContextView.java index 75a623d4a9..bc5cb1e28e 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ActionBarContextView.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ActionBarContextView.java @@ -28,7 +28,6 @@ import android.support.v7.internal.view.ViewPropertyAnimatorCompatSet; import android.support.v7.view.ActionMode; import android.support.v7.widget.ActionMenuPresenter; import android.support.v7.widget.ActionMenuView; -import android.support.v7.internal.view.renamemenu.MenuBuilder; import android.text.TextUtils; import android.util.AttributeSet; import android.view.LayoutInflater; @@ -38,6 +37,7 @@ import android.view.accessibility.AccessibilityEvent; import android.view.animation.DecelerateInterpolator; import android.widget.LinearLayout; import android.widget.TextView; +import androidv7.rmenu.MBuilder; /** * @hide @@ -222,7 +222,7 @@ public class ActionBarContextView extends AbsActionBarView implements ViewProper } }); - final MenuBuilder menu = (MenuBuilder) mode.getMenu(); + final MBuilder menu = (MBuilder) mode.getMenu(); if (mActionMenuPresenter != null) { mActionMenuPresenter.dismissPopupMenus(); } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ActionBarOverlayLayout.java b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ActionBarOverlayLayout.java index 0a6b33fa7b..81abf3cf69 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ActionBarOverlayLayout.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ActionBarOverlayLayout.java @@ -31,7 +31,6 @@ import android.support.v4.view.ViewPropertyAnimatorListenerAdapter; import android.support.v4.widget.ScrollerCompat; import android.support.v7.appcompat.R; import android.support.v7.internal.VersionUtils; -import android.support.v7.internal.view.renamemenu.MenuPresenter; import android.support.v7.widget.Toolbar; import android.util.AttributeSet; import android.util.SparseArray; @@ -39,6 +38,7 @@ import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.view.Window; +import androidv7.rmenu.MenuPresenter; /** * Special layout for the containing of an overlay action bar (and its content) to correctly handle diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/DecorContentParent.java b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/DecorContentParent.java index 780aeebbe1..3563a4ccda 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/DecorContentParent.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/DecorContentParent.java @@ -19,10 +19,10 @@ package android.support.v7.internal.widget; import android.graphics.drawable.Drawable; import android.os.Parcelable; -import android.support.v7.internal.view.renamemenu.MenuPresenter; import android.util.SparseArray; import android.view.Menu; import android.view.Window; +import androidv7.rmenu.MenuPresenter; /** * Implemented by the top-level decor layout for a window. DecorContentParent offers diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/DecorToolbar.java b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/DecorToolbar.java index f824dd7c11..42f42b0a83 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/DecorToolbar.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/DecorToolbar.java @@ -20,14 +20,14 @@ package android.support.v7.internal.widget; import android.content.Context; import android.graphics.drawable.Drawable; import android.os.Parcelable; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuPresenter; import android.util.SparseArray; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.SpinnerAdapter; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuPresenter; /** * Common interface for a toolbar that sits as part of the window decor. @@ -98,7 +98,7 @@ public interface DecorToolbar { void setVisibility(int visible); int getVisibility(); void setMenuCallbacks(MenuPresenter.Callback presenterCallback, - MenuBuilder.Callback menuBuilderCallback); + MBuilder.Callback menuBuilderCallback); Menu getMenu(); int getPopupTheme(); } \ No newline at end of file diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ToolbarWidgetWrapper.java b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ToolbarWidgetWrapper.java index 148bb27c8e..3ee9ec8eaa 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ToolbarWidgetWrapper.java +++ b/eclipse-compile/appcompat/src/android/support/v7/internal/widget/ToolbarWidgetWrapper.java @@ -24,9 +24,6 @@ import android.os.Parcelable; import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewPropertyAnimatorListenerAdapter; import android.support.v7.appcompat.R; -import android.support.v7.internal.view.renamemenu.ActionMenuItem; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuPresenter; import android.support.v7.widget.ActionMenuPresenter; import android.support.v7.widget.Toolbar; import android.text.TextUtils; @@ -39,6 +36,9 @@ import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.widget.SpinnerAdapter; +import androidv7.rmenu.ActionMenuItem; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuPresenter; /** * Internal class used to interact with the Toolbar widget without @@ -411,7 +411,7 @@ public class ToolbarWidgetWrapper implements DecorToolbar { mActionMenuPresenter.setId(R.id.action_menu_presenter); } mActionMenuPresenter.setCallback(cb); - mToolbar.setMenu((MenuBuilder) menu, mActionMenuPresenter); + mToolbar.setMenu((MBuilder) menu, mActionMenuPresenter); } @Override @@ -699,7 +699,7 @@ public class ToolbarWidgetWrapper implements DecorToolbar { @Override public void setMenuCallbacks(MenuPresenter.Callback actionMenuPresenterCallback, - MenuBuilder.Callback menuBuilderCallback) { + MBuilder.Callback menuBuilderCallback) { mToolbar.setMenuCallbacks(actionMenuPresenterCallback, menuBuilderCallback); } diff --git a/eclipse-compile/appcompat/src/android/support/v7/widget/ActionMenuPresenter.java b/eclipse-compile/appcompat/src/android/support/v7/widget/ActionMenuPresenter.java index 054fb7875f..d4cda5f122 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/widget/ActionMenuPresenter.java +++ b/eclipse-compile/appcompat/src/android/support/v7/widget/ActionMenuPresenter.java @@ -28,13 +28,6 @@ import android.support.v4.view.GravityCompat; import android.support.v7.appcompat.R; import android.support.v7.internal.transition.ActionBarTransition; import android.support.v7.internal.view.ActionBarPolicy; -import android.support.v7.internal.view.renamemenu.ActionMenuItemView; -import android.support.v7.internal.view.renamemenu.BaseMenuPresenter; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuItemImpl; -import android.support.v7.internal.view.renamemenu.MenuPopupHelper; -import android.support.v7.internal.view.renamemenu.MenuView; -import android.support.v7.internal.view.renamemenu.SubMenuBuilder; import android.support.v7.internal.widget.TintImageView; import android.util.SparseBooleanArray; import android.view.MenuItem; @@ -42,6 +35,13 @@ import android.view.SoundEffectConstants; import android.view.View; import android.view.View.MeasureSpec; import android.view.ViewGroup; +import androidv7.rmenu.ActionMenuItemView; +import androidv7.rmenu.BaseMenuPresenter; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuItemImpl; +import androidv7.rmenu.MenuPopupHelper; +import androidv7.rmenu.MenuView; +import androidv7.rmenu.SubMenuBuilder; import java.util.ArrayList; @@ -87,7 +87,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter } @Override - public void initForMenu(Context context, MenuBuilder menu) { + public void initForMenu(Context context, MBuilder menu) { super.initForMenu(context, menu); final Resources res = context.getResources(); @@ -510,7 +510,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter } @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { dismissPopupMenus(); super.onCloseMenu(menu, allMenusAreClosing); } @@ -669,7 +669,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter private class OverflowPopup extends MenuPopupHelper { - public OverflowPopup(Context context, MenuBuilder menu, View anchorView, + public OverflowPopup(Context context, MBuilder menu, View anchorView, boolean overflowOnly) { super(context, menu, anchorView, overflowOnly, R.attr.actionOverflowMenuStyle); setGravity(GravityCompat.END); @@ -723,7 +723,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter private class PopupPresenterCallback implements Callback { @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { + public boolean onOpenSubMenu(MBuilder subMenu) { if (subMenu == null) return false; mOpenSubMenuId = ((SubMenuBuilder) subMenu).getItem().getItemId(); @@ -732,7 +732,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter } @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { if (menu instanceof SubMenuBuilder) { ((SubMenuBuilder) menu).getRootMenu().close(false); } diff --git a/eclipse-compile/appcompat/src/android/support/v7/widget/ActionMenuView.java b/eclipse-compile/appcompat/src/android/support/v7/widget/ActionMenuView.java index 811f468186..56df7c8ed5 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/widget/ActionMenuView.java +++ b/eclipse-compile/appcompat/src/android/support/v7/widget/ActionMenuView.java @@ -18,11 +18,6 @@ package android.support.v7.widget; import android.content.Context; import android.content.res.Configuration; import android.os.Build; -import android.support.v7.internal.view.renamemenu.ActionMenuItemView; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuItemImpl; -import android.support.v7.internal.view.renamemenu.MenuPresenter; -import android.support.v7.internal.view.renamemenu.MenuView; import android.support.v7.internal.widget.ViewUtils; import android.util.AttributeSet; import android.view.ContextThemeWrapper; @@ -33,6 +28,11 @@ import android.view.View; import android.view.ViewDebug; import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; +import androidv7.rmenu.ActionMenuItemView; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuItemImpl; +import androidv7.rmenu.MenuPresenter; +import androidv7.rmenu.MenuView; /** * ActionMenuView is a presentation of a series of menu options as a View. It provides @@ -40,7 +40,7 @@ import android.view.accessibility.AccessibilityEvent; * items in an overflow menu. This allows applications to present packs of actions inline with * specific or repeating content. */ -public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.ItemInvoker, +public class ActionMenuView extends LinearLayoutCompat implements MBuilder.ItemInvoker, MenuView { private static final String TAG = "ActionMenuView"; @@ -48,7 +48,7 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It static final int MIN_CELL_SIZE = 56; // dips static final int GENERATED_ITEM_PADDING = 4; // dips - private MenuBuilder mMenu; + private MBuilder mMenu; private Context mContext; @@ -61,7 +61,7 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It private boolean mReserveOverflow; private ActionMenuPresenter mPresenter; private MenuPresenter.Callback mActionMenuPresenterCallback; - private MenuBuilder.Callback mMenuBuilderCallback; + private MBuilder.Callback mMenuBuilderCallback; private boolean mFormatItems; private int mFormatItemsWidth; private int mMinCellSize; @@ -604,7 +604,7 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It } /** @hide */ - public void initialize(MenuBuilder menu) { + public void initialize(MBuilder menu) { mMenu = menu; } @@ -619,7 +619,7 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It public Menu getMenu() { if (mMenu == null) { final Context context = getContext(); - mMenu = new MenuBuilder(context); + mMenu = new MBuilder(context); mMenu.setCallback(new MenuBuilderCallback()); mPresenter = new ActionMenuPresenter(context); mPresenter.setReserveOverflow(true); @@ -636,7 +636,7 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It * Must be called before the first call to getMenu() * @hide */ - public void setMenuCallbacks(MenuPresenter.Callback pcb, MenuBuilder.Callback mcb) { + public void setMenuCallbacks(MenuPresenter.Callback pcb, MBuilder.Callback mcb) { mActionMenuPresenterCallback = pcb; mMenuBuilderCallback = mcb; } @@ -645,7 +645,7 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It * Returns the current menu or null if one has not yet been configured. * @hide Internal use only for action bar integration */ - public MenuBuilder peekMenu() { + public MBuilder peekMenu() { return mMenu; } @@ -734,15 +734,15 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It public boolean onMenuItemClick(MenuItem item); } - private class MenuBuilderCallback implements MenuBuilder.Callback { + private class MenuBuilderCallback implements MBuilder.Callback { @Override - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + public boolean onMenuItemSelected(MBuilder menu, MenuItem item) { return mOnMenuItemClickListener != null && mOnMenuItemClickListener.onMenuItemClick(item); } @Override - public void onMenuModeChange(MenuBuilder menu) { + public void onMenuModeChange(MBuilder menu) { if (mMenuBuilderCallback != null) { mMenuBuilderCallback.onMenuModeChange(menu); } @@ -751,11 +751,11 @@ public class ActionMenuView extends LinearLayoutCompat implements MenuBuilder.It private class ActionMenuPresenterCallback implements ActionMenuPresenter.Callback { @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { } @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { + public boolean onOpenSubMenu(MBuilder subMenu) { return false; } } diff --git a/eclipse-compile/appcompat/src/android/support/v7/widget/PopupMenu.java b/eclipse-compile/appcompat/src/android/support/v7/widget/PopupMenu.java index 17f22a802a..cd26dd3a76 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/widget/PopupMenu.java +++ b/eclipse-compile/appcompat/src/android/support/v7/widget/PopupMenu.java @@ -21,15 +21,15 @@ import android.content.Context; import android.support.annotation.MenuRes; import android.support.v7.appcompat.R; import android.support.v7.internal.view.SupportMenuInflater; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuPopupHelper; -import android.support.v7.internal.view.renamemenu.MenuPresenter; -import android.support.v7.internal.view.renamemenu.SubMenuBuilder; import android.view.Gravity; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuPopupHelper; +import androidv7.rmenu.MenuPresenter; +import androidv7.rmenu.SubMenuBuilder; /** * Static library support version of the framework's {@link android.widget.PopupMenu}. @@ -38,9 +38,9 @@ import android.view.View; * to switch to the framework's implementation. See the framework SDK * documentation for a class overview. */ -public class PopupMenu implements MenuBuilder.Callback, MenuPresenter.Callback { +public class PopupMenu implements MBuilder.Callback, MenuPresenter.Callback { private Context mContext; - private MenuBuilder mMenu; + private MBuilder mMenu; private View mAnchor; private MenuPopupHelper mPopup; private OnMenuItemClickListener mMenuItemClickListener; @@ -105,7 +105,7 @@ public class PopupMenu implements MenuBuilder.Callback, MenuPresenter.Callback { public PopupMenu(Context context, View anchor, int gravity, int popupStyleAttr, int popupStyleRes) { mContext = context; - mMenu = new MenuBuilder(context); + mMenu = new MBuilder(context); mMenu.setCallback(this); mAnchor = anchor; mPopup = new MenuPopupHelper(context, mMenu, anchor, false, popupStyleAttr, popupStyleRes); @@ -222,7 +222,7 @@ public class PopupMenu implements MenuBuilder.Callback, MenuPresenter.Callback { /** * @hide */ - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item) { + public boolean onMenuItemSelected(MBuilder menu, MenuItem item) { if (mMenuItemClickListener != null) { return mMenuItemClickListener.onMenuItemClick(item); } @@ -232,7 +232,7 @@ public class PopupMenu implements MenuBuilder.Callback, MenuPresenter.Callback { /** * @hide */ - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { if (mDismissListener != null) { mDismissListener.onDismiss(this); } @@ -241,7 +241,7 @@ public class PopupMenu implements MenuBuilder.Callback, MenuPresenter.Callback { /** * @hide */ - public boolean onOpenSubMenu(MenuBuilder subMenu) { + public boolean onOpenSubMenu(MBuilder subMenu) { if (subMenu == null) return false; if (!subMenu.hasVisibleItems()) { @@ -262,7 +262,7 @@ public class PopupMenu implements MenuBuilder.Callback, MenuPresenter.Callback { /** * @hide */ - public void onMenuModeChange(MenuBuilder menu) { + public void onMenuModeChange(MBuilder menu) { } /** diff --git a/eclipse-compile/appcompat/src/android/support/v7/widget/Toolbar.java b/eclipse-compile/appcompat/src/android/support/v7/widget/Toolbar.java index d5381c892b..2512601d95 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/widget/Toolbar.java +++ b/eclipse-compile/appcompat/src/android/support/v7/widget/Toolbar.java @@ -31,11 +31,6 @@ import android.support.v4.view.ViewCompat; import android.support.v7.app.ActionBar; import android.support.v7.appcompat.R; import android.support.v7.internal.view.SupportMenuInflater; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuItemImpl; -import android.support.v7.internal.view.renamemenu.MenuPresenter; -import android.support.v7.internal.view.renamemenu.MenuView; -import android.support.v7.internal.view.renamemenu.SubMenuBuilder; import android.support.v7.internal.widget.DecorToolbar; import android.support.v7.internal.widget.RtlSpacingHelper; import android.support.v7.internal.widget.TintManager; @@ -57,6 +52,11 @@ import android.view.ViewGroup; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuItemImpl; +import androidv7.rmenu.MenuPresenter; +import androidv7.rmenu.MenuView; +import androidv7.rmenu.SubMenuBuilder; import java.util.ArrayList; import java.util.List; @@ -171,7 +171,7 @@ public class Toolbar extends ViewGroup { private ActionMenuPresenter mOuterActionMenuPresenter; private ExpandedActionViewMenuPresenter mExpandedMenuPresenter; private MenuPresenter.Callback mActionMenuPresenterCallback; - private MenuBuilder.Callback mMenuBuilderCallback; + private MBuilder.Callback mMenuBuilderCallback; private boolean mCollapsible; private int mMinHeight; @@ -369,13 +369,13 @@ public class Toolbar extends ViewGroup { } /** @hide */ - public void setMenu(MenuBuilder menu, ActionMenuPresenter outerPresenter) { + public void setMenu(MBuilder menu, ActionMenuPresenter outerPresenter) { if (menu == null && mMenuView == null) { return; } ensureMenuView(); - final MenuBuilder oldMenu = mMenuView.peekMenu(); + final MBuilder oldMenu = mMenuView.peekMenu(); if (oldMenu == menu) { return; } @@ -825,7 +825,7 @@ public class Toolbar extends ViewGroup { ensureMenuView(); if (mMenuView.peekMenu() == null) { // Initialize a new menu for the first time. - final MenuBuilder menu = (MenuBuilder) mMenuView.getMenu(); + final MBuilder menu = (MBuilder) mMenuView.getMenu(); if (mExpandedMenuPresenter == null) { mExpandedMenuPresenter = new ExpandedActionViewMenuPresenter(); } @@ -1767,7 +1767,7 @@ public class Toolbar extends ViewGroup { * Must be called before the menu is accessed * @hide */ - public void setMenuCallbacks(MenuPresenter.Callback pcb, MenuBuilder.Callback mcb) { + public void setMenuCallbacks(MenuPresenter.Callback pcb, MBuilder.Callback mcb) { mActionMenuPresenterCallback = pcb; mMenuBuilderCallback = mcb; } @@ -1904,11 +1904,11 @@ public class Toolbar extends ViewGroup { } private class ExpandedActionViewMenuPresenter implements MenuPresenter { - MenuBuilder mMenu; + MBuilder mMenu; MenuItemImpl mCurrentExpandedItem; @Override - public void initForMenu(Context context, MenuBuilder menu) { + public void initForMenu(Context context, MBuilder menu) { // Clear the expanded action view when menus change. if (mMenu != null && mCurrentExpandedItem != null) { mMenu.collapseItemActionView(mCurrentExpandedItem); @@ -1955,7 +1955,7 @@ public class Toolbar extends ViewGroup { } @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { } @Override @@ -1964,7 +1964,7 @@ public class Toolbar extends ViewGroup { } @Override - public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item) { + public boolean expandItemActionView(MBuilder menu, MenuItemImpl item) { ensureCollapseButtonView(); if (mCollapseButtonView.getParent() != Toolbar.this) { addView(mCollapseButtonView); @@ -1991,7 +1991,7 @@ public class Toolbar extends ViewGroup { } @Override - public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) { + public boolean collapseItemActionView(MBuilder menu, MenuItemImpl item) { // Do this before detaching the actionview from the hierarchy, in case // it needs to dismiss the soft keyboard, etc. if (mExpandedActionView instanceof CollapsibleActionView) { diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ActionMenuItem.java b/eclipse-compile/appcompat/src/androidv7/rmenu/ActionMenuItem.java similarity index 99% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ActionMenuItem.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/ActionMenuItem.java index b23f2a9c53..4734828a65 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ActionMenuItem.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/ActionMenuItem.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.content.Intent; diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ActionMenuItemView.java b/eclipse-compile/appcompat/src/androidv7/rmenu/ActionMenuItemView.java similarity index 98% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ActionMenuItemView.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/ActionMenuItemView.java index 534b2a5b91..06ba322251 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ActionMenuItemView.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/ActionMenuItemView.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.content.res.Configuration; @@ -52,7 +52,7 @@ public class ActionMenuItemView extends CompatTextView private MenuItemImpl mItemData; private CharSequence mTitle; private Drawable mIcon; - private MenuBuilder.ItemInvoker mItemInvoker; + private MBuilder.ItemInvoker mItemInvoker; private ListPopupWindow.ForwardingListener mForwardingListener; private PopupCallback mPopupCallback; @@ -144,7 +144,7 @@ public class ActionMenuItemView extends CompatTextView } } - public void setItemInvoker(MenuBuilder.ItemInvoker invoker) { + public void setItemInvoker(MBuilder.ItemInvoker invoker) { mItemInvoker = invoker; } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseMenuPresenter.java b/eclipse-compile/appcompat/src/androidv7/rmenu/BaseMenuPresenter.java similarity index 94% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseMenuPresenter.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/BaseMenuPresenter.java index fadb046829..0e9302bfaa 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseMenuPresenter.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/BaseMenuPresenter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.support.v4.view.ViewCompat; @@ -35,7 +35,7 @@ public abstract class BaseMenuPresenter implements MenuPresenter { protected Context mSystemContext; protected Context mContext; - protected MenuBuilder mMenu; + protected MBuilder mMenu; protected LayoutInflater mSystemInflater; protected LayoutInflater mInflater; private Callback mCallback; @@ -62,7 +62,7 @@ public abstract class BaseMenuPresenter implements MenuPresenter { } @Override - public void initForMenu(Context context, MenuBuilder menu) { + public void initForMenu(Context context, MBuilder menu) { mContext = context; mInflater = LayoutInflater.from(mContext); mMenu = menu; @@ -202,7 +202,7 @@ public abstract class BaseMenuPresenter implements MenuPresenter { return true; } - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { if (mCallback != null) { mCallback.onCloseMenu(menu, allMenusAreClosing); } @@ -219,11 +219,11 @@ public abstract class BaseMenuPresenter implements MenuPresenter { return false; } - public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item) { + public boolean expandItemActionView(MBuilder menu, MenuItemImpl item) { return false; } - public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) { + public boolean collapseItemActionView(MBuilder menu, MenuItemImpl item) { return false; } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseMenuWrapper.java b/eclipse-compile/appcompat/src/androidv7/rmenu/BaseMenuWrapper.java similarity index 98% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseMenuWrapper.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/BaseMenuWrapper.java index c4b03001b9..83cef168b1 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseMenuWrapper.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/BaseMenuWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.support.v4.internal.view.SupportMenuItem; diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseWrapper.java b/eclipse-compile/appcompat/src/androidv7/rmenu/BaseWrapper.java similarity index 94% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseWrapper.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/BaseWrapper.java index d20164b780..0918a22950 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/BaseWrapper.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/BaseWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; class BaseWrapper { diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ExpandedMenuView.java b/eclipse-compile/appcompat/src/androidv7/rmenu/ExpandedMenuView.java similarity index 88% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ExpandedMenuView.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/ExpandedMenuView.java index 8dab7afe5f..c718fe9606 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ExpandedMenuView.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/ExpandedMenuView.java @@ -14,18 +14,18 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; -import android.support.v7.internal.view.renamemenu.MenuBuilder; -import android.support.v7.internal.view.renamemenu.MenuView; -import android.support.v7.internal.view.renamemenu.MenuBuilder.ItemInvoker; import android.support.v7.internal.widget.TintTypedArray; import android.util.AttributeSet; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; +import androidv7.rmenu.MBuilder; +import androidv7.rmenu.MenuView; +import androidv7.rmenu.MBuilder.ItemInvoker; /** * The expanded menu view is a list-like menu with all of the available menu items. It is opened @@ -41,7 +41,7 @@ public final class ExpandedMenuView extends ListView android.R.attr.divider }; - private MenuBuilder mMenu; + private MBuilder mMenu; /** Default animations for this menu */ private int mAnimations; @@ -66,7 +66,7 @@ public final class ExpandedMenuView extends ListView } @Override - public void initialize(MenuBuilder menu) { + public void initialize(MBuilder menu) { mMenu = menu; } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ListMenuItemView.java b/eclipse-compile/appcompat/src/androidv7/rmenu/ListMenuItemView.java similarity index 99% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ListMenuItemView.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/ListMenuItemView.java index 5bae59cd7c..260e0891a7 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ListMenuItemView.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/ListMenuItemView.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.content.res.TypedArray; diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ListMenuPresenter.java b/eclipse-compile/appcompat/src/androidv7/rmenu/ListMenuPresenter.java similarity index 95% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ListMenuPresenter.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/ListMenuPresenter.java index 6dce39ef9f..fde65fca9a 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/ListMenuPresenter.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/ListMenuPresenter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.database.DataSetObserver; @@ -42,7 +42,7 @@ public class ListMenuPresenter implements MenuPresenter, AdapterView.OnItemClick Context mContext; LayoutInflater mInflater; - MenuBuilder mMenu; + MBuilder mMenu; ExpandedMenuView mMenuView; @@ -80,7 +80,7 @@ public class ListMenuPresenter implements MenuPresenter, AdapterView.OnItemClick } @Override - public void initForMenu(Context context, MenuBuilder menu) { + public void initForMenu(Context context, MBuilder menu) { if (mThemeRes != 0) { mContext = new ContextThemeWrapper(context, mThemeRes); mInflater = LayoutInflater.from(mContext); @@ -147,7 +147,7 @@ public class ListMenuPresenter implements MenuPresenter, AdapterView.OnItemClick } @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { if (mCallback != null) { mCallback.onCloseMenu(menu, allMenusAreClosing); } @@ -174,11 +174,11 @@ public class ListMenuPresenter implements MenuPresenter, AdapterView.OnItemClick return false; } - public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item) { + public boolean expandItemActionView(MBuilder menu, MenuItemImpl item) { return false; } - public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) { + public boolean collapseItemActionView(MBuilder menu, MenuItemImpl item) { return false; } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuBuilder.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MBuilder.java similarity index 98% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuBuilder.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MBuilder.java index c7305fdefd..0a1910fa05 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuBuilder.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MBuilder.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.ComponentName; import android.content.Context; @@ -51,7 +51,7 @@ import java.util.concurrent.CopyOnWriteArrayList; * * @hide */ -public class MenuBuilder implements SupportMenu { +public class MBuilder implements SupportMenu { private static final String TAG = "MenuBuilder"; @@ -188,14 +188,14 @@ public class MenuBuilder implements SupportMenu { * @param item The menu item that is selected * @return whether the menu item selection was handled */ - public boolean onMenuItemSelected(MenuBuilder menu, MenuItem item); + public boolean onMenuItemSelected(MBuilder menu, MenuItem item); /** * Called when the mode of the menu changes (for example, from icon to expanded). * * @param menu the menu that has changed modes */ - public void onMenuModeChange(MenuBuilder menu); + public void onMenuModeChange(MBuilder menu); } /** @@ -206,7 +206,7 @@ public class MenuBuilder implements SupportMenu { public boolean invokeItem(MenuItemImpl item); } - public MenuBuilder(Context context) { + public MBuilder(Context context) { mContext = context; mResources = context.getResources(); @@ -222,7 +222,7 @@ public class MenuBuilder implements SupportMenu { setShortcutsVisibleInner(true); } - public MenuBuilder setDefaultShowAsAction(int defaultShowAsAction) { + public MBuilder setDefaultShowAsAction(int defaultShowAsAction) { mDefaultShowAsAction = defaultShowAsAction; return this; } @@ -798,7 +798,7 @@ public class MenuBuilder implements SupportMenu { return mContext; } - boolean dispatchMenuItemSelected(MenuBuilder menu, MenuItem item) { + boolean dispatchMenuItemSelected(MBuilder menu, MenuItem item) { return mCallback != null && mCallback.onMenuItemSelected(menu, item); } @@ -862,7 +862,7 @@ public class MenuBuilder implements SupportMenu { for (int i = 0; i < N; i++) { MenuItemImpl item = mItems.get(i); if (item.hasSubMenu()) { - ((MenuBuilder)item.getSubMenu()).findItemsWithShortcutForKey(items, keyCode, event); + ((MBuilder)item.getSubMenu()).findItemsWithShortcutForKey(items, keyCode, event); } final char shortcutChar = qwerty ? item.getAlphabeticShortcut() : item.getNumericShortcut(); if (((metaState & (KeyEvent.META_SHIFT_ON | KeyEvent.META_SYM_ON)) == 0) && @@ -1208,7 +1208,7 @@ public class MenuBuilder implements SupportMenu { * @param title The new title. * @return This MenuBuilder so additional setters can be called. */ - protected MenuBuilder setHeaderTitleInt(CharSequence title) { + protected MBuilder setHeaderTitleInt(CharSequence title) { setHeaderInternal(0, title, 0, null, null); return this; } @@ -1220,7 +1220,7 @@ public class MenuBuilder implements SupportMenu { * @param titleRes The new title (as a resource ID). * @return This MenuBuilder so additional setters can be called. */ - protected MenuBuilder setHeaderTitleInt(int titleRes) { + protected MBuilder setHeaderTitleInt(int titleRes) { setHeaderInternal(titleRes, null, 0, null, null); return this; } @@ -1232,7 +1232,7 @@ public class MenuBuilder implements SupportMenu { * @param icon The new icon. * @return This MenuBuilder so additional setters can be called. */ - protected MenuBuilder setHeaderIconInt(Drawable icon) { + protected MBuilder setHeaderIconInt(Drawable icon) { setHeaderInternal(0, null, 0, icon, null); return this; } @@ -1244,7 +1244,7 @@ public class MenuBuilder implements SupportMenu { * @param iconRes The new icon (as a resource ID). * @return This MenuBuilder so additional setters can be called. */ - protected MenuBuilder setHeaderIconInt(int iconRes) { + protected MBuilder setHeaderIconInt(int iconRes) { setHeaderInternal(0, null, iconRes, null, null); return this; } @@ -1256,7 +1256,7 @@ public class MenuBuilder implements SupportMenu { * @param view The new view. * @return This MenuBuilder so additional setters can be called. */ - protected MenuBuilder setHeaderViewInt(View view) { + protected MBuilder setHeaderViewInt(View view) { setHeaderInternal(0, null, 0, null, view); return this; } @@ -1278,7 +1278,7 @@ public class MenuBuilder implements SupportMenu { * * @return The root menu. */ - public MenuBuilder getRootMenu() { + public MBuilder getRootMenu() { return this; } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuDialogHelper.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuDialogHelper.java similarity index 94% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuDialogHelper.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuDialogHelper.java index 2b5f04865f..eaf21e4ec3 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuDialogHelper.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuDialogHelper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.app.AlertDialog; import android.app.Dialog; @@ -35,12 +35,12 @@ public class MenuDialogHelper implements DialogInterface.OnKeyListener, DialogInterface.OnClickListener, DialogInterface.OnDismissListener, MenuPresenter.Callback { - private MenuBuilder mMenu; + private MBuilder mMenu; private AlertDialog mDialog; ListMenuPresenter mPresenter; private MenuPresenter.Callback mPresenterCallback; - public MenuDialogHelper(MenuBuilder menu) { + public MenuDialogHelper(MBuilder menu) { mMenu = menu; } @@ -51,7 +51,7 @@ public class MenuDialogHelper implements DialogInterface.OnKeyListener, */ public void show(IBinder windowToken) { // Many references to mMenu, create local reference - final MenuBuilder menu = mMenu; + final MBuilder menu = mMenu; // Get the builder for the dialog final AlertDialog.Builder builder = new AlertDialog.Builder(menu.getContext()); @@ -149,7 +149,7 @@ public class MenuDialogHelper implements DialogInterface.OnKeyListener, } @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { if (allMenusAreClosing || menu == mMenu) { dismiss(); } @@ -159,7 +159,7 @@ public class MenuDialogHelper implements DialogInterface.OnKeyListener, } @Override - public boolean onOpenSubMenu(MenuBuilder subMenu) { + public boolean onOpenSubMenu(MBuilder subMenu) { if (mPresenterCallback != null) { return mPresenterCallback.onOpenSubMenu(subMenu); } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemImpl.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemImpl.java similarity index 99% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemImpl.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemImpl.java index 26de7c7b99..38dba90792 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemImpl.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemImpl.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.ActivityNotFoundException; import android.content.Context; @@ -67,7 +67,7 @@ public final class MenuItemImpl implements SupportMenuItem { private int mIconResId = NO_ICON; /** The menu to which this item belongs */ - private MenuBuilder mMenu; + private MBuilder mMenu; /** If this item should launch a sub menu, this is the sub menu to launch */ private SubMenuBuilder mSubMenu; @@ -116,7 +116,7 @@ public final class MenuItemImpl implements SupportMenuItem { * @param categoryOrder The ordering for this item. * @param title The text to display for the item. */ - MenuItemImpl(MenuBuilder menu, int group, int id, int categoryOrder, int ordering, + MenuItemImpl(MBuilder menu, int group, int id, int categoryOrder, int ordering, CharSequence title, int showAsAction) { /*if (sPrependShortcutLabel == null) { diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemWrapperICS.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemWrapperICS.java similarity index 99% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemWrapperICS.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemWrapperICS.java index 8ac355fdf3..451195c991 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemWrapperICS.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemWrapperICS.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.annotation.TargetApi; import android.content.Context; diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemWrapperJB.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemWrapperJB.java similarity index 98% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemWrapperJB.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemWrapperJB.java index e1cc932487..115e39043c 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuItemWrapperJB.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuItemWrapperJB.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.annotation.TargetApi; import android.content.Context; diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuPopupHelper.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuPopupHelper.java similarity index 93% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuPopupHelper.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuPopupHelper.java index bfe02d6067..050503c93f 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuPopupHelper.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuPopupHelper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.content.res.Resources; @@ -52,7 +52,7 @@ public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.On private final Context mContext; private final LayoutInflater mInflater; - private final MenuBuilder mMenu; + private final MBuilder mMenu; private final MenuAdapter mAdapter; private final boolean mOverflowOnly; private final int mPopupMaxWidth; @@ -76,20 +76,20 @@ public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.On private int mDropDownGravity = Gravity.NO_GRAVITY; - public MenuPopupHelper(Context context, MenuBuilder menu) { + public MenuPopupHelper(Context context, MBuilder menu) { this(context, menu, null, false, R.attr.popupMenuStyle); } - public MenuPopupHelper(Context context, MenuBuilder menu, View anchorView) { + public MenuPopupHelper(Context context, MBuilder menu, View anchorView) { this(context, menu, anchorView, false, R.attr.popupMenuStyle); } - public MenuPopupHelper(Context context, MenuBuilder menu, View anchorView, + public MenuPopupHelper(Context context, MBuilder menu, View anchorView, boolean overflowOnly, int popupStyleAttr) { this(context, menu, anchorView, overflowOnly, popupStyleAttr, 0); } - public MenuPopupHelper(Context context, MenuBuilder menu, View anchorView, + public MenuPopupHelper(Context context, MBuilder menu, View anchorView, boolean overflowOnly, int popupStyleAttr, int popupStyleRes) { mContext = context; mInflater = LayoutInflater.from(context); @@ -244,7 +244,7 @@ public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.On } @Override - public void initForMenu(Context context, MenuBuilder menu) { + public void initForMenu(Context context, MBuilder menu) { // Don't need to do anything; we added as a presenter in the constructor. } @@ -295,7 +295,7 @@ public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.On } @Override - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing) { + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing) { // Only care about the (sub)menu we're presenting. if (menu != mMenu) return; @@ -310,11 +310,11 @@ public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.On return false; } - public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item) { + public boolean expandItemActionView(MBuilder menu, MenuItemImpl item) { return false; } - public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item) { + public boolean collapseItemActionView(MBuilder menu, MenuItemImpl item) { return false; } @@ -333,10 +333,10 @@ public class MenuPopupHelper implements AdapterView.OnItemClickListener, View.On } private class MenuAdapter extends BaseAdapter { - private MenuBuilder mAdapterMenu; + private MBuilder mAdapterMenu; private int mExpandedIndex = -1; - public MenuAdapter(MenuBuilder menu) { + public MenuAdapter(MBuilder menu) { mAdapterMenu = menu; findExpandedIndex(); } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuPresenter.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuPresenter.java similarity index 88% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuPresenter.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuPresenter.java index 2496ed5df7..359b9aed3a 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuPresenter.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuPresenter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.os.Parcelable; @@ -39,7 +39,7 @@ public interface MenuPresenter { * @param menu * @param allMenusAreClosing */ - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing); + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing); /** * Called when a submenu opens. Useful for notifying the application @@ -50,22 +50,22 @@ public interface MenuPresenter { * @return true if the Callback will handle presenting the submenu, false if * the presenter should attempt to do so. */ - public boolean onOpenSubMenu(MenuBuilder subMenu); + public boolean onOpenSubMenu(MBuilder subMenu); } /** * Initialize this presenter for the given context and menu. * This method is called by MenuBuilder when a presenter is - * added. See {@link MenuBuilder#addMenuPresenter(MenuPresenter)} + * added. See {@link MBuilder#addMenuPresenter(MenuPresenter)} * * @param context Context for this presenter; used for view creation and resource management * @param menu Menu to host */ - public void initForMenu(Context context, MenuBuilder menu); + public void initForMenu(Context context, MBuilder menu); /** * Retrieve a MenuView to display the menu specified in - * {@link #initForMenu(Context, MenuBuilder)}. + * {@link #initForMenu(Context, MBuilder)}. * * @param root Intended parent of the MenuView. * @return A freshly created MenuView. @@ -105,7 +105,7 @@ public interface MenuPresenter { * @param menu Menu or submenu that is closing. * @param allMenusAreClosing True if all associated menus are closing. */ - public void onCloseMenu(MenuBuilder menu, boolean allMenusAreClosing); + public void onCloseMenu(MBuilder menu, boolean allMenusAreClosing); /** * Called by Menu implementations to flag items that will be shown as actions. @@ -120,7 +120,7 @@ public interface MenuPresenter { * @param item Item to be expanded * @return true if this presenter expanded the action view, false otherwise. */ - public boolean expandItemActionView(MenuBuilder menu, MenuItemImpl item); + public boolean expandItemActionView(MBuilder menu, MenuItemImpl item); /** * Called when a menu item with a collapsable action view should collapse its action view. @@ -129,7 +129,7 @@ public interface MenuPresenter { * @param item Item to be collapsed * @return true if this presenter collapsed the action view, false otherwise. */ - public boolean collapseItemActionView(MenuBuilder menu, MenuItemImpl item); + public boolean collapseItemActionView(MBuilder menu, MenuItemImpl item); /** * Returns an ID for determining how to save/restore instance state. diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuView.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuView.java similarity index 92% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuView.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuView.java index 8a4052b03e..eb2713bfeb 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuView.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuView.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.graphics.drawable.Drawable; /** - * Minimal interface for a menu view. {@link #initialize(MenuBuilder)} must be called for the + * Minimal interface for a menu view. {@link #initialize(MBuilder)} must be called for the * menu to be functional. * * @hide @@ -31,7 +31,7 @@ public interface MenuView { * * @param menu The menu that this MenuView should display. */ - public void initialize(MenuBuilder menu); + public void initialize(MBuilder menu); /** * Returns the default animations to be used for this menu when entering/exiting. @@ -49,8 +49,8 @@ public interface MenuView { * inflated. * @param itemData The item that this ItemView should display. * @param menuType The type of this menu, one of - * {@link MenuBuilder#TYPE_ICON}, {@link MenuBuilder#TYPE_EXPANDED}, - * {@link MenuBuilder#TYPE_DIALOG}). + * {@link MBuilder#TYPE_ICON}, {@link MBuilder#TYPE_EXPANDED}, + * {@link MBuilder#TYPE_DIALOG}). */ public void initialize(MenuItemImpl itemData, int menuType); diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuWrapperFactory.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuWrapperFactory.java similarity index 97% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuWrapperFactory.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuWrapperFactory.java index ae681eb108..f2bbdc5515 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuWrapperFactory.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuWrapperFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.os.Build; diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuWrapperICS.java b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuWrapperICS.java similarity index 98% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuWrapperICS.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/MenuWrapperICS.java index 863be3e545..23e64c0574 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/MenuWrapperICS.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/MenuWrapperICS.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.ComponentName; import android.content.Context; diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/SubMenuBuilder.java b/eclipse-compile/appcompat/src/androidv7/rmenu/SubMenuBuilder.java similarity index 90% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/SubMenuBuilder.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/SubMenuBuilder.java index cae726330a..145c709d2a 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/SubMenuBuilder.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/SubMenuBuilder.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.graphics.drawable.Drawable; @@ -30,11 +30,11 @@ import android.view.View; * * @hide */ -public class SubMenuBuilder extends MenuBuilder implements SubMenu { - private MenuBuilder mParentMenu; +public class SubMenuBuilder extends MBuilder implements SubMenu { + private MBuilder mParentMenu; private MenuItemImpl mItem; - public SubMenuBuilder(Context context, MenuBuilder parentMenu, MenuItemImpl item) { + public SubMenuBuilder(Context context, MBuilder parentMenu, MenuItemImpl item) { super(context); mParentMenu = parentMenu; @@ -75,12 +75,12 @@ public class SubMenuBuilder extends MenuBuilder implements SubMenu { } @Override - public MenuBuilder getRootMenu() { + public MBuilder getRootMenu() { return mParentMenu; } @Override - boolean dispatchMenuItemSelected(MenuBuilder menu, MenuItem item) { + boolean dispatchMenuItemSelected(MBuilder menu, MenuItem item) { return super.dispatchMenuItemSelected(menu, item) || mParentMenu.dispatchMenuItemSelected(menu, item); } diff --git a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/SubMenuWrapperICS.java b/eclipse-compile/appcompat/src/androidv7/rmenu/SubMenuWrapperICS.java similarity index 97% rename from eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/SubMenuWrapperICS.java rename to eclipse-compile/appcompat/src/androidv7/rmenu/SubMenuWrapperICS.java index cdf3451984..0e98b9a7f5 100644 --- a/eclipse-compile/appcompat/src/android/support/v7/internal/view/renamemenu/SubMenuWrapperICS.java +++ b/eclipse-compile/appcompat/src/androidv7/rmenu/SubMenuWrapperICS.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.support.v7.internal.view.renamemenu; +package androidv7.rmenu; import android.content.Context; import android.graphics.drawable.Drawable;