diff options
author | ByteHamster <info@bytehamster.com> | 2023-05-05 19:42:51 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2023-05-05 19:43:45 +0200 |
commit | f8be7d596d098e534039908ade8270e13168fd23 (patch) | |
tree | aa168885671cf49293c8a5eec088f0fedfaaa54b /app/src/main/java | |
parent | 967e289f91f51d0b5a91fdd598c3f42bd995299a (diff) | |
parent | b063f0508f6e6439509f22769374c57f77cb499f (diff) | |
download | AntennaPod-f8be7d596d098e534039908ade8270e13168fd23.zip |
Merge branch 'master' into develop
Diffstat (limited to 'app/src/main/java')
6 files changed, 29 insertions, 8 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 7851e5b9a..bd467076a 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -516,7 +516,11 @@ public class MainActivity extends CastEnabledActivity { String toPage = UserPreferences.getDefaultPage(); if (NavDrawerFragment.getLastNavFragment(this).equals(toPage) || UserPreferences.DEFAULT_PAGE_REMEMBER.equals(toPage)) { - super.onBackPressed(); + if (UserPreferences.backButtonOpensDrawer() && drawerLayout != null) { + drawerLayout.openDrawer(navDrawer); + } else { + super.onBackPressed(); + } } else { loadFragment(toPage, null); } diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/EpisodeItemListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/EpisodeItemListAdapter.java index cc32261da..0ec7018a7 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/EpisodeItemListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/EpisodeItemListAdapter.java @@ -1,7 +1,6 @@ package de.danoeh.antennapod.adapter; import android.app.Activity; -import android.content.Context; import android.os.Build; import android.view.ContextMenu; import android.view.InputDevice; @@ -15,7 +14,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; -import com.google.android.material.elevation.SurfaceColors; +import de.danoeh.antennapod.ui.common.ThemeUtils; import org.apache.commons.lang3.ArrayUtils; import java.lang.ref.WeakReference; @@ -120,9 +119,8 @@ public class EpisodeItemListAdapter extends SelectableAdapter<EpisodeItemViewHol if (inActionMode()) { holder.secondaryActionButton.setOnClickListener(null); if (isSelected(pos)) { - Context context = mainActivityRef.get(); - float density = context.getResources().getDisplayMetrics().density; - holder.itemView.setBackgroundColor(SurfaceColors.getColorForElevation(context, 8 * density)); + holder.itemView.setBackgroundColor(0x88000000 + + (0xffffff & ThemeUtils.getColorFromAttr(mainActivityRef.get(), R.attr.colorAccent))); } else { holder.itemView.setBackgroundResource(android.R.color.transparent); } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java index 18bec12ca..ef784e9ee 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesListFragment.java @@ -425,13 +425,16 @@ public abstract class EpisodesListFragment extends Fragment .observeOn(AndroidSchedulers.mainThread()) .subscribe( data -> { + final boolean restoreScrollPosition = episodes.isEmpty(); episodes = data.first; hasMoreItems = !(page == 1 && episodes.size() < EPISODES_PER_PAGE); progressBar.setVisibility(View.GONE); listAdapter.setDummyViews(0); listAdapter.updateItems(episodes); listAdapter.setTotalNumberOfItems(data.second); - recyclerView.restoreScrollPosition(getPrefName()); + if (restoreScrollPosition) { + recyclerView.restoreScrollPosition(getPrefName()); + } updateToolbar(); }, error -> { listAdapter.setDummyViews(0); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackPreferencesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackPreferencesFragment.java index a773796e5..fe97cb265 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackPreferencesFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/preferences/PlaybackPreferencesFragment.java @@ -2,6 +2,7 @@ package de.danoeh.antennapod.fragment.preferences; import android.app.Activity; import android.content.res.Resources; +import android.os.Build; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.collection.ArrayMap; @@ -60,6 +61,10 @@ public class PlaybackPreferencesFragment extends PreferenceFragmentCompat { UsageStatistics.doNotAskAgain(UsageStatistics.ACTION_STREAM); return true; }); + if (Build.VERSION.SDK_INT >= 31) { + findPreference(UserPreferences.PREF_UNPAUSE_ON_HEADSET_RECONNECT).setVisible(false); + findPreference(UserPreferences.PREF_UNPAUSE_ON_BLUETOOTH_RECONNECT).setVisible(false); + } buildEnqueueLocationPreference(); } 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 80e7fdb1e..0a1b56e25 100644 --- a/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java +++ b/app/src/main/java/de/danoeh/antennapod/preferences/PreferenceUpgrader.java @@ -130,6 +130,11 @@ public class PreferenceUpgrader { "" + UserPreferences.EPISODE_CACHE_SIZE_UNLIMITED).apply(); } } + if (oldVersion < 3000007) { + if (prefs.getString("prefBackButtonBehavior", "").equals("drawer")) { + prefs.edit().putBoolean(UserPreferences.PREF_BACK_OPENS_DRAWER, true).apply(); + } + } if (oldVersion < 3010000) { if (prefs.getString(UserPreferences.PREF_THEME, "system").equals("2")) { prefs.edit() diff --git a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java index 9dbd34b4a..bafc01bf6 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java @@ -1,5 +1,7 @@ package de.danoeh.antennapod.ui.home.sections; +import android.content.Context; +import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.ContextMenu; @@ -19,6 +21,7 @@ import de.danoeh.antennapod.event.FeedListUpdateEvent; import de.danoeh.antennapod.fragment.SubscriptionFragment; import de.danoeh.antennapod.model.feed.Feed; import de.danoeh.antennapod.ui.home.HomeSection; +import de.danoeh.antennapod.ui.statistics.StatisticsFragment; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -88,7 +91,10 @@ public class SubscriptionsSection extends HomeSection { if (disposable != null) { disposable.dispose(); } - disposable = Observable.fromCallable(() -> DBReader.getStatistics(true, 0, Long.MAX_VALUE).feedTime) + SharedPreferences prefs = getContext().getSharedPreferences(StatisticsFragment.PREF_NAME, Context.MODE_PRIVATE); + boolean includeMarkedAsPlayed = prefs.getBoolean(StatisticsFragment.PREF_INCLUDE_MARKED_PLAYED, false); + disposable = Observable.fromCallable(() -> + DBReader.getStatistics(includeMarkedAsPlayed, 0, Long.MAX_VALUE).feedTime) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(statisticsData -> { |