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
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user