android/source/src/java/org/libreoffice/SettingsActivity.java | 4 ++++ android/source/src/java/org/libreoffice/ToolbarController.java | 2 ++ android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java | 5 +++++ 3 files changed, 11 insertions(+)
New commits: commit be883d564e9bb74e869f55e01950b81b70e2723e Author: Michael Weghorn <[email protected]> AuthorDate: Tue Nov 25 23:18:22 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Wed Nov 26 12:59:25 2025 +0100 android: Hide settings menu entry if there are no settings All settings displayed in the SettingsActivity are related to editing, and only displayed if the build includes the editing feature. Therefore, don't show the settings menu item when using a build config that doesn't include that feature, i.e. only show the item for the strippedUIEditing product flavor, but not the strippedUI or quest ones. For the latter two, an activity only displaying the "General" heading would be shown, but nothing else could be done, which was rather confusing. Change-Id: I2a1a616c1faee18583320ccb16e717dc933d6565 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194534 Code-Style: Michael Weghorn <[email protected]> Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> (cherry picked from commit 5bd9b087c24d29b76e7fac6a991ef6fda2ef8d9f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194541 Code-Style: Xisco Fauli <[email protected]> Reviewed-by: Xisco Fauli <[email protected]> diff --git a/android/source/src/java/org/libreoffice/SettingsActivity.java b/android/source/src/java/org/libreoffice/SettingsActivity.java index db715cf8b0cc..c37cdec3f9b5 100644 --- a/android/source/src/java/org/libreoffice/SettingsActivity.java +++ b/android/source/src/java/org/libreoffice/SettingsActivity.java @@ -41,5 +41,9 @@ public class SettingsActivity extends FragmentActivity { } } } + + public static boolean hasSettings() { + return BuildConfig.ALLOW_EDITING; + } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/android/source/src/java/org/libreoffice/ToolbarController.java b/android/source/src/java/org/libreoffice/ToolbarController.java index 466de485489e..d5e6937c5e8b 100644 --- a/android/source/src/java/org/libreoffice/ToolbarController.java +++ b/android/source/src/java/org/libreoffice/ToolbarController.java @@ -240,6 +240,8 @@ public class ToolbarController implements Toolbar.OnMenuItemClickListener { final boolean enablePrint = mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_PRINTING); setItemVisible(R.id.action_print, enablePrint); + + setItemVisible(R.id.action_settings, SettingsActivity.hasSettings()); } public void setItemVisible(final int item, boolean visible) { diff --git a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java index 69bf430dd6b0..99dccfdfa232 100644 --- a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java +++ b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java @@ -310,6 +310,11 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements View.OnC MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.view_menu, menu); + final MenuItem settingsItem = menu.findItem(R.id.action_settings); + final boolean enableSettingsItem = SettingsActivity.hasSettings(); + settingsItem.setVisible(enableSettingsItem); + settingsItem.setEnabled(enableSettingsItem); + return true; }
