Merge "Organize media control classes" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6e74a44107
@@ -14,4 +14,4 @@
|
|||||||
~ See the License for the specific language governing permissions and
|
~ See the License for the specific language governing permissions and
|
||||||
~ limitations under the License.
|
~ limitations under the License.
|
||||||
-->
|
-->
|
||||||
<com.android.systemui.media.SquigglyProgress />
|
<com.android.systemui.media.controls.ui.SquigglyProgress />
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
~ See the License for the specific language governing permissions and
|
~ See the License for the specific language governing permissions and
|
||||||
~ limitations under the License
|
~ limitations under the License
|
||||||
-->
|
-->
|
||||||
<com.android.systemui.media.IlluminationDrawable
|
<com.android.systemui.media.controls.ui.IlluminationDrawable
|
||||||
xmlns:systemui="http://schemas.android.com/apk/res-auto"
|
xmlns:systemui="http://schemas.android.com/apk/res-auto"
|
||||||
systemui:highlight="15"
|
systemui:highlight="15"
|
||||||
systemui:cornerRadius="@dimen/notification_corner_radius" />
|
systemui:cornerRadius="@dimen/notification_corner_radius" />
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
~ See the License for the specific language governing permissions and
|
~ See the License for the specific language governing permissions and
|
||||||
~ limitations under the License.
|
~ limitations under the License.
|
||||||
-->
|
-->
|
||||||
<com.android.systemui.media.LightSourceDrawable
|
<com.android.systemui.media.controls.ui.LightSourceDrawable
|
||||||
xmlns:systemui="http://schemas.android.com/apk/res-auto"
|
xmlns:systemui="http://schemas.android.com/apk/res-auto"
|
||||||
systemui:rippleMinSize="25dp"
|
systemui:rippleMinSize="25dp"
|
||||||
systemui:rippleMaxSize="135dp" />
|
systemui:rippleMaxSize="135dp" />
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
android:clipToPadding="false"
|
android:clipToPadding="false"
|
||||||
android:forceHasOverlappingRendering="false"
|
android:forceHasOverlappingRendering="false"
|
||||||
android:theme="@style/MediaPlayer">
|
android:theme="@style/MediaPlayer">
|
||||||
<com.android.systemui.media.MediaScrollView
|
<com.android.systemui.media.controls.ui.MediaScrollView
|
||||||
android:id="@+id/media_carousel_scroller"
|
android:id="@+id/media_carousel_scroller"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
>
|
>
|
||||||
<!-- QSMediaPlayers will be added here dynamically -->
|
<!-- QSMediaPlayers will be added here dynamically -->
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</com.android.systemui.media.MediaScrollView>
|
</com.android.systemui.media.controls.ui.MediaScrollView>
|
||||||
<com.android.systemui.qs.PageIndicator
|
<com.android.systemui.qs.PageIndicator
|
||||||
android:id="@+id/media_page_indicator"
|
android:id="@+id/media_page_indicator"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
@@ -17,15 +17,11 @@
|
|||||||
package com.android.systemui.bluetooth;
|
package com.android.systemui.bluetooth;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ApplicationInfo;
|
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.view.WindowManager;
|
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
@@ -33,7 +29,7 @@ import com.android.internal.annotations.VisibleForTesting;
|
|||||||
import com.android.internal.logging.UiEvent;
|
import com.android.internal.logging.UiEvent;
|
||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.media.MediaDataUtils;
|
import com.android.systemui.media.controls.util.MediaDataUtils;
|
||||||
import com.android.systemui.media.dialog.MediaOutputDialogFactory;
|
import com.android.systemui.media.dialog.MediaOutputDialogFactory;
|
||||||
import com.android.systemui.statusbar.phone.SystemUIDialog;
|
import com.android.systemui.statusbar.phone.SystemUIDialog;
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import com.android.systemui.ActivityIntentHelper;
|
|||||||
import com.android.systemui.dreams.DreamOverlayStateController;
|
import com.android.systemui.dreams.DreamOverlayStateController;
|
||||||
import com.android.systemui.dreams.complication.dagger.DreamMediaEntryComplicationComponent;
|
import com.android.systemui.dreams.complication.dagger.DreamMediaEntryComplicationComponent;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.media.MediaCarouselController;
|
import com.android.systemui.media.controls.ui.MediaCarouselController;
|
||||||
import com.android.systemui.media.dream.MediaDreamComplication;
|
import com.android.systemui.media.dream.MediaDreamComplication;
|
||||||
import com.android.systemui.plugins.ActivityStarter;
|
import com.android.systemui.plugins.ActivityStarter;
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||||
|
|||||||
@@ -250,7 +250,7 @@ public class LogModule {
|
|||||||
/**
|
/**
|
||||||
* Provides a buffer for our connections and disconnections to MediaBrowserService.
|
* Provides a buffer for our connections and disconnections to MediaBrowserService.
|
||||||
*
|
*
|
||||||
* See {@link com.android.systemui.media.ResumeMediaBrowser}.
|
* See {@link com.android.systemui.media.controls.resume.ResumeMediaBrowser}.
|
||||||
*/
|
*/
|
||||||
@Provides
|
@Provides
|
||||||
@SysUISingleton
|
@SysUISingleton
|
||||||
@@ -262,7 +262,7 @@ public class LogModule {
|
|||||||
/**
|
/**
|
||||||
* Provides a buffer for updates to the media carousel.
|
* Provides a buffer for updates to the media carousel.
|
||||||
*
|
*
|
||||||
* See {@link com.android.systemui.media.MediaCarouselController}.
|
* See {@link com.android.systemui.media.controls.ui.MediaCarouselController}.
|
||||||
*/
|
*/
|
||||||
@Provides
|
@Provides
|
||||||
@SysUISingleton
|
@SysUISingleton
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.lang.annotation.Retention;
|
|||||||
import javax.inject.Qualifier;
|
import javax.inject.Qualifier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link LogBuffer} for {@link com.android.systemui.media.ResumeMediaBrowser}
|
* A {@link LogBuffer} for {@link com.android.systemui.media.controls.resume.ResumeMediaBrowser}
|
||||||
*/
|
*/
|
||||||
@Qualifier
|
@Qualifier
|
||||||
@Documented
|
@Documented
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.lang.annotation.Retention;
|
|||||||
import javax.inject.Qualifier;
|
import javax.inject.Qualifier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link LogBuffer} for {@link com.android.systemui.media.MediaCarouselController}
|
* A {@link LogBuffer} for {@link com.android.systemui.media.controls.ui.MediaCarouselController}
|
||||||
*/
|
*/
|
||||||
@Qualifier
|
@Qualifier
|
||||||
@Documented
|
@Documented
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.lang.annotation.Retention;
|
|||||||
import javax.inject.Qualifier;
|
import javax.inject.Qualifier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link LogBuffer} for {@link com.android.systemui.media.MediaTimeoutLogger}
|
* A {@link LogBuffer} for {@link com.android.systemui.media.controls.pipeline.MediaTimeoutLogger}
|
||||||
*/
|
*/
|
||||||
@Qualifier
|
@Qualifier
|
||||||
@Documented
|
@Documented
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import java.lang.annotation.Retention;
|
|||||||
import javax.inject.Qualifier;
|
import javax.inject.Qualifier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link LogBuffer} for {@link com.android.systemui.media.MediaViewLogger}
|
* A {@link LogBuffer} for {@link com.android.systemui.media.controls.ui.MediaViewLogger}
|
||||||
*/
|
*/
|
||||||
@Qualifier
|
@Qualifier
|
||||||
@Documented
|
@Documented
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models
|
||||||
|
|
||||||
import android.content.res.ColorStateList
|
import android.content.res.ColorStateList
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
@@ -23,6 +23,9 @@ import android.view.ViewGroup
|
|||||||
import android.widget.ImageButton
|
import android.widget.ImageButton
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
|
import com.android.systemui.media.controls.ui.accentPrimaryFromScheme
|
||||||
|
import com.android.systemui.media.controls.ui.surfaceFromScheme
|
||||||
|
import com.android.systemui.media.controls.ui.textPrimaryFromScheme
|
||||||
import com.android.systemui.monet.ColorScheme
|
import com.android.systemui.monet.ColorScheme
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License
|
* limitations under the License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.player
|
||||||
|
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.player
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@@ -25,6 +25,7 @@ import android.widget.SeekBar
|
|||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.constraintlayout.widget.Barrier
|
import androidx.constraintlayout.widget.Barrier
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
|
import com.android.systemui.media.controls.models.GutsViewHolder
|
||||||
import com.android.systemui.util.animation.TransitionLayout
|
import com.android.systemui.util.animation.TransitionLayout
|
||||||
|
|
||||||
private const val TAG = "MediaViewHolder"
|
private const val TAG = "MediaViewHolder"
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.player
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.ObjectAnimator
|
import android.animation.ObjectAnimator
|
||||||
@@ -24,6 +24,7 @@ import androidx.lifecycle.Observer
|
|||||||
import com.android.internal.annotations.VisibleForTesting
|
import com.android.internal.annotations.VisibleForTesting
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.animation.Interpolators
|
import com.android.systemui.animation.Interpolators
|
||||||
|
import com.android.systemui.media.controls.ui.SquigglyProgress
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Observer for changes from SeekBarViewModel.
|
* Observer for changes from SeekBarViewModel.
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.player
|
||||||
|
|
||||||
import android.media.MediaMetadata
|
import android.media.MediaMetadata
|
||||||
import android.media.session.MediaController
|
import android.media.session.MediaController
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.recommendation
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@@ -22,6 +22,8 @@ import android.view.ViewGroup
|
|||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
|
import com.android.systemui.media.controls.models.GutsViewHolder
|
||||||
|
import com.android.systemui.media.controls.ui.IlluminationDrawable
|
||||||
import com.android.systemui.util.animation.TransitionLayout
|
import com.android.systemui.util.animation.TransitionLayout
|
||||||
|
|
||||||
private const val TAG = "RecommendationViewHolder"
|
private const val TAG = "RecommendationViewHolder"
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License
|
* limitations under the License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.recommendation
|
||||||
|
|
||||||
import android.app.smartspace.SmartspaceAction
|
import android.app.smartspace.SmartspaceAction
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -22,8 +22,11 @@ import android.content.Intent
|
|||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import androidx.annotation.VisibleForTesting
|
||||||
import com.android.internal.logging.InstanceId
|
import com.android.internal.logging.InstanceId
|
||||||
import com.android.systemui.media.MediaControlPanel.KEY_SMARTSPACE_APP_NAME
|
|
||||||
|
@VisibleForTesting
|
||||||
|
const val KEY_SMARTSPACE_APP_NAME = "KEY_SMARTSPACE_APP_NAME"
|
||||||
|
|
||||||
/** State of a Smartspace media recommendations view. */
|
/** State of a Smartspace media recommendations view. */
|
||||||
data class SmartspaceMediaData(
|
data class SmartspaceMediaData(
|
||||||
@@ -91,7 +94,7 @@ data class SmartspaceMediaData(
|
|||||||
"Package $packageName does not have a main launcher activity. " +
|
"Package $packageName does not have a main launcher activity. " +
|
||||||
"Fallback to full app name")
|
"Fallback to full app name")
|
||||||
return try {
|
return try {
|
||||||
val applicationInfo = packageManager.getApplicationInfo(packageName, /* flags= */ 0)
|
val applicationInfo = packageManager.getApplicationInfo(packageName, /* flags= */ 0)
|
||||||
packageManager.getApplicationLabel(applicationInfo)
|
packageManager.getApplicationLabel(applicationInfo)
|
||||||
} catch (e: PackageManager.NameNotFoundException) {
|
} catch (e: PackageManager.NameNotFoundException) {
|
||||||
null
|
null
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.recommendation
|
||||||
|
|
||||||
import android.app.smartspace.SmartspaceTarget
|
import android.app.smartspace.SmartspaceTarget
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
|
||||||
@@ -14,15 +14,18 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaDeviceData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Combines [MediaDataManager.Listener] events with [MediaDeviceManager.Listener] events.
|
* Combines [MediaDataManager.Listener] events with [MediaDeviceManager.Listener] events.
|
||||||
*/
|
*/
|
||||||
class MediaDataCombineLatest @Inject constructor() : MediaDataManager.Listener,
|
class MediaDataCombineLatest @Inject constructor() : MediaDataManager.Listener,
|
||||||
MediaDeviceManager.Listener {
|
MediaDeviceManager.Listener {
|
||||||
|
|
||||||
private val listeners: MutableSet<MediaDataManager.Listener> = mutableSetOf()
|
private val listeners: MutableSet<MediaDataManager.Listener> = mutableSetOf()
|
||||||
private val entries: MutableMap<String, Pair<MediaData?, MediaDeviceData?>> = mutableMapOf()
|
private val entries: MutableMap<String, Pair<MediaData?, MediaDeviceData?>> = mutableMapOf()
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.SystemProperties
|
import android.os.SystemProperties
|
||||||
@@ -23,6 +23,9 @@ import com.android.internal.annotations.VisibleForTesting
|
|||||||
import com.android.systemui.broadcast.BroadcastDispatcher
|
import com.android.systemui.broadcast.BroadcastDispatcher
|
||||||
import com.android.systemui.broadcast.BroadcastSender
|
import com.android.systemui.broadcast.BroadcastSender
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
import com.android.systemui.settings.CurrentUserTracker
|
import com.android.systemui.settings.CurrentUserTracker
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
||||||
import com.android.systemui.util.time.SystemClock
|
import com.android.systemui.util.time.SystemClock
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.app.Notification
|
import android.app.Notification
|
||||||
import android.app.Notification.EXTRA_SUBSTITUTE_APP_NAME
|
import android.app.Notification.EXTRA_SUBSTITUTE_APP_NAME
|
||||||
@@ -57,6 +57,17 @@ import com.android.systemui.dagger.SysUISingleton
|
|||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
|
import com.android.systemui.media.controls.util.MediaControllerFactory
|
||||||
|
import com.android.systemui.media.controls.util.MediaFlags
|
||||||
|
import com.android.systemui.media.controls.resume.MediaResumeListener
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaAction
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaButton
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaDeviceData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaViewHolder
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaDataProvider
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
import com.android.systemui.plugins.BcSmartspaceDataPlugin
|
import com.android.systemui.plugins.BcSmartspaceDataPlugin
|
||||||
import com.android.systemui.statusbar.NotificationMediaManager.isConnectingState
|
import com.android.systemui.statusbar.NotificationMediaManager.isConnectingState
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.bluetooth.BluetoothLeBroadcast
|
import android.bluetooth.BluetoothLeBroadcast
|
||||||
import android.bluetooth.BluetoothLeBroadcastMetadata
|
import android.bluetooth.BluetoothLeBroadcastMetadata
|
||||||
@@ -36,6 +36,10 @@ import com.android.systemui.R
|
|||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
|
import com.android.systemui.media.controls.util.MediaControllerFactory
|
||||||
|
import com.android.systemui.media.controls.util.MediaDataUtils
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaDeviceData
|
||||||
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager
|
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager
|
||||||
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManagerFactory
|
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManagerFactory
|
||||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||||
@@ -385,8 +389,8 @@ class MediaDeviceManager @Inject constructor(
|
|||||||
// Check the current media app's name is the same with current broadcast app's name
|
// Check the current media app's name is the same with current broadcast app's name
|
||||||
// or not.
|
// or not.
|
||||||
var mediaApp = MediaDataUtils.getAppLabel(
|
var mediaApp = MediaDataUtils.getAppLabel(
|
||||||
context, localMediaManager.packageName,
|
context, localMediaManager.packageName,
|
||||||
context.getString(R.string.bt_le_audio_broadcast_dialog_unknown_name))
|
context.getString(R.string.bt_le_audio_broadcast_dialog_unknown_name))
|
||||||
var isCurrentBroadcastedApp = TextUtils.equals(mediaApp, currentBroadcastedApp)
|
var isCurrentBroadcastedApp = TextUtils.equals(mediaApp, currentBroadcastedApp)
|
||||||
if (isCurrentBroadcastedApp) {
|
if (isCurrentBroadcastedApp) {
|
||||||
broadcastDescription = context.getString(
|
broadcastDescription = context.getString(
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -25,6 +25,8 @@ import android.media.session.MediaSessionManager
|
|||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins
|
import com.android.systemui.statusbar.phone.NotificationListenerWithPlugins
|
||||||
import java.util.concurrent.Executor
|
import java.util.concurrent.Executor
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.media.session.MediaController
|
import android.media.session.MediaController
|
||||||
import android.media.session.PlaybackState
|
import android.media.session.PlaybackState
|
||||||
@@ -22,6 +22,8 @@ import android.os.SystemProperties
|
|||||||
import com.android.internal.annotations.VisibleForTesting
|
import com.android.internal.annotations.VisibleForTesting
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
|
import com.android.systemui.media.controls.util.MediaControllerFactory
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
||||||
import com.android.systemui.statusbar.NotificationMediaManager.isPlayingState
|
import com.android.systemui.statusbar.NotificationMediaManager.isPlayingState
|
||||||
import com.android.systemui.statusbar.SysuiStatusBarStateController
|
import com.android.systemui.statusbar.SysuiStatusBarStateController
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.media.session.PlaybackState
|
import android.media.session.PlaybackState
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media;
|
package com.android.systemui.media.controls.resume;
|
||||||
|
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.resume
|
||||||
|
|
||||||
import android.content.BroadcastReceiver
|
import android.content.BroadcastReceiver
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
@@ -33,6 +33,9 @@ import com.android.systemui.broadcast.BroadcastDispatcher
|
|||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.dagger.qualifiers.Background
|
import com.android.systemui.dagger.qualifiers.Background
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.pipeline.MediaDataManager
|
||||||
|
import com.android.systemui.media.controls.pipeline.RESUME_MEDIA_TIMEOUT
|
||||||
import com.android.systemui.tuner.TunerService
|
import com.android.systemui.tuner.TunerService
|
||||||
import com.android.systemui.util.Utils
|
import com.android.systemui.util.Utils
|
||||||
import com.android.systemui.util.time.SystemClock
|
import com.android.systemui.util.time.SystemClock
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media;
|
package com.android.systemui.media.controls.resume;
|
||||||
|
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
@@ -293,7 +293,7 @@ public class ResumeMediaBrowser {
|
|||||||
public PendingIntent getAppIntent() {
|
public PendingIntent getAppIntent() {
|
||||||
PackageManager pm = mContext.getPackageManager();
|
PackageManager pm = mContext.getPackageManager();
|
||||||
Intent launchIntent = pm.getLaunchIntentForPackage(mComponentName.getPackageName());
|
Intent launchIntent = pm.getLaunchIntentForPackage(mComponentName.getPackageName());
|
||||||
return PendingIntent.getActivity(mContext, 0, launchIntent, PendingIntent.FLAG_MUTABLE_UNAUDITED);
|
return PendingIntent.getActivity(mContext, 0, launchIntent, PendingIntent.FLAG_IMMUTABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media;
|
package com.android.systemui.media.controls.resume;
|
||||||
|
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.resume
|
||||||
|
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.graphics.drawable.Animatable2
|
import android.graphics.drawable.Animatable2
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.animation.ArgbEvaluator
|
import android.animation.ArgbEvaluator
|
||||||
import android.animation.ValueAnimator
|
import android.animation.ValueAnimator
|
||||||
@@ -27,6 +27,7 @@ import android.graphics.drawable.RippleDrawable
|
|||||||
import com.android.internal.R
|
import com.android.internal.R
|
||||||
import com.android.internal.annotations.VisibleForTesting
|
import com.android.internal.annotations.VisibleForTesting
|
||||||
import com.android.settingslib.Utils
|
import com.android.settingslib.Utils
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaViewHolder
|
||||||
import com.android.systemui.monet.ColorScheme
|
import com.android.systemui.monet.ColorScheme
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.AnimatorListenerAdapter
|
import android.animation.AnimatorListenerAdapter
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.AnimatorListenerAdapter
|
import android.animation.AnimatorListenerAdapter
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -21,7 +21,14 @@ import com.android.systemui.classifier.FalsingCollector
|
|||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.media.MediaControlPanel.SMARTSPACE_CARD_DISMISS_EVENT
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaViewHolder
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.RecommendationViewHolder
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
|
import com.android.systemui.media.controls.pipeline.MediaDataManager
|
||||||
|
import com.android.systemui.media.controls.ui.MediaControlPanel.SMARTSPACE_CARD_DISMISS_EVENT
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger
|
||||||
|
import com.android.systemui.media.controls.util.SmallHash
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
import com.android.systemui.plugins.FalsingManager
|
import com.android.systemui.plugins.FalsingManager
|
||||||
import com.android.systemui.qs.PageIndicator
|
import com.android.systemui.qs.PageIndicator
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.log.dagger.MediaCarouselControllerLog
|
import com.android.systemui.log.dagger.MediaCarouselControllerLog
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.graphics.Outline
|
import android.graphics.Outline
|
||||||
import android.util.MathUtils
|
import android.util.MathUtils
|
||||||
@@ -31,6 +31,7 @@ import com.android.systemui.Gefingerpoken
|
|||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.classifier.Classifier.NOTIFICATION_DISMISS
|
import com.android.systemui.classifier.Classifier.NOTIFICATION_DISMISS
|
||||||
import com.android.systemui.classifier.FalsingCollector
|
import com.android.systemui.classifier.FalsingCollector
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger
|
||||||
import com.android.systemui.plugins.FalsingManager
|
import com.android.systemui.plugins.FalsingManager
|
||||||
import com.android.systemui.qs.PageIndicator
|
import com.android.systemui.qs.PageIndicator
|
||||||
import com.android.systemui.util.concurrency.DelayableExecutor
|
import com.android.systemui.util.concurrency.DelayableExecutor
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import com.android.systemui.monet.ColorScheme
|
import com.android.systemui.monet.ColorScheme
|
||||||
|
|
||||||
@@ -14,11 +14,11 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media;
|
package com.android.systemui.media.controls.ui;
|
||||||
|
|
||||||
import static android.provider.Settings.ACTION_MEDIA_CONTROLS_SETTINGS;
|
import static android.provider.Settings.ACTION_MEDIA_CONTROLS_SETTINGS;
|
||||||
|
|
||||||
import static com.android.systemui.media.SmartspaceMediaDataKt.NUM_REQUIRED_RECOMMENDATIONS;
|
import static com.android.systemui.media.controls.models.recommendation.SmartspaceMediaDataKt.NUM_REQUIRED_RECOMMENDATIONS;
|
||||||
|
|
||||||
import android.animation.Animator;
|
import android.animation.Animator;
|
||||||
import android.animation.AnimatorInflater;
|
import android.animation.AnimatorInflater;
|
||||||
@@ -76,6 +76,20 @@ import com.android.systemui.bluetooth.BroadcastDialogController;
|
|||||||
import com.android.systemui.broadcast.BroadcastSender;
|
import com.android.systemui.broadcast.BroadcastSender;
|
||||||
import com.android.systemui.dagger.qualifiers.Background;
|
import com.android.systemui.dagger.qualifiers.Background;
|
||||||
import com.android.systemui.dagger.qualifiers.Main;
|
import com.android.systemui.dagger.qualifiers.Main;
|
||||||
|
import com.android.systemui.media.controls.models.GutsViewHolder;
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaAction;
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaButton;
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData;
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaDeviceData;
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaViewHolder;
|
||||||
|
import com.android.systemui.media.controls.models.player.SeekBarObserver;
|
||||||
|
import com.android.systemui.media.controls.models.player.SeekBarViewModel;
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.RecommendationViewHolder;
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData;
|
||||||
|
import com.android.systemui.media.controls.pipeline.MediaDataManager;
|
||||||
|
import com.android.systemui.media.controls.util.MediaDataUtils;
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger;
|
||||||
|
import com.android.systemui.media.controls.util.SmallHash;
|
||||||
import com.android.systemui.media.dialog.MediaOutputDialogFactory;
|
import com.android.systemui.media.dialog.MediaOutputDialogFactory;
|
||||||
import com.android.systemui.monet.ColorScheme;
|
import com.android.systemui.monet.ColorScheme;
|
||||||
import com.android.systemui.monet.Style;
|
import com.android.systemui.monet.Style;
|
||||||
@@ -111,7 +125,6 @@ public class MediaControlPanel {
|
|||||||
"com.google.android.apps.gsa.smartspace.extra.SMARTSPACE_INTENT";
|
"com.google.android.apps.gsa.smartspace.extra.SMARTSPACE_INTENT";
|
||||||
private static final String KEY_SMARTSPACE_ARTIST_NAME = "artist_name";
|
private static final String KEY_SMARTSPACE_ARTIST_NAME = "artist_name";
|
||||||
private static final String KEY_SMARTSPACE_OPEN_IN_FOREGROUND = "KEY_OPEN_IN_FOREGROUND";
|
private static final String KEY_SMARTSPACE_OPEN_IN_FOREGROUND = "KEY_OPEN_IN_FOREGROUND";
|
||||||
protected static final String KEY_SMARTSPACE_APP_NAME = "KEY_SMARTSPACE_APP_NAME";
|
|
||||||
|
|
||||||
// Event types logged by smartspace
|
// Event types logged by smartspace
|
||||||
private static final int SMARTSPACE_CARD_CLICK_EVENT = 760;
|
private static final int SMARTSPACE_CARD_CLICK_EVENT = 760;
|
||||||
@@ -251,6 +264,9 @@ public class MediaControlPanel {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clean up seekbar and controller when panel is destroyed
|
||||||
|
*/
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
if (mSeekBarObserver != null) {
|
if (mSeekBarObserver != null) {
|
||||||
mSeekBarViewModel.getProgress().removeObserver(mSeekBarObserver);
|
mSeekBarViewModel.getProgress().removeObserver(mSeekBarObserver);
|
||||||
@@ -651,7 +667,7 @@ public class MediaControlPanel {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CharSequence contentDescription;
|
CharSequence contentDescription;
|
||||||
if (mMediaViewController.isGutsVisible()) {
|
if (mMediaViewController.isGutsVisible()) {
|
||||||
contentDescription =
|
contentDescription =
|
||||||
mRecommendationViewHolder.getGutsViewHolder().getGutsText().getText();
|
mRecommendationViewHolder.getGutsViewHolder().getGutsText().getText();
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.AnimatorListenerAdapter
|
import android.animation.AnimatorListenerAdapter
|
||||||
@@ -1,9 +1,28 @@
|
|||||||
package com.android.systemui.media
|
/*
|
||||||
|
* Copyright (C) 2022 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
import android.util.ArraySet
|
import android.util.ArraySet
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.View.OnAttachStateChangeListener
|
import android.view.View.OnAttachStateChangeListener
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
|
import com.android.systemui.media.controls.pipeline.MediaDataManager
|
||||||
import com.android.systemui.util.animation.DisappearParameters
|
import com.android.systemui.util.animation.DisappearParameters
|
||||||
import com.android.systemui.util.animation.MeasurementInput
|
import com.android.systemui.util.animation.MeasurementInput
|
||||||
import com.android.systemui.util.animation.MeasurementOutput
|
import com.android.systemui.util.animation.MeasurementOutput
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.util.animation.MeasurementOutput
|
import com.android.systemui.util.animation.MeasurementOutput
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.SystemClock
|
import android.os.SystemClock
|
||||||
@@ -18,8 +18,7 @@ class MediaScrollView @JvmOverloads constructor(
|
|||||||
context: Context,
|
context: Context,
|
||||||
attrs: AttributeSet? = null,
|
attrs: AttributeSet? = null,
|
||||||
defStyleAttr: Int = 0
|
defStyleAttr: Int = 0
|
||||||
)
|
) : HorizontalScrollView(context, attrs, defStyleAttr) {
|
||||||
: HorizontalScrollView(context, attrs, defStyleAttr) {
|
|
||||||
|
|
||||||
lateinit var contentContainer: ViewGroup
|
lateinit var contentContainer: ViewGroup
|
||||||
private set
|
private set
|
||||||
@@ -14,19 +14,22 @@
|
|||||||
* limitations under the License
|
* limitations under the License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import androidx.annotation.VisibleForTesting
|
import androidx.annotation.VisibleForTesting
|
||||||
import androidx.constraintlayout.widget.ConstraintSet
|
import androidx.constraintlayout.widget.ConstraintSet
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.CONTROLS_DELAY
|
import com.android.systemui.media.controls.models.GutsViewHolder
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.DETAILS_DELAY
|
import com.android.systemui.media.controls.models.player.MediaViewHolder
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.DURATION
|
import com.android.systemui.media.controls.models.recommendation.RecommendationViewHolder
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.MEDIACONTAINERS_DELAY
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.CONTROLS_DELAY
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.MEDIATITLES_DELAY
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.DETAILS_DELAY
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.calculateAlpha
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.DURATION
|
||||||
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.MEDIACONTAINERS_DELAY
|
||||||
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.MEDIATITLES_DELAY
|
||||||
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.calculateAlpha
|
||||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||||
import com.android.systemui.util.animation.MeasurementOutput
|
import com.android.systemui.util.animation.MeasurementOutput
|
||||||
import com.android.systemui.util.animation.TransitionLayout
|
import com.android.systemui.util.animation.TransitionLayout
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.log.dagger.MediaViewLog
|
import com.android.systemui.log.dagger.MediaViewLog
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.AnimatorListenerAdapter
|
import android.animation.AnimatorListenerAdapter
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.AnimatorListenerAdapter
|
import android.animation.AnimatorListenerAdapter
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media;
|
package com.android.systemui.media.controls.util;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -14,15 +14,25 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media;
|
package com.android.systemui.media.controls.util;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Utility class with common methods for media controls
|
||||||
|
*/
|
||||||
public class MediaDataUtils {
|
public class MediaDataUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the application label for a given package
|
||||||
|
* @param context the context to use
|
||||||
|
* @param packageName Package to check
|
||||||
|
* @param unknownName Fallback string if application is not found
|
||||||
|
* @return The label or fallback string
|
||||||
|
*/
|
||||||
public static String getAppLabel(Context context, String packageName, String unknownName) {
|
public static String getAppLabel(Context context, String packageName, String unknownName) {
|
||||||
if (TextUtils.isEmpty(packageName)) {
|
if (TextUtils.isEmpty(packageName)) {
|
||||||
return null;
|
return null;
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.util
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.android.systemui.util.Utils
|
import com.android.systemui.util.Utils
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.util
|
||||||
|
|
||||||
import android.app.StatusBarManager
|
import android.app.StatusBarManager
|
||||||
import android.os.UserHandle
|
import android.os.UserHandle
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.util
|
||||||
|
|
||||||
import com.android.internal.logging.InstanceId
|
import com.android.internal.logging.InstanceId
|
||||||
import com.android.internal.logging.InstanceIdSequence
|
import com.android.internal.logging.InstanceIdSequence
|
||||||
@@ -22,6 +22,9 @@ import com.android.internal.logging.UiEvent
|
|||||||
import com.android.internal.logging.UiEventLogger
|
import com.android.internal.logging.UiEventLogger
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager
|
||||||
|
import com.android.systemui.media.controls.ui.MediaLocation
|
||||||
import java.lang.IllegalArgumentException
|
import java.lang.IllegalArgumentException
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media;
|
package com.android.systemui.media.controls.util;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -19,11 +19,11 @@ package com.android.systemui.media.dagger;
|
|||||||
import com.android.systemui.dagger.SysUISingleton;
|
import com.android.systemui.dagger.SysUISingleton;
|
||||||
import com.android.systemui.log.dagger.MediaTttReceiverLogBuffer;
|
import com.android.systemui.log.dagger.MediaTttReceiverLogBuffer;
|
||||||
import com.android.systemui.log.dagger.MediaTttSenderLogBuffer;
|
import com.android.systemui.log.dagger.MediaTttSenderLogBuffer;
|
||||||
import com.android.systemui.media.MediaDataManager;
|
import com.android.systemui.media.controls.pipeline.MediaDataManager;
|
||||||
import com.android.systemui.media.MediaFlags;
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager;
|
||||||
import com.android.systemui.media.MediaHierarchyManager;
|
import com.android.systemui.media.controls.ui.MediaHost;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.controls.ui.MediaHostStatesManager;
|
||||||
import com.android.systemui.media.MediaHostStatesManager;
|
import com.android.systemui.media.controls.util.MediaFlags;
|
||||||
import com.android.systemui.media.dream.dagger.MediaComplicationComponent;
|
import com.android.systemui.media.dream.dagger.MediaComplicationComponent;
|
||||||
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionCli;
|
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionCli;
|
||||||
import com.android.systemui.media.nearby.NearbyMediaDevicesManager;
|
import com.android.systemui.media.nearby.NearbyMediaDevicesManager;
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ import static com.android.systemui.media.dream.dagger.MediaComplicationComponent
|
|||||||
|
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
|
|
||||||
import com.android.systemui.media.MediaHierarchyManager;
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.controls.ui.MediaHost;
|
||||||
import com.android.systemui.media.MediaHostState;
|
import com.android.systemui.media.controls.ui.MediaHostState;
|
||||||
import com.android.systemui.util.ViewController;
|
import com.android.systemui.util.ViewController;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ import com.android.systemui.CoreStartable;
|
|||||||
import com.android.systemui.dreams.DreamOverlayStateController;
|
import com.android.systemui.dreams.DreamOverlayStateController;
|
||||||
import com.android.systemui.dreams.complication.DreamMediaEntryComplication;
|
import com.android.systemui.dreams.complication.DreamMediaEntryComplication;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.media.MediaData;
|
import com.android.systemui.media.controls.models.player.MediaData;
|
||||||
import com.android.systemui.media.MediaDataManager;
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData;
|
||||||
import com.android.systemui.media.SmartspaceMediaData;
|
import com.android.systemui.media.controls.pipeline.MediaDataManager;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import com.android.settingslib.media.DeviceIconUtil
|
|||||||
import com.android.settingslib.media.LocalMediaManager
|
import com.android.settingslib.media.LocalMediaManager
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
import com.android.systemui.media.MediaFlags
|
import com.android.systemui.media.controls.util.MediaFlags
|
||||||
import java.util.concurrent.Executor
|
import java.util.concurrent.Executor
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ import com.android.systemui.animation.ShadeInterpolation;
|
|||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.flags.Flags;
|
import com.android.systemui.flags.Flags;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.controls.ui.MediaHost;
|
||||||
import com.android.systemui.plugins.FalsingManager;
|
import com.android.systemui.plugins.FalsingManager;
|
||||||
import com.android.systemui.plugins.qs.QS;
|
import com.android.systemui.plugins.qs.QS;
|
||||||
import com.android.systemui.plugins.qs.QSContainerController;
|
import com.android.systemui.plugins.qs.QSContainerController;
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ import com.android.internal.logging.MetricsLogger;
|
|||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.media.MediaHierarchyManager;
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.controls.ui.MediaHost;
|
||||||
import com.android.systemui.media.MediaHostState;
|
import com.android.systemui.media.controls.ui.MediaHostState;
|
||||||
import com.android.systemui.plugins.FalsingManager;
|
import com.android.systemui.plugins.FalsingManager;
|
||||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||||
import com.android.systemui.qs.dagger.QSScope;
|
import com.android.systemui.qs.dagger.QSScope;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ import com.android.internal.logging.MetricsLogger;
|
|||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.Dumpable;
|
import com.android.systemui.Dumpable;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.controls.ui.MediaHost;
|
||||||
import com.android.systemui.plugins.qs.QSTile;
|
import com.android.systemui.plugins.qs.QSTile;
|
||||||
import com.android.systemui.plugins.qs.QSTileView;
|
import com.android.systemui.plugins.qs.QSTileView;
|
||||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ import com.android.internal.logging.MetricsLogger;
|
|||||||
import com.android.internal.logging.UiEventLogger;
|
import com.android.internal.logging.UiEventLogger;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.media.MediaHierarchyManager;
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.controls.ui.MediaHost;
|
||||||
import com.android.systemui.plugins.qs.QSTile;
|
import com.android.systemui.plugins.qs.QSTile;
|
||||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||||
import com.android.systemui.qs.dagger.QSScope;
|
import com.android.systemui.qs.dagger.QSScope;
|
||||||
|
|||||||
@@ -147,9 +147,9 @@ import com.android.systemui.fragments.FragmentService;
|
|||||||
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
|
import com.android.systemui.keyguard.KeyguardUnlockAnimationController;
|
||||||
import com.android.systemui.keyguard.domain.interactor.KeyguardBottomAreaInteractor;
|
import com.android.systemui.keyguard.domain.interactor.KeyguardBottomAreaInteractor;
|
||||||
import com.android.systemui.keyguard.ui.viewmodel.KeyguardBottomAreaViewModel;
|
import com.android.systemui.keyguard.ui.viewmodel.KeyguardBottomAreaViewModel;
|
||||||
import com.android.systemui.media.KeyguardMediaController;
|
import com.android.systemui.media.controls.pipeline.MediaDataManager;
|
||||||
import com.android.systemui.media.MediaDataManager;
|
import com.android.systemui.media.controls.ui.KeyguardMediaController;
|
||||||
import com.android.systemui.media.MediaHierarchyManager;
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager;
|
||||||
import com.android.systemui.model.SysUiState;
|
import com.android.systemui.model.SysUiState;
|
||||||
import com.android.systemui.navigationbar.NavigationBarController;
|
import com.android.systemui.navigationbar.NavigationBarController;
|
||||||
import com.android.systemui.navigationbar.NavigationBarView;
|
import com.android.systemui.navigationbar.NavigationBarView;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import android.util.IndentingPrintWriter
|
|||||||
import android.util.MathUtils
|
import android.util.MathUtils
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.media.MediaHierarchyManager
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager
|
||||||
import com.android.systemui.shade.NotificationPanelViewController
|
import com.android.systemui.shade.NotificationPanelViewController
|
||||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||||
import dagger.assisted.Assisted
|
import dagger.assisted.Assisted
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import com.android.systemui.classifier.FalsingCollector
|
|||||||
import com.android.systemui.dagger.SysUISingleton
|
import com.android.systemui.dagger.SysUISingleton
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.keyguard.WakefulnessLifecycle
|
import com.android.systemui.keyguard.WakefulnessLifecycle
|
||||||
import com.android.systemui.media.MediaHierarchyManager
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager
|
||||||
import com.android.systemui.plugins.ActivityStarter.OnDismissAction
|
import com.android.systemui.plugins.ActivityStarter.OnDismissAction
|
||||||
import com.android.systemui.plugins.FalsingManager
|
import com.android.systemui.plugins.FalsingManager
|
||||||
import com.android.systemui.plugins.qs.QS
|
import com.android.systemui.plugins.qs.QS
|
||||||
|
|||||||
@@ -48,9 +48,9 @@ import com.android.systemui.animation.Interpolators;
|
|||||||
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
import com.android.systemui.colorextraction.SysuiColorExtractor;
|
||||||
import com.android.systemui.dagger.qualifiers.Main;
|
import com.android.systemui.dagger.qualifiers.Main;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.media.MediaData;
|
import com.android.systemui.media.controls.models.player.MediaData;
|
||||||
import com.android.systemui.media.MediaDataManager;
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData;
|
||||||
import com.android.systemui.media.SmartspaceMediaData;
|
import com.android.systemui.media.controls.pipeline.MediaDataManager;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.statusbar.dagger.CentralSurfacesModule;
|
import com.android.systemui.statusbar.dagger.CentralSurfacesModule;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotifCollection;
|
import com.android.systemui.statusbar.notification.collection.NotifCollection;
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import com.android.systemui.dagger.SysUISingleton;
|
|||||||
import com.android.systemui.dagger.qualifiers.Main;
|
import com.android.systemui.dagger.qualifiers.Main;
|
||||||
import com.android.systemui.dump.DumpHandler;
|
import com.android.systemui.dump.DumpHandler;
|
||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.media.MediaDataManager;
|
import com.android.systemui.media.controls.pipeline.MediaDataManager;
|
||||||
import com.android.systemui.plugins.ActivityStarter;
|
import com.android.systemui.plugins.ActivityStarter;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.qs.carrier.QSCarrierGroupController;
|
import com.android.systemui.qs.carrier.QSCarrierGroupController;
|
||||||
|
|||||||
@@ -16,14 +16,14 @@
|
|||||||
|
|
||||||
package com.android.systemui.statusbar.notification.collection.coordinator;
|
package com.android.systemui.statusbar.notification.collection.coordinator;
|
||||||
|
|
||||||
import static com.android.systemui.media.MediaDataManagerKt.isMediaNotification;
|
import static com.android.systemui.media.controls.pipeline.MediaDataManagerKt.isMediaNotification;
|
||||||
|
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.service.notification.StatusBarNotification;
|
import android.service.notification.StatusBarNotification;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
|
|
||||||
import com.android.internal.statusbar.IStatusBarService;
|
import com.android.internal.statusbar.IStatusBarService;
|
||||||
import com.android.systemui.media.MediaFeatureFlag;
|
import com.android.systemui.media.controls.util.MediaFeatureFlag;
|
||||||
import com.android.systemui.statusbar.notification.InflationException;
|
import com.android.systemui.statusbar.notification.InflationException;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
|
import com.android.systemui.statusbar.notification.collection.NotifPipeline;
|
||||||
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ import com.android.internal.annotations.VisibleForTesting;
|
|||||||
import com.android.internal.widget.ImageMessageConsumer;
|
import com.android.internal.widget.ImageMessageConsumer;
|
||||||
import com.android.systemui.dagger.SysUISingleton;
|
import com.android.systemui.dagger.SysUISingleton;
|
||||||
import com.android.systemui.dagger.qualifiers.Background;
|
import com.android.systemui.dagger.qualifiers.Background;
|
||||||
import com.android.systemui.media.MediaFeatureFlag;
|
import com.android.systemui.media.controls.util.MediaFeatureFlag;
|
||||||
import com.android.systemui.statusbar.InflationTask;
|
import com.android.systemui.statusbar.InflationTask;
|
||||||
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
import com.android.systemui.statusbar.NotificationRemoteInputManager;
|
||||||
import com.android.systemui.statusbar.notification.ConversationNotificationProcessor;
|
import com.android.systemui.statusbar.notification.ConversationNotificationProcessor;
|
||||||
|
|||||||
@@ -19,11 +19,10 @@ import android.annotation.ColorInt
|
|||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import com.android.internal.annotations.VisibleForTesting
|
import com.android.internal.annotations.VisibleForTesting
|
||||||
import com.android.systemui.media.KeyguardMediaController
|
import com.android.systemui.media.controls.ui.KeyguardMediaController
|
||||||
import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager
|
import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager
|
||||||
import com.android.systemui.statusbar.notification.collection.render.MediaContainerController
|
import com.android.systemui.statusbar.notification.collection.render.MediaContainerController
|
||||||
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController
|
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController
|
||||||
import com.android.systemui.statusbar.notification.collection.render.ShadeViewManager
|
|
||||||
import com.android.systemui.statusbar.notification.dagger.AlertingHeader
|
import com.android.systemui.statusbar.notification.dagger.AlertingHeader
|
||||||
import com.android.systemui.statusbar.notification.dagger.IncomingHeader
|
import com.android.systemui.statusbar.notification.dagger.IncomingHeader
|
||||||
import com.android.systemui.statusbar.notification.dagger.PeopleHeader
|
import com.android.systemui.statusbar.notification.dagger.PeopleHeader
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ import com.android.systemui.dagger.qualifiers.Main;
|
|||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.flags.Flags;
|
import com.android.systemui.flags.Flags;
|
||||||
import com.android.systemui.media.KeyguardMediaController;
|
import com.android.systemui.media.controls.ui.KeyguardMediaController;
|
||||||
import com.android.systemui.plugins.FalsingManager;
|
import com.android.systemui.plugins.FalsingManager;
|
||||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
|
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
|
||||||
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.OnMenuEventListener;
|
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.OnMenuEventListener;
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import com.android.systemui.ActivityIntentHelper;
|
|||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.dreams.DreamOverlayStateController;
|
import com.android.systemui.dreams.DreamOverlayStateController;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.media.MediaCarouselController;
|
import com.android.systemui.media.controls.ui.MediaCarouselController;
|
||||||
import com.android.systemui.media.dream.MediaDreamComplication;
|
import com.android.systemui.media.dream.MediaDreamComplication;
|
||||||
import com.android.systemui.plugins.ActivityStarter;
|
import com.android.systemui.plugins.ActivityStarter;
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
import com.android.systemui.statusbar.NotificationLockscreenUserManager;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls
|
||||||
|
|
||||||
import com.android.internal.logging.InstanceId
|
import com.android.internal.logging.InstanceId
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
|
||||||
class MediaTestUtils {
|
class MediaTestUtils {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.player
|
||||||
|
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
@@ -21,4 +21,4 @@ class MediaViewHolderTest : SysuiTestCase() {
|
|||||||
|
|
||||||
MediaViewHolder.create(inflater, parent)
|
MediaViewHolder.create(inflater, parent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.player
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.ObjectAnimator
|
import android.animation.ObjectAnimator
|
||||||
@@ -26,6 +26,7 @@ import android.widget.TextView
|
|||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
|
import com.android.systemui.media.controls.ui.SquigglyProgress
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.player
|
||||||
|
|
||||||
import android.media.MediaMetadata
|
import android.media.MediaMetadata
|
||||||
import android.media.session.MediaController
|
import android.media.session.MediaController
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.models.recommendation
|
||||||
|
|
||||||
import android.app.smartspace.SmartspaceAction
|
import android.app.smartspace.SmartspaceAction
|
||||||
import android.graphics.drawable.Icon
|
import android.graphics.drawable.Icon
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media;
|
package com.android.systemui.media.controls.pipeline;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
@@ -26,7 +26,6 @@ import static org.mockito.Mockito.never;
|
|||||||
import static org.mockito.Mockito.reset;
|
import static org.mockito.Mockito.reset;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.testing.AndroidTestingRunner;
|
import android.testing.AndroidTestingRunner;
|
||||||
import android.testing.TestableLooper;
|
import android.testing.TestableLooper;
|
||||||
|
|
||||||
@@ -34,6 +33,8 @@ import androidx.test.filters.SmallTest;
|
|||||||
|
|
||||||
import com.android.internal.logging.InstanceId;
|
import com.android.internal.logging.InstanceId;
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData;
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaDeviceData;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.app.smartspace.SmartspaceAction
|
import android.app.smartspace.SmartspaceAction
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
@@ -24,6 +24,11 @@ import com.android.internal.logging.InstanceId
|
|||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher
|
import com.android.systemui.broadcast.BroadcastDispatcher
|
||||||
import com.android.systemui.broadcast.BroadcastSender
|
import com.android.systemui.broadcast.BroadcastSender
|
||||||
|
import com.android.systemui.media.controls.MediaTestUtils
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
|
import com.android.systemui.media.controls.ui.MediaPlayerData
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger
|
||||||
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
import com.android.systemui.statusbar.NotificationLockscreenUserManager
|
||||||
import com.android.systemui.util.mockito.any
|
import com.android.systemui.util.mockito.any
|
||||||
import com.android.systemui.util.mockito.eq
|
import com.android.systemui.util.mockito.eq
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.app.Notification
|
import android.app.Notification
|
||||||
import android.app.Notification.MediaStyle
|
import android.app.Notification.MediaStyle
|
||||||
@@ -26,6 +26,13 @@ import com.android.systemui.R
|
|||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher
|
import com.android.systemui.broadcast.BroadcastDispatcher
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaDataProvider
|
||||||
|
import com.android.systemui.media.controls.resume.MediaResumeListener
|
||||||
|
import com.android.systemui.media.controls.util.MediaControllerFactory
|
||||||
|
import com.android.systemui.media.controls.util.MediaFlags
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
import com.android.systemui.statusbar.SbnBuilder
|
import com.android.systemui.statusbar.SbnBuilder
|
||||||
import com.android.systemui.tuner.TunerService
|
import com.android.systemui.tuner.TunerService
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.bluetooth.BluetoothLeBroadcast
|
import android.bluetooth.BluetoothLeBroadcast
|
||||||
import android.bluetooth.BluetoothLeBroadcastMetadata
|
import android.bluetooth.BluetoothLeBroadcastMetadata
|
||||||
@@ -37,6 +37,10 @@ import com.android.settingslib.media.MediaDevice
|
|||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
|
import com.android.systemui.media.controls.MediaTestUtils
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaDeviceData
|
||||||
|
import com.android.systemui.media.controls.util.MediaControllerFactory
|
||||||
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager
|
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManager
|
||||||
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManagerFactory
|
import com.android.systemui.media.muteawait.MediaMuteAwaitConnectionManagerFactory
|
||||||
import com.android.systemui.statusbar.policy.ConfigurationController
|
import com.android.systemui.statusbar.policy.ConfigurationController
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.media.session.MediaController
|
import android.media.session.MediaController
|
||||||
import android.media.session.MediaController.PlaybackInfo
|
import android.media.session.MediaController.PlaybackInfo
|
||||||
@@ -25,6 +25,8 @@ import android.testing.TestableLooper
|
|||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
|
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
|
import com.android.systemui.media.controls.MediaTestUtils
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
import com.android.systemui.util.concurrency.FakeExecutor
|
import com.android.systemui.util.concurrency.FakeExecutor
|
||||||
import com.android.systemui.util.mockito.eq
|
import com.android.systemui.util.mockito.eq
|
||||||
import com.android.systemui.util.time.FakeSystemClock
|
import com.android.systemui.util.time.FakeSystemClock
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.pipeline
|
||||||
|
|
||||||
import android.media.MediaMetadata
|
import android.media.MediaMetadata
|
||||||
import android.media.session.MediaController
|
import android.media.session.MediaController
|
||||||
@@ -23,6 +23,9 @@ import android.media.session.PlaybackState
|
|||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
|
import com.android.systemui.media.controls.MediaTestUtils
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.util.MediaControllerFactory
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
import com.android.systemui.plugins.statusbar.StatusBarStateController
|
||||||
import com.android.systemui.statusbar.SysuiStatusBarStateController
|
import com.android.systemui.statusbar.SysuiStatusBarStateController
|
||||||
import com.android.systemui.util.concurrency.FakeExecutor
|
import com.android.systemui.util.concurrency.FakeExecutor
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.resume
|
||||||
|
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
@@ -33,6 +33,11 @@ import androidx.test.filters.SmallTest
|
|||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.broadcast.BroadcastDispatcher
|
import com.android.systemui.broadcast.BroadcastDispatcher
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
|
import com.android.systemui.media.controls.MediaTestUtils
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaDeviceData
|
||||||
|
import com.android.systemui.media.controls.pipeline.RESUME_MEDIA_TIMEOUT
|
||||||
|
import com.android.systemui.media.controls.pipeline.MediaDataManager
|
||||||
import com.android.systemui.tuner.TunerService
|
import com.android.systemui.tuner.TunerService
|
||||||
import com.android.systemui.util.concurrency.FakeExecutor
|
import com.android.systemui.util.concurrency.FakeExecutor
|
||||||
import com.android.systemui.util.time.FakeSystemClock
|
import com.android.systemui.util.time.FakeSystemClock
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.resume
|
||||||
|
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import org.mockito.Mockito.`when` as whenever
|
import org.mockito.Mockito.`when` as whenever
|
||||||
import android.graphics.drawable.Animatable2
|
import android.graphics.drawable.Animatable2
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.animation.ValueAnimator
|
import android.animation.ValueAnimator
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
@@ -22,6 +22,8 @@ import android.testing.AndroidTestingRunner
|
|||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
|
import com.android.systemui.media.controls.models.GutsViewHolder
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaViewHolder
|
||||||
import com.android.systemui.monet.ColorScheme
|
import com.android.systemui.monet.ColorScheme
|
||||||
import junit.framework.Assert.assertEquals
|
import junit.framework.Assert.assertEquals
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import android.test.suitebuilder.annotation.SmallTest
|
import android.test.suitebuilder.annotation.SmallTest
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
@@ -25,11 +25,17 @@ import com.android.systemui.SysuiTestCase
|
|||||||
import com.android.systemui.classifier.FalsingCollector
|
import com.android.systemui.classifier.FalsingCollector
|
||||||
import com.android.systemui.dagger.qualifiers.Main
|
import com.android.systemui.dagger.qualifiers.Main
|
||||||
import com.android.systemui.dump.DumpManager
|
import com.android.systemui.dump.DumpManager
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.ANIMATION_BASE_DURATION
|
import com.android.systemui.media.controls.MediaTestUtils
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.DURATION
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.PAGINATION_DELAY
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.TRANSFORM_BEZIER
|
import com.android.systemui.media.controls.pipeline.EMPTY_SMARTSPACE_MEDIA_DATA
|
||||||
import com.android.systemui.media.MediaHierarchyManager.Companion.LOCATION_QS
|
import com.android.systemui.media.controls.pipeline.MediaDataManager
|
||||||
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.ANIMATION_BASE_DURATION
|
||||||
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.DURATION
|
||||||
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.PAGINATION_DELAY
|
||||||
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.TRANSFORM_BEZIER
|
||||||
|
import com.android.systemui.media.controls.ui.MediaHierarchyManager.Companion.LOCATION_QS
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
import com.android.systemui.plugins.FalsingManager
|
import com.android.systemui.plugins.FalsingManager
|
||||||
import com.android.systemui.statusbar.notification.collection.provider.OnReorderingAllowedListener
|
import com.android.systemui.statusbar.notification.collection.provider.OnReorderingAllowedListener
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
import android.animation.AnimatorSet
|
import android.animation.AnimatorSet
|
||||||
@@ -59,7 +59,20 @@ import com.android.systemui.R
|
|||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.bluetooth.BroadcastDialogController
|
import com.android.systemui.bluetooth.BroadcastDialogController
|
||||||
import com.android.systemui.broadcast.BroadcastSender
|
import com.android.systemui.broadcast.BroadcastSender
|
||||||
import com.android.systemui.media.MediaControlPanel.KEY_SMARTSPACE_APP_NAME
|
import com.android.systemui.media.controls.MediaTestUtils
|
||||||
|
import com.android.systemui.media.controls.pipeline.EMPTY_SMARTSPACE_MEDIA_DATA
|
||||||
|
import com.android.systemui.media.controls.models.GutsViewHolder
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaAction
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaButton
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaDeviceData
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaViewHolder
|
||||||
|
import com.android.systemui.media.controls.models.player.SeekBarViewModel
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.RecommendationViewHolder
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.SmartspaceMediaData
|
||||||
|
import com.android.systemui.media.controls.models.recommendation.KEY_SMARTSPACE_APP_NAME
|
||||||
|
import com.android.systemui.media.controls.pipeline.MediaDataManager
|
||||||
|
import com.android.systemui.media.controls.util.MediaUiEventLogger
|
||||||
import com.android.systemui.media.dialog.MediaOutputDialogFactory
|
import com.android.systemui.media.dialog.MediaOutputDialogFactory
|
||||||
import com.android.systemui.plugins.ActivityStarter
|
import com.android.systemui.plugins.ActivityStarter
|
||||||
import com.android.systemui.plugins.FalsingManager
|
import com.android.systemui.plugins.FalsingManager
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
@@ -14,11 +14,13 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
|
import com.android.systemui.media.controls.MediaTestUtils
|
||||||
|
import com.android.systemui.media.controls.models.player.MediaData
|
||||||
import com.android.systemui.util.time.FakeSystemClock
|
import com.android.systemui.util.time.FakeSystemClock
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.testing.AndroidTestingRunner
|
import android.testing.AndroidTestingRunner
|
||||||
import android.testing.TestableLooper
|
import android.testing.TestableLooper
|
||||||
@@ -22,13 +22,13 @@ import android.view.View
|
|||||||
import androidx.test.filters.SmallTest
|
import androidx.test.filters.SmallTest
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.SysuiTestCase
|
import com.android.systemui.SysuiTestCase
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.ANIMATION_BASE_DURATION
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.ANIMATION_BASE_DURATION
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.CONTROLS_DELAY
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.CONTROLS_DELAY
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.DETAILS_DELAY
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.DETAILS_DELAY
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.DURATION
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.DURATION
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.MEDIACONTAINERS_DELAY
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.MEDIACONTAINERS_DELAY
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.MEDIATITLES_DELAY
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.MEDIATITLES_DELAY
|
||||||
import com.android.systemui.media.MediaCarouselController.Companion.TRANSFORM_BEZIER
|
import com.android.systemui.media.controls.ui.MediaCarouselController.Companion.TRANSFORM_BEZIER
|
||||||
import com.android.systemui.util.animation.MeasurementInput
|
import com.android.systemui.util.animation.MeasurementInput
|
||||||
import com.android.systemui.util.animation.TransitionLayout
|
import com.android.systemui.util.animation.TransitionLayout
|
||||||
import com.android.systemui.util.animation.TransitionViewState
|
import com.android.systemui.util.animation.TransitionViewState
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.android.systemui.media
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import org.mockito.Mockito.`when` as whenever
|
import org.mockito.Mockito.`when` as whenever
|
||||||
import android.animation.Animator
|
import android.animation.Animator
|
||||||
@@ -1,4 +1,20 @@
|
|||||||
package com.android.systemui.media
|
/*
|
||||||
|
* Copyright (C) 2022 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.android.systemui.media.controls.ui
|
||||||
|
|
||||||
import android.graphics.Canvas
|
import android.graphics.Canvas
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
@@ -34,9 +50,12 @@ class SquigglyProgressTest : SysuiTestCase() {
|
|||||||
private val tint = Color.GREEN
|
private val tint = Color.GREEN
|
||||||
|
|
||||||
lateinit var squigglyProgress: SquigglyProgress
|
lateinit var squigglyProgress: SquigglyProgress
|
||||||
@Mock lateinit var canvas: Canvas
|
@Mock
|
||||||
@Captor lateinit var paintCaptor: ArgumentCaptor<Paint>
|
lateinit var canvas: Canvas
|
||||||
@JvmField @Rule val mockitoRule = MockitoJUnit.rule()
|
@Captor
|
||||||
|
lateinit var paintCaptor: ArgumentCaptor<Paint>
|
||||||
|
@JvmField @Rule
|
||||||
|
val mockitoRule = MockitoJUnit.rule()
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setup() {
|
fun setup() {
|
||||||
@@ -108,6 +127,6 @@ class SquigglyProgressTest : SysuiTestCase() {
|
|||||||
|
|
||||||
assertThat(wavePaint.color).isEqualTo(tint)
|
assertThat(wavePaint.color).isEqualTo(tint)
|
||||||
assertThat(linePaint.color).isEqualTo(
|
assertThat(linePaint.color).isEqualTo(
|
||||||
ColorUtils.setAlphaComponent(tint, DISABLED_ALPHA))
|
ColorUtils.setAlphaComponent(tint, DISABLED_ALPHA))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,7 +25,7 @@ import android.widget.FrameLayout;
|
|||||||
import androidx.test.filters.SmallTest;
|
import androidx.test.filters.SmallTest;
|
||||||
|
|
||||||
import com.android.systemui.SysuiTestCase;
|
import com.android.systemui.SysuiTestCase;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.controls.ui.MediaHost;
|
||||||
import com.android.systemui.util.animation.UniqueObjectHostView;
|
import com.android.systemui.util.animation.UniqueObjectHostView;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ import com.android.systemui.SysuiTestCase;
|
|||||||
import com.android.systemui.dreams.DreamOverlayStateController;
|
import com.android.systemui.dreams.DreamOverlayStateController;
|
||||||
import com.android.systemui.dreams.complication.DreamMediaEntryComplication;
|
import com.android.systemui.dreams.complication.DreamMediaEntryComplication;
|
||||||
import com.android.systemui.flags.FeatureFlags;
|
import com.android.systemui.flags.FeatureFlags;
|
||||||
import com.android.systemui.media.MediaData;
|
import com.android.systemui.media.controls.models.player.MediaData;
|
||||||
import com.android.systemui.media.MediaDataManager;
|
import com.android.systemui.media.controls.pipeline.MediaDataManager;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ import com.android.systemui.animation.ShadeInterpolation;
|
|||||||
import com.android.systemui.dump.DumpManager;
|
import com.android.systemui.dump.DumpManager;
|
||||||
import com.android.systemui.flags.FakeFeatureFlags;
|
import com.android.systemui.flags.FakeFeatureFlags;
|
||||||
import com.android.systemui.flags.Flags;
|
import com.android.systemui.flags.Flags;
|
||||||
import com.android.systemui.media.MediaHost;
|
import com.android.systemui.media.controls.ui.MediaHost;
|
||||||
import com.android.systemui.plugins.FalsingManager;
|
import com.android.systemui.plugins.FalsingManager;
|
||||||
import com.android.systemui.qs.customize.QSCustomizerController;
|
import com.android.systemui.qs.customize.QSCustomizerController;
|
||||||
import com.android.systemui.qs.dagger.QSFragmentComponent;
|
import com.android.systemui.qs.dagger.QSFragmentComponent;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user