android/source/src/java/org/libreoffice/ToolbarController.java |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit 7e528bf6880a88975addd211216c8f170d47af27
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Nov 7 10:39:51 2025 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Mon Nov 10 09:04:43 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]>

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){

Reply via email to