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

Commit 22f86b4e authored by Philip P. Moltmann's avatar Philip P. Moltmann
Browse files

Correct nullability in PrintJob.

Unfoturnately printJobInfo.getId() can be legitimately null. Maybe that
can be fixed, but until this is addressed we have to deal with it.

Change-Id: I2bf816dfde49e85d51523beba2c3401f5a6ee55e
parent 17fefe5b
Loading
Loading
Loading
Loading
+15 −7
Original line number Original line Diff line number Diff line
@@ -19,6 +19,8 @@ package android.print;
import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;


import java.util.Objects;

/**
/**
 * This class represents a print job from the perspective of an
 * This class represents a print job from the perspective of an
 * application. It contains behavior methods for performing operations
 * application. It contains behavior methods for performing operations
@@ -30,11 +32,11 @@ import android.annotation.Nullable;
 */
 */
public final class PrintJob {
public final class PrintJob {


    private final PrintManager mPrintManager;
    private final @NonNull PrintManager mPrintManager;


    private PrintJobInfo mCachedInfo;
    private @NonNull PrintJobInfo mCachedInfo;


    PrintJob(PrintJobInfo info, PrintManager printManager) {
    PrintJob(@NonNull PrintJobInfo info, @NonNull PrintManager printManager) {
        mCachedInfo = info;
        mCachedInfo = info;
        mPrintManager = printManager;
        mPrintManager = printManager;
    }
    }
@@ -44,7 +46,7 @@ public final class PrintJob {
     *
     *
     * @return The id.
     * @return The id.
     */
     */
    public @NonNull PrintJobId getId() {
    public @Nullable PrintJobId getId() {
        return mCachedInfo.getId();
        return mCachedInfo.getId();
    }
    }


@@ -58,7 +60,7 @@ public final class PrintJob {
     *
     *
     * @return The print job info.
     * @return The print job info.
     */
     */
    public @Nullable PrintJobInfo getInfo() {
    public @NonNull PrintJobInfo getInfo() {
        if (isInImmutableState()) {
        if (isInImmutableState()) {
            return mCachedInfo;
            return mCachedInfo;
        }
        }
@@ -193,11 +195,17 @@ public final class PrintJob {
            return false;
            return false;
        }
        }
        PrintJob other = (PrintJob) obj;
        PrintJob other = (PrintJob) obj;
        return mCachedInfo.getId().equals(other.mCachedInfo.getId());
        return Objects.equals(mCachedInfo.getId(), other.mCachedInfo.getId());
    }
    }


    @Override
    @Override
    public int hashCode() {
    public int hashCode() {
        return mCachedInfo.getId().hashCode();
        PrintJobId printJobId = mCachedInfo.getId();

        if (printJobId == null) {
            return 0;
        } else {
            return printJobId.hashCode();
        }
    }
    }
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -244,7 +244,7 @@ public final class PrintJobInfo implements Parcelable {
     *
     *
     * @return The id.
     * @return The id.
     */
     */
    public @NonNull PrintJobId getId() {
    public @Nullable PrintJobId getId() {
        return mId;
        return mId;
    }
    }