Class Sdk

  • All Implemented Interfaces:
    java.lang.Comparable<Sdk>

    public abstract class Sdk
    extends java.lang.Object
    implements java.lang.Comparable<Sdk>
    Represents a unique build of the Android SDK.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Sdk​(int apiLevel)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      int compareTo​(Sdk o)
      Instances of Sdk are ordered by the API level they implement.
      boolean equals​(java.lang.Object o)  
      abstract java.lang.String getAndroidCodeName()
      Returns the Android codename for this SDK.
      abstract java.lang.String getAndroidVersion()
      Returns the Android Version for this SDK.
      int getApiLevel()
      Returns the Android API level for this SDK.
      abstract java.nio.file.Path getJarPath()
      Returns the path to jar for this SDK.
      abstract java.lang.String getUnsupportedMessage()
      Returns a human-readable message explaining why this SDK isn't supported.
      int hashCode()  
      boolean isKnown()
      Determines if this SDK is known by its provider.
      abstract boolean isSupported()
      Determines if this SDK is supported in the running Robolectric environment.
      java.lang.String toString()  
      abstract void verifySupportedSdk​(java.lang.String testClassName)
      Verify that the SDK is supported.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Sdk

        protected Sdk​(int apiLevel)
    • Method Detail

      • getApiLevel

        public final int getApiLevel()
        Returns the Android API level for this SDK.

        It must match the version reported by android.os.Build.VERSION.SDK_INT provided within.

        See Also:
        Android build numbers
      • getAndroidVersion

        public abstract java.lang.String getAndroidVersion()
        Returns the Android Version for this SDK.

        It should match the version reported by android.os.Build.VERSION.RELEASE provided within.

        If this is an expensive operation, the implementation should cache the return value.

        See Also:
        Android build numbers
      • getAndroidCodeName

        public abstract java.lang.String getAndroidCodeName()
        Returns the Android codename for this SDK.

        It should match the version reported by android.os.Build.VERSION.CODENAME provided within.

        If this is an expensive operation, the implementation should cache the return value.

      • getJarPath

        public abstract java.nio.file.Path getJarPath()
        Returns the path to jar for this SDK.
      • isSupported

        public abstract boolean isSupported()
        Determines if this SDK is supported in the running Robolectric environment. An SDK might be unsupported if e.g. it requires a newer version of the JVM than is currently running. Unsupported SDKs should throw some explanatory exception when getJarPath() is invoked. If this is an expensive operation, the implementation should cache the return value.
      • getUnsupportedMessage

        public abstract java.lang.String getUnsupportedMessage()
        Returns a human-readable message explaining why this SDK isn't supported. If this is an expensive operation, the implementation should cache the return value.
      • isKnown

        public boolean isKnown()
        Determines if this SDK is known by its provider. Unknown SDKs can serve as placeholder objects; they should throw some explanatory exception when getJarPath() is invoked.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • compareTo

        public int compareTo​(@Nonnull
                             Sdk o)
        Instances of Sdk are ordered by the API level they implement.
        Specified by:
        compareTo in interface java.lang.Comparable<Sdk>
      • verifySupportedSdk

        public abstract void verifySupportedSdk​(java.lang.String testClassName)
        Verify that the SDK is supported.

        Implementations should throw an exception if SDK is unsupported. They can choose to either throw org.junit.AssumptionViolatedException to just skip execution of tests on the SDK, with a warning, or throw a RuntimeException to fail the test.

        Parameters:
        testClassName -