diff options
Diffstat (limited to 'app')
10 files changed, 86 insertions, 31 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 8fa3c9712..a36924452 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -18,6 +18,7 @@ import android.widget.EditText; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat; import androidx.core.view.WindowCompat; import androidx.core.view.WindowInsetsCompat; @@ -114,6 +115,12 @@ public class MainActivity extends CastEnabledActivity { navDrawer = findViewById(R.id.navDrawerFragment); setNavDrawerSize(); + // Consume navigation bar insets - we apply them in setPlayerVisible() + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main_view), (v, insets) -> + new WindowInsetsCompat.Builder(insets) + .setInsets(WindowInsetsCompat.Type.navigationBars(), Insets.NONE) + .build()); + final FragmentManager fm = getSupportFragmentManager(); if (fm.findFragmentByTag(MAIN_FRAGMENT_TAG) == null) { if (!UserPreferences.DEFAULT_PAGE_REMEMBER.equals(UserPreferences.getDefaultPage())) { diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java index 80d07681d..77fec7a8f 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java @@ -42,6 +42,7 @@ import de.danoeh.antennapod.core.util.FeedItemUtil; import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler; import de.danoeh.antennapod.view.EmptyViewHandler; import de.danoeh.antennapod.view.EpisodeItemListRecyclerView; +import de.danoeh.antennapod.view.LiftOnScrollListener; import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -139,6 +140,7 @@ public class SearchFragment extends Fragment { } }; recyclerView.setAdapter(adapter); + recyclerView.addOnScrollListener(new LiftOnScrollListener(layout.findViewById(R.id.appbar))); RecyclerView recyclerViewFeeds = layout.findViewById(R.id.recyclerViewFeeds); LinearLayoutManager layoutManagerFeeds = new LinearLayoutManager(getActivity()); diff --git a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/DownloadsSection.java b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/DownloadsSection.java index dc072921f..78c336335 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/DownloadsSection.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/DownloadsSection.java @@ -63,9 +63,13 @@ public class DownloadsSection extends HomeSection { SwipeActions swipeActions = new SwipeActions(this, CompletedDownloadsFragment.TAG); swipeActions.attachTo(viewBinding.recyclerView); swipeActions.setFilter(new FeedItemFilter(FeedItemFilter.DOWNLOADED)); + return view; + } + @Override + public void onStart() { + super.onStart(); loadItems(); - return view; } @Override diff --git a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/EpisodesSurpriseSection.java b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/EpisodesSurpriseSection.java index 680bb5ef4..8aaeb1412 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/EpisodesSurpriseSection.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/EpisodesSurpriseSection.java @@ -68,11 +68,16 @@ public class EpisodesSurpriseSection extends HomeSection { if (seed == 0) { seed = new Random().nextInt(); } - loadItems(); return view; } @Override + public void onStart() { + super.onStart(); + loadItems(); + } + + @Override protected void handleMoreClick() { ((MainActivity) requireActivity()).loadChildFragment(new AllEpisodesFragment()); } diff --git a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/InboxSection.java b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/InboxSection.java index 8138edd89..92bb0c381 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/InboxSection.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/InboxSection.java @@ -65,9 +65,13 @@ public class InboxSection extends HomeSection { SwipeActions swipeActions = new SwipeActions(this, InboxFragment.TAG); swipeActions.attachTo(viewBinding.recyclerView); swipeActions.setFilter(new FeedItemFilter(FeedItemFilter.NEW)); + return view; + } + @Override + public void onStart() { + super.onStart(); loadItems(); - return view; } @Override diff --git a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/QueueSection.java b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/QueueSection.java index 57fc85192..e35068e58 100644 --- a/app/src/main/java/de/danoeh/antennapod/ui/home/sections/QueueSection.java +++ b/app/src/main/java/de/danoeh/antennapod/ui/home/sections/QueueSection.java @@ -58,11 +58,16 @@ public class QueueSection extends HomeSection { viewBinding.recyclerView.setLayoutManager( new LinearLayoutManager(getContext(), RecyclerView.HORIZONTAL, false)); viewBinding.recyclerView.setAdapter(listAdapter); - loadItems(); return view; } @Override + public void onStart() { + super.onStart(); + loadItems(); + } + + @Override protected void handleMoreClick() { ((MainActivity) requireActivity()).loadChildFragment(new QueueFragment()); } 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 81dddbff3..b10d20e7b 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 @@ -44,11 +44,16 @@ public class SubscriptionsSection extends HomeSection { listAdapter = new HorizontalFeedListAdapter((MainActivity) getActivity()); listAdapter.setDummyViews(NUM_FEEDS); viewBinding.recyclerView.setAdapter(listAdapter); - loadItems(); return view; } @Override + public void onStart() { + super.onStart(); + loadItems(); + } + + @Override protected void handleMoreClick() { ((MainActivity) requireActivity()).loadChildFragment(new SubscriptionFragment()); } diff --git a/app/src/main/res/layout/addfeed.xml b/app/src/main/res/layout/addfeed.xml index 0b6ede087..8082b9c8a 100644 --- a/app/src/main/res/layout/addfeed.xml +++ b/app/src/main/res/layout/addfeed.xml @@ -4,17 +4,25 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" - android:fitsSystemWindows="true" android:orientation="vertical"> - <com.google.android.material.appbar.MaterialToolbar - android:id="@+id/toolbar" + <com.google.android.material.appbar.AppBarLayout + android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:minHeight="?attr/actionBarSize" - android:theme="?attr/actionBarTheme" - app:title="@string/add_feed_label" - app:navigationIcon="?homeAsUpIndicator" /> + android:fitsSystemWindows="true" + android:elevation="0dp"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="?attr/actionBarSize" + android:theme="?attr/actionBarTheme" + app:title="@string/add_feed_label" + app:navigationIcon="?homeAsUpIndicator" /> + + </com.google.android.material.appbar.AppBarLayout> <androidx.cardview.widget.CardView android:layout_width="match_parent" diff --git a/app/src/main/res/layout/fragment_itunes_search.xml b/app/src/main/res/layout/fragment_itunes_search.xml index d39d49c04..36026ae1e 100644 --- a/app/src/main/res/layout/fragment_itunes_search.xml +++ b/app/src/main/res/layout/fragment_itunes_search.xml @@ -4,25 +4,32 @@ xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" - android:layout_height="match_parent" - android:fitsSystemWindows="true"> + android:layout_height="match_parent"> - <com.google.android.material.appbar.MaterialToolbar - android:id="@+id/toolbar" + <com.google.android.material.appbar.AppBarLayout + android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" - android:minHeight="?attr/actionBarSize" - android:orientation="horizontal" - android:theme="?attr/actionBarTheme" - app:navigationIcon="?homeAsUpIndicator" - app:title="@string/discover" /> + android:fitsSystemWindows="true" + android:elevation="0dp"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="?attr/actionBarSize" + android:theme="?attr/actionBarTheme" + app:title="@string/discover" + app:navigationIcon="?homeAsUpIndicator" /> + + </com.google.android.material.appbar.AppBarLayout> <GridView android:id="@+id/gridView" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_below="@id/toolbar" + android:layout_below="@id/appbar" android:clipToPadding="false" android:columnWidth="400dp" android:gravity="center" diff --git a/app/src/main/res/layout/search_fragment.xml b/app/src/main/res/layout/search_fragment.xml index 3fded8725..0d4ea6556 100644 --- a/app/src/main/res/layout/search_fragment.xml +++ b/app/src/main/res/layout/search_fragment.xml @@ -3,23 +3,31 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" - android:layout_height="match_parent" - android:fitsSystemWindows="true"> + android:layout_height="match_parent"> - <com.google.android.material.appbar.MaterialToolbar - android:id="@+id/toolbar" + <com.google.android.material.appbar.AppBarLayout + android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" - android:minHeight="?attr/actionBarSize" - android:theme="?attr/actionBarTheme" - app:navigationIcon="?homeAsUpIndicator" - app:title="@string/search_label" /> + android:fitsSystemWindows="true" + android:elevation="0dp"> + + <com.google.android.material.appbar.MaterialToolbar + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="?attr/actionBarSize" + android:theme="?attr/actionBarTheme" + app:title="@string/search_label" + app:navigationIcon="?homeAsUpIndicator" /> + + </com.google.android.material.appbar.AppBarLayout> <com.google.android.material.chip.Chip android:id="@+id/feed_title_chip" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_below="@id/toolbar" + android:layout_below="@id/appbar" android:layout_marginLeft="10dp" android:layout_marginRight="0dp" android:visibility="gone" |