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