diff --git a/app/src/main/java/com/gsnathan/pdfviewer/MainActivity.java b/app/src/main/java/com/gsnathan/pdfviewer/MainActivity.java index 8b62c55..8b32b14 100755 --- a/app/src/main/java/com/gsnathan/pdfviewer/MainActivity.java +++ b/app/src/main/java/com/gsnathan/pdfviewer/MainActivity.java @@ -259,10 +259,12 @@ void configurePdfViewAndLoad(PDFView.Configurator viewConfigurator) { } else { viewBinding.pdfView.setBackgroundColor(0xFF212121); } + float maxZoom = (float)(prefManager.getInt("max_zoom_pref", 4) + 1); + float midZoom = Math.min(2.0f, maxZoom); viewBinding.pdfView.useBestQuality(prefManager.getBoolean("quality_pref", false)); viewBinding.pdfView.setMinZoom(0.5f); - viewBinding.pdfView.setMidZoom(2.0f); - viewBinding.pdfView.setMaxZoom(5.0f); + viewBinding.pdfView.setMidZoom(midZoom); + viewBinding.pdfView.setMaxZoom(maxZoom); viewConfigurator .defaultPage(pageNumber) .onPageChange(this::setCurrentPage) diff --git a/app/src/main/java/com/gsnathan/pdfviewer/SettingsActivity.java b/app/src/main/java/com/gsnathan/pdfviewer/SettingsActivity.java index 2a004c5..d8414de 100644 --- a/app/src/main/java/com/gsnathan/pdfviewer/SettingsActivity.java +++ b/app/src/main/java/com/gsnathan/pdfviewer/SettingsActivity.java @@ -6,6 +6,7 @@ import android.os.Build; import android.os.Bundle; import android.preference.Preference; +import android.preference.PreferenceManager; import android.util.Log; import android.util.TypedValue; import android.view.MenuItem; @@ -13,6 +14,7 @@ import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.Toolbar; +import androidx.preference.SeekBarPreference; import com.jaredrummler.cyanea.app.CyaneaPreferenceActivity; @@ -51,6 +53,19 @@ private void setupShowInLauncherPreference() { } }); } + + Preference seekBar = (Preference)findPreference("max_zoom_pref"); + int current_value = PreferenceManager.getDefaultSharedPreferences(this).getInt("max_zoom_pref",5); + String seekBarTitle = getResources().getString(R.string.maximum_zoom) + " " + String.valueOf(++current_value); + seekBar.setTitle(seekBarTitle); + seekBar.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object o) { + final int progress = Integer.valueOf(String.valueOf(o)) + 1; + preference.setTitle(getResources().getString(R.string.maximum_zoom) + " " + progress); + return true; + } + }); } private void setOptionsListTopMargin() { diff --git a/app/src/main/java/com/gsnathan/pdfviewer/Utils.java b/app/src/main/java/com/gsnathan/pdfviewer/Utils.java index c422898..298e044 100755 --- a/app/src/main/java/com/gsnathan/pdfviewer/Utils.java +++ b/app/src/main/java/com/gsnathan/pdfviewer/Utils.java @@ -52,7 +52,8 @@ static void showLog(AppCompatActivity context) { new WhatsNewItem("Full screen mode", "A new button has been added to the bottom bar to read PDFs in full screen!", R.drawable.star_icon), new WhatsNewItem("Keep the screen on while reading", "You can enable this feature in Settings.", R.drawable.star_icon), new WhatsNewItem("Sharing improvements and fixes", "Including better support for third-party share dialogs.", R.drawable.star_icon), - new WhatsNewItem("Bugs", "A bunch of bug fixes and robustness improvements.", R.drawable.star_icon) + new WhatsNewItem("Bugs", "A bunch of bug fixes and robustness improvements.", R.drawable.star_icon), + new WhatsNewItem("Custom maximum zoom", "You can now set the maximum zoom.", R.drawable.star_icon) ); log.setTitleColor(Color.BLACK); log.setTitleText(context.getResources().getString(R.string.appChangelog)); diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 4a0e451..2e16ccd 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -73,5 +73,6 @@ Password errata. Modalità scura per il PDF Mantieni lo schermo acceso + Zoom massimo: Questa app non raccoglie alcun dato.\nI seguenti permessi sono richiesti per fornire specifiche funzionalità dell\'applicazione:\n- Internet: aprire i PDF tramite link\n- Archiviazione: aprire file dalla memoria interna, salvare i PDF aperti tramite link \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 32b3c5e..a451703 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -121,5 +121,6 @@ Dark theme for PDF Keep the screen on + Maximum zoom: This app does not collect any data.\nThe following permissions are required to provide specific features in the app:\n- Internet: open PDFs through links\n- Storage: open files from storage, save PDFs opened through links \ No newline at end of file diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index fa19ec7..443b48e 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -1,6 +1,6 @@ - + + +