summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-12-11 08:14:46 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-12-11 08:14:46 +0000
commit10b79530a72c088a3a54588619edf18e310d9be7 (patch)
tree2345b84b32ca83e802bbf714d05231566298d226
parentfc4be921e828fb5fb041d87a82e451341ed66efc (diff)
parentb0a6bcea15d93562ebd937e1f8d8171b425370a1 (diff)
Merge "Add factory methods for the system providers" into main
-rw-r--r--services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java4
-rw-r--r--services/core/java/com/android/server/media/SystemMediaRoute2Provider.java12
-rw-r--r--services/core/java/com/android/server/media/SystemMediaRoute2Provider2.java10
3 files changed, 18 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
index abc067d4aa9c..e18ed410c045 100644
--- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
+++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java
@@ -2581,9 +2581,9 @@ class MediaRouter2ServiceImpl {
mUserRecord = userRecord;
mSystemProvider =
Flags.enableMirroringInMediaRouter2()
- ? new SystemMediaRoute2Provider2(
+ ? SystemMediaRoute2Provider2.create(
service.mContext, UserHandle.of(userRecord.mUserId), looper)
- : new SystemMediaRoute2Provider(
+ : SystemMediaRoute2Provider.create(
service.mContext, UserHandle.of(userRecord.mUserId), looper);
mRouteProviders.add(getSystemProvider());
mWatcher = new MediaRoute2ProviderWatcher(service.mContext, this,
diff --git a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
index 5fb80ba92091..8dfba39dcfd8 100644
--- a/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
+++ b/services/core/java/com/android/server/media/SystemMediaRoute2Provider.java
@@ -89,8 +89,12 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider {
@Nullable
private volatile SessionCreationOrTransferRequest mPendingTransferRequest;
- SystemMediaRoute2Provider(Context context, UserHandle user, Looper looper) {
- this(context, COMPONENT_NAME, user, looper);
+ public static SystemMediaRoute2Provider create(
+ Context context, UserHandle user, Looper looper) {
+ var instance = new SystemMediaRoute2Provider(context, COMPONENT_NAME, user, looper);
+ instance.updateProviderState();
+ instance.updateSessionInfosIfNeeded();
+ return instance;
}
protected SystemMediaRoute2Provider(
@@ -124,8 +128,6 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider {
notifySessionInfoUpdated();
}
}));
- updateProviderState();
- updateSessionInfosIfNeeded();
}
public void start() {
@@ -362,7 +364,7 @@ class SystemMediaRoute2Provider extends MediaRoute2Provider {
}
}
- private void updateProviderState() {
+ protected void updateProviderState() {
MediaRoute2ProviderInfo.Builder builder = new MediaRoute2ProviderInfo.Builder();
// We must have a device route in the provider info.
diff --git a/services/core/java/com/android/server/media/SystemMediaRoute2Provider2.java b/services/core/java/com/android/server/media/SystemMediaRoute2Provider2.java
index 8a14a3866860..85b30ad8cadb 100644
--- a/services/core/java/com/android/server/media/SystemMediaRoute2Provider2.java
+++ b/services/core/java/com/android/server/media/SystemMediaRoute2Provider2.java
@@ -35,7 +35,15 @@ import android.os.UserHandle;
SystemMediaRoute2Provider2.class.getPackage().getName(),
SystemMediaRoute2Provider2.class.getName());
- SystemMediaRoute2Provider2(Context context, UserHandle user, Looper looper) {
+ public static SystemMediaRoute2Provider2 create(
+ Context context, UserHandle user, Looper looper) {
+ var instance = new SystemMediaRoute2Provider2(context, user, looper);
+ instance.updateProviderState();
+ instance.updateSessionInfosIfNeeded();
+ return instance;
+ }
+
+ private SystemMediaRoute2Provider2(Context context, UserHandle user, Looper looper) {
super(context, COMPONENT_NAME, user, looper);
}
}