Loading packages/MediaComponents/src/com/android/media/VolumeProvider2Impl.java 0 → 100644 +77 −0 Original line number Original line Diff line number Diff line /* * Copyright 2018 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.media; import android.content.Context; import android.media.VolumeProvider2; import android.media.update.VolumeProvider2Provider; public class VolumeProvider2Impl implements VolumeProvider2Provider { private final Context mContext; private final VolumeProvider2 mInstance; private final int mControlType; private final int mMaxVolume; private int mCurrentVolume; private Callback mCallback; public VolumeProvider2Impl(Context context, VolumeProvider2 instance, @VolumeProvider2.ControlType int controlType, int maxVolume, int currentVolume) { mContext = context; mInstance = instance; mControlType = controlType; mMaxVolume = maxVolume; mCurrentVolume = currentVolume; } @Override public int getControlType_impl() { return mControlType; } @Override public int getMaxVolume_impl() { return mMaxVolume; } @Override public int getCurrentVolume_impl() { return mCurrentVolume; } @Override public void setCurrentVolume_impl(int currentVolume) { mCurrentVolume = currentVolume; if (mCallback != null) { mCallback.onVolumeChanged(mInstance); } } /** * Sets a callback to receive volume changes. */ public void setCallback(Callback callback) { mCallback = callback; } /** * Listens for changes to the volume. */ public static abstract class Callback { public abstract void onVolumeChanged(VolumeProvider2 volumeProvider); } } packages/MediaComponents/src/com/android/media/update/ApiFactory.java +10 −6 Original line number Original line Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.media.update; package com.android.media.update; import android.app.PendingIntent; import android.content.Context; import android.content.Context; import android.content.res.Resources; import android.content.res.Resources; import android.content.res.Resources.Theme; import android.content.res.Resources.Theme; Loading @@ -42,12 +41,11 @@ import android.media.MediaSessionService2; import android.media.Rating2; import android.media.Rating2; import android.media.SessionPlayer2; import android.media.SessionPlayer2; import android.media.SessionToken2; import android.media.SessionToken2; import android.media.VolumeProvider; import android.media.VolumeProvider2; import android.media.update.MediaBrowser2Provider; import android.media.update.MediaBrowser2Provider; import android.media.update.MediaControlView2Provider; import android.media.update.MediaControlView2Provider; import android.media.update.MediaController2Provider; import android.media.update.MediaController2Provider; import android.media.update.MediaItem2Provider; import android.media.update.MediaItem2Provider; import android.media.update.MediaLibraryService2Provider.MediaLibrarySessionProvider; import android.media.update.MediaMetadata2Provider; import android.media.update.MediaMetadata2Provider; import android.media.update.MediaSession2Provider; import android.media.update.MediaSession2Provider; import android.media.update.MediaSession2Provider.BuilderBaseProvider; import android.media.update.MediaSession2Provider.BuilderBaseProvider; Loading @@ -55,9 +53,10 @@ import android.media.update.MediaSession2Provider.PlaylistParamsProvider; import android.media.update.MediaSessionService2Provider; import android.media.update.MediaSessionService2Provider; import android.media.update.SessionPlayer2Provider; import android.media.update.SessionPlayer2Provider; import android.media.update.SessionToken2Provider; import android.media.update.SessionToken2Provider; import android.media.update.VideoView2Provider; import android.media.update.StaticProvider; import android.media.update.StaticProvider; import android.media.update.VideoView2Provider; import android.media.update.ViewProvider; import android.media.update.ViewProvider; import android.media.update.VolumeProvider2Provider; import android.os.Bundle; import android.os.Bundle; import android.os.IInterface; import android.os.IInterface; import android.support.annotation.Nullable; import android.support.annotation.Nullable; Loading @@ -65,19 +64,18 @@ import android.util.AttributeSet; import android.widget.MediaControlView2; import android.widget.MediaControlView2; import android.widget.VideoView2; import android.widget.VideoView2; import com.android.media.IMediaSession2; import com.android.media.IMediaSession2Callback; import com.android.media.IMediaSession2Callback; import com.android.media.MediaBrowser2Impl; import com.android.media.MediaBrowser2Impl; import com.android.media.MediaController2Impl; import com.android.media.MediaController2Impl; import com.android.media.MediaItem2Impl; import com.android.media.MediaItem2Impl; import com.android.media.MediaLibraryService2Impl; import com.android.media.MediaLibraryService2Impl; import com.android.media.MediaLibraryService2Impl.MediaLibrarySessionImpl; import com.android.media.MediaMetadata2Impl; import com.android.media.MediaMetadata2Impl; import com.android.media.MediaSession2Impl; import com.android.media.MediaSession2Impl; import com.android.media.MediaSession2Impl.PlaylistParamsImpl; import com.android.media.MediaSession2Impl.PlaylistParamsImpl; import com.android.media.MediaSessionService2Impl; import com.android.media.MediaSessionService2Impl; import com.android.media.Rating2Impl; import com.android.media.Rating2Impl; import com.android.media.SessionToken2Impl; import com.android.media.SessionToken2Impl; import com.android.media.VolumeProvider2Impl; import com.android.widget.MediaControlView2Impl; import com.android.widget.MediaControlView2Impl; import com.android.widget.VideoView2Impl; import com.android.widget.VideoView2Impl; Loading Loading @@ -217,6 +215,12 @@ public class ApiFactory implements StaticProvider { return MediaItem2Impl.fromBundle(context, bundle); return MediaItem2Impl.fromBundle(context, bundle); } } @Override public VolumeProvider2Provider createVolumeProvider2(Context context, VolumeProvider2 instance, int controlType, int maxVolume, int currentVolume) { return new VolumeProvider2Impl(context, instance, controlType, maxVolume, currentVolume); } @Override @Override public MediaMetadata2 fromBundle_MediaMetadata2(Context context, Bundle bundle) { public MediaMetadata2 fromBundle_MediaMetadata2(Context context, Bundle bundle) { return MediaMetadata2Impl.fromBundle(context, bundle); return MediaMetadata2Impl.fromBundle(context, bundle); Loading Loading
packages/MediaComponents/src/com/android/media/VolumeProvider2Impl.java 0 → 100644 +77 −0 Original line number Original line Diff line number Diff line /* * Copyright 2018 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.media; import android.content.Context; import android.media.VolumeProvider2; import android.media.update.VolumeProvider2Provider; public class VolumeProvider2Impl implements VolumeProvider2Provider { private final Context mContext; private final VolumeProvider2 mInstance; private final int mControlType; private final int mMaxVolume; private int mCurrentVolume; private Callback mCallback; public VolumeProvider2Impl(Context context, VolumeProvider2 instance, @VolumeProvider2.ControlType int controlType, int maxVolume, int currentVolume) { mContext = context; mInstance = instance; mControlType = controlType; mMaxVolume = maxVolume; mCurrentVolume = currentVolume; } @Override public int getControlType_impl() { return mControlType; } @Override public int getMaxVolume_impl() { return mMaxVolume; } @Override public int getCurrentVolume_impl() { return mCurrentVolume; } @Override public void setCurrentVolume_impl(int currentVolume) { mCurrentVolume = currentVolume; if (mCallback != null) { mCallback.onVolumeChanged(mInstance); } } /** * Sets a callback to receive volume changes. */ public void setCallback(Callback callback) { mCallback = callback; } /** * Listens for changes to the volume. */ public static abstract class Callback { public abstract void onVolumeChanged(VolumeProvider2 volumeProvider); } }
packages/MediaComponents/src/com/android/media/update/ApiFactory.java +10 −6 Original line number Original line Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.media.update; package com.android.media.update; import android.app.PendingIntent; import android.content.Context; import android.content.Context; import android.content.res.Resources; import android.content.res.Resources; import android.content.res.Resources.Theme; import android.content.res.Resources.Theme; Loading @@ -42,12 +41,11 @@ import android.media.MediaSessionService2; import android.media.Rating2; import android.media.Rating2; import android.media.SessionPlayer2; import android.media.SessionPlayer2; import android.media.SessionToken2; import android.media.SessionToken2; import android.media.VolumeProvider; import android.media.VolumeProvider2; import android.media.update.MediaBrowser2Provider; import android.media.update.MediaBrowser2Provider; import android.media.update.MediaControlView2Provider; import android.media.update.MediaControlView2Provider; import android.media.update.MediaController2Provider; import android.media.update.MediaController2Provider; import android.media.update.MediaItem2Provider; import android.media.update.MediaItem2Provider; import android.media.update.MediaLibraryService2Provider.MediaLibrarySessionProvider; import android.media.update.MediaMetadata2Provider; import android.media.update.MediaMetadata2Provider; import android.media.update.MediaSession2Provider; import android.media.update.MediaSession2Provider; import android.media.update.MediaSession2Provider.BuilderBaseProvider; import android.media.update.MediaSession2Provider.BuilderBaseProvider; Loading @@ -55,9 +53,10 @@ import android.media.update.MediaSession2Provider.PlaylistParamsProvider; import android.media.update.MediaSessionService2Provider; import android.media.update.MediaSessionService2Provider; import android.media.update.SessionPlayer2Provider; import android.media.update.SessionPlayer2Provider; import android.media.update.SessionToken2Provider; import android.media.update.SessionToken2Provider; import android.media.update.VideoView2Provider; import android.media.update.StaticProvider; import android.media.update.StaticProvider; import android.media.update.VideoView2Provider; import android.media.update.ViewProvider; import android.media.update.ViewProvider; import android.media.update.VolumeProvider2Provider; import android.os.Bundle; import android.os.Bundle; import android.os.IInterface; import android.os.IInterface; import android.support.annotation.Nullable; import android.support.annotation.Nullable; Loading @@ -65,19 +64,18 @@ import android.util.AttributeSet; import android.widget.MediaControlView2; import android.widget.MediaControlView2; import android.widget.VideoView2; import android.widget.VideoView2; import com.android.media.IMediaSession2; import com.android.media.IMediaSession2Callback; import com.android.media.IMediaSession2Callback; import com.android.media.MediaBrowser2Impl; import com.android.media.MediaBrowser2Impl; import com.android.media.MediaController2Impl; import com.android.media.MediaController2Impl; import com.android.media.MediaItem2Impl; import com.android.media.MediaItem2Impl; import com.android.media.MediaLibraryService2Impl; import com.android.media.MediaLibraryService2Impl; import com.android.media.MediaLibraryService2Impl.MediaLibrarySessionImpl; import com.android.media.MediaMetadata2Impl; import com.android.media.MediaMetadata2Impl; import com.android.media.MediaSession2Impl; import com.android.media.MediaSession2Impl; import com.android.media.MediaSession2Impl.PlaylistParamsImpl; import com.android.media.MediaSession2Impl.PlaylistParamsImpl; import com.android.media.MediaSessionService2Impl; import com.android.media.MediaSessionService2Impl; import com.android.media.Rating2Impl; import com.android.media.Rating2Impl; import com.android.media.SessionToken2Impl; import com.android.media.SessionToken2Impl; import com.android.media.VolumeProvider2Impl; import com.android.widget.MediaControlView2Impl; import com.android.widget.MediaControlView2Impl; import com.android.widget.VideoView2Impl; import com.android.widget.VideoView2Impl; Loading Loading @@ -217,6 +215,12 @@ public class ApiFactory implements StaticProvider { return MediaItem2Impl.fromBundle(context, bundle); return MediaItem2Impl.fromBundle(context, bundle); } } @Override public VolumeProvider2Provider createVolumeProvider2(Context context, VolumeProvider2 instance, int controlType, int maxVolume, int currentVolume) { return new VolumeProvider2Impl(context, instance, controlType, maxVolume, currentVolume); } @Override @Override public MediaMetadata2 fromBundle_MediaMetadata2(Context context, Bundle bundle) { public MediaMetadata2 fromBundle_MediaMetadata2(Context context, Bundle bundle) { return MediaMetadata2Impl.fromBundle(context, bundle); return MediaMetadata2Impl.fromBundle(context, bundle); Loading