mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-09-30 16:52:21 +02:00
TrackDetailView: show markerListMenu only as action if not recording as the icon is reused in this case.
This commit is contained in:
@@ -16,15 +16,16 @@
|
|||||||
|
|
||||||
package com.google.android.apps.mytracks;
|
package com.google.android.apps.mytracks;
|
||||||
|
|
||||||
import com.google.android.apps.mytracks.util.TrackIconUtils;
|
|
||||||
|
|
||||||
import android.app.ActionBar;
|
import android.app.ActionBar;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.speech.tts.TextToSpeech;
|
import android.speech.tts.TextToSpeech;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
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.
|
* An abstract class for all My Tracks activities.
|
||||||
*
|
*
|
||||||
@@ -57,7 +58,7 @@ public abstract class AbstractActivity extends FragmentActivity {
|
|||||||
protected abstract int getLayoutResId();
|
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() {
|
protected boolean configureActionBarHomeAsUp() {
|
||||||
return true;
|
return true;
|
||||||
@@ -65,17 +66,13 @@ public abstract class AbstractActivity extends FragmentActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
|
||||||
// Set menu icon color
|
|
||||||
TrackIconUtils.setMenuIconColor(menu);
|
TrackIconUtils.setMenuIconColor(menu);
|
||||||
|
|
||||||
return super.onCreateOptionsMenu(menu);
|
return super.onCreateOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
// Handles actionBar's home menu item (arrow top left corner) and triggers, up navigation to previous activity.
|
||||||
// Handle home menu item, up navigation
|
|
||||||
if (item.getItemId() == android.R.id.home) {
|
if (item.getItemId() == android.R.id.home) {
|
||||||
onHomeSelected();
|
onHomeSelected();
|
||||||
return true;
|
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
|
* Callback when the home menu item is selected. E.g., setup the back stack when home is selected.
|
||||||
* when home is selected.
|
|
||||||
*/
|
*/
|
||||||
protected void onHomeSelected() {
|
protected void onHomeSelected() {
|
||||||
finish();
|
finish();
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ public class TrackDetailActivity extends AbstractTrackActivity
|
|||||||
|
|
||||||
private MenuItem insertMarkerMenuItem;
|
private MenuItem insertMarkerMenuItem;
|
||||||
private MenuItem insertPhotoMenuItem;
|
private MenuItem insertPhotoMenuItem;
|
||||||
|
private MenuItem markerListMenuItem;
|
||||||
private MenuItem shareMenuItem;
|
private MenuItem shareMenuItem;
|
||||||
private MenuItem voiceFrequencyMenuItem;
|
private MenuItem voiceFrequencyMenuItem;
|
||||||
private MenuItem splitFrequencyMenuItem;
|
private MenuItem splitFrequencyMenuItem;
|
||||||
@@ -334,6 +335,8 @@ public class TrackDetailActivity extends AbstractTrackActivity
|
|||||||
|
|
||||||
voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency);
|
voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency);
|
||||||
splitFrequencyMenuItem = menu.findItem(R.id.track_detail_split_frequency);
|
splitFrequencyMenuItem = menu.findItem(R.id.track_detail_split_frequency);
|
||||||
|
markerListMenuItem = menu.findItem(R.id.track_detail_markers);
|
||||||
|
|
||||||
return super.onCreateOptionsMenu(menu);
|
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);
|
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, EXTERNAL_STORAGE_PERMISSION_REQUEST_CODE);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
takePicture();
|
takePicture();
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_detail_markers:
|
case R.id.track_detail_markers:
|
||||||
@@ -486,22 +488,12 @@ public class TrackDetailActivity extends AbstractTrackActivity
|
|||||||
* Updates the menu items.
|
* Updates the menu items.
|
||||||
*/
|
*/
|
||||||
private void updateMenuItems(boolean isPaused) {
|
private void updateMenuItems(boolean isPaused) {
|
||||||
if (insertMarkerMenuItem != null) {
|
insertMarkerMenuItem.setVisible(isRecording() && !isPaused);
|
||||||
insertMarkerMenuItem.setVisible(isRecording() && !isPaused);
|
insertPhotoMenuItem.setVisible(hasCamera && isRecording() && !isPaused);
|
||||||
}
|
shareMenuItem.setVisible(!isRecording());
|
||||||
if (insertPhotoMenuItem != null) {
|
markerListMenuItem.setShowAsAction(isRecording() ? MenuItem.SHOW_AS_ACTION_NEVER : MenuItem.SHOW_AS_ACTION_IF_ROOM);
|
||||||
insertPhotoMenuItem.setVisible(hasCamera && isRecording() && !isPaused);
|
voiceFrequencyMenuItem.setVisible(isRecording());
|
||||||
}
|
splitFrequencyMenuItem.setVisible(isRecording());
|
||||||
if (shareMenuItem != null && shareMenuItem.isEnabled()) {
|
|
||||||
shareMenuItem.setVisible(!isRecording());
|
|
||||||
}
|
|
||||||
if (voiceFrequencyMenuItem != null) {
|
|
||||||
voiceFrequencyMenuItem.setVisible(isRecording());
|
|
||||||
}
|
|
||||||
if (splitFrequencyMenuItem != null) {
|
|
||||||
splitFrequencyMenuItem.setVisible(isRecording());
|
|
||||||
}
|
|
||||||
|
|
||||||
String title;
|
String title;
|
||||||
if (isRecording()) {
|
if (isRecording()) {
|
||||||
title = getString(isPaused ? R.string.generic_paused : R.string.generic_recording);
|
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) {
|
public void chooseActivityType(String category) {
|
||||||
ChooseActivityTypeDialogFragment.newInstance(category).show(getSupportFragmentManager(),
|
ChooseActivityTypeDialogFragment.newInstance(category).show(getSupportFragmentManager(), ChooseActivityTypeDialogFragment.CHOOSE_ACTIVITY_TYPE_DIALOG_TAG);
|
||||||
ChooseActivityTypeDialogFragment.CHOOSE_ACTIVITY_TYPE_DIALOG_TAG);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user