diff options
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/print/IPrintManager.aidl | 1 | ||||
-rw-r--r-- | core/java/android/print/PrintManager.java | 21 |
2 files changed, 21 insertions, 1 deletions
diff --git a/core/java/android/print/IPrintManager.aidl b/core/java/android/print/IPrintManager.aidl index 4044b31..3bd515b 100644 --- a/core/java/android/print/IPrintManager.aidl +++ b/core/java/android/print/IPrintManager.aidl @@ -45,6 +45,7 @@ interface IPrintManager { void removePrintJobStateChangeListener(in IPrintJobStateChangeListener listener, int userId); + List<PrintServiceInfo> getInstalledPrintServices(int userId); List<PrintServiceInfo> getEnabledPrintServices(int userId); void createPrinterDiscoverySession(in IPrinterDiscoveryObserver observer, int userId); diff --git a/core/java/android/print/PrintManager.java b/core/java/android/print/PrintManager.java index a015388..0859fdd 100644 --- a/core/java/android/print/PrintManager.java +++ b/core/java/android/print/PrintManager.java @@ -289,7 +289,26 @@ public final class PrintManager { return enabledServices; } } catch (RemoteException re) { - Log.e(LOG_TAG, "Error getting the enalbed print services", re); + Log.e(LOG_TAG, "Error getting the enabled print services", re); + } + return Collections.emptyList(); + } + + /** + * Gets the list of installed print services. + * + * @return The installed service list or an empty list. + * + * @hide + */ + public List<PrintServiceInfo> getInstalledPrintServices() { + try { + List<PrintServiceInfo> installedServices = mService.getInstalledPrintServices(mUserId); + if (installedServices != null) { + return installedServices; + } + } catch (RemoteException re) { + Log.e(LOG_TAG, "Error getting the installed print services", re); } return Collections.emptyList(); } |