Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 34bc8464 authored by Vladislav Kuzkokov's avatar Vladislav Kuzkokov Committed by Android (Google) Code Review
Browse files

Merge "Implement Policy to disable printing."

parents 71253ff6 792d58fb
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
@@ -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();
        }
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -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();
}
+3 −0
Original line number Diff line number Diff line
@@ -379,6 +379,9 @@
    <string name="factory_reset_message">The admin app can\'t be used. Your device will now be
        erased.\n\nIf you have questions, contact your organization's admin.</string>

    <!-- A toast message displayed when printing is attempted but disabled by policy. -->
    <string name="printing_disabled_by">Printing disabled by <xliff:g id="owner_app">%s</xliff:g>.</string>

    <!-- Display name for any time a piece of data refers to the owner of the phone. For example, this could be used in place of the phone's phone number. -->
    <string name="me">Me</string>

+1 −0
Original line number Diff line number Diff line
@@ -878,6 +878,7 @@
  <java-symbol type="string" name="preposition_for_time" />
  <java-symbol type="string" name="print_service_installed_title" />
  <java-symbol type="string" name="print_service_installed_message" />
  <java-symbol type="string" name="printing_disabled_by" />
  <java-symbol type="string" name="progress_erasing" />
  <java-symbol type="string" name="mobile_provisioning_apn" />
  <java-symbol type="string" name="mobile_provisioning_url" />
+15 −0
Original line number Diff line number Diff line
@@ -126,4 +126,19 @@ abstract class BaseIDevicePolicyManager extends IDevicePolicyManager.Stub {
    public String getEndUserSessionMessage(ComponentName admin) {
        return null;
    }

    @Override
    public void setPrintingEnabled(ComponentName admin, boolean enabled) {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isPrintingEnabled() {
        return true;
    }

    @Override
    public CharSequence getPrintingDisabledReason() {
        return null;
    }
}
Loading