android/source/src/java/org/libreoffice/LOKitTileProvider.java | 2 android/source/src/java/org/libreoffice/ToolbarController.java | 22 +++------- 2 files changed, 9 insertions(+), 15 deletions(-)
New commits: commit b60ebf9f6ee6ba86f99f074c7b70698b21797cd0 Author: Michael Weghorn <[email protected]> AuthorDate: Fri Nov 7 10:39:51 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Mon Nov 10 10:43:25 2025 +0100 android: Only offer printing if device supports it Disable/hide the menu entry for printing if the device doesn't support printing. Quoting from the PrintManager doc [1]: > Requires the PackageManager#FEATURE_PRINTING feature which can be > detected using PackageManager.hasSystemFeature(String). [1] https://developer.android.com/reference/android/print/PrintManager Change-Id: I65dacb1f11b7ae3e36e5516cd1af26ed20d918e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193574 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> (cherry picked from commit 7e528bf6880a88975addd211216c8f170d47af27) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193717 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/android/source/src/java/org/libreoffice/ToolbarController.java b/android/source/src/java/org/libreoffice/ToolbarController.java index b53333a92942..6e88d90aa7ca 100644 --- a/android/source/src/java/org/libreoffice/ToolbarController.java +++ b/android/source/src/java/org/libreoffice/ToolbarController.java @@ -11,6 +11,7 @@ package org.libreoffice; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; +import android.content.pm.PackageManager; import androidx.appcompat.widget.Toolbar; import android.util.Log; import android.view.KeyEvent; @@ -249,6 +250,10 @@ public class ToolbarController implements Toolbar.OnMenuItemClickListener { setItemVisible(R.id.action_save, false); } setItemVisible(R.id.action_parts, mContext.isDrawerEnabled()); + + final boolean enablePrint = mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_PRINTING); + enableMenuItem(R.id.action_print, enablePrint); + setItemVisible(R.id.action_print, enablePrint); } public void setItemVisible(final int item, boolean visible){ commit bb6075fdb95d64e857975a9df442ed2439a7c778 Author: Michael Weghorn <[email protected]> AuthorDate: Fri Nov 7 10:28:17 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Mon Nov 10 10:43:10 2025 +0100 android: Merge ToolBarController.{show,hide}Item Instead of having two methods doing almost the same, have a ToolBarController.setItemVisible that takes a boolean parameter and passes it to MenuItem.setVisible. Use it in one more place. Change-Id: Ia186910865c8d3903763fbbad999e06a1cc41946 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193573 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> (cherry picked from commit 082b22735abd682d8022820929c46e45a02bafdf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193716 Reviewed-by: Xisco Fauli <[email protected]> diff --git a/android/source/src/java/org/libreoffice/LOKitTileProvider.java b/android/source/src/java/org/libreoffice/LOKitTileProvider.java index bbdc9456cf4c..ac98d076d1d7 100644 --- a/android/source/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/source/src/java/org/libreoffice/LOKitTileProvider.java @@ -124,7 +124,7 @@ class LOKitTileProvider implements TileProvider { // Writer documents always have one part, so hide the navigation drawer. if (mDocument.getDocumentType() == Document.DOCTYPE_TEXT) { mContext.disableNavigationDrawer(); - mContext.getToolbarController().hideItem(R.id.action_parts); + mContext.getToolbarController().setItemVisible(R.id.action_parts, false); } // Enable headers for Calc documents diff --git a/android/source/src/java/org/libreoffice/ToolbarController.java b/android/source/src/java/org/libreoffice/ToolbarController.java index 603d2258167e..b53333a92942 100644 --- a/android/source/src/java/org/libreoffice/ToolbarController.java +++ b/android/source/src/java/org/libreoffice/ToolbarController.java @@ -246,27 +246,16 @@ public class ToolbarController implements Toolbar.OnMenuItemClickListener { Toast.makeText(mContext, mContext.getString(R.string.readonly_file), Toast.LENGTH_LONG).show(); } } else { - hideItem(R.id.action_save); + setItemVisible(R.id.action_save, false); } - mMainMenu.findItem(R.id.action_parts).setVisible(mContext.isDrawerEnabled()); + setItemVisible(R.id.action_parts, mContext.isDrawerEnabled()); } - public void showItem(final int item){ + public void setItemVisible(final int item, boolean visible){ LOKitShell.getMainHandler().post(new Runnable() { @Override public void run() { - mMainMenu.findItem(item).setVisible(true); - - } - }); - } - - public void hideItem(final int item){ - LOKitShell.getMainHandler().post(new Runnable() { - @Override - public void run() { - mMainMenu.findItem(item).setVisible(false); - + mMainMenu.findItem(item).setVisible(visible); } }); }
