From d53a7156e27533935a5777a7f3f00d765acb8615 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Fri, 1 Nov 2019 23:35:46 +0100 Subject: [PATCH] Bugfix: removed custom dialogs to set voice/split frequency preferences from the context menu directly. Fixed #49. --- .../services/TrackRecordingServiceTest.java | 2 +- .../opentracks/TrackDetailActivity.java | 13 --- .../fragments/FrequencyDialogFragment.java | 105 ------------------ src/main/res/menu/track_detail.xml | 9 -- 4 files changed, 1 insertion(+), 128 deletions(-) delete mode 100644 src/main/java/de/dennisguse/opentracks/fragments/FrequencyDialogFragment.java diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java index 417701445..51d77a0d8 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java @@ -79,7 +79,7 @@ public class TrackRecordingServiceTest { static void updateAutoResumePrefs(Context context, int attempts, int timeoutMins) { PreferencesUtils.setInt(context, R.string.auto_resume_track_current_retry_key, attempts); - PreferencesUtils.setInt(context, R.string.auto_resume_track_timeout_key, timeoutMins); + PreferencesUtils.setString(context, R.string.auto_resume_track_timeout_key, "" + timeoutMins); } @Before diff --git a/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java b/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java index b6d87c9a1..d9f55a7f3 100644 --- a/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java +++ b/src/main/java/de/dennisguse/opentracks/TrackDetailActivity.java @@ -48,7 +48,6 @@ import de.dennisguse.opentracks.content.WaypointCreationRequest; import de.dennisguse.opentracks.fragments.ChartFragment; import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment; import de.dennisguse.opentracks.fragments.ConfirmDeleteDialogFragment; -import de.dennisguse.opentracks.fragments.FrequencyDialogFragment; import de.dennisguse.opentracks.fragments.StatsFragment; import de.dennisguse.opentracks.services.TrackRecordingServiceConnection; import de.dennisguse.opentracks.settings.SettingsActivity; @@ -156,8 +155,6 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA private MenuItem insertPhotoMenuItem; private MenuItem markerListMenuItem; private MenuItem shareMenuItem; - private MenuItem voiceFrequencyMenuItem; - private MenuItem splitFrequencyMenuItem; private final OnClickListener recordListener = new OnClickListener() { @Override @@ -316,8 +313,6 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA insertPhotoMenuItem = menu.findItem(R.id.track_detail_insert_photo); insertPhotoMenuItem.setVisible(new Intent(MediaStore.ACTION_IMAGE_CAPTURE).resolveActivity(getPackageManager()) != null); shareMenuItem = menu.findItem(R.id.track_detail_share); - 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); @@ -359,12 +354,6 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA .putExtra(MarkerListActivity.EXTRA_TRACK_ID, trackId); startActivity(intent); return true; - case R.id.track_detail_voice_frequency: - FrequencyDialogFragment.showDialog(getSupportFragmentManager(), R.string.voice_frequency_key, PreferencesUtils.VOICE_FREQUENCY_DEFAULT, R.string.menu_voice_frequency); - return true; - case R.id.track_detail_split_frequency: - FrequencyDialogFragment.showDialog(getSupportFragmentManager(), R.string.split_frequency_key, PreferencesUtils.SPLIT_FREQUENCY_DEFAULT, R.string.menu_split_frequency); - return true; case R.id.track_detail_edit: intent = IntentUtils.newIntent(this, TrackEditActivity.class) .putExtra(TrackEditActivity.EXTRA_TRACK_ID, trackId); @@ -466,8 +455,6 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA 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); diff --git a/src/main/java/de/dennisguse/opentracks/fragments/FrequencyDialogFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/FrequencyDialogFragment.java deleted file mode 100644 index 6532e84c0..000000000 --- a/src/main/java/de/dennisguse/opentracks/fragments/FrequencyDialogFragment.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2012 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package de.dennisguse.opentracks.fragments; - -import android.app.AlertDialog; -import android.app.Dialog; -import android.content.DialogInterface; -import android.os.Bundle; - -import androidx.annotation.NonNull; -import androidx.fragment.app.DialogFragment; -import androidx.fragment.app.FragmentActivity; -import androidx.fragment.app.FragmentManager; - -import de.dennisguse.opentracks.R; -import de.dennisguse.opentracks.util.PreferencesUtils; -import de.dennisguse.opentracks.util.StringUtils; - -/** - * A DialogFragment to configure frequency. - * - * @author Jimmy Shih - */ -public class FrequencyDialogFragment extends DialogFragment { - - private static final String FREQUENCY_DIALOG_TAG = "frequencyDialog"; - private int preferenceId; - private int defaultValue; - private int titleId; - - public FrequencyDialogFragment(int preferenceId, int defaultValue, int titleId) { - this.preferenceId = preferenceId; - this.defaultValue = defaultValue; - this.titleId = titleId; - } - - public static void showDialog(FragmentManager fragmentManager, int preferenceId, int defaultValue, int titleId) { - new FrequencyDialogFragment(preferenceId, defaultValue, titleId).show(fragmentManager, FREQUENCY_DIALOG_TAG); - } - - @Override - @NonNull - public Dialog onCreateDialog(Bundle savedInstanceState) { - FragmentActivity fragmentActivity = getActivity(); - - int frequencyValue = PreferencesUtils.getInt(fragmentActivity, preferenceId, defaultValue); - - return new AlertDialog.Builder(fragmentActivity).setPositiveButton( - R.string.generic_ok, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - int listIndex = ((AlertDialog) dialog).getListView().getCheckedItemPosition(); - PreferencesUtils.setInt(getActivity(), preferenceId, getFrequencyValue(listIndex)); - } - }).setSingleChoiceItems( - getFrequencyDisplayOptions(fragmentActivity), getListIndex(frequencyValue), null) - .setTitle(titleId).create(); - } - - /** - * Gets the frequency display options. - */ - private String[] getFrequencyDisplayOptions(FragmentActivity fragmentActivity) { - boolean metricUnits = PreferencesUtils.isMetricUnits(fragmentActivity); - return StringUtils.getFrequencyOptions(fragmentActivity, metricUnits); - } - - /** - * Gets the list index for a frequency value. - * Returns 0 if the value is not on the list. - */ - private int getListIndex(int frequencyValue) { - String[] values = getResources().getStringArray(R.array.frequency_values); - for (int i = 0; i < values.length; i++) { - if (frequencyValue == Integer.parseInt(values[i])) { - return i; - } - } - return 0; - } - - /** - * Gets the frequency value from a list index. - * - * @param listIndex the list index - */ - private int getFrequencyValue(int listIndex) { - String[] values = getResources().getStringArray(R.array.frequency_values); - return Integer.parseInt(values[listIndex]); - } -} \ No newline at end of file diff --git a/src/main/res/menu/track_detail.xml b/src/main/res/menu/track_detail.xml index 061ef719f..5b76794d4 100644 --- a/src/main/res/menu/track_detail.xml +++ b/src/main/res/menu/track_detail.xml @@ -54,15 +54,6 @@ limitations under the License. android:icon="@drawable/ic_delete_forever_24dp" android:orderInCategory="10" android:title="@string/menu_delete" /> - -