summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Lehmann <ByteHamster@users.noreply.github.com>2019-07-23 22:11:48 +0200
committerGitHub <noreply@github.com>2019-07-23 22:11:48 +0200
commitf7251af8be4e7f0e0a04d114bac764ad72f5d504 (patch)
tree156a91aa8a9595eceb49a7dbf49ced978cc688b7
parent8b7778234860ed7518999c8a64aece65e1600ee2 (diff)
parente2cf363cc442b5032111f256eb432fffbf954c86 (diff)
downloadAntennaPod-f7251af8be4e7f0e0a04d114bac764ad72f5d504.zip
Merge pull request #3284 from ByteHamster/default-exoplayer
Make ExoPlayer the default player
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java29
-rw-r--r--app/src/main/res/xml/preferences_playback.xml2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java81
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java8
-rw-r--r--core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java1
6 files changed, 33 insertions, 89 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index 85abf9411..728019196 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -208,7 +208,6 @@ public class MainActivity extends CastEnabledActivity implements NavDrawerActivi
checkFirstLaunch();
PreferenceUpgrader.checkUpgrades(this);
- NotificationUtils.createChannels(this);
}
private void saveLastNavFragment(String tag) {
diff --git a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java
index 93b326698..5866f8715 100644
--- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java
+++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java
@@ -2,28 +2,51 @@ package de.danoeh.antennapod.preferences;
import android.content.Context;
import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.core.preferences.UserPreferences;
+import de.danoeh.antennapod.core.util.gui.NotificationUtils;
public class PreferenceUpgrader {
private static final String PREF_CONFIGURED_VERSION = "configuredVersion";
private static final String PREF_NAME = "PreferenceUpgrader";
+ private static SharedPreferences prefs;
public static void checkUpgrades(Context context) {
- SharedPreferences prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
- int oldVersion = prefs.getInt(PREF_CONFIGURED_VERSION, 1070200);
+ prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ SharedPreferences upgraderPrefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
+ int oldVersion = upgraderPrefs.getInt(PREF_CONFIGURED_VERSION, 1070200);
int newVersion = BuildConfig.VERSION_CODE;
if (oldVersion != newVersion) {
- prefs.edit().putInt(PREF_CONFIGURED_VERSION, newVersion).apply();
+ NotificationUtils.createChannels(context);
+
+ upgraderPrefs.edit().putInt(PREF_CONFIGURED_VERSION, newVersion).apply();
upgrade(oldVersion);
}
}
private static void upgrade(int oldVersion) {
+ if (oldVersion < 1070196) {
+ // migrate episode cleanup value (unit changed from days to hours)
+ int oldValueInDays = UserPreferences.getEpisodeCleanupValue();
+ if (oldValueInDays > 0) {
+ UserPreferences.setEpisodeCleanupValue(oldValueInDays * 24);
+ } // else 0 or special negative values, no change needed
+ }
+ if (oldVersion < 1070197) {
+ if (prefs.getBoolean("prefMobileUpdate", false)) {
+ prefs.edit().putString(UserPreferences.PREF_MOBILE_UPDATE, "everything").apply();
+ }
+ }
if (oldVersion < 1070300) {
UserPreferences.restartUpdateAlarm();
+
+ if (UserPreferences.getMediaPlayer().equals("builtin")) {
+ prefs.edit().putString(UserPreferences.PREF_MEDIA_PLAYER,
+ UserPreferences.PREF_MEDIA_PLAYER_EXOPLAYER).apply();
+ }
}
}
}
diff --git a/app/src/main/res/xml/preferences_playback.xml b/app/src/main/res/xml/preferences_playback.xml
index 8b8efa023..d609d3daa 100644
--- a/app/src/main/res/xml/preferences_playback.xml
+++ b/app/src/main/res/xml/preferences_playback.xml
@@ -115,7 +115,7 @@
<PreferenceCategory android:title="@string/media_player">
<ListPreference
- android:defaultValue="sonic"
+ android:defaultValue="exoplayer"
android:entries="@array/media_player_options"
android:key="prefMediaPlayer"
android:title="@string/media_player"
diff --git a/core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java b/core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java
deleted file mode 100644
index 1b4cbc0ea..000000000
--- a/core/src/main/java/de/danoeh/antennapod/core/UpdateManager.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package de.danoeh.antennapod.core;
-
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.util.Log;
-
-import org.antennapod.audio.MediaPlayer;
-
-import de.danoeh.antennapod.core.preferences.UserPreferences;
-
-/*
- * This class's job is do perform maintenance tasks whenever the app has been updated
- */
-class UpdateManager {
-
- private UpdateManager(){}
-
- private static final String TAG = UpdateManager.class.getSimpleName();
-
- private static final String PREF_NAME = "app_version";
- private static final String KEY_VERSION_CODE = "version_code";
-
- private static int currentVersionCode;
-
- private static Context context;
- private static SharedPreferences prefs;
-
- public static void init(Context context) {
- UpdateManager.context = context;
- prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
- PackageManager pm = context.getPackageManager();
- try {
- PackageInfo info = pm.getPackageInfo(context.getPackageName(), 0);
- currentVersionCode = info.versionCode;
- } catch (PackageManager.NameNotFoundException e) {
- Log.e(TAG, "Failed to obtain package info for package name: " + context.getPackageName(), e);
- currentVersionCode = 0;
- return;
- }
- final int oldVersionCode = getStoredVersionCode();
- Log.d(TAG, "old: " + oldVersionCode + ", current: " + currentVersionCode);
- if(oldVersionCode < currentVersionCode) {
- onUpgrade(oldVersionCode, currentVersionCode);
- setCurrentVersionCode();
- }
- }
-
- private static int getStoredVersionCode() {
- return prefs.getInt(KEY_VERSION_CODE, -1);
- }
-
- private static void setCurrentVersionCode() {
- prefs.edit().putInt(KEY_VERSION_CODE, currentVersionCode).apply();
- }
-
- private static void onUpgrade(final int oldVersionCode, final int newVersionCode) {
- if (oldVersionCode < 1050004) {
- if(MediaPlayer.isPrestoLibraryInstalled(context) && Build.VERSION.SDK_INT >= 16) {
- UserPreferences.enableSonic();
- }
- }
-
- if (oldVersionCode < 1070196) {
- // migrate episode cleanup value (unit changed from days to hours)
- int oldValueInDays = UserPreferences.getEpisodeCleanupValue();
- if (oldValueInDays > 0) {
- UserPreferences.setEpisodeCleanupValue(oldValueInDays * 24);
- } // else 0 or special negative values, no change needed
- }
- if (oldVersionCode < 1070197) {
- if (prefs.getBoolean("prefMobileUpdate", false)) {
- prefs.edit().putString(UserPreferences.PREF_MOBILE_UPDATE, "everything").apply();
- }
- }
- }
-
-}
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 817758545..8f5f5ae1e 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
@@ -647,12 +647,16 @@ public class UserPreferences {
return selectedSpeeds;
}
+ public static String getMediaPlayer() {
+ return prefs.getString(PREF_MEDIA_PLAYER, PREF_MEDIA_PLAYER_EXOPLAYER);
+ }
+
public static boolean useSonic() {
- return prefs.getString(PREF_MEDIA_PLAYER, "sonic").equals("sonic");
+ return getMediaPlayer().equals("sonic");
}
public static boolean useExoplayer() {
- return prefs.getString(PREF_MEDIA_PLAYER, "sonic").equals(PREF_MEDIA_PLAYER_EXOPLAYER);
+ return getMediaPlayer().equals(PREF_MEDIA_PLAYER_EXOPLAYER);
}
public static void enableSonic() {
diff --git a/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java b/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java
index d3c517d68..862fe23f5 100644
--- a/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java
+++ b/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java
@@ -41,7 +41,6 @@ public class ClientConfig {
}
PodDBAdapter.init(context);
UserPreferences.init(context);
- UpdateManager.init(context);
PlaybackPreferences.init(context);
NetworkUtils.init(context);
CastManager.init(context);