
The way it is currently, it's very unclear that an operation on the version table will correctly belong to a transaction in code such as this, taken from DefaultDownloadIndex: writableDatabase.beginTransaction(); try { writableDatabase.execSQL(...); versionTable.setVersion(...); writableDatabase.setTransactionSuccessful(); } finally { writableDatabase.endTransaction(); } This change explicitly passes the database, to make it obvious that the operation will really go into the same transaction: writableDatabase.beginTransaction(); try { writableDatabase.execSQL(....); VersionTable.setVersion(writableDatabase, ...); writableDatabase.setTransactionSuccessful(); } finally { writableDatabase.endTransaction(); } PiperOrigin-RevId: 231374933
ExoPlayer library
The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.