diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
11 files changed, 33 insertions, 102 deletions
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 55aadc60b..9a4a5ef3a 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -93,7 +93,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements private Disposable disposable; private PlaybackController newPlaybackController() { - return new PlaybackController(this, false) { + return new PlaybackController(this) { @Override public void setupGUI() { @@ -151,11 +151,6 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements } @Override - public void onServiceQueried() { - MediaplayerActivity.this.onServiceQueried(); - } - - @Override public void onShutdownNotification() { finish(); } @@ -197,10 +192,6 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements updatePlaybackSpeedButtonText(); } - private void onServiceQueried() { - supportInvalidateOptionsMenu(); - } - void chooseTheme() { setTheme(UserPreferences.getTheme()); } @@ -648,31 +639,33 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements private float prog; @Override - public void onProgressChanged(SeekBar seekBar,int progress, boolean fromUser) { + public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (controller == null || txtvLength == null) { return; } - prog = controller.onSeekBarProgressChanged(seekBar, progress, fromUser, txtvPosition); - if (showTimeLeft && prog != 0) { + if (fromUser) { + prog = progress / ((float) seekBar.getMax()); int duration = controller.getDuration(); TimeSpeedConverter converter = new TimeSpeedConverter(controller.getCurrentPlaybackSpeedMultiplier()); - int timeLeft = converter.convert(duration - (int) (prog * duration)); - String length = "-" + Converter.getDurationStringLong(timeLeft); - txtvLength.setText(length); + int position = converter.convert((int) (prog * duration)); + txtvPosition.setText(Converter.getDurationStringLong(position)); + + if (showTimeLeft) { + int timeLeft = converter.convert(duration - (int) (prog * duration)); + txtvLength.setText("-" + Converter.getDurationStringLong(timeLeft)); + } } } @Override public void onStartTrackingTouch(SeekBar seekBar) { - if (controller != null) { - controller.onSeekBarStartTrackingTouch(seekBar); - } + } @Override public void onStopTrackingTouch(SeekBar seekBar) { if (controller != null) { - controller.onSeekBarStopTrackingTouch(seekBar, prog); + controller.seekTo((int) (prog * controller.getDuration())); } } diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java index 212cb2f75..cb79a9265 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java @@ -247,11 +247,7 @@ public class VideoplayerActivity extends MediaplayerActivity { Log.d(TAG, "Videoview holder created"); videoSurfaceCreated = true; if (controller != null && controller.getStatus() == PlayerStatus.PLAYING) { - if (controller.serviceAvailable()) { - controller.setVideoSurface(holder); - } else { - Log.e(TAG, "Couldn't attach surface to mediaplayer - reference to service was null"); - } + controller.setVideoSurface(holder); } setupVideoAspectRatio(); } diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java index 95d6dfd9e..894b54529 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java @@ -39,7 +39,7 @@ public class PlaybackControlsDialog extends DialogFragment { @Override public void onStart() { super.onStart(); - controller = new PlaybackController(getActivity(), false) { + controller = new PlaybackController(getActivity()) { @Override public void setupGUI() { setupUi(); diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java index d36f97c7a..0a35c95ff 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/SleepTimerDialog.java @@ -49,7 +49,7 @@ public class SleepTimerDialog extends DialogFragment { @Override public void onStart() { super.onStart(); - controller = new PlaybackController(getActivity(), false) { + controller = new PlaybackController(getActivity()) { @Override public void setupGUI() { updateTime(); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java index 0be59904d..430968549 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java @@ -246,7 +246,7 @@ public class AudioPlayerFragment extends Fragment implements } private PlaybackController newPlaybackController() { - return new PlaybackController(getActivity(), false) { + return new PlaybackController(getActivity()) { @Override public void setupGUI() { diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java index d21df5ae3..dc27e1f83 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java @@ -70,7 +70,7 @@ public class ChaptersFragment extends Fragment { @Override public void onStart() { super.onStart(); - controller = new PlaybackController(getActivity(), false) { + controller = new PlaybackController(getActivity()) { @Override public boolean loadMediaInfo() { ChaptersFragment.this.loadMediaInfo(); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java index 7a5ed6b06..7593188b7 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/CoverFragment.java @@ -97,7 +97,7 @@ public class CoverFragment extends Fragment { @Override public void onStart() { super.onStart(); - controller = new PlaybackController(getActivity(), false) { + controller = new PlaybackController(getActivity()) { @Override public boolean loadMediaInfo() { CoverFragment.this.loadMediaInfo(); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java index 03b1d6f8f..2626713c1 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java @@ -90,7 +90,7 @@ public class ExternalPlayerFragment extends Fragment { } private PlaybackController setupPlaybackController() { - return new PlaybackController(getActivity(), true) { + return new PlaybackController(getActivity()) { @Override public void onPositionObserverUpdate() { diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java index 1abf4ff1b..4aac34c60 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemDescriptionFragment.java @@ -135,7 +135,7 @@ public class ItemDescriptionFragment extends Fragment { @Override public void onStart() { super.onStart(); - controller = new PlaybackController(getActivity(), false) { + controller = new PlaybackController(getActivity()) { @Override public boolean loadMediaInfo() { if (getMedia() == null) { diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java index fdb4ece20..f20b7f555 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java @@ -175,7 +175,7 @@ public class ItemFragment extends Fragment { public void onStart() { super.onStart(); EventBus.getDefault().register(this); - controller = new PlaybackController(getActivity(), false); + controller = new PlaybackController(getActivity()); controller.init(); } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/AutoDownloadPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/AutoDownloadPreferencesFragment.java index 469697e23..6b15e4301 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/AutoDownloadPreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/AutoDownloadPreferencesFragment.java @@ -1,42 +1,32 @@ package de.danoeh.antennapod.fragment.preferences; -import android.Manifest; import android.app.Activity; import android.content.Context; -import android.content.pm.PackageManager; import android.content.res.Resources; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Build; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.core.content.ContextCompat; +import android.util.Log; import androidx.preference.CheckBoxPreference; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceScreen; -import android.util.Log; +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.activity.PreferenceActivity; +import de.danoeh.antennapod.core.preferences.UserPreferences; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import de.danoeh.antennapod.R; -import de.danoeh.antennapod.activity.PreferenceActivity; -import de.danoeh.antennapod.core.preferences.UserPreferences; - public class AutoDownloadPreferencesFragment extends PreferenceFragmentCompat { private static final String TAG = "AutoDnldPrefFragment"; - private static final int LOCATION_PERMISSION_REQUEST_CODE = 1; - private static final String PREF_KEY_LOCATION_PERMISSION_REQUEST_PROMPT = "prefAutoDownloadWifiFilterAndroid10PermissionPrompt"; - private CheckBoxPreference[] selectedNetworks; - private Preference prefPermissionRequestPromptOnAndroid10 = null; - @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { addPreferencesFromResource(R.xml.preferences_autodownload); @@ -67,6 +57,9 @@ public class AutoDownloadPreferencesFragment extends PreferenceFragmentCompat { } return true; }); + if (Build.VERSION.SDK_INT >= 29) { + findPreference(UserPreferences.PREF_ENABLE_AUTODL_WIFI_FILTER).setVisible(false); + } findPreference(UserPreferences.PREF_ENABLE_AUTODL_WIFI_FILTER) .setOnPreferenceChangeListener( (preference, newValue) -> { @@ -93,6 +86,10 @@ public class AutoDownloadPreferencesFragment extends PreferenceFragmentCompat { } private void buildAutodownloadSelectedNetworksPreference() { + if (Build.VERSION.SDK_INT >= 29) { + return; + } + final Activity activity = getActivity(); if (selectedNetworks != null) { @@ -192,65 +189,10 @@ public class AutoDownloadPreferencesFragment extends PreferenceFragmentCompat { } private void setSelectedNetworksEnabled(boolean b) { - if (showPermissionRequestPromptOnAndroid10IfNeeded(b)) { - return; - } - if (selectedNetworks != null) { for (Preference p : selectedNetworks) { p.setEnabled(b); } } } - - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - if (requestCode != LOCATION_PERMISSION_REQUEST_CODE) { - return; - } - if (permissions.length > 0 && permissions[0].equals(Manifest.permission.ACCESS_FINE_LOCATION) && - grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - buildAutodownloadSelectedNetworksPreference(); - } - } - - private boolean showPermissionRequestPromptOnAndroid10IfNeeded(boolean wifiFilterEnabled) { - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) { - return false; - } - - // Cases Android 10(Q) or later - if (prefPermissionRequestPromptOnAndroid10 != null) { - getPreferenceScreen().removePreference(prefPermissionRequestPromptOnAndroid10); - prefPermissionRequestPromptOnAndroid10 = null; - } - - if (ContextCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_FINE_LOCATION) - == PackageManager.PERMISSION_GRANTED) { - return false; - } - - // Case location permission not yet granted, permission-specific UI is needed - if (!wifiFilterEnabled) { - // Don't show the UI when WiFi filter disabled. - // it still return true, so that the caller knows - // it does not have required permission, and will not invoke codes that require so. - return true; - } - - Preference pref = new Preference(requireActivity()); - pref.setKey(PREF_KEY_LOCATION_PERMISSION_REQUEST_PROMPT); - pref.setTitle(R.string.autodl_wifi_filter_permission_title); - pref.setSummary(R.string.autodl_wifi_filter_permission_message); - pref.setIcon(R.drawable.ic_warning_red); - pref.setOnPreferenceClickListener(preference -> { - requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, LOCATION_PERMISSION_REQUEST_CODE); - return true; - }); - pref.setPersistent(false); - getPreferenceScreen().addPreference(pref); - prefPermissionRequestPromptOnAndroid10 = pref; - return true; - } - } |