From 5b224870593c1cd5e86c936976a83b973580e22c Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sat, 20 Jul 2019 14:01:06 +0200 Subject: [PATCH] TrackDetailView: show markerListMenu only as action if not recording as the icon is reused in this case. --- .../apps/mytracks/AbstractActivity.java | 18 +++++------- .../apps/mytracks/TrackDetailActivity.java | 29 +++++++------------ 2 files changed, 17 insertions(+), 30 deletions(-) diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractActivity.java index 46fb32ffd..2e8be5bf2 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractActivity.java @@ -16,15 +16,16 @@ package com.google.android.apps.mytracks; -import com.google.android.apps.mytracks.util.TrackIconUtils; - import android.app.ActionBar; import android.os.Bundle; import android.speech.tts.TextToSpeech; -import androidx.fragment.app.FragmentActivity; import android.view.Menu; import android.view.MenuItem; +import androidx.fragment.app.FragmentActivity; + +import com.google.android.apps.mytracks.util.TrackIconUtils; + /** * An abstract class for all My Tracks activities. * @@ -57,7 +58,7 @@ public abstract class AbstractActivity extends FragmentActivity { protected abstract int getLayoutResId(); /** - * Returns true to configure the action bar home button as the up button. + * Returns true to configure the action bar home button as the up button (go to previous activity). */ protected boolean configureActionBarHomeAsUp() { return true; @@ -65,17 +66,13 @@ public abstract class AbstractActivity extends FragmentActivity { @Override public boolean onCreateOptionsMenu(Menu menu) { - - // Set menu icon color TrackIconUtils.setMenuIconColor(menu); - return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { - - // Handle home menu item, up navigation + // Handles actionBar's home menu item (arrow top left corner) and triggers, up navigation to previous activity. if (item.getItemId() == android.R.id.home) { onHomeSelected(); return true; @@ -84,8 +81,7 @@ public abstract class AbstractActivity extends FragmentActivity { } /** - * Callback when the home menu item is selected. E.g., setup the back stack - * when home is selected. + * Callback when the home menu item is selected. E.g., setup the back stack when home is selected. */ protected void onHomeSelected() { finish(); diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java index ff1de18d1..91e2c115d 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -110,6 +110,7 @@ public class TrackDetailActivity extends AbstractTrackActivity private MenuItem insertMarkerMenuItem; private MenuItem insertPhotoMenuItem; + private MenuItem markerListMenuItem; private MenuItem shareMenuItem; private MenuItem voiceFrequencyMenuItem; private MenuItem splitFrequencyMenuItem; @@ -334,6 +335,8 @@ public class TrackDetailActivity extends AbstractTrackActivity voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency); splitFrequencyMenuItem = menu.findItem(R.id.track_detail_split_frequency); + markerListMenuItem = menu.findItem(R.id.track_detail_markers); + return super.onCreateOptionsMenu(menu); } @@ -358,7 +361,6 @@ public class TrackDetailActivity extends AbstractTrackActivity ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, EXTERNAL_STORAGE_PERMISSION_REQUEST_CODE); return false; } - takePicture(); return true; case R.id.track_detail_markers: @@ -486,22 +488,12 @@ public class TrackDetailActivity extends AbstractTrackActivity * Updates the menu items. */ private void updateMenuItems(boolean isPaused) { - if (insertMarkerMenuItem != null) { - insertMarkerMenuItem.setVisible(isRecording() && !isPaused); - } - if (insertPhotoMenuItem != null) { - insertPhotoMenuItem.setVisible(hasCamera && isRecording() && !isPaused); - } - if (shareMenuItem != null && shareMenuItem.isEnabled()) { - shareMenuItem.setVisible(!isRecording()); - } - if (voiceFrequencyMenuItem != null) { - voiceFrequencyMenuItem.setVisible(isRecording()); - } - if (splitFrequencyMenuItem != null) { - splitFrequencyMenuItem.setVisible(isRecording()); - } - + insertMarkerMenuItem.setVisible(isRecording() && !isPaused); + insertPhotoMenuItem.setVisible(hasCamera && isRecording() && !isPaused); + shareMenuItem.setVisible(!isRecording()); + markerListMenuItem.setShowAsAction(isRecording() ? MenuItem.SHOW_AS_ACTION_NEVER : MenuItem.SHOW_AS_ACTION_IF_ROOM); + voiceFrequencyMenuItem.setVisible(isRecording()); + splitFrequencyMenuItem.setVisible(isRecording()); String title; if (isRecording()) { title = getString(isPaused ? R.string.generic_paused : R.string.generic_recording); @@ -513,8 +505,7 @@ public class TrackDetailActivity extends AbstractTrackActivity } public void chooseActivityType(String category) { - ChooseActivityTypeDialogFragment.newInstance(category).show(getSupportFragmentManager(), - ChooseActivityTypeDialogFragment.CHOOSE_ACTIVITY_TYPE_DIALOG_TAG); + ChooseActivityTypeDialogFragment.newInstance(category).show(getSupportFragmentManager(), ChooseActivityTypeDialogFragment.CHOOSE_ACTIVITY_TYPE_DIALOG_TAG); } @Override