Class RuntimeEnvironment


  • public class RuntimeEnvironment
    extends Object
    • Field Detail

      • systemContext

        @Deprecated
        public static Context systemContext
        Deprecated.
        Use getApplication() instead. Note that unlike the alternative, this field is inherently incompatible with LazyApplication. This field may be removed in a later release
      • application

        @Deprecated
        public static Application application
        Deprecated.
        Please use {#getApplication} instead. Accessing this field directly is inherently incompatible with LazyApplication and Robolectric makes no guarantees if a test *modifies* this field during execution.
      • compileTimeSystemResourcesFile

        public static Path compileTimeSystemResourcesFile
    • Constructor Detail

      • RuntimeEnvironment

        public RuntimeEnvironment()
    • Method Detail

      • getApplication

        public static Application getApplication()
        Get a reference to the Application under test.

        The Application may be created a test setup time or created lazily at call time, based on the test's LazyApplication setting. If lazy loading is enabled, this method must be called on the main/test thread.

        An alternate API outside of Robolectric is androidx.test.core.app.ApplicationProvider#getApplicationContext(), which is preferable if you desire cross platform tests that work on the JVM and real Android devices.

      • setApplicationSupplier

        public static void setApplicationSupplier​(com.google.common.base.Supplier<Application> applicationSupplier)
        internal use only
      • getConfiguredApplicationClass

        public static Class<? extends Application> getConfiguredApplicationClass()
      • setConfiguredApplicationClass

        public static void setConfiguredApplicationClass​(Class<? extends Application> clazz)
      • isMainThread

        public static boolean isMainThread​(Thread thread)
        Tests if the given thread is currently set as the main thread.
        Parameters:
        thread - the thread to test.
        Returns:
        true if the specified thread is the main thread, false otherwise.
        See Also:
        isMainThread()
      • isMainThread

        public static boolean isMainThread()
        Tests if the current thread is currently set as the main thread.

        Not supported in realistic looper mode.

        Returns:
        true if the current thread is the main thread, false otherwise.
      • getMainThread

        public static Thread getMainThread()
        Retrieves the main thread. The main thread is the thread to which the main looper is attached. Defaults to the thread that initialises the RuntimeEnvironment class.

        Not supported in realistic looper mode.

        Returns:
        The main thread.
        See Also:
        setMainThread(Thread), isMainThread()
      • setMainThread

        public static void setMainThread​(Thread newMainThread)
        Sets the main thread. The main thread is the thread to which the main looper is attached. Defaults to the thread that initialises the RuntimeEnvironment class.

        Not supported in realistic looper mode.

        Parameters:
        newMainThread - the new main thread.
        See Also:
        setMainThread(Thread), isMainThread()
      • getActivityThread

        public static Object getActivityThread()
      • setActivityThread

        public static void setActivityThread​(Object newActivityThread)
      • getQualifiers

        public static String getQualifiers()
        Returns a qualifier string describing the current Configuration of the system resources.
        Returns:
        a qualifier string as described (https://developer.android.com/guide/topics/resources/providing-resources.html#QualifierRules)[here].
      • getQualifiers

        public static String getQualifiers​(Configuration configuration,
                                           DisplayMetrics displayMetrics)
        Returns a qualifier string describing the given configuration and display metrics.
        Parameters:
        configuration - the configuration.
        displayMetrics - the display metrics.
        Returns:
        a qualifier string as described (https://developer.android.com/guide/topics/resources/providing-resources.html#QualifierRules)[here].
      • setQualifiers

        public static void setQualifiers​(String newQualifiers)
        Overrides the current device configuration.

        If {@param newQualifiers} starts with a plus ('+'), the prior configuration is used as the base configuration, with the given changes applied additively. Otherwise, default values are used for unspecified properties, as described here.

        Parameters:
        newQualifiers - the qualifiers to apply
      • getApiLevel

        public static int getApiLevel()
      • castNativePtr

        public static Number castNativePtr​(long ptr)
      • setSystemResourceTable

        public static void setSystemResourceTable​(ResourceTable systemResourceTable)
      • setAppResourceTable

        public static void setAppResourceTable​(ResourceTable appResourceTable)
      • getSystemResourceTable

        public static ResourceTable getSystemResourceTable()
      • getAppResourceTable

        public static ResourceTable getAppResourceTable()
      • setCompileTimeResourceTable

        public static void setCompileTimeResourceTable​(ResourceTable compileTimeResourceTable)
      • getCompileTimeResourceTable

        public static ResourceTable getCompileTimeResourceTable()
      • setTempDirectory

        public static void setTempDirectory​(TempDirectory tempDirectory)
      • getTempDirectory

        public static TempDirectory getTempDirectory()
      • setAndroidFrameworkJarPath

        public static void setAndroidFrameworkJarPath​(Path localArtifactPath)
      • getAndroidFrameworkJarPath

        public static Path getAndroidFrameworkJarPath()
      • useLegacyResources

        @Deprecated
        public static boolean useLegacyResources()
        Deprecated.
        Do not use.
        Internal only.
      • setUseLegacyResources

        @Deprecated
        public static void setUseLegacyResources​(boolean useLegacyResources)
        Deprecated.
        Do not use.
        Internal only.