Merge "Use ParceledListSlice in MediaSessionManager#getSession2Tokens" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
46669aa717
@@ -16,6 +16,7 @@
|
|||||||
package android.media.session;
|
package android.media.session;
|
||||||
|
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
|
import android.content.pm.ParceledListSlice;
|
||||||
import android.media.IRemoteVolumeController;
|
import android.media.IRemoteVolumeController;
|
||||||
import android.media.Session2Token;
|
import android.media.Session2Token;
|
||||||
import android.media.session.IActiveSessionsListener;
|
import android.media.session.IActiveSessionsListener;
|
||||||
@@ -38,7 +39,7 @@ interface ISessionManager {
|
|||||||
in Bundle sessionInfo, int userId);
|
in Bundle sessionInfo, int userId);
|
||||||
void notifySession2Created(in Session2Token sessionToken);
|
void notifySession2Created(in Session2Token sessionToken);
|
||||||
List<MediaSession.Token> getSessions(in ComponentName compName, int userId);
|
List<MediaSession.Token> getSessions(in ComponentName compName, int userId);
|
||||||
List<Session2Token> getSession2Tokens(int userId);
|
ParceledListSlice getSession2Tokens(int userId);
|
||||||
void dispatchMediaKeyEvent(String packageName, boolean asSystemService, in KeyEvent keyEvent,
|
void dispatchMediaKeyEvent(String packageName, boolean asSystemService, in KeyEvent keyEvent,
|
||||||
boolean needWakeLock);
|
boolean needWakeLock);
|
||||||
boolean dispatchMediaKeyEventToSessionAsSystemService(String packageName,
|
boolean dispatchMediaKeyEventToSessionAsSystemService(String packageName,
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import android.annotation.SystemService;
|
|||||||
import android.annotation.UnsupportedAppUsage;
|
import android.annotation.UnsupportedAppUsage;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.pm.ParceledListSlice;
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.media.IRemoteVolumeController;
|
import android.media.IRemoteVolumeController;
|
||||||
import android.media.MediaSession2;
|
import android.media.MediaSession2;
|
||||||
@@ -218,7 +219,8 @@ public final class MediaSessionManager {
|
|||||||
@NonNull
|
@NonNull
|
||||||
public List<Session2Token> getSession2Tokens(int userId) {
|
public List<Session2Token> getSession2Tokens(int userId) {
|
||||||
try {
|
try {
|
||||||
return mService.getSession2Tokens(userId);
|
ParceledListSlice slice = mService.getSession2Tokens(userId);
|
||||||
|
return slice == null ? new ArrayList<>() : slice.getList();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.e(TAG, "Failed to get session tokens", e);
|
Log.e(TAG, "Failed to get session tokens", e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import android.content.Intent;
|
|||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
|
import android.content.pm.ParceledListSlice;
|
||||||
import android.content.pm.ServiceInfo;
|
import android.content.pm.ServiceInfo;
|
||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
@@ -1072,7 +1073,7 @@ public class MediaSessionServiceImpl extends MediaSessionService.ServiceImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Session2Token> getSession2Tokens(int userId) {
|
public ParceledListSlice getSession2Tokens(int userId) {
|
||||||
final int pid = Binder.getCallingPid();
|
final int pid = Binder.getCallingPid();
|
||||||
final int uid = Binder.getCallingUid();
|
final int uid = Binder.getCallingUid();
|
||||||
final long token = Binder.clearCallingIdentity();
|
final long token = Binder.clearCallingIdentity();
|
||||||
@@ -1087,7 +1088,7 @@ public class MediaSessionServiceImpl extends MediaSessionService.ServiceImpl {
|
|||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
result = getSession2TokensLocked(resolvedUserId);
|
result = getSession2TokensLocked(resolvedUserId);
|
||||||
}
|
}
|
||||||
return result;
|
return new ParceledListSlice(result);
|
||||||
} finally {
|
} finally {
|
||||||
Binder.restoreCallingIdentity(token);
|
Binder.restoreCallingIdentity(token);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user