From 6ed16bb26a0ee94a800965d82b9d794ba216ed4d Mon Sep 17 00:00:00 2001 From: Sergey Solovyev Date: Mon, 23 Apr 2012 11:31:23 +0400 Subject: [PATCH 1/2] Hide numeral base preference --- calculatorpp/res/values-ru/text_preferences.xml | 3 +++ calculatorpp/res/values-uk/text_preferences.xml | 3 +++ calculatorpp/res/values/text_preferences.xml | 3 +++ calculatorpp/res/xml/preferences.xml | 7 +++++++ .../android/calculator/CalculatorPreferences.java | 1 + .../android/calculator/NumeralBaseButtons.java | 11 ++++++++--- 6 files changed, 25 insertions(+), 3 deletions(-) diff --git a/calculatorpp/res/values-ru/text_preferences.xml b/calculatorpp/res/values-ru/text_preferences.xml index 2e8c8a67..683aabbc 100644 --- a/calculatorpp/res/values-ru/text_preferences.xml +++ b/calculatorpp/res/values-ru/text_preferences.xml @@ -4,4 +4,7 @@ Показывать клавишу равно Если включено, то клавиша равно будет показана + + Не показывать цифры из других систем счисления + Если включено, то цифры из других систем счисления будут спрятаны \ No newline at end of file diff --git a/calculatorpp/res/values-uk/text_preferences.xml b/calculatorpp/res/values-uk/text_preferences.xml index 2e8c8a67..683aabbc 100644 --- a/calculatorpp/res/values-uk/text_preferences.xml +++ b/calculatorpp/res/values-uk/text_preferences.xml @@ -4,4 +4,7 @@ Показывать клавишу равно Если включено, то клавиша равно будет показана + + Не показывать цифры из других систем счисления + Если включено, то цифры из других систем счисления будут спрятаны \ No newline at end of file diff --git a/calculatorpp/res/values/text_preferences.xml b/calculatorpp/res/values/text_preferences.xml index 955341ae..8f440c2f 100644 --- a/calculatorpp/res/values/text_preferences.xml +++ b/calculatorpp/res/values/text_preferences.xml @@ -4,4 +4,7 @@ Show equals button If turned on equals button is shown + + Hide other numeral base digits + If turned on other numeral base digits base will be hidden \ No newline at end of file diff --git a/calculatorpp/res/xml/preferences.xml b/calculatorpp/res/xml/preferences.xml index 1d334547..5a279369 100644 --- a/calculatorpp/res/xml/preferences.xml +++ b/calculatorpp/res/xml/preferences.xml @@ -148,6 +148,13 @@ a:summary="@string/c_show_equals_button_summary" a:defaultValue="true"/> + + + usePrevAsBack = new BooleanPreference("org.solovyev.android.calculator.CalculatorActivity_use_back_button_as_prev", false); public static final Preference showEqualsButton = new BooleanPreference("showEqualsButton", true); public static final Preference autoOrientation = new BooleanPreference("autoOrientation", true); + public static final Preference hideNumeralBaseDigits = new BooleanPreference("hideNumeralBaseDigits", true); public static enum Theme { diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/NumeralBaseButtons.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/NumeralBaseButtons.java index c2b7d088..ffc6b4d7 100644 --- a/calculatorpp/src/main/java/org/solovyev/android/calculator/NumeralBaseButtons.java +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/NumeralBaseButtons.java @@ -13,7 +13,7 @@ import org.solovyev.android.calculator.model.CalculatorEngine; */ public class NumeralBaseButtons { - public synchronized void toggleNumericDigits(@NotNull Activity activity, @NotNull NumeralBase currentNumeralBase) { + private synchronized void toggleNumericDigits(@NotNull Activity activity, @NotNull NumeralBase currentNumeralBase) { for (NumeralBase numeralBase : NumeralBase.values()) { if ( currentNumeralBase != numeralBase ) { AndroidNumeralBase.valueOf(numeralBase).toggleButtons(false, activity); @@ -24,7 +24,12 @@ public class NumeralBaseButtons { } public synchronized void toggleNumericDigits(@NotNull Activity activity, @NotNull SharedPreferences preferences) { - final NumeralBase nb = CalculatorEngine.Preferences.numeralBase.getPreference(preferences); - this.toggleNumericDigits(activity, nb); + if (CalculatorPreferences.Gui.hideNumeralBaseDigits.getPreference(preferences)) { + final NumeralBase nb = CalculatorEngine.Preferences.numeralBase.getPreference(preferences); + this.toggleNumericDigits(activity, nb); + } else { + // set HEX to show all digits + AndroidNumeralBase.valueOf(NumeralBase.hex).toggleButtons(true, activity); + } } } From fd2fc566e3d0a1e85ced7913d23deecd2b31f042 Mon Sep 17 00:00:00 2001 From: Sergey Solovyev Date: Mon, 23 Apr 2012 15:08:39 +0400 Subject: [PATCH 2/2] Menu changes --- calculatorpp/AndroidManifest.xml | 4 +- .../org/solovyev/android/ActivityMenu.java | 20 +++++ .../solovyev/android/LayoutActivityMenu.java | 73 ++++++++++++++++++ .../calculator/CalculatorActivity.java | 62 ++++----------- .../android/calculator/CalculatorDisplay.java | 10 +-- .../android/calculator/CalculatorMenu.java | 75 +++++++++++++++++++ .../history/HistoryItemMenuItem.java | 16 ++-- .../edit/AbstractMathEntityListActivity.java | 7 +- .../edit/CalculatorFunctionsActivity.java | 11 +-- .../edit/CalculatorOperatorsActivity.java | 11 +-- .../math/edit/CalculatorVarsActivity.java | 18 ++--- pom.xml | 1 + 12 files changed, 225 insertions(+), 83 deletions(-) create mode 100644 calculatorpp/src/main/java/org/solovyev/android/ActivityMenu.java create mode 100644 calculatorpp/src/main/java/org/solovyev/android/LayoutActivityMenu.java create mode 100644 calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorMenu.java diff --git a/calculatorpp/AndroidManifest.xml b/calculatorpp/AndroidManifest.xml index 117a6ffc..d4f3b3c8 100644 --- a/calculatorpp/AndroidManifest.xml +++ b/calculatorpp/AndroidManifest.xml @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ - + diff --git a/calculatorpp/src/main/java/org/solovyev/android/ActivityMenu.java b/calculatorpp/src/main/java/org/solovyev/android/ActivityMenu.java new file mode 100644 index 00000000..0315fa7e --- /dev/null +++ b/calculatorpp/src/main/java/org/solovyev/android/ActivityMenu.java @@ -0,0 +1,20 @@ +package org.solovyev.android; + +import android.app.Activity; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import org.jetbrains.annotations.NotNull; +import org.solovyev.android.calculator.*; + +/** + * User: serso + * Date: 4/23/12 + * Time: 1:56 PM + */ +public interface ActivityMenu { + + public boolean onCreateOptionsMenu(@NotNull Activity activity, @NotNull Menu menu); + + public boolean onOptionsItemSelected(@NotNull Activity activity, @NotNull MenuItem item); +} diff --git a/calculatorpp/src/main/java/org/solovyev/android/LayoutActivityMenu.java b/calculatorpp/src/main/java/org/solovyev/android/LayoutActivityMenu.java new file mode 100644 index 00000000..334cf129 --- /dev/null +++ b/calculatorpp/src/main/java/org/solovyev/android/LayoutActivityMenu.java @@ -0,0 +1,73 @@ +package org.solovyev.android; + +import android.app.Activity; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import org.jetbrains.annotations.NotNull; +import org.solovyev.android.menu.AMenuItem; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * User: serso + * Date: 4/23/12 + * Time: 1:57 PM + */ +public class LayoutActivityMenu implements ActivityMenu { + + public final int menuLayoutId; + + @NotNull + private List menuItems; + + private LayoutActivityMenu(int menuLayoutId) { + this.menuLayoutId = menuLayoutId; + } + + public static ActivityMenu newInstance(int menuLayoutId, @NotNull Class enumMenuClass) { + final LayoutActivityMenu result = new LayoutActivityMenu(menuLayoutId); + + result.menuItems = new ArrayList(enumMenuClass.getEnumConstants().length); + + Collections.addAll(result.menuItems, enumMenuClass.getEnumConstants()); + + return result; + } + + public static ActivityMenu newInstance(int menuLayoutId, @NotNull List menuItems) { + final LayoutActivityMenu result = new LayoutActivityMenu(menuLayoutId); + + result.menuItems = menuItems; + + return result; + } + + + @Override + public boolean onCreateOptionsMenu(@NotNull Activity activity, @NotNull Menu menu) { + final MenuInflater menuInflater = activity.getMenuInflater(); + menuInflater.inflate(menuLayoutId, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(@NotNull Activity activity, @NotNull MenuItem item) { + for (LayoutMenuItem menuItem : menuItems) { + if (menuItem.getItemId().equals(item.getItemId())) { + menuItem.onClick(item, activity); + return true; + } + } + + return activity.onOptionsItemSelected(item); + } + + public static interface LayoutMenuItem extends AMenuItem { + + @NotNull + Integer getItemId(); + } +} diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorActivity.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorActivity.java index b5845324..73e203cf 100644 --- a/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorActivity.java +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorActivity.java @@ -28,10 +28,7 @@ import net.robotmedia.billing.BillingController; import net.robotmedia.billing.IBillingObserver; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.solovyev.android.AndroidUtils; -import org.solovyev.android.FontSizeAdjuster; -import org.solovyev.android.LocalBinder; -import org.solovyev.android.ResourceCache; +import org.solovyev.android.*; import org.solovyev.android.calculator.about.CalculatorReleaseNotesActivity; import org.solovyev.android.calculator.history.CalculatorHistory; import org.solovyev.android.calculator.history.CalculatorHistoryState; @@ -48,6 +45,9 @@ import org.solovyev.common.utils.history.HistoryAction; public class CalculatorActivity extends Activity implements FontSizeAdjuster, SharedPreferences.OnSharedPreferenceChangeListener, ServiceConnection { + @NotNull + public static final String TAG = "Calculator++"; + private static final int HVGA_WIDTH_PIXELS = 320; @Nullable @@ -78,7 +78,10 @@ public class CalculatorActivity extends Activity implements FontSizeAdjuster, Sh @NotNull private NumeralBaseButtons numeralBaseButtons = new NumeralBaseButtons(); - /** + @NotNull + private ActivityMenu menu = LayoutActivityMenu.newInstance(R.menu.main_menu, CalculatorMenu.class); + + /** * Called when the activity is first created. */ @Override @@ -579,48 +582,15 @@ public class CalculatorActivity extends Activity implements FontSizeAdjuster, Sh } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - final MenuInflater menuInflater = getMenuInflater(); - menuInflater.inflate(R.menu.main_menu, menu); - return true; - } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + return this.menu.onCreateOptionsMenu(this, menu); + } - @Override - public boolean onOptionsItemSelected(MenuItem item) { - boolean result; - - switch (item.getItemId()) { - case R.id.main_menu_item_settings: - CalculatorActivityLauncher.showSettings(this); - result = true; - break; - case R.id.main_menu_item_history: - CalculatorActivityLauncher.showHistory(this); - result = true; - break; - case R.id.main_menu_item_about: - CalculatorActivityLauncher.showAbout(this); - result = true; - break; - case R.id.main_menu_item_help: - CalculatorActivityLauncher.showHelp(this); - result = true; - break; - case R.id.main_menu_conversion_tool: - new NumeralBaseConverterDialog(null).show(this); - result = true; - break; - case R.id.main_menu_item_exit: - this.finish(); - result = true; - break; - default: - result = super.onOptionsItemSelected(item); - } - - return result; - } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + return menu.onOptionsItemSelected(this, item); + } /** * The font sizes in the layout files are specified for a HVGA display. diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorDisplay.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorDisplay.java index 5f034f0b..b799e741 100644 --- a/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorDisplay.java +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorDisplay.java @@ -21,7 +21,7 @@ import org.solovyev.android.calculator.model.CalculatorParseException; import org.solovyev.android.calculator.model.TextProcessor; import org.solovyev.android.calculator.view.NumeralBaseConverterDialog; import org.solovyev.android.calculator.view.TextHighlighter; -import org.solovyev.android.menu.AMenuItem; +import org.solovyev.android.menu.LabeledMenuItem; import org.solovyev.android.view.AutoResizeTextView; import org.solovyev.common.utils.CollectionsUtils; @@ -35,18 +35,18 @@ import java.util.Set; */ public class CalculatorDisplay extends AutoResizeTextView implements ICalculatorDisplay{ - public static enum MenuItem implements AMenuItem { + public static enum MenuItem implements LabeledMenuItem { copy(R.string.c_copy) { @Override - public void doAction(@NotNull CalculatorDisplay data, @NotNull Context context) { + public void onClick(@NotNull CalculatorDisplay data, @NotNull Context context) { CalculatorModel.copyResult(context, data); } }, convert(R.string.c_convert) { @Override - public void doAction(@NotNull CalculatorDisplay data, @NotNull Context context) { + public void onClick(@NotNull CalculatorDisplay data, @NotNull Context context) { new NumeralBaseConverterDialog(data.getGenericResult().toString()).show(context); } @@ -58,7 +58,7 @@ public class CalculatorDisplay extends AutoResizeTextView implements ICalculator plot(R.string.c_plot) { @Override - public void doAction(@NotNull CalculatorDisplay data, @NotNull Context context) { + public void onClick(@NotNull CalculatorDisplay data, @NotNull Context context) { final Generic generic = data.getGenericResult(); assert generic != null; diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorMenu.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorMenu.java new file mode 100644 index 00000000..6cbdbd7d --- /dev/null +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/CalculatorMenu.java @@ -0,0 +1,75 @@ +package org.solovyev.android.calculator; + +import android.app.Activity; +import android.content.Context; +import android.util.Log; +import android.view.MenuItem; +import org.jetbrains.annotations.NotNull; +import org.solovyev.android.LayoutActivityMenu; +import org.solovyev.android.calculator.view.NumeralBaseConverterDialog; + +/** + * User: serso + * Date: 4/23/12 + * Time: 2:25 PM + */ +enum CalculatorMenu implements LayoutActivityMenu.LayoutMenuItem { + + settings(R.id.main_menu_item_settings){ + @Override + public void onClick(@NotNull MenuItem data, @NotNull Context context) { + CalculatorActivityLauncher.showSettings(context); + } + }, + + history(R.id.main_menu_item_history) { + @Override + public void onClick(@NotNull MenuItem data, @NotNull Context context) { + CalculatorActivityLauncher.showHistory(context); + } + }, + + about(R.id.main_menu_item_about) { + @Override + public void onClick(@NotNull MenuItem data, @NotNull Context context) { + CalculatorActivityLauncher.showAbout(context); + } + }, + + help(R.id.main_menu_item_help) { + @Override + public void onClick(@NotNull MenuItem data, @NotNull Context context) { + CalculatorActivityLauncher.showHelp(context); + } + }, + + conversion_tool( R.id.main_menu_conversion_tool) { + @Override + public void onClick(@NotNull MenuItem data, @NotNull Context context) { + new NumeralBaseConverterDialog(null).show(context); + } + }, + + exit(R.id.main_menu_item_exit) { + @Override + public void onClick(@NotNull MenuItem data, @NotNull Context context) { + if (context instanceof Activity) { + ((Activity) context).finish(); + } else { + Log.e(CalculatorActivity.TAG, "Activity menu used with context"); + } + } + }; + + private final int menuItemId; + + private CalculatorMenu (int menuItemId) { + this.menuItemId = menuItemId; + } + + @NotNull + @Override + public Integer getItemId() { + return menuItemId; + } +} diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/history/HistoryItemMenuItem.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/history/HistoryItemMenuItem.java index 6708cbfd..8b937780 100644 --- a/calculatorpp/src/main/java/org/solovyev/android/calculator/history/HistoryItemMenuItem.java +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/history/HistoryItemMenuItem.java @@ -19,7 +19,7 @@ import android.widget.TextView; import android.widget.Toast; import org.jetbrains.annotations.NotNull; import org.solovyev.android.calculator.R; -import org.solovyev.android.menu.AMenuItem; +import org.solovyev.android.menu.LabeledMenuItem; import org.solovyev.common.utils.StringUtils; /** @@ -27,11 +27,11 @@ import org.solovyev.common.utils.StringUtils; * Date: 12/18/11 * Time: 3:09 PM */ -public enum HistoryItemMenuItem implements AMenuItem { +public enum HistoryItemMenuItem implements LabeledMenuItem { use(R.string.c_use) { @Override - public void doAction(@NotNull HistoryItemMenuData data, @NotNull Context context) { + public void onClick(@NotNull HistoryItemMenuData data, @NotNull Context context) { if (context instanceof AbstractHistoryActivity) { AbstractHistoryActivity.useHistoryItem(data.getHistoryState(), (AbstractHistoryActivity) context); } else { @@ -42,7 +42,7 @@ public enum HistoryItemMenuItem implements AMenuItem { copy_expression(R.string.c_copy_expression) { @Override - public void doAction(@NotNull HistoryItemMenuData data, @NotNull Context context) { + public void onClick(@NotNull HistoryItemMenuData data, @NotNull Context context) { final CalculatorHistoryState calculatorHistoryState = data.getHistoryState(); final String text = calculatorHistoryState.getEditorState().getText(); if (!StringUtils.isEmpty(text)) { @@ -55,7 +55,7 @@ public enum HistoryItemMenuItem implements AMenuItem { copy_result(R.string.c_copy_result) { @Override - public void doAction(@NotNull HistoryItemMenuData data, @NotNull Context context) { + public void onClick(@NotNull HistoryItemMenuData data, @NotNull Context context) { final CalculatorHistoryState calculatorHistoryState = data.getHistoryState(); final String text = calculatorHistoryState.getDisplayState().getEditorState().getText(); if (!StringUtils.isEmpty(text)) { @@ -68,7 +68,7 @@ public enum HistoryItemMenuItem implements AMenuItem { save(R.string.c_save) { @Override - public void doAction(@NotNull final HistoryItemMenuData data, @NotNull final Context context) { + public void onClick(@NotNull final HistoryItemMenuData data, @NotNull final Context context) { final CalculatorHistoryState historyState = data.getHistoryState(); if (!historyState.isSaved()) { createEditHistoryDialog(data, context, true); @@ -80,7 +80,7 @@ public enum HistoryItemMenuItem implements AMenuItem { edit(R.string.c_edit) { @Override - public void doAction(@NotNull final HistoryItemMenuData data, @NotNull final Context context) { + public void onClick(@NotNull final HistoryItemMenuData data, @NotNull final Context context) { final CalculatorHistoryState historyState = data.getHistoryState(); if (historyState.isSaved()) { createEditHistoryDialog(data, context, false); @@ -92,7 +92,7 @@ public enum HistoryItemMenuItem implements AMenuItem { remove(R.string.c_remove) { @Override - public void doAction(@NotNull HistoryItemMenuData data, @NotNull Context context) { + public void onClick(@NotNull HistoryItemMenuData data, @NotNull Context context) { final CalculatorHistoryState historyState = data.getHistoryState(); if (historyState.isSaved()) { data.getAdapter().remove(historyState); diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/AbstractMathEntityListActivity.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/AbstractMathEntityListActivity.java index 688cc50d..668cc848 100644 --- a/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/AbstractMathEntityListActivity.java +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/AbstractMathEntityListActivity.java @@ -24,6 +24,7 @@ import org.solovyev.android.calculator.R; import org.solovyev.android.calculator.model.AndroidMathRegistry; import org.solovyev.android.menu.AMenuBuilder; import org.solovyev.android.menu.AMenuItem; +import org.solovyev.android.menu.LabeledMenuItem; import org.solovyev.android.menu.MenuImpl; import org.solovyev.common.math.MathEntity; import org.solovyev.common.utils.EqualsTool; @@ -117,10 +118,10 @@ public abstract class AbstractMathEntityListActivity exten public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { final T item = (T) parent.getItemAtPosition(position); - final List> menuItems = getMenuItemsOnLongClick(item); + final List> menuItems = getMenuItemsOnLongClick(item); if (!menuItems.isEmpty()) { - final AMenuBuilder, T> menuBuilder = AMenuBuilder.newInstance(AbstractMathEntityListActivity.this, MenuImpl.newInstance(menuItems)); + final AMenuBuilder, T> menuBuilder = AMenuBuilder.newInstance(AbstractMathEntityListActivity.this, MenuImpl.newInstance(menuItems)); menuBuilder.create(item).show(); } @@ -138,7 +139,7 @@ public abstract class AbstractMathEntityListActivity exten } @NotNull - protected abstract List> getMenuItemsOnLongClick(@NotNull T item); + protected abstract List> getMenuItemsOnLongClick(@NotNull T item); @Override protected void onResume() { diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorFunctionsActivity.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorFunctionsActivity.java index ad958c65..8dab10dd 100644 --- a/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorFunctionsActivity.java +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorFunctionsActivity.java @@ -16,6 +16,7 @@ import org.solovyev.android.calculator.CalculatorModel; import org.solovyev.android.calculator.R; import org.solovyev.android.calculator.model.CalculatorEngine; import org.solovyev.android.menu.AMenuItem; +import org.solovyev.android.menu.LabeledMenuItem; import org.solovyev.common.utils.StringUtils; import java.util.ArrayList; @@ -29,10 +30,10 @@ import java.util.List; */ public class CalculatorFunctionsActivity extends AbstractMathEntityListActivity { - private static enum LongClickMenuItem implements AMenuItem{ + private static enum LongClickMenuItem implements LabeledMenuItem { use(R.string.c_use) { @Override - public void doAction(@NotNull Function data, @NotNull Context context) { + public void onClick(@NotNull Function data, @NotNull Context context) { CalculatorModel.instance.processDigitButtonAction(data.getName(), false); if (context instanceof Activity) { ((Activity) context).finish(); @@ -50,7 +51,7 @@ public class CalculatorFunctionsActivity extends AbstractMathEntityListActivity< copy_description(R.string.c_copy_description) { @Override - public void doAction(@NotNull Function data, @NotNull Context context) { + public void onClick(@NotNull Function data, @NotNull Context context) { final String text = CalculatorEngine.instance.getFunctionsRegistry().getDescription(context, data.getName()); if (!StringUtils.isEmpty(text)) { final ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Activity.CLIPBOARD_SERVICE); @@ -107,8 +108,8 @@ public class CalculatorFunctionsActivity extends AbstractMathEntityListActivity< @NotNull @Override - protected List> getMenuItemsOnLongClick(@NotNull Function item) { - List> result = new ArrayList>(Arrays.asList(LongClickMenuItem.values())); + protected List> getMenuItemsOnLongClick(@NotNull Function item) { + List> result = new ArrayList>(Arrays.asList(LongClickMenuItem.values())); if ( StringUtils.isEmpty(CalculatorEngine.instance.getFunctionsRegistry().getDescription(this, item.getName())) ) { result.remove(LongClickMenuItem.copy_description); diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorOperatorsActivity.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorOperatorsActivity.java index a684346e..76d207fa 100644 --- a/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorOperatorsActivity.java +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorOperatorsActivity.java @@ -9,6 +9,7 @@ import org.solovyev.android.calculator.CalculatorModel; import org.solovyev.android.calculator.R; import org.solovyev.android.calculator.model.CalculatorEngine; import org.solovyev.android.menu.AMenuItem; +import org.solovyev.android.menu.LabeledMenuItem; import org.solovyev.common.utils.StringUtils; import java.util.ArrayList; @@ -23,11 +24,11 @@ import java.util.List; public class CalculatorOperatorsActivity extends AbstractMathEntityListActivity { - private static enum LongClickMenuItem implements AMenuItem { + private static enum LongClickMenuItem implements LabeledMenuItem { use(R.string.c_use) { @Override - public void doAction(@NotNull Operator data, @NotNull Context context) { + public void onClick(@NotNull Operator data, @NotNull Context context) { CalculatorModel.instance.processDigitButtonAction(data.getName(), false); if (context instanceof Activity) { ((Activity) context).finish(); @@ -37,7 +38,7 @@ public class CalculatorOperatorsActivity extends AbstractMathEntityListActivity< copy_description(R.string.c_copy_description) { @Override - public void doAction(@NotNull Operator data, @NotNull Context context) { + public void onClick(@NotNull Operator data, @NotNull Context context) { final String text = OperatorDescriptionGetter.instance.getDescription(context, data.getName()); if (!StringUtils.isEmpty(text)) { final ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Activity.CLIPBOARD_SERVICE); @@ -60,8 +61,8 @@ public class CalculatorOperatorsActivity extends AbstractMathEntityListActivity< @NotNull @Override - protected List> getMenuItemsOnLongClick(@NotNull Operator item) { - final List> result = new ArrayList>(Arrays.asList(LongClickMenuItem.values())); + protected List> getMenuItemsOnLongClick(@NotNull Operator item) { + final List> result = new ArrayList>(Arrays.asList(LongClickMenuItem.values())); if ( StringUtils.isEmpty(OperatorDescriptionGetter.instance.getDescription(this, item.getName())) ) { result.remove(LongClickMenuItem.copy_description); diff --git a/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorVarsActivity.java b/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorVarsActivity.java index 384f9ebc..344f682f 100644 --- a/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorVarsActivity.java +++ b/calculatorpp/src/main/java/org/solovyev/android/calculator/math/edit/CalculatorVarsActivity.java @@ -26,7 +26,7 @@ import org.solovyev.android.calculator.R; import org.solovyev.android.calculator.math.MathType; import org.solovyev.android.calculator.model.CalculatorEngine; import org.solovyev.android.calculator.model.Var; -import org.solovyev.android.menu.AMenuItem; +import org.solovyev.android.menu.LabeledMenuItem; import org.solovyev.common.utils.CollectionsUtils; import org.solovyev.common.utils.Finder; import org.solovyev.common.utils.StringUtils; @@ -42,10 +42,10 @@ import java.util.List; */ public class CalculatorVarsActivity extends AbstractMathEntityListActivity { - private static enum LongClickMenuItem implements AMenuItem{ + private static enum LongClickMenuItem implements LabeledMenuItem{ use(R.string.c_use) { @Override - public void doAction(@NotNull IConstant data, @NotNull Context context) { + public void onClick(@NotNull IConstant data, @NotNull Context context) { CalculatorModel.instance.processDigitButtonAction(data.getName(), false); if (context instanceof Activity) { ((Activity) context).finish(); @@ -55,7 +55,7 @@ public class CalculatorVarsActivity extends AbstractMathEntityListActivity)context, data, data.getName(), StringUtils.getNotEmpty(data.getValue(), ""), data.getDescription()); } @@ -64,7 +64,7 @@ public class CalculatorVarsActivity extends AbstractMathEntityListActivity(data, null, CalculatorEngine.instance.getVarsRegistry(), ((AbstractMathEntityListActivity) context)).showConfirmationDialog(); } @@ -73,7 +73,7 @@ public class CalculatorVarsActivity extends AbstractMathEntityListActivity> getMenuItemsOnLongClick(@NotNull IConstant item) { - final List> result = new ArrayList>(Arrays.asList(LongClickMenuItem.values())); + protected List> getMenuItemsOnLongClick(@NotNull IConstant item) { + final List> result = new ArrayList>(Arrays.asList(LongClickMenuItem.values())); if ( item.isSystem() ) { result.remove(LongClickMenuItem.edit); diff --git a/pom.xml b/pom.xml index e86f312e..e8d08254 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,7 @@ UTF-8 + /home/ssolovyev/projects/org.solovyev/misc/lib/android-sdk-linux_x86