summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Mertz <scott@cyngn.com>2016-02-17 08:56:03 -0800
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-02-19 14:08:13 -0800
commit493a90779c840cf9e72029b71f1cb26957fa02fa (patch)
tree3dc46b06d44ca90fce06e50c09c4356604f3da9b
parentebf074825de5a2bfcef3bcbf626c92b9f0020d1c (diff)
downloadandroid_packages_apps_SoundRecorder-493a90779c840cf9e72029b71f1cb26957fa02fa.tar.gz
android_packages_apps_SoundRecorder-493a90779c840cf9e72029b71f1cb26957fa02fa.tar.bz2
android_packages_apps_SoundRecorder-493a90779c840cf9e72029b71f1cb26957fa02fa.zip
SoundRecorder: fix menu behavior on devices with hardware menu button
If the device has hardware a hardware menu button, onCreateOptionsMenu is not called. Move the logic from onCreateOptionsMenu to onPrepareOptionsMenu so it is always run. Fixes the crash when a user selects "Storage location" on devices with a hardware menu button and no sdcard. The option was not removed because of the reason above. CYNGNOS-2071 Change-Id: I80e1339220388ec9d5fb206790fa65cbc8d7e216
-rw-r--r--src/com/android/soundrecorder/SoundRecorder.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/com/android/soundrecorder/SoundRecorder.java b/src/com/android/soundrecorder/SoundRecorder.java
index d3c4c80..126a1a5 100644
--- a/src/com/android/soundrecorder/SoundRecorder.java
+++ b/src/com/android/soundrecorder/SoundRecorder.java
@@ -1164,9 +1164,13 @@ public class SoundRecorder extends Activity
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
- if (!mRemainingTimeCalculator.hasExternalStorage()) {
- menu.removeItem(R.id.menu_item_storage);
- }
+ return true;
+ }
+
+ @Override
+ public boolean onPrepareOptionsMenu(Menu menu) {
+ super.onPrepareOptionsMenu(menu);
+ Log.i(TAG, "onPrepareOptionsMenu");
// Remove view recordings if there isn't an activity that can handle it
Uri startDir = Uri.fromFile(Environment.getExternalStorageDirectory());
@@ -1177,16 +1181,13 @@ public class SoundRecorder extends Activity
if (info.size() == 0) {
menu.removeItem(R.id.menu_item_view_recordings);
}
- return super.onCreateOptionsMenu(menu);
- }
- @Override
- public boolean onPrepareOptionsMenu(Menu menu) {
- super.onPrepareOptionsMenu(menu);
menu.findItem(R.id.menu_item_keyboard).setEnabled(mRecorder.state() == Recorder.IDLE_STATE);
menu.findItem(R.id.menu_item_filetype).setEnabled(mRecorder.state() == Recorder.IDLE_STATE);
if (mRemainingTimeCalculator.hasExternalStorage()) {
menu.findItem(R.id.menu_item_storage).setEnabled(mRecorder.state() == Recorder.IDLE_STATE);
+ } else {
+ menu.removeItem(R.id.menu_item_storage);
}
if (SystemProperties.getBoolean("debug.soundrecorder.enable", false)) {
menu.findItem(R.id.menu_item_keyboard).setVisible(true);