Merge "Implement Policy to disable printing."

This commit is contained in:
Vladislav Kuzkokov
2018-01-19 13:36:09 +00:00
committed by Android (Google) Code Review
7 changed files with 203 additions and 2 deletions

View File

@@ -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();
}
}
}

View File

@@ -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();
}