diff options
| author | Erik Wolsheimer <ewol@google.com> | 2022-03-09 20:40:25 -0800 |
|---|---|---|
| committer | Erik Wolsheimer <ewol@google.com> | 2022-03-29 21:38:35 +0000 |
| commit | b7b880315a81073a724db2dbba1ce9b7e94dfdcd (patch) | |
| tree | cef0f76bf7c4a0be686f5de66e4fffcba6aed6fd /core/java | |
| parent | 781829d9a6ea41875a352a9b943d5f289a56a3e3 (diff) | |
Add method PrintManager#isPrintServiceEnabled(ComponentName)
Bug: 180582919
Test: atest FrameworksCoreTests
Change-Id: I2f7e87d9e56f3abc22c04eee3e0863d5de48a9f9
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/print/IPrintManager.aidl | 9 | ||||
| -rw-r--r-- | core/java/android/print/PrintManager.java | 19 |
2 files changed, 28 insertions, 0 deletions
diff --git a/core/java/android/print/IPrintManager.aidl b/core/java/android/print/IPrintManager.aidl index d3d38744a1a9..da9d23b5303a 100644 --- a/core/java/android/print/IPrintManager.aidl +++ b/core/java/android/print/IPrintManager.aidl @@ -91,6 +91,15 @@ interface IPrintManager { void setPrintServiceEnabled(in ComponentName service, boolean isEnabled, int userId); /** + * Checks whether the given print service is enabled. + * + * @param service the service to check + * @param userId the id of the user requesting the check + * @return whether the given print service is enabled + */ + boolean isPrintServiceEnabled(in ComponentName service, int userId); + + /** * Listen for changes to the print service recommendations. * * @param listener the listener to add diff --git a/core/java/android/print/PrintManager.java b/core/java/android/print/PrintManager.java index 9abce5d46ac6..a5e2f33d4418 100644 --- a/core/java/android/print/PrintManager.java +++ b/core/java/android/print/PrintManager.java @@ -785,6 +785,25 @@ public final class PrintManager { } /** + * Checks whether a given print service is enabled. The provided service must share UID + * with the calling package, otherwise a {@link SecurityException} is thrown. + * + * @return true if the given print service is enabled + */ + public boolean isPrintServiceEnabled(@NonNull ComponentName service) { + if (mService == null) { + Log.w(LOG_TAG, "Feature android.software.print not available"); + return false; + } + try { + return mService.isPrintServiceEnabled(service, mUserId); + } catch (RemoteException re) { + Log.e(LOG_TAG, "Error sampling enabled/disabled " + service, re); + return false; + } + } + + /** * @hide */ public static final class PrintDocumentAdapterDelegate extends IPrintDocumentAdapter.Stub |
