From 647a423aa4bc0cba10233ed25fea6c687e27d838 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 12 Aug 2013 17:43:27 +0200 Subject: [PATCH] (Android Phoenix) Split up menu classes into separate .java files --- android/phoenix/AndroidManifest.xml | 3 + .../retroarch/browser/HoneycombPopupMenu.java | 49 +++++++++ .../org/retroarch/browser/LazyPopupMenu.java | 15 +++ .../retroarch/browser/PopupMenuAbstract.java | 60 +++++++++++ .../src/org/retroarch/browser/RetroArch.java | 102 ------------------ 5 files changed, 127 insertions(+), 102 deletions(-) create mode 100644 android/phoenix/src/org/retroarch/browser/HoneycombPopupMenu.java create mode 100644 android/phoenix/src/org/retroarch/browser/LazyPopupMenu.java create mode 100644 android/phoenix/src/org/retroarch/browser/PopupMenuAbstract.java diff --git a/android/phoenix/AndroidManifest.xml b/android/phoenix/AndroidManifest.xml index 54364a192e..30e4c40026 100644 --- a/android/phoenix/AndroidManifest.xml +++ b/android/phoenix/AndroidManifest.xml @@ -24,6 +24,9 @@ + + + diff --git a/android/phoenix/src/org/retroarch/browser/HoneycombPopupMenu.java b/android/phoenix/src/org/retroarch/browser/HoneycombPopupMenu.java new file mode 100644 index 0000000000..ca4026a913 --- /dev/null +++ b/android/phoenix/src/org/retroarch/browser/HoneycombPopupMenu.java @@ -0,0 +1,49 @@ +package org.retroarch.browser; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.widget.PopupMenu; + +@TargetApi(Build.VERSION_CODES.HONEYCOMB) +class HoneycombPopupMenu extends LazyPopupMenu { + private PopupMenu instance; + HoneycombPopupMenu.OnMenuItemClickListener listen; + + public HoneycombPopupMenu(Context context, View anchor) + { + instance = new PopupMenu(context, anchor); + } + + @Override + public void setOnMenuItemClickListener(HoneycombPopupMenu.OnMenuItemClickListener listener) + { + listen = listener; + instance.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + return listen.onMenuItemClick(item); + } + + }); + } + + @Override + public Menu getMenu() { + return instance.getMenu(); + } + + @Override + public MenuInflater getMenuInflater() { + return instance.getMenuInflater(); + } + + @Override + public void show() { + instance.show(); + } +} diff --git a/android/phoenix/src/org/retroarch/browser/LazyPopupMenu.java b/android/phoenix/src/org/retroarch/browser/LazyPopupMenu.java new file mode 100644 index 0000000000..9e72cb5622 --- /dev/null +++ b/android/phoenix/src/org/retroarch/browser/LazyPopupMenu.java @@ -0,0 +1,15 @@ +package org.retroarch.browser; + +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; + +abstract class LazyPopupMenu { + public abstract Menu getMenu(); + public abstract MenuInflater getMenuInflater(); + public abstract void setOnMenuItemClickListener(LazyPopupMenu.OnMenuItemClickListener listener); + public abstract void show(); + public interface OnMenuItemClickListener { + public abstract boolean onMenuItemClick(MenuItem item); + } +} \ No newline at end of file diff --git a/android/phoenix/src/org/retroarch/browser/PopupMenuAbstract.java b/android/phoenix/src/org/retroarch/browser/PopupMenuAbstract.java new file mode 100644 index 0000000000..5477a187d7 --- /dev/null +++ b/android/phoenix/src/org/retroarch/browser/PopupMenuAbstract.java @@ -0,0 +1,60 @@ +package org.retroarch.browser; + +import android.content.Context; +import android.os.Build; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.View; + +class PopupMenuAbstract extends LazyPopupMenu +{ + private LazyPopupMenu lazy; + + public PopupMenuAbstract(Context context, View anchor) + { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) + { + lazy = new HoneycombPopupMenu(context, anchor); + } + } + + @Override + public Menu getMenu() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) + { + return lazy.getMenu(); + } + else + { + return null; + } + } + + @Override + public MenuInflater getMenuInflater() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) + { + return lazy.getMenuInflater(); + } + else + { + return null; + } + } + + @Override + public void setOnMenuItemClickListener(PopupMenuAbstract.OnMenuItemClickListener listener) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) + { + lazy.setOnMenuItemClickListener(listener); + } + } + + @Override + public void show() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) + { + lazy.show(); + } + } +} diff --git a/android/phoenix/src/org/retroarch/browser/RetroArch.java b/android/phoenix/src/org/retroarch/browser/RetroArch.java index a001da96af..22d17b94d2 100644 --- a/android/phoenix/src/org/retroarch/browser/RetroArch.java +++ b/android/phoenix/src/org/retroarch/browser/RetroArch.java @@ -382,105 +382,3 @@ public class RetroArch extends Activity implements } } } - -abstract class LazyPopupMenu { - public abstract Menu getMenu(); - public abstract MenuInflater getMenuInflater(); - public abstract void setOnMenuItemClickListener(LazyPopupMenu.OnMenuItemClickListener listener); - public abstract void show(); - public interface OnMenuItemClickListener { - public abstract boolean onMenuItemClick(MenuItem item); - } -} - -@TargetApi(Build.VERSION_CODES.HONEYCOMB) -class HoneycombPopupMenu extends LazyPopupMenu { - private PopupMenu instance; - HoneycombPopupMenu.OnMenuItemClickListener listen; - - public HoneycombPopupMenu(Context context, View anchor) - { - instance = new PopupMenu(context, anchor); - } - - @Override - public void setOnMenuItemClickListener(HoneycombPopupMenu.OnMenuItemClickListener listener) - { - listen = listener; - instance.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { - @Override - public boolean onMenuItemClick(MenuItem item) { - return listen.onMenuItemClick(item); - } - - }); - } - - @Override - public Menu getMenu() { - return instance.getMenu(); - } - - @Override - public MenuInflater getMenuInflater() { - return instance.getMenuInflater(); - } - - @Override - public void show() { - instance.show(); - } -} - -class PopupMenuAbstract extends LazyPopupMenu -{ - private LazyPopupMenu lazy; - - public PopupMenuAbstract(Context context, View anchor) - { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) - { - lazy = new HoneycombPopupMenu(context, anchor); - } - } - - @Override - public Menu getMenu() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) - { - return lazy.getMenu(); - } - else - { - return null; - } - } - - @Override - public MenuInflater getMenuInflater() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) - { - return lazy.getMenuInflater(); - } - else - { - return null; - } - } - - @Override - public void setOnMenuItemClickListener(PopupMenuAbstract.OnMenuItemClickListener listener) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) - { - lazy.setOnMenuItemClickListener(listener); - } - } - - @Override - public void show() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) - { - lazy.show(); - } - } -}