diff options
3 files changed, 13 insertions, 17 deletions
diff --git a/services/core/java/com/android/server/media/MediaKeyDispatcher.java b/services/core/java/com/android/server/media/MediaKeyDispatcher.java index fc7c82ac5fd1..5933723f01b6 100644 --- a/services/core/java/com/android/server/media/MediaKeyDispatcher.java +++ b/services/core/java/com/android/server/media/MediaKeyDispatcher.java @@ -20,7 +20,6 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.PendingIntent; -import android.content.Context; import android.media.session.ISessionManager; import android.media.session.MediaSession; import android.os.Binder; @@ -61,7 +60,7 @@ public abstract class MediaKeyDispatcher { private Map<Integer, Integer> mOverriddenKeyEvents; - public MediaKeyDispatcher(Context context) { + public MediaKeyDispatcher() { // Constructor used for reflection mOverriddenKeyEvents = new HashMap<>(); mOverriddenKeyEvents.put(KeyEvent.KEYCODE_MEDIA_PLAY, 0); diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java index 4eda7a79f17b..b02b90092b7a 100644 --- a/services/core/java/com/android/server/media/MediaSessionService.java +++ b/services/core/java/com/android/server/media/MediaSessionService.java @@ -96,6 +96,7 @@ import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * System implementation of MediaSessionManager @@ -151,6 +152,7 @@ public class MediaSessionService extends SystemService implements Monitor { private SessionPolicyProvider mCustomSessionPolicyProvider; private MediaKeyDispatcher mCustomMediaKeyDispatcher; + private Map<Integer, Integer> mOverriddenKeyEventsMap; public MediaSessionService(Context context) { super(context); @@ -769,6 +771,7 @@ public class MediaSessionService extends SystemService implements Monitor { private void instantiateCustomDispatcher(String nameFromTesting) { synchronized (mLock) { mCustomMediaKeyDispatcher = null; + mOverriddenKeyEventsMap = null; String customDispatcherClassName = (nameFromTesting == null) ? mContext.getResources().getString(R.string.config_customMediaKeyDispatcher) @@ -776,10 +779,9 @@ public class MediaSessionService extends SystemService implements Monitor { try { if (!TextUtils.isEmpty(customDispatcherClassName)) { Class customDispatcherClass = Class.forName(customDispatcherClassName); - Constructor constructor = - customDispatcherClass.getDeclaredConstructor(Context.class); - mCustomMediaKeyDispatcher = - (MediaKeyDispatcher) constructor.newInstance(mContext); + Constructor constructor = customDispatcherClass.getDeclaredConstructor(); + mCustomMediaKeyDispatcher = (MediaKeyDispatcher) constructor.newInstance(); + mOverriddenKeyEventsMap = mCustomMediaKeyDispatcher.getOverriddenKeyEvents(); } } catch (ClassNotFoundException | InstantiationException | InvocationTargetException | IllegalAccessException | NoSuchMethodException e) { @@ -799,10 +801,9 @@ public class MediaSessionService extends SystemService implements Monitor { try { if (!TextUtils.isEmpty(customProviderClassName)) { Class customProviderClass = Class.forName(customProviderClassName); - Constructor constructor = - customProviderClass.getDeclaredConstructor(Context.class); + Constructor constructor = customProviderClass.getDeclaredConstructor(); mCustomSessionPolicyProvider = - (SessionPolicyProvider) constructor.newInstance(mContext); + (SessionPolicyProvider) constructor.newInstance(); } } catch (ClassNotFoundException | InstantiationException | InvocationTargetException | IllegalAccessException | NoSuchMethodException e) { @@ -2397,12 +2398,9 @@ public class MediaSessionService extends SystemService implements Monitor { return; } - int overriddenKeyEvents = 0; - if (mCustomMediaKeyDispatcher == null - && mCustomMediaKeyDispatcher.getOverriddenKeyEvents() != null) { - overriddenKeyEvents = mCustomMediaKeyDispatcher.getOverriddenKeyEvents() - .get(keyEvent.getKeyCode()); - } + int overriddenKeyEvents = (mCustomMediaKeyDispatcher == null) ? 0 + : mCustomMediaKeyDispatcher.getOverriddenKeyEvents() + .get(keyEvent.getKeyCode()); cancelTrackingIfNeeded(packageName, pid, uid, asSystemService, keyEvent, needWakeLock, opPackageName, stream, musicOnly, overriddenKeyEvents); if (!needTracking(keyEvent, overriddenKeyEvents)) { diff --git a/services/core/java/com/android/server/media/SessionPolicyProvider.java b/services/core/java/com/android/server/media/SessionPolicyProvider.java index 332c85adec01..5f02a075344e 100644 --- a/services/core/java/com/android/server/media/SessionPolicyProvider.java +++ b/services/core/java/com/android/server/media/SessionPolicyProvider.java @@ -18,7 +18,6 @@ package com.android.server.media; import android.annotation.IntDef; import android.annotation.NonNull; -import android.content.Context; import android.media.session.MediaSession; import java.lang.annotation.Retention; @@ -55,7 +54,7 @@ public abstract class SessionPolicyProvider { */ static final int SESSION_POLICY_IGNORE_BUTTON_SESSION = 1 << 1; - public SessionPolicyProvider(Context context) { + public SessionPolicyProvider() { // Constructor used for reflection } |