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 65e050245..8fa97c8c9 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 @@ -26,7 +26,9 @@ import android.provider.Settings; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.CompoundButton; import android.widget.ImageView; +import android.widget.Switch; import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.ActionBar; @@ -74,6 +76,8 @@ public class HistoryActivity extends BaseActivity implements HistoryContract.Vie RecyclerView recyclerView; @BindView(R2.id.no_history) TextView noHistory; + @BindView(R2.id.history_switch) + Switch historySwitch; private boolean refreshAdapter = true; private HistoryAdapter historyAdapter; private LinearLayoutManager layoutManager; @@ -148,6 +152,15 @@ public class HistoryActivity extends BaseActivity implements HistoryContract.Vie recyclerView.setAdapter(historyAdapter); layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); recyclerView.setLayoutManager(layoutManager); + + historySwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + sharedPreferenceUtil.setShowHistoryCurrentBook(!isChecked); + presenter.loadHistory(sharedPreferenceUtil.getShowHistoryCurrentBook()); + } + }); + + historySwitch.setChecked(!sharedPreferenceUtil.getShowHistoryCurrentBook()); } private void setupHistoryAdapter() { @@ -186,30 +199,31 @@ public class HistoryActivity extends BaseActivity implements HistoryContract.Vie @Override public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.menu_history, menu); - MenuItem toggle = menu.findItem(R.id.menu_history_toggle); - toggle.setChecked(sharedPreferenceUtil.getShowHistoryCurrentBook()); - SearchView search = (SearchView) menu.findItem(R.id.menu_history_search).getActionView(); - search.setQueryHint(getString(R.string.search_history)); - search.setOnQueryTextListener(new SearchView.OnQueryTextListener() { - @Override - public boolean onQueryTextSubmit(String query) { - return false; - } + if (!historyList.isEmpty()) { + getMenuInflater().inflate(R.menu.menu_history, menu); - @Override - public boolean onQueryTextChange(String newText) { - historyList.clear(); - historyList.addAll(fullHistory); - if ("".equals(newText)) { - historyAdapter.notifyDataSetChanged(); + SearchView search = (SearchView) menu.findItem(R.id.menu_history_search).getActionView(); + search.setQueryHint(getString(R.string.search_history)); + search.setOnQueryTextListener(new SearchView.OnQueryTextListener() { + @Override + public boolean onQueryTextSubmit(String query) { + return false; + } + + @Override + public boolean onQueryTextChange(String newText) { + historyList.clear(); + historyList.addAll(fullHistory); + if ("".equals(newText)) { + historyAdapter.notifyDataSetChanged(); + return true; + } + presenter.filterHistory(historyList, newText); return true; } - presenter.filterHistory(historyList, newText); - return true; - } - }); + }); + } return true; } @@ -219,11 +233,6 @@ public class HistoryActivity extends BaseActivity implements HistoryContract.Vie if (itemId == android.R.id.home) { onBackPressed(); return true; - } else if (itemId == R.id.menu_history_toggle) { - item.setChecked(!item.isChecked()); - sharedPreferenceUtil.setShowHistoryCurrentBook(item.isChecked()); - presenter.loadHistory(sharedPreferenceUtil.getShowHistoryCurrentBook()); - return true; } else if (itemId == R.id.menu_history_clear) { presenter.deleteHistory(new ArrayList<>(fullHistory)); fullHistory.clear(); diff --git a/core/src/main/res/layout/activity_history.xml b/core/src/main/res/layout/activity_history.xml index 2014327f1..1b15679cb 100644 --- a/core/src/main/res/layout/activity_history.xml +++ b/core/src/main/res/layout/activity_history.xml @@ -1,11 +1,33 @@ - + + + + + + + - - + app:showAsAction="ifRoom" /> diff --git a/core/src/main/res/values/dimens.xml b/core/src/main/res/values/dimens.xml index 9a8919332..25ac86021 100644 --- a/core/src/main/res/values/dimens.xml +++ b/core/src/main/res/values/dimens.xml @@ -5,6 +5,8 @@ 16dp 4dp 8dp + 6dp + 15dp 8dip 8dip 50dp diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index da4cc7881..6078ac834 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -202,7 +202,7 @@ Send feedback Expand History - History from current book + View History From All Books Search history %1$d selected