Adding action bar to calculator
Bug: 3332171
Change-Id: I8f40cbb5c1648f9bf23201345eb8ee06444a8dce
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index 768a317..f1c17cd 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -29,7 +29,7 @@
import android.widget.Button;
import android.widget.TextView;
-public class Calculator extends Activity {
+public class Calculator extends Activity implements PanelSwitcher.Listener {
EventListener mListener = new EventListener();
private CalculatorDisplay mDisplay;
private Persist mPersist;
@@ -68,6 +68,7 @@
mPanelSwitcher = (PanelSwitcher) findViewById(R.id.panelswitch);
mPanelSwitcher.setCurrentIndex(state==null ? 0 : state.getInt(STATE_CURRENT_VIEW, 0));
+ mPanelSwitcher.setListener(this);
mListener.setHandler(mLogic, mPanelSwitcher);
@@ -89,28 +90,31 @@
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuItem item;
-
+
item = menu.add(0, CMD_CLEAR_HISTORY, 0, R.string.clear_history);
+ item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
item.setIcon(R.drawable.clear_history);
-
+
item = menu.add(0, CMD_ADVANCED_PANEL, 0, R.string.advanced);
+ item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
item.setIcon(R.drawable.advanced);
-
+
item = menu.add(0, CMD_BASIC_PANEL, 0, R.string.basic);
+ item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
item.setIcon(R.drawable.simple);
return true;
}
-
+
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
- menu.findItem(CMD_BASIC_PANEL).setVisible(mPanelSwitcher != null &&
+ menu.findItem(CMD_BASIC_PANEL).setVisible(mPanelSwitcher != null &&
mPanelSwitcher.getCurrentIndex() == ADVANCED_PANEL);
-
- menu.findItem(CMD_ADVANCED_PANEL).setVisible(mPanelSwitcher != null &&
+
+ menu.findItem(CMD_ADVANCED_PANEL).setVisible(mPanelSwitcher != null &&
mPanelSwitcher.getCurrentIndex() == BASIC_PANEL);
-
+
return true;
}
@@ -122,14 +126,14 @@
break;
case CMD_BASIC_PANEL:
- if (mPanelSwitcher != null &&
+ if (mPanelSwitcher != null &&
mPanelSwitcher.getCurrentIndex() == ADVANCED_PANEL) {
mPanelSwitcher.moveRight();
}
break;
case CMD_ADVANCED_PANEL:
- if (mPanelSwitcher != null &&
+ if (mPanelSwitcher != null &&
mPanelSwitcher.getCurrentIndex() == BASIC_PANEL) {
mPanelSwitcher.moveLeft();
}
@@ -153,7 +157,7 @@
@Override
public boolean onKeyDown(int keyCode, KeyEvent keyEvent) {
- if (keyCode == KeyEvent.KEYCODE_BACK
+ if (keyCode == KeyEvent.KEYCODE_BACK
&& mPanelSwitcher.getCurrentIndex() == ADVANCED_PANEL) {
mPanelSwitcher.moveRight();
return true;
@@ -180,4 +184,9 @@
float ratio = (float)h/HVGA_WIDTH_PIXELS;
view.setTextSize(TypedValue.COMPLEX_UNIT_PX, fontPixelSize*ratio);
}
+
+ @Override
+ public void onChange() {
+ invalidateOptionsMenu();
+ }
}