diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/bookmark/BookmarksActivity.java b/core/src/main/java/org/kiwix/kiwixmobile/core/bookmark/BookmarksActivity.java index 9cefb87e3..e0a997527 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/bookmark/BookmarksActivity.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/bookmark/BookmarksActivity.java @@ -19,12 +19,16 @@ package org.kiwix.kiwixmobile.core.bookmark; import android.content.Intent; +import android.database.DataSetObserver; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; import android.view.Menu; import android.view.MenuItem; +import android.view.View; import android.widget.ImageView; +import android.widget.TextView; + import androidx.appcompat.app.ActionBar; import androidx.appcompat.view.ActionMode; import androidx.appcompat.widget.SearchView; @@ -61,6 +65,8 @@ public class BookmarksActivity extends BaseActivity implements BookmarksContract Toolbar toolbar; @BindView(R2.id.recycler_view) RecyclerView recyclerView; + @BindView(R2.id.no_bookmarks) + TextView noBookmarks; @Inject BookmarksContract.Presenter presenter; @Inject @@ -129,8 +135,19 @@ public class BookmarksActivity extends BaseActivity implements BookmarksContract actionBar.setTitle(R.string.menu_bookmarks); } - bookmarksAdapter = new BookmarksAdapter(bookmarksList, deleteList, this); + setupBookmarksAdapter(); recyclerView.setAdapter(bookmarksAdapter); + + } + + private void setupBookmarksAdapter() { + bookmarksAdapter = new BookmarksAdapter(bookmarksList, deleteList, this); + bookmarksAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { + @Override public void onChanged() { + super.onChanged(); + noBookmarks.setVisibility(bookmarksList.size() == 0 ? View.VISIBLE : View.GONE); + } + }); } @Override diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/history/HistoryActivity.java b/core/src/main/java/org/kiwix/kiwixmobile/core/history/HistoryActivity.java index 0ba772c00..65e050245 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/history/HistoryActivity.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/history/HistoryActivity.java @@ -25,7 +25,9 @@ import android.os.Parcelable; import android.provider.Settings; import android.view.Menu; import android.view.MenuItem; +import android.view.View; import android.widget.ImageView; +import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.ActionBar; import androidx.appcompat.view.ActionMode; @@ -70,6 +72,8 @@ public class HistoryActivity extends BaseActivity implements HistoryContract.Vie ZimReaderContainer zimReaderContainer; @BindView(R2.id.recycler_view) RecyclerView recyclerView; + @BindView(R2.id.no_history) + TextView noHistory; private boolean refreshAdapter = true; private HistoryAdapter historyAdapter; private LinearLayoutManager layoutManager; @@ -140,12 +144,22 @@ public class HistoryActivity extends BaseActivity implements HistoryContract.Vie actionBar.setTitle(R.string.history); } - historyAdapter = new HistoryAdapter(historyList, deleteList, this); + setupHistoryAdapter(); recyclerView.setAdapter(historyAdapter); layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); recyclerView.setLayoutManager(layoutManager); } + private void setupHistoryAdapter() { + historyAdapter = new HistoryAdapter(historyList, deleteList, this); + historyAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() { + @Override public void onChanged() { + super.onChanged(); + noHistory.setVisibility(historyList.size() == 0 ? View.VISIBLE : View.GONE); + } + }); + } + @Override protected void onResume() { super.onResume(); diff --git a/core/src/main/res/layout/activity_bookmarks.xml b/core/src/main/res/layout/activity_bookmarks.xml index 20d7de44c..71e83f595 100644 --- a/core/src/main/res/layout/activity_bookmarks.xml +++ b/core/src/main/res/layout/activity_bookmarks.xml @@ -7,6 +7,19 @@ + + + + This app requires the ability to read storage to function. Please grant the permission in your settings Go to Settings No Results + No Bookmarks + No History On Off