public class

ParcelableUpdateRequest

extends java.lang.Object

 java.lang.Object

↳androidx.work.multiprocess.parcelable.ParcelableUpdateRequest

Gradle dependencies

compile group: 'androidx.work', name: 'work-multiprocess', version: '2.8.0-alpha02'

  • groupId: androidx.work
  • artifactId: work-multiprocess
  • version: 2.8.0-alpha02

Artifact androidx.work:work-multiprocess:2.8.0-alpha02 it located at Google repository (https://maven.google.com/)

Overview

A android.os.Parcelable which has the necessary context to update progress for a ListenableWorker.

Summary

Fields
public static final <any>CREATOR

Constructors
protectedParcelableUpdateRequest(Parcel in)

publicParcelableUpdateRequest(java.util.UUID id, Data data)

Methods
public intdescribeContents()

public DatagetData()

public java.lang.StringgetId()

public voidwriteToParcel(Parcel parcel, int flags)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Fields

public static final <any> CREATOR

Constructors

public ParcelableUpdateRequest(java.util.UUID id, Data data)

protected ParcelableUpdateRequest(Parcel in)

Methods

public java.lang.String getId()

public Data getData()

public int describeContents()

public void writeToParcel(Parcel parcel, int flags)

Source

/*
 * Copyright 2021 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.work.multiprocess.parcelable;

import android.annotation.SuppressLint;
import android.os.Parcel;
import android.os.Parcelable;

import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
import androidx.work.Data;

import java.util.UUID;

/**
 * A {@link android.os.Parcelable} which has the necessary context to update progress for a
 * {@link androidx.work.ListenableWorker}.
 *
 * @hide
 */
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
@SuppressLint("BanParcelableUsage")
public class ParcelableUpdateRequest implements Parcelable {

    private final String mId;
    private final ParcelableData mParcelableData;

    public ParcelableUpdateRequest(@NonNull UUID id, @NonNull Data data) {
        mId = id.toString();
        mParcelableData = new ParcelableData(data);
    }

    protected ParcelableUpdateRequest(@NonNull Parcel in) {
        // id
        mId = in.readString();
        // data
        mParcelableData = new ParcelableData(in);
    }

    public static final Parcelable.Creator<ParcelableUpdateRequest> CREATOR =
            new Parcelable.Creator<ParcelableUpdateRequest>() {
                @Override
                public ParcelableUpdateRequest createFromParcel(@NonNull Parcel in) {
                    return new ParcelableUpdateRequest(in);
                }

                @Override
                public ParcelableUpdateRequest[] newArray(int size) {
                    return new ParcelableUpdateRequest[size];
                }
            };

    @NonNull
    public String getId() {
        return mId;
    }

    @NonNull
    public Data getData() {
        return mParcelableData.getData();
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(@NonNull Parcel parcel, int flags) {
        // id
        parcel.writeString(mId);
        // data
        mParcelableData.writeToParcel(parcel, flags);
    }
}