Cleanup options menu and licenses UI
Bug: 20503109
- Open source licenses are now displayed as a standalone Licenses
activity.
- Show/hide result options instead of enabling/disabling them.
Change-Id: I7e1e43ac83d2417b2f59f90e6a1fc3e491c6ddc7
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index 2b06575..124a071 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -40,14 +40,11 @@
import android.animation.Animator.AnimatorListener;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
-import android.animation.ArgbEvaluator;
import android.animation.ObjectAnimator;
-import android.animation.ValueAnimator;
-import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.app.Activity;
import android.app.AlertDialog;
-import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Rect;
@@ -55,13 +52,9 @@
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.view.ViewPager;
-import android.text.Editable;
import android.text.SpannableString;
import android.text.Spanned;
-import android.text.TextUtils;
-import android.text.TextWatcher;
import android.text.style.ForegroundColorSpan;
-import android.util.Log;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.Menu;
@@ -72,7 +65,6 @@
import android.view.ViewAnimationUtils;
import android.view.ViewGroupOverlay;
import android.view.animation.AccelerateDecelerateInterpolator;
-import android.webkit.WebView;
import android.widget.TextView;
import android.widget.Toolbar;
@@ -85,7 +77,6 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.io.IOException;
-import java.text.DecimalFormatSymbols; // TODO: May eventually not need this here.
public class Calculator extends Activity
implements OnTextSizeChangeListener, OnLongClickListener, CalculatorText.PasteListener {
@@ -714,35 +705,37 @@
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.overflow, menu);
+ super.onCreateOptionsMenu(menu);
+
+ getMenuInflater().inflate(R.menu.activity_calculator, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
- if (mCurrentState != CalculatorState.RESULT) {
- menu.findItem(R.id.menu_fraction).setEnabled(false);
- menu.findItem(R.id.menu_leading).setEnabled(false);
- } else if (mEvaluator.getRational() == null) {
- menu.findItem(R.id.menu_fraction).setEnabled(false);
- }
+ super.onPrepareOptionsMenu(menu);
+
+ // Show the leading option when displaying a result.
+ menu.findItem(R.id.menu_leading).setVisible(mCurrentState == CalculatorState.RESULT);
+
+ // Show the fraction option when displaying a rational result.
+ menu.findItem(R.id.menu_fraction).setVisible(mCurrentState == CalculatorState.RESULT
+ && mEvaluator.getRational() != null);
+
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case R.id.menu_help:
- displayHelpMessage();
- return true;
- case R.id.menu_about:
- displayAboutPage();
+ case R.id.menu_leading:
+ displayFull();
return true;
case R.id.menu_fraction:
displayFraction();
return true;
- case R.id.menu_leading:
- displayFull();
+ case R.id.menu_licenses:
+ startActivity(new Intent(this, Licenses.class));
return true;
default:
return super.onOptionsItemSelected(item);
@@ -759,15 +752,6 @@
.show();
}
- private void displayHelpMessage() {
- Resources res = getResources();
- String msg = res.getString(R.string.help_message);
- if (mPadViewPager != null) {
- msg += res.getString(R.string.help_pager);
- }
- displayMessage(msg);
- }
-
private void displayFraction() {
BoundedRational result = mEvaluator.getRational();
displayMessage(KeyMaps.translateResult(result.toNiceString()));
@@ -785,18 +769,6 @@
displayMessage(msg);
}
- private void displayAboutPage() {
- WebView wv = new WebView(this);
- wv.loadUrl("file:///android_asset/about.txt");
- new AlertDialog.Builder(this)
- .setView(wv)
- .setNegativeButton(R.string.dismiss,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface d, int which) { }
- })
- .show();
- }
-
// Add input characters to the end of the expression by mapping them to
// the appropriate button pushes when possible. Leftover characters
// are added to mUnprocessedChars, which is presumed to immediately