content: /*
   * 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 <code>
   *     <a href="/reference/androidx/test/core/app/ApplicationProvider">
   *     androidx.test.core.app.ApplicationProvider</a></code> instead.
   */
  @Deprecated
  public final class InstrumentationRegistry {
  
    /**
     * Returns the instrumentation currently running. Use this method to get an <code>
     * <a href="/reference/android/app/Instrumentation">Instrumentation</a></code> 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 <code>
     * <a href="/reference/android/os/Bundle">Bundle</a></code> containing the command-line arguments
     * passed to <code><a href="/reference/android/app/Instrumentation">Instrumentation</a></code>
     * into your test.
     *
     * <p>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 <code>
     * <a href="/reference/android/content/Context">Context</a></code> representing <code>
     * <a href="/reference/android/app/Instrumentation#getContext()">Instrumentation#getContext()</a>
     * </code> into your test.
     *
     * @return The instrumentation context.
     * @deprecated In most scenarios, <code>
     *     <a href="/reference/androidx/test/core/app/ApplicationProvider#getApplicationContext()">
     *     androidx.test.core.app.ApplicationProvider#getApplicationContext()</a></code> should be
     *     used instead of the instrumentation test context. If you do need access to the test context
     *     to access its resources, use <code>
     *     <a href="/reference/android/content/pm/PackageManager#getResourcesForApplication(java.lang.String)">
     *     android.content.pm.PackageManager#getResourcesForApplication(String)</a></code> 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
     * <code><a href="/reference/android/content/Context">Context</a></code> representing <code>
     * <a href="/reference/android/app/Instrumentation#getTargetContext()">
     * Instrumentation#getTargetContext()</a></code> into your test.
     *
     * @return The target application context.
     * @deprecated Use <code>
     *     <a href="/reference/androidx/test/core/app/ApplicationProvider#getApplicationContext()">
     *     androidx.test.core.app.ApplicationProvider#getApplicationContext()</a></code>.
     */
    @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.
     *
     * <p>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() {}
  }
  