See {@link NotificationCompat.Builder#setUsesChronometer(boolean)}. diff --git a/missing_aar_type_workaround.gradle b/missing_aar_type_workaround.gradle index 8d51b28060..be03422e2d 100644 --- a/missing_aar_type_workaround.gradle +++ b/missing_aar_type_workaround.gradle @@ -41,7 +41,6 @@ def addMissingAarTypeToXml(xml) { "androidx.leanback:leanback", "androidx.media:media", "androidx.media2:media2-session", - "androidx.multidex:multidex", "androidx.recyclerview:recyclerview", "androidx.test:core", "androidx.test.ext:junit", diff --git a/testapps/controller/build.gradle b/testapps/controller/build.gradle index c43453f7ed..680cd90bec 100644 --- a/testapps/controller/build.gradle +++ b/testapps/controller/build.gradle @@ -34,7 +34,6 @@ android { versionCode project.ext.releaseVersionCode minSdkVersion project.ext.minSdkVersion targetSdkVersion project.ext.appTargetSdkVersion - multiDexEnabled true vectorDrawables.useSupportLibrary = true } @@ -62,7 +61,6 @@ android { dependencies { implementation 'androidx.core:core-ktx:' + androidxCoreVersion implementation 'androidx.appcompat:appcompat:' + androidxAppCompatVersion - implementation 'androidx.multidex:multidex:' + androidxMultidexVersion implementation 'com.google.android.material:material:' + androidxMaterialVersion implementation 'androidx.media:media:' + androidxMediaVersion implementation project(modulePrefix + 'lib-session') diff --git a/testapps/controller/src/main/java/androidx/media3/testapp/controller/LaunchActivity.kt b/testapps/controller/src/main/java/androidx/media3/testapp/controller/LaunchActivity.kt index bc7c190320..ac20809739 100644 --- a/testapps/controller/src/main/java/androidx/media3/testapp/controller/LaunchActivity.kt +++ b/testapps/controller/src/main/java/androidx/media3/testapp/controller/LaunchActivity.kt @@ -19,11 +19,8 @@ import android.content.ComponentName import android.content.Context import android.content.Intent import android.media.session.MediaSessionManager as ActiveSessionManager -import android.os.Build -import android.os.Build.VERSION_CODES import android.os.Bundle import android.service.notification.NotificationListenerService -import androidx.annotation.RequiresApi import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.Toolbar import androidx.core.app.NotificationManagerCompat @@ -76,10 +73,7 @@ class LaunchActivity : AppCompatActivity() { } ) - if (Build.VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { - activeSessionListener = ActiveSessionListener() - } - + activeSessionListener = ActiveSessionListener() mediaSessionApps = mediaAppListAdapter.addSection(R.string.media_app_header_media_service) val mediaAppsList: RecyclerView? = findViewById(R.id.app_list) @@ -91,9 +85,7 @@ class LaunchActivity : AppCompatActivity() { override fun onStart() { super.onStart() - if (Build.VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { - activeSessionListener!!.onStart() - } + activeSessionListener!!.onStart() // Finds apps that implement MediaSessionService, MediaLibraryService, or // MediaBrowserServiceCompat. @@ -103,17 +95,12 @@ class LaunchActivity : AppCompatActivity() { override fun onStop() { super.onStop() - if (Build.VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { - activeSessionListener!!.onStop() - } + activeSessionListener!!.onStop() } /** - * Encapsulates the API 21+ functionality of looking for and observing updates to active media - * sessions. We only construct an instance of this class if the device is running L or later, to - * avoid any ClassNotFoundExceptions due to the use of MediaSession and related classes. + * Encapsulates the functionality of looking for and observing updates to active media sessions. */ - @RequiresApi(VERSION_CODES.LOLLIPOP) private inner class ActiveSessionListener { private val activeSessionApps: MediaAppListAdapter.Section = mediaAppListAdapter.addSection(R.string.media_app_header_active_session) @@ -170,10 +157,8 @@ class LaunchActivity : AppCompatActivity() { /** * A notification listener service that allows us to grab active media sessions from their - * notifications. This class is only used on API 21+ because the Android media framework added - * getActiveSessions in API 21. + * notifications. */ - @RequiresApi(VERSION_CODES.LOLLIPOP) class NotificationListener : NotificationListenerService() { companion object { // Helper method to check if our notification listener is enabled. In order to get active diff --git a/testapps/controller/src/main/java/androidx/media3/testapp/controller/MediaAppDetails.kt b/testapps/controller/src/main/java/androidx/media3/testapp/controller/MediaAppDetails.kt index 849d6f8f83..c2e6839010 100644 --- a/testapps/controller/src/main/java/androidx/media3/testapp/controller/MediaAppDetails.kt +++ b/testapps/controller/src/main/java/androidx/media3/testapp/controller/MediaAppDetails.kt @@ -20,9 +20,7 @@ import android.content.pm.PackageManager import android.content.res.Resources import android.graphics.Bitmap import android.media.session.MediaController -import android.os.Build import android.os.Bundle -import androidx.annotation.RequiresApi import androidx.media3.common.util.Util import androidx.media3.session.SessionToken @@ -58,7 +56,6 @@ private constructor( ) } - @RequiresApi(Build.VERSION_CODES.LOLLIPOP) fun create( packageManager: PackageManager, resources: Resources, diff --git a/testapps/controller/src/main/java/androidx/media3/testapp/controller/findapps/FindActiveMediaSessionApps.kt b/testapps/controller/src/main/java/androidx/media3/testapp/controller/findapps/FindActiveMediaSessionApps.kt index 946712d2f0..11d88d18ac 100644 --- a/testapps/controller/src/main/java/androidx/media3/testapp/controller/findapps/FindActiveMediaSessionApps.kt +++ b/testapps/controller/src/main/java/androidx/media3/testapp/controller/findapps/FindActiveMediaSessionApps.kt @@ -21,15 +21,12 @@ import android.content.pm.PackageManager import android.content.res.Resources import android.media.session.MediaController import android.media.session.MediaSessionManager -import android.os.Build -import androidx.annotation.RequiresApi import androidx.media3.testapp.controller.MediaAppDetails /** * Implementation of [FindMediaApps] that uses [MediaSessionManager] to populate the list of active * media session apps. */ -@RequiresApi(Build.VERSION_CODES.LOLLIPOP) class FindActiveMediaSessionApps constructor( private val mediaSessionManager: MediaSessionManager,