diff options
| author | Vladislav Kuzkokov <vkuzkokov@google.com> | 2018-01-15 15:04:05 +0100 |
|---|---|---|
| committer | Vladislav Kuzkokov <vkuzkokov@google.com> | 2018-01-18 17:18:54 +0100 |
| commit | 792d58fbcef3da36dbde5fd8b0cf5a5b972bd12e (patch) | |
| tree | a5d52a2c41d21d788f2e9c690029b560aaa367f7 /core/java/android | |
| parent | e6c2b50229bb370b57fd769c28496c550c50c499 (diff) | |
Implement Policy to disable printing.
This adds a new "isPrintingEnabled" policy (true by default)
and hooks it into PrintManagerService.
Bug: 64140119
Test: manual
Change-Id: Ifb0f6772af51e6185135e9dcf5551e9ef0d88af3
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/admin/DevicePolicyManager.java | 46 | ||||
| -rw-r--r-- | core/java/android/app/admin/IDevicePolicyManager.aidl | 4 |
2 files changed, 50 insertions, 0 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index 9329d56a8de9..0be55642d4cf 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -9197,4 +9197,50 @@ public class DevicePolicyManager { throw re.rethrowFromSystemServer(); } } + + /** + * Allows/disallows printing. + * + * @param admin which {@link DeviceAdminReceiver} this request is associated with. + * @param enabled whether printing should be allowed or not. + * @throws SecurityException if {@code admin} is neither device, nor profile owner. + * @hide + */ + public void setPrintingEnabled(@NonNull ComponentName admin, boolean enabled) { + try { + mService.setPrintingEnabled(admin, enabled); + } catch (RemoteException re) { + throw re.rethrowFromSystemServer(); + } + } + + /** + * Returns whether printing is enabled for current user. + * + * @return {@code true} iff printing is enabled. + * @hide + */ + public boolean isPrintingEnabled() { + try { + return mService.isPrintingEnabled(); + } catch (RemoteException re) { + throw re.rethrowFromSystemServer(); + } + } + + /** + * Returns error message to be displayed when printing is disabled. + * + * Used only by PrintService. + * @return Localized error message. + * @throws SecurityException if caller is not system. + * @hide + */ + public CharSequence getPrintingDisabledReason() { + try { + return mService.getPrintingDisabledReason(); + } catch (RemoteException re) { + throw re.rethrowFromSystemServer(); + } + } } diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index eac7f7ed4b3e..d2a2be7bbcb5 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -396,4 +396,8 @@ interface IDevicePolicyManager { void setEndUserSessionMessage(in ComponentName admin, in CharSequence endUserSessionMessage); CharSequence getStartUserSessionMessage(in ComponentName admin); CharSequence getEndUserSessionMessage(in ComponentName admin); + + void setPrintingEnabled(in ComponentName admin, boolean enabled); + boolean isPrintingEnabled(); + CharSequence getPrintingDisabledReason(); } |
