summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java46
-rw-r--r--app/src/main/AndroidManifest.xml16
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java169
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java17
-rw-r--r--app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java15
-rw-r--r--app/src/main/res/xml/preferences.xml9
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java6
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java8
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java8
-rw-r--r--core/src/main/res/values-az/strings.xml2
-rw-r--r--core/src/main/res/values-ca/strings.xml2
-rw-r--r--core/src/main/res/values-cs-rCZ/strings.xml2
-rw-r--r--core/src/main/res/values-da/strings.xml2
-rw-r--r--core/src/main/res/values-de/strings.xml2
-rw-r--r--core/src/main/res/values-el/strings.xml2
-rw-r--r--core/src/main/res/values-es-rES/strings.xml2
-rw-r--r--core/src/main/res/values-es/strings.xml4
-rw-r--r--core/src/main/res/values-et/strings.xml3
-rw-r--r--core/src/main/res/values-fr/strings.xml2
-rw-r--r--core/src/main/res/values-hi-rIN/strings.xml2
-rw-r--r--core/src/main/res/values-it-rIT/strings.xml2
-rw-r--r--core/src/main/res/values-it/strings.xml2
-rw-r--r--core/src/main/res/values-iw-rIL/strings.xml2
-rw-r--r--core/src/main/res/values-ja/strings.xml2
-rw-r--r--core/src/main/res/values-ko/strings.xml2
-rw-r--r--core/src/main/res/values-nb/strings.xml2
-rw-r--r--core/src/main/res/values-nl/strings.xml2
-rw-r--r--core/src/main/res/values-no-rNB/strings.xml2
-rw-r--r--core/src/main/res/values-pl-rPL/strings.xml2
-rw-r--r--core/src/main/res/values-pt-rBR/strings.xml2
-rw-r--r--core/src/main/res/values-pt/strings.xml2
-rw-r--r--core/src/main/res/values-ro-rRO/strings.xml2
-rw-r--r--core/src/main/res/values-ru/strings.xml2
-rw-r--r--core/src/main/res/values-sv-rSE/strings.xml2
-rw-r--r--core/src/main/res/values-tr/strings.xml2
-rw-r--r--core/src/main/res/values-uk-rUA/strings.xml2
-rw-r--r--core/src/main/res/values-zh-rCN/strings.xml2
-rw-r--r--core/src/main/res/values/strings.xml12
-rw-r--r--gradle/wrapper/gradle-wrapper.properties4
39 files changed, 275 insertions, 94 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java
index 040f4150b..91928f01e 100644
--- a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java
@@ -3,10 +3,12 @@ package de.test.antennapod.ui;
import android.content.Context;
import android.content.res.Resources;
import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
import com.robotium.solo.Solo;
import com.robotium.solo.Timeout;
+import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import de.danoeh.antennapod.R;
@@ -362,4 +364,48 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2<Preference
Timeout.getLargeTimeout()));
}
+
+ public void testRewindChange() {
+ int seconds = UserPreferences.getRewindSecs();
+ int deltas[] = res.getIntArray(R.array.seek_delta_values);
+
+ solo.clickOnText(solo.getString(R.string.pref_rewind));
+ solo.waitForDialogToOpen();
+
+ int currentIndex = Arrays.binarySearch(deltas, seconds);
+ assertTrue(currentIndex >= 0 && currentIndex < deltas.length); // found?
+
+ // Find next value (wrapping around to next)
+ int newIndex = (currentIndex + 1) % deltas.length;
+
+ solo.clickOnText(String.valueOf(deltas[newIndex]) + " seconds");
+ solo.clickOnButton("Confirm");
+
+ solo.waitForDialogToClose();
+ assertTrue(solo.waitForCondition(() -> UserPreferences.getRewindSecs() == deltas[newIndex],
+ Timeout.getLargeTimeout()));
+ }
+
+ public void testFastForwardChange() {
+ for (int i = 2; i > 0; i--) { // repeat twice to catch any error where fastforward is tracking rewind
+ int seconds = UserPreferences.getFastForwardSecs();
+ int deltas[] = res.getIntArray(R.array.seek_delta_values);
+
+ solo.clickOnText(solo.getString(R.string.pref_fast_forward));
+ solo.waitForDialogToOpen();
+
+ int currentIndex = Arrays.binarySearch(deltas, seconds);
+ assertTrue(currentIndex >= 0 && currentIndex < deltas.length); // found?
+
+ // Find next value (wrapping around to next)
+ int newIndex = (currentIndex + 1) % deltas.length;
+
+ solo.clickOnText(String.valueOf(deltas[newIndex]) + " seconds");
+ solo.clickOnButton("Confirm");
+
+ solo.waitForDialogToClose();
+ assertTrue(solo.waitForCondition(() -> UserPreferences.getFastForwardSecs() == deltas[newIndex],
+ Timeout.getLargeTimeout()));
+ }
+ }
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2049b6bae..d9638e705 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -191,6 +191,21 @@
<data android:host="*"/>
</intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.SEND"/>
+
+ <category android:name="android.intent.category.DEFAULT"/>
+ <category android:name="android.intent.category.BROWSABLE"/>
+
+ <data android:mimeType="text/xml"/>
+ <data android:mimeType="text/plain"/>
+ <data android:mimeType="text/x-opml"/>
+ <data android:mimeType="application/xml"/>
+ <data android:mimeType="application/octet-stream"/>
+
+ <data android:scheme="http"/>
+ <data android:scheme="https"/>
+ </intent-filter>
</activity>
<activity
android:name=".activity.OpmlFeedChooserActivity"
@@ -243,6 +258,7 @@
<data android:host="*"/>
<data android:pathPattern=".*\\.xml"/>
<data android:pathPattern=".*\\.rss"/>
+ <data android:pathPattern=".*\\.atom"/>
</intent-filter>
<!-- Feedburner URLs -->
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
index 48b578be7..818864f79 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -1,6 +1,7 @@
package de.danoeh.antennapod.activity;
import android.annotation.TargetApi;
+import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.TypedArray;
@@ -9,6 +10,7 @@ import android.graphics.PixelFormat;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
+import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.Menu;
@@ -42,6 +44,7 @@ import de.danoeh.antennapod.core.util.Converter;
import de.danoeh.antennapod.core.util.Flavors;
import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.core.util.StorageUtils;
+import de.danoeh.antennapod.core.util.Supplier;
import de.danoeh.antennapod.core.util.playback.MediaPlayerError;
import de.danoeh.antennapod.core.util.playback.Playable;
import de.danoeh.antennapod.core.util.playback.PlaybackController;
@@ -49,6 +52,8 @@ import de.danoeh.antennapod.dialog.SleepTimerDialog;
import de.danoeh.antennapod.dialog.VariableSpeedDialog;
import rx.Observable;
import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Action1;
+import rx.functions.Func1;
import rx.schedulers.Schedulers;
@@ -178,6 +183,13 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
};
}
+ protected static TextView getTxtvFFFromActivity(MediaplayerActivity activity) {
+ return activity.txtvFF;
+ }
+ protected static TextView getTxtvRevFromActivity(MediaplayerActivity activity) {
+ return activity.txtvRev;
+ }
+
protected void onSetSpeedAbilityChanged() {
Log.d(TAG, "onSetSpeedAbilityChanged()");
updatePlaybackSpeedButton();
@@ -650,6 +662,91 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
// Only meaningful on AudioplayerActivity, where it is overridden.
}
+ /**
+ * Abstract directions to skip forward or back (rewind) and encapsulates behavior to get or set preference (including update of UI on the skip buttons).
+ */
+ static public enum SkipDirection {
+ SKIP_FORWARD(
+ UserPreferences::getFastForwardSecs,
+ MediaplayerActivity::getTxtvFFFromActivity,
+ UserPreferences::setFastForwardSecs,
+ R.string.pref_fast_forward),
+ SKIP_REWIND(UserPreferences::getRewindSecs,
+ MediaplayerActivity::getTxtvRevFromActivity,
+ UserPreferences::setRewindSecs,
+ R.string.pref_rewind);
+
+ private final Supplier<Integer> getPrefSecsFn;
+ private final Func1<MediaplayerActivity, TextView> getTextViewFn;
+ private final Action1<Integer> setPrefSecsFn;
+ private final int titleResourceID;
+
+ /**
+ * Constructor for skip direction enum. Stores references to utility functions and resource
+ * id's that vary dependending on the direction.
+ *
+ * @param getPrefSecsFn Handle to function that retrieves current seconds of the skip delta
+ * @param getTextViewFn Handle to function that gets the TextView which displays the current skip delta value
+ * @param setPrefSecsFn Handle to function that sets the preference (setting) for the skip delta value (and optionally updates the button label with the current values)
+ * @param titleResourceID ID of the resource string with the title for a view
+ */
+ SkipDirection(Supplier<Integer> getPrefSecsFn, Func1<MediaplayerActivity, TextView> getTextViewFn, Action1<Integer> setPrefSecsFn, int titleResourceID) {
+ this.getPrefSecsFn = getPrefSecsFn;
+ this.getTextViewFn = getTextViewFn;
+ this.setPrefSecsFn = setPrefSecsFn;
+ this.titleResourceID = titleResourceID;
+ }
+
+
+ public int getPrefSkipSeconds() {
+ return(getPrefSecsFn.get());
+ }
+
+ /**
+ * Updates preferences for a forward or backward skip depending on the direction of the instance, optionally updating the UI.
+ *
+ * @param seconds Number of seconds to set the preference associated with the direction of the instance.
+ * @param activity MediaplyerActivity that contains textview to update the display of the skip delta setting (or null if nothing to update)
+ */
+ public void setPrefSkipSeconds(int seconds, @Nullable Activity activity) {
+ setPrefSecsFn.call(seconds);
+
+ if (activity != null && activity instanceof MediaplayerActivity) {
+ TextView tv = getTextViewFn.call((MediaplayerActivity)activity);
+ if (tv != null) tv.setText(String.valueOf(seconds));
+ }
+ }
+ public int getTitleResourceID() {
+ return titleResourceID;
+ }
+ }
+
+ static public void showSkipPreference(Activity activity, SkipDirection direction) {
+ int checked = 0;
+ int skipSecs = direction.getPrefSkipSeconds();
+ final int[] values = activity.getResources().getIntArray(R.array.seek_delta_values);
+ final String[] choices = new String[values.length];
+ for (int i = 0; i < values.length; i++) {
+ if (skipSecs == values[i]) {
+ checked = i;
+ }
+ choices[i] = String.valueOf(values[i]) + " " + activity.getString(R.string.time_seconds);
+ }
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(activity);
+ builder.setTitle(direction.getTitleResourceID());
+ builder.setSingleChoiceItems(choices, checked, null);
+ builder.setNegativeButton(R.string.cancel_label, null);
+ builder.setPositiveButton(R.string.confirm_label, (dialog, which) -> {
+ int choice = ((AlertDialog)dialog).getListView().getCheckedItemPosition();
+ if (choice < 0 || choice >= values.length) {
+ System.err.printf("Choice in showSkipPreference is out of bounds %d", choice);
+ } else {
+ direction.setPrefSkipSeconds(values[choice], activity);
+ }
+ });
+ builder.create().show();
+ }
protected void setupGUI() {
setContentView(getContentViewResourceId());
@@ -692,7 +789,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
butFF = (ImageButton) findViewById(R.id.butFF);
txtvFF = (TextView) findViewById(R.id.txtvFF);
if (txtvFF != null) {
- txtvFF.setText(String.valueOf(UserPreferences.getFastFowardSecs()));
+ txtvFF.setText(String.valueOf(UserPreferences.getFastForwardSecs()));
}
butSkip = (ImageButton) findViewById(R.id.butSkip);
@@ -704,37 +801,9 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
if (butRev != null) {
butRev.setOnClickListener(v -> onRewind());
- butRev.setOnLongClickListener(new View.OnLongClickListener() {
-
- int choice;
-
- @Override
- public boolean onLongClick(View v) {
- int checked = 0;
- int rewindSecs = UserPreferences.getRewindSecs();
- final int[] values = getResources().getIntArray(R.array.seek_delta_values);
- final String[] choices = new String[values.length];
- for (int i = 0; i < values.length; i++) {
- if (rewindSecs == values[i]) {
- checked = i;
- }
- choices[i] = String.valueOf(values[i]) + " " + getString(R.string.time_seconds);
- }
- choice = values[checked];
- AlertDialog.Builder builder = new AlertDialog.Builder(MediaplayerActivity.this);
- builder.setTitle(R.string.pref_rewind);
- builder.setSingleChoiceItems(choices, checked,
- (dialog, which) -> choice = values[which]);
- builder.setNegativeButton(R.string.cancel_label, null);
- builder.setPositiveButton(R.string.confirm_label, (dialog, which) -> {
- UserPreferences.setPrefRewindSecs(choice);
- if(txtvRev != null){
- txtvRev.setText(String.valueOf(choice));
- }
- });
- builder.create().show();
- return true;
- }
+ butRev.setOnLongClickListener(v -> {
+ showSkipPreference(MediaplayerActivity.this, SkipDirection.SKIP_REWIND);
+ return true;
});
}
@@ -742,37 +811,9 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
if (butFF != null) {
butFF.setOnClickListener(v -> onFastForward());
- butFF.setOnLongClickListener(new View.OnLongClickListener() {
-
- int choice;
-
- @Override
- public boolean onLongClick(View v) {
- int checked = 0;
- int rewindSecs = UserPreferences.getFastFowardSecs();
- final int[] values = getResources().getIntArray(R.array.seek_delta_values);
- final String[] choices = new String[values.length];
- for (int i = 0; i < values.length; i++) {
- if (rewindSecs == values[i]) {
- checked = i;
- }
- choices[i] = String.valueOf(values[i]) + " " + getString(R.string.time_seconds);
- }
- choice = values[checked];
- AlertDialog.Builder builder = new AlertDialog.Builder(MediaplayerActivity.this);
- builder.setTitle(R.string.pref_fast_forward);
- builder.setSingleChoiceItems(choices, checked,
- (dialog, which) -> choice = values[which]);
- builder.setNegativeButton(R.string.cancel_label, null);
- builder.setPositiveButton(R.string.confirm_label, (dialog, which) -> {
- UserPreferences.setPrefFastForwardSecs(choice);
- if(txtvFF != null) {
- txtvFF.setText(String.valueOf(choice));
- }
- });
- builder.create().show();
- return true;
- }
+ butFF.setOnLongClickListener(v -> {
+ showSkipPreference(MediaplayerActivity.this, SkipDirection.SKIP_FORWARD);
+ return false;
});
}
@@ -801,7 +842,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
return;
}
int curr = controller.getPosition();
- controller.seekTo(curr + UserPreferences.getFastFowardSecs() * 1000);
+ controller.seekTo(curr + UserPreferences.getFastForwardSecs() * 1000);
}
protected abstract int getContentViewResourceId();
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java
index 02e16a7b5..4c94e2b76 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/OpmlImportFromIntentActivity.java
@@ -1,25 +1,30 @@
package de.danoeh.antennapod.activity;
+import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import de.danoeh.antennapod.core.preferences.UserPreferences;
-/** Lets the user start the OPML-import process. */
+/**
+ * Lets the user start the OPML-import process.
+ */
public class OpmlImportFromIntentActivity extends OpmlImportBaseActivity {
private static final String TAG = "OpmlImportFromIntentAct";
@Override
- protected void onCreate(Bundle savedInstanceState) {
- setTheme(UserPreferences.getTheme());
- super.onCreate(savedInstanceState);
+ protected void onCreate(Bundle savedInstanceState) {
+ setTheme(UserPreferences.getTheme());
+ super.onCreate(savedInstanceState);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Uri uri = getIntent().getData();
- if(uri.toString().startsWith("/")) {
+ if (uri != null && uri.toString().startsWith("/")) {
uri = Uri.parse("file://" + uri.toString());
+ } else {
+ uri = Uri.parse(getIntent().getStringExtra(Intent.EXTRA_TEXT));
}
importUri(uri);
}
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
index 7f1d3075f..7777af450 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceController.java
@@ -54,6 +54,7 @@ import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.AboutActivity;
import de.danoeh.antennapod.activity.DirectoryChooserActivity;
import de.danoeh.antennapod.activity.MainActivity;
+import de.danoeh.antennapod.activity.MediaplayerActivity;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.activity.PreferenceActivityGingerbread;
import de.danoeh.antennapod.activity.StatisticsActivity;
@@ -96,6 +97,8 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
private static final String PREF_CHOOSE_DATA_DIR = "prefChooseDataDir";
private static final String AUTO_DL_PREF_SCREEN = "prefAutoDownloadSettings";
private static final String PREF_PLAYBACK_SPEED_LAUNCHER = "prefPlaybackSpeedLauncher";
+ public static final String PREF_PLAYBACK_REWIND_DELTA_LAUNCHER = "prefPlaybackRewindDeltaLauncher";
+ public static final String PREF_PLAYBACK_FAST_FORWARD_DELTA_LAUNCHER = "prefPlaybackFastForwardDeltaLauncher";
private static final String PREF_GPODNET_LOGIN = "pref_gpodnet_authenticate";
private static final String PREF_GPODNET_SETLOGIN_INFORMATION = "pref_gpodnet_setlogin_information";
private static final String PREF_GPODNET_SYNC = "pref_gpodnet_sync";
@@ -333,6 +336,16 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
VariableSpeedDialog.showDialog(activity);
return true;
});
+ ui.findPreference(PreferenceController.PREF_PLAYBACK_REWIND_DELTA_LAUNCHER)
+ .setOnPreferenceClickListener(preference -> {
+ MediaplayerActivity.showSkipPreference(activity, MediaplayerActivity.SkipDirection.SKIP_REWIND);
+ return true;
+ });
+ ui.findPreference(PreferenceController.PREF_PLAYBACK_FAST_FORWARD_DELTA_LAUNCHER)
+ .setOnPreferenceClickListener(preference -> {
+ MediaplayerActivity.showSkipPreference(activity, MediaplayerActivity.SkipDirection.SKIP_FORWARD);
+ return true;
+ });
ui.findPreference(PreferenceController.PREF_GPODNET_SETLOGIN_INFORMATION)
.setOnPreferenceClickListener(preference -> {
AuthenticationDialog dialog = new AuthenticationDialog(activity,
@@ -701,7 +714,7 @@ public class PreferenceController implements SharedPreferences.OnSharedPreferenc
val = String.format(context.getString(R.string.pref_autoUpdateIntervallOrTime_at),
timeOfDayStr);
} else {
- val = context.getString(R.string.pref_smart_mark_as_played_disabled);
+ val = context.getString(R.string.pref_smart_mark_as_played_disabled); // TODO: Is this a bug? Otherwise document why is this related to smart mark???
}
}
String summary = context.getString(R.string.pref_autoUpdateIntervallOrTime_sum) + "\n"
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 14a8ca0ef..0f1175ca3 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -109,6 +109,14 @@
android:key="prefHardwareForwardButtonSkips"
android:summary="@string/pref_hardwareForwardButtonSkips_sum"
android:title="@string/pref_hardwareForwardButtonSkips_title"/>
+ <Preference
+ android:key="prefPlaybackFastForwardDeltaLauncher"
+ android:summary="@string/pref_fast_forward_sum"
+ android:title="@string/pref_fast_forward" />
+ <Preference
+ android:key="prefPlaybackRewindDeltaLauncher"
+ android:summary="@string/pref_rewind_sum"
+ android:title="@string/pref_rewind" />
<de.danoeh.antennapod.preferences.SwitchCompatPreference
android:defaultValue="false"
android:enabled="true"
@@ -145,7 +153,6 @@
android:key="prefPlaybackSpeedLauncher"
android:summary="@string/pref_playback_speed_sum"
android:title="@string/pref_playback_speed_title" />
-
<de.danoeh.antennapod.preferences.SwitchCompatPreference
android:defaultValue="false"
android:enabled="true"
diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
index 2221da2e7..016b6c446 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
@@ -408,7 +408,7 @@ public class UserPreferences {
return cacheSizeMB;
}
- public static int getFastFowardSecs() {
+ public static int getFastForwardSecs() {
return prefs.getInt(PREF_FAST_FORWARD_SECS, 30);
}
@@ -473,13 +473,13 @@ public class UserPreferences {
return prefs.getBoolean(PREF_QUEUE_LOCKED, false);
}
- public static void setPrefFastForwardSecs(int secs) {
+ public static void setFastForwardSecs(int secs) {
prefs.edit()
.putInt(PREF_FAST_FORWARD_SECS, secs)
.apply();
}
- public static void setPrefRewindSecs(int secs) {
+ public static void setRewindSecs(int secs) {
prefs.edit()
.putInt(PREF_REWIND_SECS, secs)
.apply();
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
index 689235e6f..4a1047eb2 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
@@ -235,7 +235,6 @@ public class DownloadService extends Service {
}
} catch (InterruptedException e) {
Log.e(TAG, "DownloadCompletionThread was interrupted");
- Thread.currentThread().interrupt();
} catch (ExecutionException e) {
Log.e(TAG, "ExecutionException in DownloadCompletionThread: " + e.getMessage());
numberOfDownloads.decrementAndGet();
@@ -626,7 +625,6 @@ public class DownloadService extends Service {
tasks++;
} catch (InterruptedException e) {
Log.e(TAG, "FeedSyncThread was interrupted");
- Thread.currentThread().interrupt();
return null;
}
@@ -645,7 +643,6 @@ public class DownloadService extends Service {
} catch (InterruptedException e) {
Log.d(TAG, "interrupted while waiting for more downloads");
tasks += pollCompletedDownloads();
- Thread.currentThread().interrupt();
} finally {
currentTime = System.currentTimeMillis();
}
@@ -665,7 +662,6 @@ public class DownloadService extends Service {
}
} catch (InterruptedException e) {
Log.e(TAG, "FeedSyncThread was interrupted");
- Thread.currentThread().interrupt();
} catch (ExecutionException e) {
Log.e(TAG, "ExecutionException in FeedSyncThread: " + e.getMessage());
}
@@ -704,7 +700,6 @@ public class DownloadService extends Service {
dbUpdateFuture.get();
} catch (InterruptedException e) {
Log.e(TAG, "FeedSyncThread was interrupted");
- Thread.currentThread().interrupt();
} catch (ExecutionException e) {
Log.e(TAG, "ExecutionException in FeedSyncThread: " + e.getMessage());
}
@@ -744,7 +739,6 @@ public class DownloadService extends Service {
dbUpdateFuture.get();
} catch (InterruptedException e) {
Log.e(TAG, "interrupted while updating the db");
- Thread.currentThread().interrupt();
} catch (ExecutionException e) {
Log.e(TAG, "ExecutionException while updating the db: " + e.getMessage());
}
@@ -940,7 +934,6 @@ public class DownloadService extends Service {
DBWriter.setFeedMedia(media).get();
} catch (InterruptedException e) {
Log.e(TAG, "FailedDownloadHandler was interrupted");
- Thread.currentThread().interrupt();
} catch (ExecutionException e) {
Log.e(TAG, "ExecutionException in FailedDownloadHandler: " + e.getMessage());
}
@@ -1009,7 +1002,6 @@ public class DownloadService extends Service {
}
} catch (InterruptedException e) {
Log.e(TAG, "MediaHandlerThread was interrupted");
- Thread.currentThread().interrupt();
} catch (ExecutionException e) {
Log.e(TAG, "ExecutionException in MediaHandlerThread: " + e.getMessage());
status = new DownloadStatus(media, media.getEpisodeTitle(), DownloadError.ERROR_DB_ACCESS_ERROR, false, e.getMessage());
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
index 0f7d7265e..ebab2cbec 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
@@ -477,11 +477,11 @@ public class PlaybackService extends MediaBrowserServiceCompat {
} else {
// assume skip command comes from a (bluetooth) media button
// user actually wants to fast-forward
- seekDelta(UserPreferences.getFastFowardSecs() * 1000);
+ seekDelta(UserPreferences.getFastForwardSecs() * 1000);
}
break;
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
- mediaPlayer.seekDelta(UserPreferences.getFastFowardSecs() * 1000);
+ mediaPlayer.seekDelta(UserPreferences.getFastForwardSecs() * 1000);
break;
case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
if(UserPreferences.shouldHardwarePreviousButtonRestart()) {
@@ -1668,7 +1668,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
@Override
public void onFastForward() {
Log.d(TAG, "onFastForward()");
- seekDelta(UserPreferences.getFastFowardSecs() * 1000);
+ seekDelta(UserPreferences.getFastForwardSecs() * 1000);
}
@Override
@@ -1677,7 +1677,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
if(UserPreferences.shouldHardwareButtonSkip()) {
mediaPlayer.skip();
} else {
- seekDelta(UserPreferences.getFastFowardSecs() * 1000);
+ seekDelta(UserPreferences.getFastForwardSecs() * 1000);
}
}
diff --git a/core/src/main/res/values-az/strings.xml b/core/src/main/res/values-az/strings.xml
index 89322bc62..68e3c9de5 100644
--- a/core/src/main/res/values-az/strings.xml
+++ b/core/src/main/res/values-az/strings.xml
@@ -151,6 +151,8 @@
<string name="pref_update_interval_hours_plural">saat</string>
<string name="pref_update_interval_hours_singular">saat</string>
<string name="pref_update_interval_hours_manual">Əl ilə</string>
+ <string name="pref_fast_forward_sum">Sürətli irəli düyməsini tıklandığında irəli tullanmaq üçün saniyə sayı özelleştirin</string>
+ <string name="pref_rewind_sum">Geri düyməsinə tıklandığında geri tullanmaq üçün saniyə sayı özelleştirin</string>
<!--Auto-Flattr dialog-->
<!--Search-->
<string name="found_in_chapters_label">Fəsillərdə tapıldı</string>
diff --git a/core/src/main/res/values-ca/strings.xml b/core/src/main/res/values-ca/strings.xml
index 6990b9db8..fa9ec6cfd 100644
--- a/core/src/main/res/values-ca/strings.xml
+++ b/core/src/main/res/values-ca/strings.xml
@@ -350,6 +350,8 @@
<string name="pref_sonic_title">Reproductor multimèdia Sonic</string>
<string name="pref_sonic_message">Fer servir el reproductor Sonic Media integrat en comptes del reproductor natiu d\'Android i Prestissimo</string>
<string name="pref_current_value">Valor actual: %1$s</string>
+ <string name="pref_rewind_sum">Personalitzar el nombre de segons per saltar cap enrere quan es fa clic al botó de rebobinat</string>
+ <string name="pref_fast_forward_sum">Personalitzar el nombre de segons per saltar cap endavant quan es fa clic al botó d\'avanç ràpid</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Activa la compartició automàtica per Flattr</string>
<string name="auto_flattr_after_percent">Comparteix per Flattr l\'episodi en haver-ne reproduït el %d per cent</string>
diff --git a/core/src/main/res/values-cs-rCZ/strings.xml b/core/src/main/res/values-cs-rCZ/strings.xml
index d91492b2d..6f9f94781 100644
--- a/core/src/main/res/values-cs-rCZ/strings.xml
+++ b/core/src/main/res/values-cs-rCZ/strings.xml
@@ -383,6 +383,8 @@
<string name="pref_known_issues">Známé chyby</string>
<string name="pref_no_browser_found">Webový prohlížeč nenalezen.</string>
<string name="pref_cast_title">Chromecast podpora</string>
+ <string name="pref_rewind_sum">Přizpůsobte počet sekund ke skoku zpět při klepnutí na tlačítko převíjení</string>
+ <string name="pref_fast_forward_sum">Přizpůsobit počet sekund skok dopředu při klepnutí na tlačítko rychle vpřed</string>
<string name="pref_cast_message_play_flavor">Povolit podporu vzdáleného přehrávání médií na Cast přístrojích (jako třeba Chromecast, Audio Speakers nebo Android TV)</string>
<string name="pref_cast_message_free_flavor">Chromecast vyžaduje proprietární knihovny třetích stran, které jsou vypnuty v této verzi AntennaPod</string>
<!--Auto-Flattr dialog-->
diff --git a/core/src/main/res/values-da/strings.xml b/core/src/main/res/values-da/strings.xml
index fdf1a9504..a64fa68bf 100644
--- a/core/src/main/res/values-da/strings.xml
+++ b/core/src/main/res/values-da/strings.xml
@@ -298,6 +298,8 @@
<string name="set_to_default_folder">Vælg standard mappe</string>
<string name="pref_pausePlaybackForFocusLoss_sum">Sæt afspilning på pause i stedet for at sænke lydniveauet når en anden app vil afspille lyde</string>
<string name="pref_pausePlaybackForFocusLoss_title">Pause for afbrydelser</string>
+ <string name="pref_fast_forward_sum">Tilpas antallet af sekunder til at springe frem, når den hurtige knap frem der klikkes</string>
+ <string name="pref_rewind_sum">Tilpas antallet af sekunder for at hoppe baglæns, når knappen tilbagespoling klikkes</string>
<!--Online feed view-->
<string name="subscribe_label">Abonner</string>
<string name="subscribed_label">Abonneret</string>
diff --git a/core/src/main/res/values-de/strings.xml b/core/src/main/res/values-de/strings.xml
index 4c5a8f1be..0f820b047 100644
--- a/core/src/main/res/values-de/strings.xml
+++ b/core/src/main/res/values-de/strings.xml
@@ -381,6 +381,8 @@
<string name="pref_no_browser_found">Kein Browser gefunden.</string>
<string name="pref_cast_title">Chromecast-Unterstützung</string>
<string name="pref_cast_message_play_flavor">Aktiviere die Unterstützung von Cast-Geräten (Chromecast, Lautsprecher oder Android TV) zum entfernten Abspielen</string>
+ <string name="pref_rewind_sum">Passen Sie die Anzahl der Sekunden rückwärts zu springen, wenn die Rücklauf -Taste angeklickt wird</string>
+ <string name="pref_fast_forward_sum">Passen Sie die Anzahl der Sekunden nach vorne zu springen, wenn die Schnellvorlauf -Taste angeklickt wird</string>
<string name="pref_cast_message_free_flavor">Chromecast benötigt proprietäre Bibliotheken von Drittanbietern, die in dieser Version von AntennaPod deaktiviert sind</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Automatisches Flattrn aktivieren</string>
diff --git a/core/src/main/res/values-el/strings.xml b/core/src/main/res/values-el/strings.xml
index c65280c71..867dd49c6 100644
--- a/core/src/main/res/values-el/strings.xml
+++ b/core/src/main/res/values-el/strings.xml
@@ -313,6 +313,8 @@
<string name="pref_resumeAfterCall_sum">Συνέχιση της αναπαραγωγής, μετά το πέρας τηλεφωνικής κλήσης</string>
<string name="pref_resumeAfterCall_title">Συνέχιση της αναπαραγωγής, μετά από Κλήση</string>
<string name="pref_restart_required">Το AntennaPod χρειάζεται επανεκκίνηση για την εφαρμογή των αλλαγών.</string>
+ <string name="pref_rewind_sum">Προσαρμόστε τον αριθμό των δευτερολέπτων για να μεταβείτε προς τα πίσω, όταν το πίσω κουμπί έχει πατηθεί</string>
+ <string name="pref_fast_forward_sum">Προσαρμόστε τον αριθμό των δευτερολέπτων για να μεταβείτε προς τα εμπρός όταν το γρήγορο κουμπί προς τα εμπρός κλικ</string>
<!--Online feed view-->
<string name="subscribe_label">Εγγραφή</string>
<string name="subscribed_label">Εγγεγραμμένα</string>
diff --git a/core/src/main/res/values-es-rES/strings.xml b/core/src/main/res/values-es-rES/strings.xml
index ca8201930..8eea1641f 100644
--- a/core/src/main/res/values-es-rES/strings.xml
+++ b/core/src/main/res/values-es-rES/strings.xml
@@ -179,6 +179,8 @@
<string name="pref_autodl_wifi_filter_title">Activar el filtro WiFi</string>
<string name="pref_autodl_wifi_filter_sum">Permitir la descarga automática sólo para las redes WiFi marcadas.</string>
<string name="pref_episode_cache_title">Caché de episodios</string>
+ <string name="pref_rewind_sum">Personalizar el número de segundos para saltar hacia atrás cuando se hace clic en el botón de rebobinado</string>
+ <string name="pref_fast_forward_sum">Personalizar el número de segundos para saltar hacia adelante cuando se hace clic en el botón de avance rápido</string>
<!--Auto-Flattr dialog-->
<!--Search-->
<string name="found_in_chapters_label">Encontrado en los capítulos</string>
diff --git a/core/src/main/res/values-es/strings.xml b/core/src/main/res/values-es/strings.xml
index 157627150..821d9ae2b 100644
--- a/core/src/main/res/values-es/strings.xml
+++ b/core/src/main/res/values-es/strings.xml
@@ -365,6 +365,7 @@
<string name="pref_playback_speed_sum">Personalice las velocidades disponibles para la reproducción de audio a velocidad variable</string>
<string name="pref_fast_forward">Intervalo de avance</string>
<string name="pref_rewind">Intervalo de retroceso</string>
+
<string name="pref_gpodnet_sethostname_title">Definir nombre de equipo</string>
<string name="pref_gpodnet_sethostname_use_default_host">Usar nombre de equipo por defecto</string>
<string name="pref_expandNotify_title">Expandir Notificación</string>
@@ -400,6 +401,9 @@
<string name="pref_cast_title">Soporte para Chromecast</string>
<string name="pref_cast_message_play_flavor">Habilitar soporte para reproducción remota en dispositivos Cast (como Chromecast, altavoces o Android TV)</string>
<string name="pref_cast_message_free_flavor">Chromecast requiere librerías propietarias de terceros que están deshabilitadas en esta versión de AntennaPod</string>
+ <string name="pref_fast_forward_sum">Personalizar el número de segundos para saltar hacia adelante cuando se hace clic en el botón de avance rápido</string>
+ <string name="pref_rewind_sum">Personalizar el número de segundos para saltar hacia atrás cuando se hace clic en el botón de rebobinado</string>
+
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Habilitar Flattr automático</string>
<string name="auto_flattr_after_percent">Hacer Flattr del episodio en cuanto se haya reproducido el %d por ciento</string>
diff --git a/core/src/main/res/values-et/strings.xml b/core/src/main/res/values-et/strings.xml
index 0e33981b5..cb7478a3f 100644
--- a/core/src/main/res/values-et/strings.xml
+++ b/core/src/main/res/values-et/strings.xml
@@ -299,6 +299,8 @@
<string name="pref_proxy_title">Vaheserver</string>
<string name="pref_proxy_sum">Määra võrgu vaheserver</string>
<string name="pref_known_issues">Teadaolevad probleemid</string>
+ <string name="pref_rewind_sum">Kohanda mitu sekundit hüpata tagasi, kui tagasikerimise nupule vajutamist</string>
+ <string name="pref_fast_forward_sum">Kohanda mitu sekundit hüpata edasi, kui kiiresti edasi Klõpsamise</string>
<!--Auto-Flattr dialog-->
<!--Search-->
<string name="found_in_chapters_label">Leitud peatükkidest</string>
@@ -464,6 +466,7 @@
<string name="proxy_test_successful">Kontroll oli edukas</string>
<string name="proxy_test_failed">Kontroll ebaõnnestus</string>
<string name="proxy_port_invalid_error">Port pole korrektne</string>
+
<!--Casting-->
<!--<string name="cast_failed_to_connect">Could not connect to the device</string>-->
</resources>
diff --git a/core/src/main/res/values-fr/strings.xml b/core/src/main/res/values-fr/strings.xml
index fdc34bf9c..262aa9322 100644
--- a/core/src/main/res/values-fr/strings.xml
+++ b/core/src/main/res/values-fr/strings.xml
@@ -400,6 +400,8 @@
<string name="pref_cast_title">Support Chromecast</string>
<string name="pref_cast_message_play_flavor">Activer la lecture à distance sur les appareils Cast (comme Chromecast, Audio Speaker ou Android TV)</string>
<string name="pref_cast_message_free_flavor">Chromecast nécessite des bibiliothèques tierces qui sont désactivées dans cette version d\'AntennaPod</string>
+ <string name="pref_rewind_sum">Personnaliser le nombre de secondes pour sauter vers l\'arrière lorsque le bouton de rembobinage est cliqué</string>
+ <string name="pref_fast_forward_sum">Personnaliser le nombre de secondes pour sauter vers l\'avant lorsque le bouton d\'avance rapide est cliqué</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Activer le paiement flattr automatique</string>
<string name="auto_flattr_after_percent">Lancer un paiement flattr pour un épisode dès que %d de l\'épisode a été joué</string>
diff --git a/core/src/main/res/values-hi-rIN/strings.xml b/core/src/main/res/values-hi-rIN/strings.xml
index bc0101edf..4e65c3855 100644
--- a/core/src/main/res/values-hi-rIN/strings.xml
+++ b/core/src/main/res/values-hi-rIN/strings.xml
@@ -185,6 +185,8 @@
<string name="pref_playback_speed_sum">चर गति ऑडियो प्लेबैक के लिए उपलब्ध गति बनाइए</string>
<string name="pref_gpodnet_sethostname_title">होस्टनाम सेट</string>
<string name="pref_gpodnet_sethostname_use_default_host">डिफ़ॉल्ट होस्ट का प्रयोग करें</string>
+ <string name="pref_fast_forward_sum">आगे कूद करने के लिए सेकंड की संख्या अनुकूलित जब तेजी से आगे बटन क्लिक किया जाता है</string>
+ <string name="pref_rewind_sum">पीछे की ओर कूद करने के लिए सेकंड की संख्या अनुकूलित जब उल्टा बटन क्लिक किया जाता है</string>
<!--Auto-Flattr dialog-->
<!--Search-->
<string name="found_in_chapters_label">अध्यायों में मिला</string>
diff --git a/core/src/main/res/values-it-rIT/strings.xml b/core/src/main/res/values-it-rIT/strings.xml
index 1322813f9..f1d94e3d4 100644
--- a/core/src/main/res/values-it-rIT/strings.xml
+++ b/core/src/main/res/values-it-rIT/strings.xml
@@ -329,6 +329,8 @@
<string name="pref_proxy_title">Proxy</string>
<string name="pref_faq">FAQ</string>
<string name="pref_cast_title">Supporto a Chromecast</string>
+ <string name="pref_rewind_sum">Personalizzare il numero di secondi per saltare all\'indietro quando il pulsante di riavvolgimento viene cliccato</string>
+ <string name="pref_fast_forward_sum">Personalizzare il numero di secondi per saltare in avanti quando il pulsante di avanzamento rapido viene cliccato</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Abilita l\'esecuzione automatica di Flattr</string>
<string name="auto_flattr_after_percent">Carica l\'episodio su Flattr appena è stato riprodotto al %d percento</string>
diff --git a/core/src/main/res/values-it/strings.xml b/core/src/main/res/values-it/strings.xml
index b36d8acd4..30e8ab66a 100644
--- a/core/src/main/res/values-it/strings.xml
+++ b/core/src/main/res/values-it/strings.xml
@@ -191,6 +191,8 @@
<string name="pref_expandNotify_title">Espandi le notifiche</string>
<string name="pref_queueAddToFront_sum">Aggiungi un nuovo episodio in testa alla coda.</string>
<string name="pref_smart_mark_as_played_disabled">Disabilitato</string>
+ <string name="pref_rewind_sum">Personalizzare il numero di secondi per saltare all\'indietro quando il pulsante di riavvolgimento viene cliccato</string>
+ <string name="pref_fast_forward_sum">Personalizzare il numero di secondi per saltare in avanti quando il pulsante di avanzamento rapido viene cliccato</string>
<!--Auto-Flattr dialog-->
<!--Search-->
<string name="found_in_chapters_label">Trovato nei capitoli</string>
diff --git a/core/src/main/res/values-iw-rIL/strings.xml b/core/src/main/res/values-iw-rIL/strings.xml
index 4aa4de3fc..34ebc4848 100644
--- a/core/src/main/res/values-iw-rIL/strings.xml
+++ b/core/src/main/res/values-iw-rIL/strings.xml
@@ -250,6 +250,8 @@
<string name="pref_expand_notify_unsupport_toast">גרסאות אנדרויד לפני 4.1 לא תומכות בהודעות מורחבות.</string>
<string name="pref_queueAddToFront_sum">הוסף פרקים חדשים לראש התור.</string>
<string name="pref_queueAddToFront_title">הוסף לראש התור.</string>
+ <string name="pref_rewind_sum">התאמה אישית של מספר השניות כדי לקפוץ לאחור כאשר כפתור rewind לוחץ</string>
+ <string name="pref_fast_forward_sum">התאמה אישית של מספר השניות כדי לקפוץ קדימה בעת הלחיצה על לחצן קדימה מהר לוחצת</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">הפעל תרומות flattr אוטומטיות</string>
<string name="auto_flattr_after_percent">תרום באמצעות flattr כשנוגן %d אחוזים מהפרק</string>
diff --git a/core/src/main/res/values-ja/strings.xml b/core/src/main/res/values-ja/strings.xml
index 94e2d8ac0..e1cf513a2 100644
--- a/core/src/main/res/values-ja/strings.xml
+++ b/core/src/main/res/values-ja/strings.xml
@@ -513,6 +513,8 @@
<string name="pref_resumeAfterCall_sum">着信が完了した後に再生を再開します</string>
<string name="pref_resumeAfterCall_title">着信後に再開</string>
<string name="pref_restart_required">この変更を有効にするには AntennaPod を再起動する必要があります。</string>
+ <string name="pref_rewind_sum">巻き戻しボタンがクリックされたときに後方にジャンプする秒数をカスタマイズします</string>
+ <string name="pref_fast_forward_sum">早送りボタンがクリックされたときに前方にジャンプする秒数をカスタマイズします</string>
<!--Online feed view-->
<string name="subscribe_label">購読</string>
<string name="subscribed_label">購読しました</string>
diff --git a/core/src/main/res/values-ko/strings.xml b/core/src/main/res/values-ko/strings.xml
index 53235d737..a16de306f 100644
--- a/core/src/main/res/values-ko/strings.xml
+++ b/core/src/main/res/values-ko/strings.xml
@@ -378,6 +378,8 @@
<string name="pref_known_issues">알려진 문제점</string>
<string name="pref_no_browser_found">웹브라우저가 없습니다.</string>
<string name="pref_cast_title">크롬캐스트 지원</string>
+ <string name="pref_rewind_sum">되감기 버튼을 클릭하면 뒤로 이동 (초)을 정의</string>
+ <string name="pref_fast_forward_sum">빨리 감기 버튼을 클릭 할 때 앞으로 이동 (초)을 정의</string>
<string name="pref_cast_message_play_flavor">캐스트 장치의 원격 미디어 재생 기능 사용 (예: 크롬캐스트, 안드로이드 TV의 오디오 스피커)</string>
<string name="pref_cast_message_free_flavor">크롬캐스트는 서드파티 라이브러리가 필요하지만, 이 버전의 안테나팟에서는 사용하지 않게 되어 있습니다.</string>
<!--Auto-Flattr dialog-->
diff --git a/core/src/main/res/values-nb/strings.xml b/core/src/main/res/values-nb/strings.xml
index fa188c3ea..e92bc9bce 100644
--- a/core/src/main/res/values-nb/strings.xml
+++ b/core/src/main/res/values-nb/strings.xml
@@ -330,6 +330,8 @@
<string name="send_email">Send e-post</string>
<string name="experimental_pref">Eksperimentell</string>
<string name="pref_sonic_title">Sonic medieavspiller</string>
+ <string name="pref_rewind_sum">Tilpass antall sekunder for å hoppe bakover når tilbakespolingsknapp klikkes</string>
+ <string name="pref_fast_forward_sum">Tilpass antall sekunder for å hoppe fremover når spol forover-knapp klikkes</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Aktiver automatisk flattring</string>
<string name="auto_flattr_after_percent">Flattre episode så snart %d prosent er avspilt</string>
diff --git a/core/src/main/res/values-nl/strings.xml b/core/src/main/res/values-nl/strings.xml
index 36913c5cd..1a45e2612 100644
--- a/core/src/main/res/values-nl/strings.xml
+++ b/core/src/main/res/values-nl/strings.xml
@@ -398,6 +398,8 @@
<string name="pref_known_issues">Reeds bekende bugs</string>
<string name="pref_no_browser_found">Geen browser gevonden</string>
<string name="pref_cast_title">Chromecast</string>
+ <string name="pref_rewind_sum">Pas het aantal seconden achteruit springen wanneer het terugspoelen knop wordt geklikt</string>
+ <string name="pref_fast_forward_sum">Pas het aantal seconden om vooruit te springen wanneer de fast forward knop wordt geklikt</string>
<string name="pref_cast_message_play_flavor">Ondersteuning activeren voor draadloos afspelen via Cast apparaten (zoals Chromecast, Audio speakers en Android TV)</string>
<string name="pref_cast_message_free_flavor">Voor Chromecast is software van derden vereist die niet beschikbaar zijn in deze versie van AntennaPod</string>
<!--Auto-Flattr dialog-->
diff --git a/core/src/main/res/values-no-rNB/strings.xml b/core/src/main/res/values-no-rNB/strings.xml
index 4cc52407f..298def87f 100644
--- a/core/src/main/res/values-no-rNB/strings.xml
+++ b/core/src/main/res/values-no-rNB/strings.xml
@@ -330,6 +330,8 @@
<string name="send_email">Send e-post</string>
<string name="experimental_pref">Eksperimentell</string>
<string name="pref_sonic_title">Sonic medieavspiller</string>
+ <string name="pref_rewind_sum">Tilpass antall sekunder for å hoppe bakover når tilbakespolingsknapp klikkes</string>
+ <string name="pref_fast_forward_sum">Tilpass antall sekunder for å hoppe fremover når spol forover-knapp klikkes</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Aktiver automatisk flattring</string>
<string name="auto_flattr_after_percent">Flattre episode så snart %d prosent er avspilt</string>
diff --git a/core/src/main/res/values-pl-rPL/strings.xml b/core/src/main/res/values-pl-rPL/strings.xml
index 96d26526a..b9df0eb41 100644
--- a/core/src/main/res/values-pl-rPL/strings.xml
+++ b/core/src/main/res/values-pl-rPL/strings.xml
@@ -374,6 +374,8 @@
<string name="send_email">Wyślij e-mail</string>
<string name="experimental_pref">Eksperymentalne</string>
<string name="pref_sonic_title">Odtwarzacz mediów Sonic</string>
+ <string name="pref_rewind_sum">Dostosuj liczbę sekund, aby przejść do tyłu po naciśnięciu przycisku przewijania kliknięciu</string>
+ <string name="pref_fast_forward_sum">Dostosuj liczbę sekund, aby przejść do przodu, gdy szybko do przodu kliknięciu przycisku</string>
<string name="pref_sonic_message">Użyj wbudowanego odtwarzacza Sonic jako oprogramowanie zastępcze do natywnego odtwarzacza Android i Prestissimo</string>
<string name="pref_current_value">Aktualna wartość: %1$s</string>
<string name="pref_proxy_title">Proxy</string>
diff --git a/core/src/main/res/values-pt-rBR/strings.xml b/core/src/main/res/values-pt-rBR/strings.xml
index 1b7306222..921252966 100644
--- a/core/src/main/res/values-pt-rBR/strings.xml
+++ b/core/src/main/res/values-pt-rBR/strings.xml
@@ -382,6 +382,8 @@
<string name="pref_cast_title">Suporte ao Chromecast</string>
<string name="pref_cast_message_play_flavor">Habilitar o suporte para reprodução remota de mídia em dispositivos Cast (como Chromecast, Caixa de som ou Android TV)</string>
<string name="pref_cast_message_free_flavor">O Chromecast necessita de bibliotecas proprietárias de terceiros que estão desativadas nesta versão do AntennaPod</string>
+ <string name="pref_rewind_sum">Personalizar o número de segundos para saltar para trás quando o botão de voltar é clicado</string>
+ <string name="pref_fast_forward_sum">Personalizar o número de segundos para saltar para a frente quando o botão de avanço rápido é clicado</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Abilitar automaticamente o flattr</string>
<string name="auto_flattr_after_percent">Episódio Flattr assim que %d porcento for tocado</string>
diff --git a/core/src/main/res/values-pt/strings.xml b/core/src/main/res/values-pt/strings.xml
index 8e0e27e48..329d89e52 100644
--- a/core/src/main/res/values-pt/strings.xml
+++ b/core/src/main/res/values-pt/strings.xml
@@ -517,6 +517,8 @@
<string name="pref_resumeAfterCall_sum">Continuar reprodução ao terminar a chamada</string>
<string name="pref_resumeAfterCall_title">Continuar após a chamada</string>
<string name="pref_restart_required">Tem que reiniciar o AntennaPod para aplicar as alterações</string>
+ <string name="pref_rewind_sum">Personalizar o número de segundos para saltar para trás quando o botão de voltar é clicado</string>
+ <string name="pref_fast_forward_sum">Personalizar o número de segundos para saltar para a frente quando o botão de avanço rápido é clicado</string>
<!--Online feed view-->
<string name="subscribe_label">Subscrever</string>
<string name="subscribed_label">Subscrito</string>
diff --git a/core/src/main/res/values-ro-rRO/strings.xml b/core/src/main/res/values-ro-rRO/strings.xml
index b1c75912c..7965920fd 100644
--- a/core/src/main/res/values-ro-rRO/strings.xml
+++ b/core/src/main/res/values-ro-rRO/strings.xml
@@ -160,6 +160,8 @@
<string name="pref_gpodnet_authenticate_title">Autentificare</string>
<string name="pref_playback_speed_title">Viteze de ascutare</string>
<string name="pref_playback_speed_sum">Modifică vitezele disponibile pentru viteza de ascultare.</string>
+ <string name="pref_fast_forward_sum">Personaliza numărul de secunde pentru a sări înainte atunci când butonul fast forward este apasat</string>
+ <string name="pref_rewind_sum">Personaliza numărul de secunde pentru a sări înapoi atunci când butonul de derulare înapoi se face clic</string>
<!--Auto-Flattr dialog-->
<!--Search-->
<string name="found_in_chapters_label">Găsit în capitole</string>
diff --git a/core/src/main/res/values-ru/strings.xml b/core/src/main/res/values-ru/strings.xml
index f581a4fa8..6c86d1ab5 100644
--- a/core/src/main/res/values-ru/strings.xml
+++ b/core/src/main/res/values-ru/strings.xml
@@ -384,6 +384,8 @@
<string name="pref_known_issues">Известные проблемы</string>
<string name="pref_no_browser_found">Веб-браузер не обнаружен.</string>
<string name="pref_cast_title">Поддержка Chromecast</string>
+ <string name="pref_rewind_sum">Настроить количество секунд для перехода назад, когда кнопка перемотки нажата</string>
+ <string name="pref_fast_forward_sum">Настроить количество секунд, чтобы перейти вперед, когда кнопка перемотки вперед нажата</string>
<string name="pref_cast_message_play_flavor">Включить поддержку удалённого воспроизведения на устройствах с Google Cast (таких как Chromecast, динамики или ТВ на ОС Android)</string>
<string name="pref_cast_message_free_flavor">Для работы Chromecast требуются собственнические библиотеки третьей стороны, которые не включены в данную версию AntennaPod</string>
<!--Auto-Flattr dialog-->
diff --git a/core/src/main/res/values-sv-rSE/strings.xml b/core/src/main/res/values-sv-rSE/strings.xml
index a9749ede9..c4be14ce8 100644
--- a/core/src/main/res/values-sv-rSE/strings.xml
+++ b/core/src/main/res/values-sv-rSE/strings.xml
@@ -382,6 +382,8 @@
<string name="pref_cast_title">Chromecast-stöd</string>
<string name="pref_cast_message_play_flavor">Aktivera stöd för fjärruppspelning av media på Cast-enheter (såsom Chromecast, Ljudanläggningar eller Android TV)</string>
<string name="pref_cast_message_free_flavor">Chromecast kräver propretiära tredjepartsbibliotek som inte är inkluderade i denna version av AntennaPod</string>
+ <string name="pref_rewind_sum">Anpassa antalet sekunder för att hoppa bakåt när bakåt-knappen klickas</string>
+ <string name="pref_fast_forward_sum">Anpassa antalet sekunder för att hoppa framåt när snabbspolning framåt klickar på knappen</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Aktivera automatisk Flattring</string>
<string name="auto_flattr_after_percent">Flattra episoden så snart %d procent har spelats</string>
diff --git a/core/src/main/res/values-tr/strings.xml b/core/src/main/res/values-tr/strings.xml
index 33c316762..e917df895 100644
--- a/core/src/main/res/values-tr/strings.xml
+++ b/core/src/main/res/values-tr/strings.xml
@@ -332,6 +332,8 @@
<string name="send_email">E-posta gönder</string>
<string name="experimental_pref">Deneysel</string>
<string name="pref_sonic_title">Sonic ortam yürütücüsü</string>
+ <string name="pref_rewind_sum">Geri sarma düğmesi tıklandığında geriye atlamak için saniye sayısını özelleştirin</string>
+ <string name="pref_fast_forward_sum">Hızlı ileri sar düğmesi tıklandığında öne atlamak için saniye sayısını özelleştirin</string>
<string name="pref_faq">SSS</string>
<!--Auto-Flattr dialog-->
<string name="auto_flattr_enable">Otomatik Flattr\'lamayı etkinleştir</string>
diff --git a/core/src/main/res/values-uk-rUA/strings.xml b/core/src/main/res/values-uk-rUA/strings.xml
index 029a6e749..6d2393614 100644
--- a/core/src/main/res/values-uk-rUA/strings.xml
+++ b/core/src/main/res/values-uk-rUA/strings.xml
@@ -400,6 +400,8 @@
<string name="pref_known_issues">Відомі проблеми</string>
<string name="pref_no_browser_found">Веб браузер не знайдено.</string>
<string name="pref_cast_title">Підтримка для Chromecast</string>
+ <string name="pref_rewind_sum">Налаштувати кількість секунд для переходу назад, коли кнопка перемотування натиснута</string>
+ <string name="pref_fast_forward_sum">Налаштувати кількість секунд, щоб перейти вперед, коли кнопка перемотування вперед натиснута</string>
<string name="pref_cast_message_play_flavor">Включити підтримку програвання на таких пристроях як Chromecast або Android TV</string>
<string name="pref_cast_message_free_flavor">Для підтримки Chromecast потрібні бібліотеки які не включені в цю версію AntennaPod</string>
<!--Auto-Flattr dialog-->
diff --git a/core/src/main/res/values-zh-rCN/strings.xml b/core/src/main/res/values-zh-rCN/strings.xml
index ab49e8c49..6011235c1 100644
--- a/core/src/main/res/values-zh-rCN/strings.xml
+++ b/core/src/main/res/values-zh-rCN/strings.xml
@@ -361,6 +361,8 @@
<string name="pref_proxy_sum">选择一个网络代理</string>
<string name="pref_faq">FAQ</string>
<string name="pref_known_issues">已知问题</string>
+ <string name="pref_rewind_sum">自定义的秒数向后跳转点击快退按钮时</string>
+ <string name="pref_fast_forward_sum">自定义的秒数向前跳单击快进按钮时</string>
<string name="pref_no_browser_found">无网络浏览器</string>
<string name="pref_cast_title">Chromecast 支持</string>
<!--Auto-Flattr dialog-->
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index bed7b443c..8b508e9eb 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -302,7 +302,7 @@
<string name="pref_pauseOnDisconnect_sum">Pause playback when headphones or bluetooth are disconnected</string>
<string name="pref_unpauseOnHeadsetReconnect_sum">Resume playback when the headphones are reconnected</string>
<string name="pref_unpauseOnBluetoothReconnect_sum">Resume playback when bluetooth reconnects</string>
- <string name="pref_hardwareForwardButtonSkips_title">Forward button skips</string>
+ <string name="pref_hardwareForwardButtonSkips_title">Forward Button Skips</string>
<string name="pref_hardwareForwardButtonSkips_sum">When pressing a hardware forward button skip to the next episode instead of fast-forwarding</string>
<string name="pref_hardwarePreviousButtonRestarts_title">Previous button restarts</string>
<string name="pref_hardwarePreviousButtonRestarts_sum">When pressing a hardware previous button restart playing the current episode instead of rewinding</string>
@@ -310,7 +310,7 @@
<string name="pref_auto_delete_sum">Delete episode when playback completes</string>
<string name="pref_auto_delete_title">Auto Delete</string>
<string name="pref_smart_mark_as_played_sum">Mark episodes as played even if less than a certain amount of seconds of playing time is still left</string>
- <string name="pref_smart_mark_as_played_title">Smart mark as played</string>
+ <string name="pref_smart_mark_as_played_title">Smart Mark as Played</string>
<string name="pref_skip_keeps_episodes_sum">Keep episodes when they are skipped</string>
<string name="pref_skip_keeps_episodes_title">Keep Skipped Episodes</string>
<string name="playback_pref">Playback</string>
@@ -384,8 +384,10 @@
<string name="pref_gpodnet_notifications_sum">This setting does not apply to authentication errors.</string>
<string name="pref_playback_speed_title">Playback Speeds</string>
<string name="pref_playback_speed_sum">Customize the speeds available for variable speed audio playback</string>
- <string name="pref_fast_forward">Fast forward time</string>
- <string name="pref_rewind">Rewind time</string>
+ <string name="pref_fast_forward">Fast Forward Skip Time</string>
+ <string name="pref_fast_forward_sum">Customize the number of seconds to jump forward when the fast forward button is clicked</string>
+ <string name="pref_rewind">Rewind Skip Time</string>
+ <string name="pref_rewind_sum">Customize the number of seconds to jump backwards when the rewind button is clicked</string>
<string name="pref_gpodnet_sethostname_title">Set hostname</string>
<string name="pref_gpodnet_sethostname_use_default_host">Use default host</string>
<string name="pref_expandNotify_title">Expand Notification</string>
@@ -410,7 +412,7 @@
<string name="crash_report_sum">Send the latest crash report via e-mail</string>
<string name="send_email">Send e-mail</string>
<string name="experimental_pref">Experimental</string>
- <string name="pref_sonic_title">Sonic media player</string>
+ <string name="pref_sonic_title">Sonic Media Player</string>
<string name="pref_sonic_message">Use built-in sonic media player as a replacement for Android\'s native mediaplayer and Prestissimo</string>
<string name="pref_current_value">Current value: %1$s</string>
<string name="pref_proxy_title">Proxy</string>
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 708d4146c..daa995e8e 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Sun Apr 09 19:45:51 CEST 2017
+#Sat Dec 03 12:40:10 CET 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-bin.zip