diff --git a/res/layout/activity_bookmarks.xml b/res/layout/activity_bookmarks.xml index 865e0106d..3aa07fb0d 100644 --- a/res/layout/activity_bookmarks.xml +++ b/res/layout/activity_bookmarks.xml @@ -34,6 +34,8 @@ android:id="@+id/bookmarks_list_nobookmarks" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_centerInParent="true" + android:gravity="center" android:paddingBottom="15dp" android:paddingLeft="10dp" android:paddingRight="10dp" diff --git a/res/values/strings.xml b/res/values/strings.xml index 594a7fd6b..4f45e58f4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -53,7 +53,7 @@ Could not find an installed application for this type of file Your application is corrupted.\nThis might happen when you remove files on the SD Card.\nYou need to uninstall then reinstall the App from the Play Store. Go to Play Store - No Bookmarks! + No bookmarks! Bookmarks No Content Headers Found To search for zim files we need access to your storage diff --git a/src/org/kiwix/kiwixmobile/views/BookmarksActivity.java b/src/org/kiwix/kiwixmobile/views/BookmarksActivity.java index 09e844f73..778d2d57d 100644 --- a/src/org/kiwix/kiwixmobile/views/BookmarksActivity.java +++ b/src/org/kiwix/kiwixmobile/views/BookmarksActivity.java @@ -16,6 +16,7 @@ import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.ListView; +import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import org.kiwix.kiwixmobile.R; @@ -31,6 +32,7 @@ public class BookmarksActivity extends AppCompatActivity private int numOfSelected; SparseBooleanArray sparseBooleanArray; private LinearLayout snackbarLayout; + private TextView noBookmarksTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -40,9 +42,13 @@ public class BookmarksActivity extends AppCompatActivity contents = getIntent().getStringArrayListExtra("bookmark_contents"); selected = new ArrayList<>(); bookmarksList = (ListView) findViewById(R.id.bookmarks_list); + noBookmarksTextView = (TextView) findViewById(R.id.bookmarks_list_nobookmarks); adapter = new ArrayAdapter(getApplicationContext(), R.layout.bookmarks_row, R.id.bookmark_title, contents); bookmarksList.setAdapter(adapter); + + setNoBookmarksState(); + bookmarksList.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE_MODAL); bookmarksList.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() { @Override public void onItemCheckedStateChanged(ActionMode mode, int position, long id, @@ -90,6 +96,13 @@ public class BookmarksActivity extends AppCompatActivity bookmarksList.setOnItemClickListener(this); } + private void setNoBookmarksState() { + if(bookmarksList.getCount() == 0) + noBookmarksTextView.setVisibility(View.VISIBLE); + else + noBookmarksTextView.setVisibility(View.GONE); + } + private void popDeleteBookmarksSnackbar() { Snackbar bookmarkDeleteSnackbar = Snackbar.make(snackbarLayout, numOfSelected + " deleted", Snackbar.LENGTH_LONG) @@ -98,6 +111,7 @@ public class BookmarksActivity extends AppCompatActivity contents.clear(); contents.addAll(tempContents); adapter.notifyDataSetChanged(); + setNoBookmarksState(); Toast.makeText(getApplicationContext(), "Bookmarks restored", Toast.LENGTH_SHORT).show(); } }); @@ -112,6 +126,7 @@ public class BookmarksActivity extends AppCompatActivity contents.remove(sparseBooleanArray.keyAt(i)); adapter.notifyDataSetChanged(); + setNoBookmarksState(); } private void setUpToolbar() {