summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java7
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/DrawerPreferencesDialog.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java53
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/SearchFragment.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/HomeFragment.java10
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/HomeSectionsSettingsDialog.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/sections/DownloadsSection.java6
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/sections/EpisodesSurpriseSection.java7
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/sections/InboxSection.java12
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/sections/QueueSection.java7
-rw-r--r--app/src/main/java/de/danoeh/antennapod/ui/home/sections/SubscriptionsSection.java7
-rw-r--r--app/src/main/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java11
-rw-r--r--app/src/main/res/layout/addfeed.xml22
-rw-r--r--app/src/main/res/layout/fragment_itunes_search.xml27
-rw-r--r--app/src/main/res/layout/home_fragment.xml25
-rw-r--r--app/src/main/res/layout/horizontal_itemlist_item.xml1
-rw-r--r--app/src/main/res/layout/search_fragment.xml26
17 files changed, 169 insertions, 62 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/dialog/DrawerPreferencesDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/DrawerPreferencesDialog.java
index e8cfe81f0..8f174f207 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/DrawerPreferencesDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/DrawerPreferencesDialog.java
@@ -1,7 +1,7 @@
package de.danoeh.antennapod.dialog;
import android.content.Context;
-import androidx.appcompat.app.AlertDialog;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.fragment.NavDrawerFragment;
@@ -19,7 +19,7 @@ public class DrawerPreferencesDialog {
checked[i] = true;
}
}
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context);
builder.setTitle(R.string.drawer_preferences);
builder.setMultiChoiceItems(navTitles, checked, (dialog, which, isChecked) -> {
if (isChecked) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java
index 6e5db0963..37cd40b0e 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/InboxFragment.java
@@ -1,16 +1,21 @@
package de.danoeh.antennapod.fragment;
-import android.content.DialogInterface;
+import android.content.Context;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.CheckBox;
import android.widget.Toast;
+
import androidx.annotation.NonNull;
+
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
-import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.model.feed.FeedItem;
@@ -25,6 +30,8 @@ import java.util.List;
public class InboxFragment extends EpisodesListFragment {
public static final String TAG = "NewEpisodesFragment";
private static final String PREF_NAME = "PrefNewEpisodesFragment";
+ private static final String PREF_DO_NOT_PROMPT_REMOVE_ALL_FROM_INBOX = "prefDoNotPromptRemovalAllFromInbox";
+ private SharedPreferences prefs;
@NonNull
@Override
@@ -32,6 +39,7 @@ public class InboxFragment extends EpisodesListFragment {
final View root = super.onCreateView(inflater, container, savedInstanceState);
toolbar.inflateMenu(R.menu.inbox);
toolbar.setTitle(R.string.inbox_label);
+ prefs = getActivity().getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
updateToolbar();
emptyView.setIcon(R.drawable.ic_inbox);
emptyView.setTitle(R.string.no_inbox_head_label);
@@ -63,19 +71,11 @@ public class InboxFragment extends EpisodesListFragment {
return true;
}
if (item.getItemId() == R.id.remove_all_inbox_item) {
- ConfirmationDialog removeAllNewFlagsConfirmationDialog = new ConfirmationDialog(getActivity(),
- R.string.remove_all_inbox_label,
- R.string.remove_all_inbox_confirmation_msg) {
-
- @Override
- public void onConfirmButtonPressed(DialogInterface dialog) {
- dialog.dismiss();
- DBWriter.removeAllNewFlags();
- ((MainActivity) getActivity()).showSnackbarAbovePlayer(
- R.string.removed_all_inbox_msg, Toast.LENGTH_SHORT);
- }
- };
- removeAllNewFlagsConfirmationDialog.createNewDialog().show();
+ if (prefs.getBoolean(PREF_DO_NOT_PROMPT_REMOVE_ALL_FROM_INBOX, false)) {
+ removeAllFromInbox();
+ } else {
+ showRemoveAllDialog();
+ }
return true;
}
return false;
@@ -97,4 +97,27 @@ public class InboxFragment extends EpisodesListFragment {
protected int loadTotalItemCount() {
return DBReader.getTotalEpisodeCount(new FeedItemFilter(FeedItemFilter.NEW));
}
+
+ private void removeAllFromInbox() {
+ DBWriter.removeAllNewFlags();
+ ((MainActivity) getActivity()).showSnackbarAbovePlayer(R.string.removed_all_inbox_msg, Toast.LENGTH_SHORT);
+ }
+
+ private void showRemoveAllDialog() {
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(getContext());
+ builder.setTitle(R.string.remove_all_inbox_label);
+ builder.setMessage(R.string.remove_all_inbox_confirmation_msg);
+
+ View view = View.inflate(getContext(), R.layout.checkbox_do_not_show_again, null);
+ CheckBox checkNeverAskAgain = view.findViewById(R.id.checkbox_do_not_show_again);
+ builder.setView(view);
+
+ builder.setPositiveButton(R.string.confirm_label, (dialog, which) -> {
+ dialog.dismiss();
+ removeAllFromInbox();
+ prefs.edit().putBoolean(PREF_DO_NOT_PROMPT_REMOVE_ALL_FROM_INBOX, checkNeverAskAgain.isChecked()).apply();
+ });
+ builder.setNegativeButton(R.string.cancel_label, null);
+ builder.show();
+ }
}
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/HomeFragment.java b/app/src/main/java/de/danoeh/antennapod/ui/home/HomeFragment.java
index f03c6a3fd..da3fd7b05 100644
--- a/app/src/main/java/de/danoeh/antennapod/ui/home/HomeFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/ui/home/HomeFragment.java
@@ -3,6 +3,8 @@ package de.danoeh.antennapod.ui.home;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@@ -70,6 +72,14 @@ public class HomeFragment extends Fragment implements Toolbar.OnMenuItemClickLis
refreshToolbarState();
populateSectionList();
updateWelcomeScreenVisibility();
+
+ viewBinding.swipeRefresh.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance));
+ viewBinding.swipeRefresh.setOnRefreshListener(() -> {
+ AutoUpdateManager.runImmediate(requireContext());
+ new Handler(Looper.getMainLooper()).postDelayed(() -> viewBinding.swipeRefresh.setRefreshing(false),
+ getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
+ });
+
return viewBinding.getRoot();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/ui/home/HomeSectionsSettingsDialog.java b/app/src/main/java/de/danoeh/antennapod/ui/home/HomeSectionsSettingsDialog.java
index aa8ef8de3..e651aea48 100644
--- a/app/src/main/java/de/danoeh/antennapod/ui/home/HomeSectionsSettingsDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/ui/home/HomeSectionsSettingsDialog.java
@@ -4,7 +4,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.text.TextUtils;
-import androidx.appcompat.app.AlertDialog;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import de.danoeh.antennapod.R;
import java.util.List;
@@ -22,7 +22,7 @@ public class HomeSectionsSettingsDialog {
}
}
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context);
builder.setTitle(R.string.configure_home);
builder.setMultiChoiceItems(sectionLabels, checked, (dialog, which, isChecked) -> {
if (isChecked) {
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..3e7b02fd3 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
@@ -20,6 +20,7 @@ import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.event.FeedItemEvent;
+import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.fragment.InboxFragment;
import de.danoeh.antennapod.fragment.swipeactions.SwipeActions;
@@ -65,9 +66,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
@@ -85,6 +90,11 @@ public class InboxSection extends HomeSection {
loadItems();
}
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onFeedListChanged(FeedListUpdateEvent event) {
+ loadItems();
+ }
+
@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onEventMainThread(DownloadEvent event) {
Log.d(TAG, "onEventMainThread() called with DownloadEvent");
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/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java b/app/src/main/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java
index 5293338b6..42b0cb57c 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/viewholder/HorizontalItemViewHolder.java
@@ -1,11 +1,11 @@
package de.danoeh.antennapod.view.viewholder;
import android.view.LayoutInflater;
-import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
+import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
@@ -21,9 +21,10 @@ import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedMedia;
import de.danoeh.antennapod.ui.common.CircularProgressBar;
import de.danoeh.antennapod.ui.common.SquareImageView;
+import de.danoeh.antennapod.ui.common.ThemeUtils;
public class HorizontalItemViewHolder extends RecyclerView.ViewHolder {
- public final View card;
+ public final CardView card;
public final ImageView secondaryActionIcon;
private final SquareImageView cover;
private final TextView title;
@@ -67,6 +68,12 @@ public class HorizontalItemViewHolder extends RecyclerView.ViewHolder {
if (media == null) {
circularProgressBar.setPercentage(0, item);
} else {
+ if (PlaybackStatus.isCurrentlyPlaying(media)) {
+ card.setCardBackgroundColor(ThemeUtils.getColorFromAttr(activity, R.attr.card_background_playing));
+ } else {
+ card.setCardBackgroundColor(ThemeUtils.getColorFromAttr(activity, R.attr.card_background));
+ }
+
if (item.getMedia().getDuration() > 0) {
progressBar.setProgress(100 * item.getMedia().getPosition() / item.getMedia().getDuration());
}
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/home_fragment.xml b/app/src/main/res/layout/home_fragment.xml
index 0c5d872b3..fca9406a8 100644
--- a/app/src/main/res/layout/home_fragment.xml
+++ b/app/src/main/res/layout/home_fragment.xml
@@ -65,18 +65,25 @@
</LinearLayout>
- <androidx.core.widget.NestedScrollView
- android:id="@+id/homeScrollView"
+ <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+ android:id="@+id/swipeRefresh"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
+ android:layout_height="match_parent">
- <LinearLayout
- android:id="@+id/homeContainer"
+ <androidx.core.widget.NestedScrollView
+ android:id="@+id/homeScrollView"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:paddingBottom="12dp" />
+ android:layout_height="wrap_content">
+
+ <LinearLayout
+ android:id="@+id/homeContainer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingBottom="12dp" />
+
+ </androidx.core.widget.NestedScrollView>
- </androidx.core.widget.NestedScrollView>
+ </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</LinearLayout>
diff --git a/app/src/main/res/layout/horizontal_itemlist_item.xml b/app/src/main/res/layout/horizontal_itemlist_item.xml
index 5b4787d11..b69a3f445 100644
--- a/app/src/main/res/layout/horizontal_itemlist_item.xml
+++ b/app/src/main/res/layout/horizontal_itemlist_item.xml
@@ -21,7 +21,6 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="?attr/background_elevated"
android:orientation="vertical">
<androidx.cardview.widget.CardView
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"