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

Commit ebf39762 authored by Philip P. Moltmann's avatar Philip P. Moltmann Committed by Android (Google) Code Review
Browse files

Merge "Change hasCustomPrintIcon and setStatus as requested by API council." into nyc-dev

parents 91628f6c d74d1e54
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -30270,7 +30270,7 @@ package android.print {
    method public android.print.PrinterInfo build();
    method public android.print.PrinterInfo.Builder setCapabilities(android.print.PrinterCapabilitiesInfo);
    method public android.print.PrinterInfo.Builder setDescription(java.lang.String);
    method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon();
    method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon(boolean);
    method public android.print.PrinterInfo.Builder setIconResourceId(int);
    method public android.print.PrinterInfo.Builder setInfoIntent(android.app.PendingIntent);
    method public android.print.PrinterInfo.Builder setName(java.lang.String);
@@ -30322,6 +30322,7 @@ package android.printservice {
    method public boolean isStarted();
    method public void setProgress(float);
    method public void setStatus(java.lang.CharSequence);
    method public void setStatus(int);
    method public boolean setTag(java.lang.String);
    method public boolean start();
  }
+2 −1
Original line number Diff line number Diff line
@@ -32583,7 +32583,7 @@ package android.print {
    method public android.print.PrinterInfo build();
    method public android.print.PrinterInfo.Builder setCapabilities(android.print.PrinterCapabilitiesInfo);
    method public android.print.PrinterInfo.Builder setDescription(java.lang.String);
    method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon();
    method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon(boolean);
    method public android.print.PrinterInfo.Builder setIconResourceId(int);
    method public android.print.PrinterInfo.Builder setInfoIntent(android.app.PendingIntent);
    method public android.print.PrinterInfo.Builder setName(java.lang.String);
@@ -32635,6 +32635,7 @@ package android.printservice {
    method public boolean isStarted();
    method public void setProgress(float);
    method public void setStatus(java.lang.CharSequence);
    method public void setStatus(int);
    method public boolean setTag(java.lang.String);
    method public boolean start();
  }
+3 −2
Original line number Diff line number Diff line
@@ -30262,7 +30262,7 @@ package android.print {
    method public android.print.PrinterId getPrinterId();
    method public float getProgress();
    method public int getState();
    method public java.lang.CharSequence getStatus();
    method public java.lang.CharSequence getStatus(android.content.pm.PackageManager);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.print.PrintJobInfo> CREATOR;
    field public static final int STATE_BLOCKED = 4; // 0x4
@@ -30339,7 +30339,7 @@ package android.print {
    method public android.print.PrinterInfo build();
    method public android.print.PrinterInfo.Builder setCapabilities(android.print.PrinterCapabilitiesInfo);
    method public android.print.PrinterInfo.Builder setDescription(java.lang.String);
    method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon();
    method public android.print.PrinterInfo.Builder setHasCustomPrinterIcon(boolean);
    method public android.print.PrinterInfo.Builder setIconResourceId(int);
    method public android.print.PrinterInfo.Builder setInfoIntent(android.app.PendingIntent);
    method public android.print.PrinterInfo.Builder setName(java.lang.String);
@@ -30391,6 +30391,7 @@ package android.printservice {
    method public boolean isStarted();
    method public void setProgress(float);
    method public void setStatus(java.lang.CharSequence);
    method public void setStatus(int);
    method public boolean setTag(java.lang.String);
    method public boolean start();
  }
+9 −0
Original line number Diff line number Diff line
@@ -60,6 +60,15 @@ oneway interface IPrintSpooler {
     */
    void setStatus(in PrintJobId printJobId, in CharSequence status);

    /**
     * Set the status of this print job
     *
     * @param printJobId The print job to update
     * @param status The new status as a string resource
     * @param appPackageName App package name the resource belongs to
     */
    void setStatusRes(in PrintJobId printJobId, int status, in CharSequence appPackageName);

    /**
     * Handle that a custom icon for a printer was loaded.
     *
+54 −3
Original line number Diff line number Diff line
@@ -21,7 +21,10 @@ import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.StringRes;
import android.annotation.TestApi;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
@@ -181,7 +184,11 @@ public final class PrintJobInfo implements Parcelable {
    private float mProgress;

    /** A short string describing the status of this job. */
    private CharSequence mStatus;
    private @Nullable CharSequence mStatus;

    /** A string resource describing the status of this job. */
    private @StringRes int mStatusRes;
    private @Nullable CharSequence mStatusResAppPackageName;

    /** Advanced printer specific options. */
    private Bundle mAdvancedOptions;
@@ -210,6 +217,8 @@ public final class PrintJobInfo implements Parcelable {
        mDocumentInfo = other.mDocumentInfo;
        mProgress = other.mProgress;
        mStatus = other.mStatus;
        mStatusRes = other.mStatusRes;
        mStatusResAppPackageName = other.mStatusResAppPackageName;
        mCanceling = other.mCanceling;
        mAdvancedOptions = other.mAdvancedOptions;
    }
@@ -235,8 +244,14 @@ public final class PrintJobInfo implements Parcelable {
        mDocumentInfo = (PrintDocumentInfo) parcel.readParcelable(null);
        mProgress = parcel.readFloat();
        mStatus = parcel.readCharSequence();
        mStatusRes = parcel.readInt();
        mStatusResAppPackageName = parcel.readCharSequence();
        mCanceling = (parcel.readInt() == 1);
        mAdvancedOptions = parcel.readBundle();

        if (mAdvancedOptions != null) {
            Preconditions.checkArgument(!mAdvancedOptions.containsKey(null));
        }
    }

    /**
@@ -370,9 +385,27 @@ public final class PrintJobInfo implements Parcelable {
     * @hide
     */
    public void setStatus(@Nullable CharSequence status) {
        mStatusRes = 0;
        mStatusResAppPackageName = null;

        mStatus = status;
    }

    /**
     * Sets the status of the print job.
     *
     * @param status The new status as a string resource
     * @param appPackageName App package name the resource belongs to
     *
     * @hide
     */
    public void setStatus(@StringRes int status, @NonNull CharSequence appPackageName) {
        mStatus = null;

        mStatusRes = status;
        mStatusResAppPackageName = appPackageName;
    }

    /**
     * Sets the owning application id.
     *
@@ -633,6 +666,8 @@ public final class PrintJobInfo implements Parcelable {
        parcel.writeParcelable(mDocumentInfo, 0);
        parcel.writeFloat(mProgress);
        parcel.writeCharSequence(mStatus);
        parcel.writeInt(mStatusRes);
        parcel.writeCharSequence(mStatusResAppPackageName);
        parcel.writeInt(mCanceling ? 1 : 0);
        parcel.writeBundle(mAdvancedOptions);
    }
@@ -659,6 +694,9 @@ public final class PrintJobInfo implements Parcelable {
        builder.append(", progress: " + mProgress);
        builder.append(", status: " + (mStatus != null
                ? mStatus.toString() : null));
        builder.append(", statusRes: " + mStatusRes);
        builder.append(", statusResAppPackageName: " + (mStatusResAppPackageName != null
                ? mStatusResAppPackageName.toString() : null));
        builder.append("}");
        return builder.toString();
    }
@@ -707,12 +745,23 @@ public final class PrintJobInfo implements Parcelable {
    /**
     * Get the status of this job.
     *
     * @param pm Package manager used to resolve the string
     *
     * @return the status of this job or null if not set
     * @hide
     */
    @TestApi
    public @Nullable CharSequence getStatus() {
    public @Nullable CharSequence getStatus(@NonNull PackageManager pm) {
        if (mStatusRes == 0) {
            return mStatus;
        } else {
            try {
                return pm.getResourcesForApplication(mStatusResAppPackageName.toString())
                        .getString(mStatusRes);
            } catch (PackageManager.NameNotFoundException | Resources.NotFoundException e) {
                return null;
            }
        }
    }

    /**
@@ -789,6 +838,8 @@ public final class PrintJobInfo implements Parcelable {
         * @param value The option value.
         */
        public void putAdvancedOption(@NonNull String key, @Nullable String value) {
            Preconditions.checkNotNull(key, "key cannot be null");

            if (mPrototype.mAdvancedOptions == null) {
                mPrototype.mAdvancedOptions = new Bundle();
            }
Loading