public class

TestForegroundUpdater

extends java.lang.Object

implements ForegroundUpdater

 java.lang.Object

↳androidx.work.testing.TestForegroundUpdater

Gradle dependencies

compile group: 'androidx.work', name: 'work-testing', version: '2.10.0-alpha03'

  • groupId: androidx.work
  • artifactId: work-testing
  • version: 2.10.0-alpha03

Artifact androidx.work:work-testing:2.10.0-alpha03 it located at Google repository (https://maven.google.com/)

Overview

A ForegroundUpdater which does nothing. Useful in the context of testing.

Summary

Constructors
publicTestForegroundUpdater()

Methods
public <any>setForegroundAsync(Context context, java.util.UUID id, ForegroundInfo foregroundInfo)

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

Constructors

public TestForegroundUpdater()

Methods

public <any> setForegroundAsync(Context context, java.util.UUID id, ForegroundInfo foregroundInfo)

Source

/*
 * Copyright 2019 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.testing;

import static androidx.concurrent.futures.CallbackToFutureAdapter.getFuture;

import android.content.Context;

import androidx.annotation.NonNull;
import androidx.annotation.RestrictTo;
import androidx.work.ForegroundInfo;
import androidx.work.ForegroundUpdater;
import androidx.work.Logger;

import com.google.common.util.concurrent.ListenableFuture;

import java.util.UUID;

/**
 * A {@link ForegroundUpdater} which does nothing. Useful in the context of testing.
 */
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public class TestForegroundUpdater implements ForegroundUpdater {

    private static final String TAG = Logger.tagWithPrefix("TestForegroundUpdater");

    @NonNull
    @Override
    public ListenableFuture<Void> setForegroundAsync(
            @NonNull Context context,
            @NonNull UUID id,
            @NonNull ForegroundInfo foregroundInfo) {
        return getFuture((completer) -> {
            Logger.get().info(TAG, "setForegroundAsync for " + id);
            completer.set(null);
            return "test setForegroundAsync future";
        });
    }
}