Android does not allow referencing integer in string-arrays: store everything as string and parse it later.

This commit is contained in:
Dennis Guse
2019-11-06 18:16:40 +01:00
parent d3f5080e73
commit 0f348dff10
5 changed files with 41 additions and 43 deletions
@@ -471,12 +471,12 @@ public class TrackRecordingService extends Service {
}
PreferencesUtils.incrementAutoResumeTrackCurrentRetryDefault(this);
if (autoResumeTrackTimeout == context.getResources().getInteger(R.integer.auto_resume_track_timeout_never)) {
if (autoResumeTrackTimeout == Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_never))) {
Log.d(TAG, "Not resuming. Auto-resume track timeout set to never.");
return false;
}
if (autoResumeTrackTimeout == context.getResources().getInteger(R.integer.auto_resume_track_timeout_always)) {
if (autoResumeTrackTimeout == Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_always))) {
Log.d(TAG, "Resuming. Auto-resume track timeout set to always.");
return true;
}
@@ -168,9 +168,9 @@ final class PreferenceHelper {
static void setAutoResumeTrackTimeoutOptions(Context context, String[] options, String[] values) {
for (int i = 0; i < values.length; i++) {
int value = Integer.parseInt(values[i]);
if (value == context.getResources().getInteger(R.integer.auto_resume_track_timeout_never)) {
if (value == Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_never))) {
options[i] = context.getString(R.string.value_never);
} else if (value == context.getResources().getInteger(R.integer.auto_resume_track_timeout_always)) {
} else if (value == Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_always))) {
options[i] = context.getString(R.string.value_always);
} else {
options[i] = context.getString(R.string.value_integer_minute, value);
@@ -269,7 +269,7 @@ public class PreferencesUtils {
}
public static int getAutoResumeTrackTimeout(Context context) {
final int AUTO_RESUME_TRACK_TIMEOUT = context.getResources().getInteger(R.integer.auto_resume_track_timeout_default);
final int AUTO_RESUME_TRACK_TIMEOUT = Integer.parseInt(context.getResources().getString(R.string.auto_resume_track_timeout_default));
return PreferencesUtils.getInt(context, R.string.auto_resume_track_timeout_key, AUTO_RESUME_TRACK_TIMEOUT);
}
@@ -329,32 +329,32 @@ public class PreferencesUtils {
}
public static int getVoiceFrequency(Context context) {
final int VOICE_FREQUENCY_DEFAULT = context.getResources().getInteger(R.integer.voice_frequency_default);
final int VOICE_FREQUENCY_DEFAULT = Integer.parseInt(context.getResources().getString(R.string.voice_frequency_default));
return PreferencesUtils.getInt(context, R.string.voice_frequency_key, VOICE_FREQUENCY_DEFAULT);
}
public static int getSplitFrequency(Context context) {
final int SPLIT_FREQUENCY_DEFAULT = context.getResources().getInteger(R.integer.split_frequency_default);
final int SPLIT_FREQUENCY_DEFAULT = Integer.parseInt(context.getResources().getString(R.string.split_frequency_default));
return PreferencesUtils.getInt(context, R.string.split_frequency_key, SPLIT_FREQUENCY_DEFAULT);
}
public static int getRecordingDistanceInterval(Context context) {
final int RECORDING_DISTANCE_INTERVAL = context.getResources().getInteger(R.integer.recording_distance_interval_default);
final int RECORDING_DISTANCE_INTERVAL = Integer.parseInt(context.getResources().getString(R.string.recording_distance_interval_default));
return PreferencesUtils.getInt(context, R.string.recording_distance_interval_key, RECORDING_DISTANCE_INTERVAL);
}
public static int getMaxRecordingDistance(Context context) {
final int MAX_RECORDING_DISTANCE = context.getResources().getInteger(R.integer.max_recording_distance_default);
final int MAX_RECORDING_DISTANCE = Integer.parseInt(context.getResources().getString(R.string.max_recording_distance_default));
return PreferencesUtils.getInt(context, R.string.max_recording_distance_key, MAX_RECORDING_DISTANCE);
}
public static int getMinRecordingInterval(Context context) {
final int MIN_RECORDING_INTERVAL = context.getResources().getInteger(R.integer.min_recording_interval_default);
final int MIN_RECORDING_INTERVAL = Integer.parseInt(context.getResources().getString(R.string.min_recording_interval_default));
return PreferencesUtils.getInt(context, R.string.min_recording_interval_key, MIN_RECORDING_INTERVAL);
}
public static int getRecordingGPSAccuracy(Context context) {
final int RECORDING_GPS_ACCURACY = context.getResources().getInteger(R.integer.recording_gps_accuracy_default);
final int RECORDING_GPS_ACCURACY = Integer.parseInt(context.getResources().getString(R.string.recording_gps_accuracy_default));
return PreferencesUtils.getInt(context, R.string.recording_gps_accuracy_key, RECORDING_GPS_ACCURACY);
}
+26 -28
View File
@@ -102,15 +102,15 @@
</string-array>
<string name="auto_resume_track_timeout_key" translatable="false">autoResumeTrackTimeout</string>
<integer name="auto_resume_track_timeout_default" translatable="false">10</integer>
<integer name="auto_resume_track_timeout_always" translatable="false">-1</integer>
<integer name="auto_resume_track_timeout_never" translatable="false">0</integer>
<string name="auto_resume_track_timeout_default" translatable="false">10</string>
<string name="auto_resume_track_timeout_always" translatable="false">-1</string>
<string name="auto_resume_track_timeout_never" translatable="false">0</string>
<string-array name="auto_resume_track_timeout_values">
<item>@integer/auto_resume_track_timeout_never</item>
<item>@string/auto_resume_track_timeout_never</item>
<item>5</item>
<item>@integer/auto_resume_track_timeout_default</item>
<item>@string/auto_resume_track_timeout_default</item>
<item>15</item>
<item>@integer/auto_resume_track_timeout_always</item>
<item>@string/auto_resume_track_timeout_always</item>
</string-array>
<string name="chart_x_axis_key" translatable="false">chartXAxis</string>
@@ -127,14 +127,12 @@
</string-array>
<string name="split_frequency_key" translatable="false">splitFrequency</string>
<integer name="split_frequency_default" translatable="false">@integer/frequency_default
</integer>
<string name="split_frequency_default" translatable="false">@string/frequency_default</string>
<string name="voice_frequency_key" translatable="false">voiceFrequency</string>
<integer name="voice_frequency_default" translatable="false">@integer/frequency_default
</integer>
<integer name="frequency_default" translatable="false">0</integer>
<string name="voice_frequency_default" translatable="false">@string/frequency_default</string>
<string name="frequency_default" translatable="false">0</string>
<string-array name="frequency_values">
<item>@integer/frequency_default</item>
<item>@string/frequency_default</item>
<item>1</item>
<item>2</item>
<item>5</item>
@@ -151,36 +149,36 @@
</string-array>
<string name="recording_distance_interval_key" translatable="false">recordingDistanceInterval</string>
<integer name="recording_distance_interval_default" translatable="false">10</integer>
<string name="recording_distance_interval_default" translatable="false">10</string>
<string-array name="recording_distance_interval_values">
<item>1</item>
<item>2</item>
<item>5</item>
<item>@integer/recording_distance_interval_default</item>
<item>@string/recording_distance_interval_default</item>
<item>20</item>
<item>50</item>
<item>100</item>
</string-array>
<string name="max_recording_distance_key" translatable="false">maxRecordingDistance</string>
<integer name="max_recording_distance_default" translatable="false">200</integer>
<string name="max_recording_distance_default" translatable="false">200</string>
<string-array name="max_recording_distance_values">
<item>50</item>
<item>100</item>
<item>@integer/max_recording_distance_default</item>
<item>@string/max_recording_distance_default</item>
<item>500</item>
<item>1000</item>
<item>5000</item>
</string-array>
<string name="min_recording_interval_key" translatable="false">minRecordingInterval</string>
<integer name="min_recording_interval_default" translatable="false">0</integer>
<integer name="min_recording_interval_adapt_accuracy" translatable="false">-1</integer>
<integer name="min_recording_interval_adapt_battery_life" translatable="false">-2</integer>
<string name="min_recording_interval_default" translatable="false">0</string>
<string name="min_recording_interval_adapt_accuracy" translatable="false">-1</string>
<string name="min_recording_interval_adapt_battery_life" translatable="false">-2</string>
<string-array name="min_recording_interval_values">
<item>@integer/min_recording_interval_adapt_battery_life</item>
<item>@integer/min_recording_interval_adapt_accuracy</item>
<item>@integer/min_recording_interval_default</item>
<item>@string/min_recording_interval_adapt_battery_life</item>
<item>@string/min_recording_interval_adapt_accuracy</item>
<item>@string/min_recording_interval_default</item>
<item>2</item>
<item>3</item>
<item>4</item>
@@ -197,19 +195,19 @@
</string-array>
<string name="recording_gps_accuracy_key" translatable="false">recordingGpsAccuracy</string>
<integer name="recording_gps_accuracy_default" translatable="false">50</integer>
<integer name="recording_gps_accuracy_excellent" translatable="false">10</integer>
<integer name="recording_gps_accuracy_poor" translatable="false">2000</integer>
<string name="recording_gps_accuracy_default" translatable="false">50</string>
<string name="recording_gps_accuracy_excellent" translatable="false">10</string>
<string name="recording_gps_accuracy_poor" translatable="false">2000</string>
<string-array name="recording_gps_accuracy_values">
<item>@integer/recording_gps_accuracy_excellent</item>
<item>@string/recording_gps_accuracy_excellent</item>
<item>20</item>
<item>30</item>
<item>@integer/recording_gps_accuracy_default</item>
<item>@string/recording_gps_accuracy_default</item>
<item>100</item>
<item>200</item>
<item>500</item>
<item>1000</item>
<item>@integer/recording_gps_accuracy_poor</item>
<item>@string/recording_gps_accuracy_poor</item>
</string-array>
<string name="stats_rate_key" translatable="false">statsRate</string>
+4 -4
View File
@@ -73,13 +73,13 @@ limitations under the License.
android:summary="@string/settings_recording_show_on_lockscreen_while_recording_summary"
android:title="@string/settings_recording_show_on_lockscreen_while_recording_title" />
<ListPreference
android:defaultValue="@integer/voice_frequency_default"
android:defaultValue="@string/voice_frequency_default"
android:entryValues="@array/frequency_values"
android:key="@string/voice_frequency_key"
android:summary="%s"
android:title="@string/menu_voice_frequency" />
<ListPreference
android:defaultValue="@integer/split_frequency_default"
android:defaultValue="@string/split_frequency_default"
android:entryValues="@array/frequency_values"
android:key="@string/split_frequency_key"
android:summary="%s"
@@ -98,13 +98,13 @@ limitations under the License.
android:summary="%s"
android:title="@string/settings_recording_min_recording_interval_title" />
<ListPreference
android:defaultValue="@integer/recording_distance_interval_default"
android:defaultValue="@string/recording_distance_interval_default"
android:entryValues="@array/recording_distance_interval_values"
android:key="@string/recording_distance_interval_key"
android:summary="%s"
android:title="@string/settings_recording_min_recording_distance_title" />
<ListPreference
android:defaultValue="@integer/max_recording_distance_default"
android:defaultValue="@string/max_recording_distance_default"
android:entryValues="@array/max_recording_distance_values"
android:key="@string/max_recording_distance_key"
android:summary="%s"