public enum

ExistingWorkPolicy

extends java.lang.Enum<ExistingWorkPolicy>

 java.lang.Object

↳java.lang.Enum<ExistingWorkPolicy>

↳androidx.work.ExistingWorkPolicy

Overview

An enumeration of the conflict resolution policies available to unique OneTimeWorkRequests in case of a collision.

Summary

Enum Constants
APPENDIf there is existing pending (uncompleted) work with the same unique name, append the newly-specified work as a child of all the leaves of that work sequence.
APPEND_OR_REPLACEIf there is existing pending (uncompleted) work with the same unique name, append the newly-specified work as the child of all the leaves of that work sequence.
KEEPIf there is existing pending (uncompleted) work with the same unique name, do nothing.
REPLACEIf there is existing pending (uncompleted) work with the same unique name, cancel and delete it.
Methods
public static ExistingWorkPolicyvalueOf(java.lang.String name)

public static ExistingWorkPolicyvalues()

from java.lang.Enum<E>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
from java.lang.ObjectgetClass, notify, notifyAll, wait, wait, wait

Enum Constants

REPLACE

If there is existing pending (uncompleted) work with the same unique name, cancel and delete it. Then, insert the newly-specified work.

KEEP

If there is existing pending (uncompleted) work with the same unique name, do nothing. Otherwise, insert the newly-specified work.

APPEND

If there is existing pending (uncompleted) work with the same unique name, append the newly-specified work as a child of all the leaves of that work sequence. Otherwise, insert the newly-specified work as the start of a new sequence.
Note: When using APPEND with failed or cancelled prerequisites, newly enqueued work will also be marked as failed or cancelled respectively. Use ExistingWorkPolicy.APPEND_OR_REPLACE to create a new chain of work.

APPEND_OR_REPLACE

If there is existing pending (uncompleted) work with the same unique name, append the newly-specified work as the child of all the leaves of that work sequence. Otherwise, insert the newly-specified work as the start of a new sequence.
Note: If there are failed or cancelled prerequisites, these prerequisites are dropped and the newly-specified work is the start of a new sequence.

Methods

public static ExistingWorkPolicy values()

public static ExistingWorkPolicy valueOf(java.lang.String name)

Source

/*
 * Copyright 2018 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;

/**
 * An enumeration of the conflict resolution policies available to unique
 * {@link OneTimeWorkRequest}s in case of a collision.
 */

public enum ExistingWorkPolicy {

    /**
     * If there is existing pending (uncompleted) work with the same unique name, cancel and delete
     * it.  Then, insert the newly-specified work.
     */
    REPLACE,

    /**
     * If there is existing pending (uncompleted) work with the same unique name, do nothing.
     * Otherwise, insert the newly-specified work.
     */
    KEEP,

    /**
     * If there is existing pending (uncompleted) work with the same unique name, append the
     * newly-specified work as a child of all the leaves of that work sequence.  Otherwise, insert
     * the newly-specified work as the start of a new sequence.
     * <br/>
     * <b>Note:</b> When using APPEND with failed or cancelled prerequisites, newly enqueued work
     * will also be marked as failed or cancelled respectively. Use
     * {@link ExistingWorkPolicy#APPEND_OR_REPLACE} to create a new chain of work.
     */
    APPEND,

    /**
     * If there is existing pending (uncompleted) work with the same unique name, append the
     * newly-specified work as the child of all the leaves of that work sequence. Otherwise, insert
     * the newly-specified work as the start of a new sequence.
     * <br/>
     * <b>Note:</b> If there are failed or cancelled prerequisites, these prerequisites are
     * <i>dropped</i> and the newly-specified work is the start of a new sequence.
     */
    APPEND_OR_REPLACE,
}