Change using Handler to using Executor

Change addOnActiveSessionsChangedListener and other APIs to use
Executor instead of Handler according to API council guideline.

Also move the listener parameter to the end of the list
of parameters to improve Kotlin-compatibility, since Kotlin allows
SAM, or Single Abstract Method, to be expressed as a trailing
lambda syntax.

Bug: 174762061
Test: build && atest android.media.cts.MediaSessionManagerTest
Change-Id: I556d400e86e4c05c6840e6835432a82ca3695774
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt
index bf70803..946555e 100644
--- a/core/api/module-lib-current.txt
+++ b/core/api/module-lib-current.txt
@@ -129,7 +129,7 @@
   }
 
   public final class MediaSessionManager {
-    method public void addOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, @Nullable android.content.ComponentName, @NonNull android.os.UserHandle, @Nullable android.os.Handler);
+    method public void addOnActiveSessionsChangedListener(@Nullable android.content.ComponentName, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener);
     method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent);
     method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent, boolean);
     method public void dispatchMediaKeyEventAsSystemService(@NonNull android.view.KeyEvent);