From 46117e6e20d418f36a9c4ad905ef35db0a26bbc2 Mon Sep 17 00:00:00 2001 From: Antoine d'Aligny Date: Sun, 6 Oct 2019 00:16:35 +0200 Subject: [PATCH] fix enabling / disabling next/previous actions --- .../java/org/grapheneos/pdfviewer/PdfViewer.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java index 8574d27..1a3343a 100644 --- a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java +++ b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java @@ -121,6 +121,7 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader @JavascriptInterface public void setNumPages(int numPages) { mNumPages = numPages; + runOnUiThread(PdfViewer.this::invalidateOptionsMenu); } @JavascriptInterface @@ -371,11 +372,9 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader private static void enableDisableMenuItem(MenuItem item, boolean enable) { if (enable) { - if (!item.isEnabled()) { - item.setEnabled(true); - item.getIcon().setAlpha(ALPHA_HIGH); - } - } else if (item.isEnabled()) { + item.setEnabled(true); + item.getIcon().setAlpha(ALPHA_HIGH); + } else { item.setEnabled(false); item.getIcon().setAlpha(ALPHA_LOW); } @@ -386,6 +385,7 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader mPage = selected_page; renderPage(0); showPageNumber(); + invalidateOptionsMenu(); } } @@ -475,6 +475,8 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader enableDisableMenuItem(menu.findItem(R.id.action_zoom_in), mZoomRatio != MAX_ZOOM_RATIO); enableDisableMenuItem(menu.findItem(R.id.action_zoom_out), mZoomRatio != MIN_ZOOM_RATIO); + enableDisableMenuItem(menu.findItem(R.id.action_next), mPage < mNumPages); + enableDisableMenuItem(menu.findItem(R.id.action_previous), mPage > 1); return true; }