/*
* Copyright (C) 2014 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.test;
import android.app.Instrumentation;
import android.content.Context;
import android.os.Bundle;
import com.google.errorprone.annotations.InlineMe;
/**
* An exposed registry instance that holds a reference to the instrumentation running in the process
* and the instrumentation arguments. Provides an easy way for callers to get access to the
* instrumentation, application context, and instrumentation arguments bundle.
*
* @deprecated Use {@link androidx.test.platform.app.InstrumentationRegistry} or
*
* androidx.test.core.app.ApplicationProvider
instead.
*/
@Deprecated
public final class InstrumentationRegistry {
/**
* Returns the instrumentation currently running. Use this method to get an
* Instrumentation
into your test.
*
* @return The current instrumentation.
* @throws IllegalStateException If instrumentation hasn't been registered.
* @deprecated Use {@link androidx.test.platform.app.InstrumentationRegistry#getInstrumentation()
* androidx.test.platform.app.InstrumentationRegistry#getInstrumentation()}.
*/
@InlineMe(replacement = "androidx.test.platform.app.InstrumentationRegistry.getInstrumentation()")
@Deprecated
public static Instrumentation getInstrumentation() {
return androidx.test.platform.app.InstrumentationRegistry.getInstrumentation();
}
/**
* Returns a copy of the instrumentation arguments bundle. Use this method to get a
* Bundle
containing the command-line arguments
* passed to Instrumentation
* into your test.
*
*
The bundle is not guaranteed to be present under all instrumentations.
*
* @return The arguments bundle for this instrumentation.
* @throws IllegalStateException If no argument bundle has been registered.
* @deprecated Use {@link androidx.test.platform.app.InstrumentationRegistry#getArguments()
* androidx.test.platform.app.InstrumentationRegistry#getArguments()}.
*/
@InlineMe(replacement = "androidx.test.platform.app.InstrumentationRegistry.getArguments()")
@Deprecated
public static Bundle getArguments() {
return androidx.test.platform.app.InstrumentationRegistry.getArguments();
}
/**
* Returns the context of this instrumentation's package. Use this method to get a
* Context
representing
* Instrumentation#getContext()
*
into your test.
*
* @return The instrumentation context.
* @deprecated In most scenarios,
*
* androidx.test.core.app.ApplicationProvider#getApplicationContext()
should be
* used instead of the instrumentation test context. If you do need access to the test context
* to access its resources, use
*
* android.content.pm.PackageManager#getResourcesForApplication(String)
instead.
*/
@Deprecated
public static Context getContext() {
return androidx.test.platform.app.InstrumentationRegistry.getInstrumentation().getContext();
}
/**
* Returns a context for the target application being instrumented. Use this method to get a
* Context
representing
*
* Instrumentation#getTargetContext()
into your test.
*
* @return The target application context.
* @deprecated Use
*
* androidx.test.core.app.ApplicationProvider#getApplicationContext()
.
*/
@Deprecated
public static Context getTargetContext() {
return androidx.test.platform.app.InstrumentationRegistry.getInstrumentation()
.getTargetContext();
}
/**
* Records/exposes the instrumentation currently running and stores a copy of the instrumentation
* arguments bundle in the registry.
*
*
This is a global registry, so be aware of the impact of calling this method! * * @param instrumentation The instrumentation currently running. * @param arguments The arguments for this application. Null deregisters any existing arguments. * @deprecated Use {@link * androidx.test.platform.app.InstrumentationRegistry#registerInstance(Instrumentation, * Bundle) * androidx.test.platform.app.InstrumentationRegistry#registerInstance(Instrumentation, * Bundle)}. */ @InlineMe( replacement = "androidx.test.platform.app.InstrumentationRegistry.registerInstance(instrumentation," + " arguments)") @Deprecated public static void registerInstance(Instrumentation instrumentation, Bundle arguments) { androidx.test.platform.app.InstrumentationRegistry.registerInstance(instrumentation, arguments); } private InstrumentationRegistry() {} }