Class VersionTable


  • public final class VersionTable
    extends Object
    Utility methods for accessing versions of media library database components. This allows them to be versioned independently to the version of the containing database.
    • Field Detail

      • FEATURE_OFFLINE

        public static final int FEATURE_OFFLINE
        Version of tables used for offline functionality.
        See Also:
        Constant Field Values
      • FEATURE_CACHE_CONTENT_METADATA

        public static final int FEATURE_CACHE_CONTENT_METADATA
        Version of tables used for cache content metadata.
        See Also:
        Constant Field Values
      • FEATURE_CACHE_FILE_METADATA

        public static final int FEATURE_CACHE_FILE_METADATA
        Version of tables used for cache file metadata.
        See Also:
        Constant Field Values
      • FEATURE_EXTERNAL

        public static final int FEATURE_EXTERNAL
        Version of tables used from external features.
        See Also:
        Constant Field Values
    • Method Detail

      • setVersion

        public static void setVersion​(SQLiteDatabase writableDatabase,
                                      @com.google.android.exoplayer2.database.VersionTable.Feature int feature,
                                      String instanceUid,
                                      int version)
                               throws DatabaseIOException
        Sets the version of a specified instance of a specified feature.
        Parameters:
        writableDatabase - The database to update.
        feature - The feature.
        instanceUid - The unique identifier of the instance of the feature.
        version - The version.
        Throws:
        DatabaseIOException - If an error occurs executing the SQL.
      • removeVersion

        public static void removeVersion​(SQLiteDatabase writableDatabase,
                                         @com.google.android.exoplayer2.database.VersionTable.Feature int feature,
                                         String instanceUid)
                                  throws DatabaseIOException
        Removes the version of a specified instance of a feature.
        Parameters:
        writableDatabase - The database to update.
        feature - The feature.
        instanceUid - The unique identifier of the instance of the feature.
        Throws:
        DatabaseIOException - If an error occurs executing the SQL.
      • getVersion

        public static int getVersion​(SQLiteDatabase database,
                                     @com.google.android.exoplayer2.database.VersionTable.Feature int feature,
                                     String instanceUid)
                              throws DatabaseIOException
        Returns the version of a specified instance of a feature, or VERSION_UNSET if no version is set.
        Parameters:
        database - The database to query.
        feature - The feature.
        instanceUid - The unique identifier of the instance of the feature.
        Returns:
        The version, or VERSION_UNSET if no version is set.
        Throws:
        DatabaseIOException - If an error occurs executing the SQL.