1cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten/* 2cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * Copyright (C) 2017 The Android Open Source Project 3cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * 4cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * Licensed under the Apache License, Version 2.0 (the "License"); 5cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * you may not use this file except in compliance with the License. 6cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * You may obtain a copy of the License at 7cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * 8cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * http://www.apache.org/licenses/LICENSE-2.0 9cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * 10cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * Unless required by applicable law or agreed to in writing, software 11cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * distributed under the License is distributed on an "AS IS" BASIS, 12cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * See the License for the specific language governing permissions and 14cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten * limitations under the License. 15cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten */ 16cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten 17cae43346c0191b55efa421f32fb594d55b005728Christofer Åkerstenpackage com.android.media.update; 18cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten 196b1c183e07a03e129df8a9ca4f26664d5866ce71Jaewan Kimimport android.app.Notification; 2035a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.content.Context; 2192fd9a9e07a33a01d12ef9c47f73b2c7193a5fd9Christofer Åkerstenimport android.content.pm.ApplicationInfo; 22735f3430f9cd1224a68e87b015baca0789debe22Jaewan Kimimport android.media.MediaBrowser2; 23735f3430f9cd1224a68e87b015baca0789debe22Jaewan Kimimport android.media.MediaBrowser2.BrowserCallback; 2435a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.media.MediaController2; 25c21a36910245a441d60f5f3c053e3e1bdaa24d5eJaewan Kimimport android.media.MediaController2.ControllerCallback; 26bf38c7537bf132d7ec0247897f75fdf8455e5dc7Jaewan Kimimport android.media.MediaItem2; 275aec249a238ff2dcb9bb5bc0434b7a17fa96a035Jaewan Kimimport android.media.MediaLibraryService2; 28ddec9db69160943228ccb5b3d24917cd31ad7593Jaewan Kimimport android.media.MediaLibraryService2.LibraryRoot; 292bb5626f2dda50ea42a2c686e4c280f72b34181bJaewan Kimimport android.media.MediaLibraryService2.MediaLibrarySession; 3081c1b87234bdab435259acd355ba2df4730da3ceJaewan Kimimport android.media.MediaLibraryService2.MediaLibrarySession.MediaLibrarySessionCallback; 31bf38c7537bf132d7ec0247897f75fdf8455e5dc7Jaewan Kimimport android.media.MediaMetadata2; 325348b91dcfd87be1f9339f7765f778ad890fc8dcSungsoo Limimport android.media.MediaPlaylistAgent; 3335a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.media.MediaSession2; 34d5b878d0cf0c987caf18be697a0e1637fb632d66Jaewan Kimimport android.media.SessionCommand2; 35d5b878d0cf0c987caf18be697a0e1637fb632d66Jaewan Kimimport android.media.SessionCommandGroup2; 3635a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.media.MediaSession2.ControllerInfo; 3735a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.media.MediaSession2.SessionCallback; 3835a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.media.MediaSessionService2; 396b1c183e07a03e129df8a9ca4f26664d5866ce71Jaewan Kimimport android.media.MediaSessionService2.MediaNotification; 4024f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kimimport android.media.Rating2; 417027e8019ad974d2e474a7fcaf43adedbdf08f23Jaewan Kimimport android.media.SessionToken2; 42a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6Hyundo Moonimport android.media.VolumeProvider2; 43735f3430f9cd1224a68e87b015baca0789debe22Jaewan Kimimport android.media.update.MediaBrowser2Provider; 44080b934e6da4c1e09c91e236f5d0705edbd6cb0cInsun Kangimport android.media.update.MediaControlView2Provider; 4535a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.media.update.MediaController2Provider; 46bf38c7537bf132d7ec0247897f75fdf8455e5dc7Jaewan Kimimport android.media.update.MediaItem2Provider; 47ddec9db69160943228ccb5b3d24917cd31ad7593Jaewan Kimimport android.media.update.MediaLibraryService2Provider.LibraryRootProvider; 486b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kimimport android.media.update.MediaMetadata2Provider; 495348b91dcfd87be1f9339f7765f778ad890fc8dcSungsoo Limimport android.media.update.MediaPlaylistAgentProvider; 5035a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.media.update.MediaSession2Provider; 51d0cff6b094c88bf857cfab80d733728f66ea212cChristofer Åkerstenimport android.media.update.MediaSession2Provider.BuilderBaseProvider; 528a5018744ab11899483c12ca93b29be43c911fb0Jaewan Kimimport android.media.update.MediaSession2Provider.CommandButtonProvider.BuilderProvider; 5335a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport android.media.update.MediaSessionService2Provider; 546b1c183e07a03e129df8a9ca4f26664d5866ce71Jaewan Kimimport android.media.update.MediaSessionService2Provider.MediaNotificationProvider; 55dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kimimport android.media.update.SessionToken2Provider; 56cae43346c0191b55efa421f32fb594d55b005728Christofer Åkerstenimport android.media.update.StaticProvider; 57a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6Hyundo Moonimport android.media.update.VideoView2Provider; 585135ac1345395dc5c2974f8e735dfb4eb2706d02Christofer Åkerstenimport android.media.update.ViewGroupProvider; 59a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6Hyundo Moonimport android.media.update.VolumeProvider2Provider; 60dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kimimport android.os.Bundle; 61c21a36910245a441d60f5f3c053e3e1bdaa24d5eJaewan Kimimport android.os.IInterface; 62080b934e6da4c1e09c91e236f5d0705edbd6cb0cInsun Kangimport android.support.annotation.Nullable; 63080b934e6da4c1e09c91e236f5d0705edbd6cb0cInsun Kangimport android.util.AttributeSet; 64080b934e6da4c1e09c91e236f5d0705edbd6cb0cInsun Kangimport android.widget.MediaControlView2; 65f58d11072313fa3322707113c9f97148177fcdefSungsoo Limimport android.widget.VideoView2; 66cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten 6798f280314350160874af3bc3fd660aa3e9a0fabeSungsoo Limimport com.android.media.IMediaController2; 68735f3430f9cd1224a68e87b015baca0789debe22Jaewan Kimimport com.android.media.MediaBrowser2Impl; 6935a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport com.android.media.MediaController2Impl; 70bf38c7537bf132d7ec0247897f75fdf8455e5dc7Jaewan Kimimport com.android.media.MediaItem2Impl; 715aec249a238ff2dcb9bb5bc0434b7a17fa96a035Jaewan Kimimport com.android.media.MediaLibraryService2Impl; 72ddec9db69160943228ccb5b3d24917cd31ad7593Jaewan Kimimport com.android.media.MediaLibraryService2Impl.LibraryRootImpl; 736b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kimimport com.android.media.MediaMetadata2Impl; 745348b91dcfd87be1f9339f7765f778ad890fc8dcSungsoo Limimport com.android.media.MediaPlaylistAgentImpl; 7535a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport com.android.media.MediaSession2Impl; 7635a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport com.android.media.MediaSessionService2Impl; 7724f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kimimport com.android.media.Rating2Impl; 78dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kimimport com.android.media.SessionToken2Impl; 79a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6Hyundo Moonimport com.android.media.VolumeProvider2Impl; 80080b934e6da4c1e09c91e236f5d0705edbd6cb0cInsun Kangimport com.android.widget.MediaControlView2Impl; 81f58d11072313fa3322707113c9f97148177fcdefSungsoo Limimport com.android.widget.VideoView2Impl; 82cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten 8335a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kimimport java.util.concurrent.Executor; 8435a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim 8592fd9a9e07a33a01d12ef9c47f73b2c7193a5fd9Christofer Åkerstenpublic final class ApiFactory implements StaticProvider { 8692fd9a9e07a33a01d12ef9c47f73b2c7193a5fd9Christofer Åkersten private ApiFactory() { } 8792fd9a9e07a33a01d12ef9c47f73b2c7193a5fd9Christofer Åkersten 880de7babb75683eba98af2db52101d262372235daChristofer Åkersten public static StaticProvider initialize(ApplicationInfo updatableInfo) { 8992fd9a9e07a33a01d12ef9c47f73b2c7193a5fd9Christofer Åkersten ApiHelper.initialize(updatableInfo); 907153c26698069e4b3ed47d04120e188940a8b89dSungsoo Lim return new ApiFactory(); 91cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten } 92cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten 93cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten @Override 9435a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim public MediaController2Provider createMediaController2( 95c21a36910245a441d60f5f3c053e3e1bdaa24d5eJaewan Kim Context context, MediaController2 instance, SessionToken2 token, 96c21a36910245a441d60f5f3c053e3e1bdaa24d5eJaewan Kim Executor executor, ControllerCallback callback) { 97c21a36910245a441d60f5f3c053e3e1bdaa24d5eJaewan Kim return new MediaController2Impl(context, instance, token, executor, callback); 9835a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim } 9935a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim 10035a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim @Override 101c21a36910245a441d60f5f3c053e3e1bdaa24d5eJaewan Kim public MediaBrowser2Provider createMediaBrowser2(Context context, MediaBrowser2 instance, 102c21a36910245a441d60f5f3c053e3e1bdaa24d5eJaewan Kim SessionToken2 token, Executor executor, BrowserCallback callback) { 103c21a36910245a441d60f5f3c053e3e1bdaa24d5eJaewan Kim return new MediaBrowser2Impl(context, instance, token, executor, callback); 104735f3430f9cd1224a68e87b015baca0789debe22Jaewan Kim } 105735f3430f9cd1224a68e87b015baca0789debe22Jaewan Kim 106735f3430f9cd1224a68e87b015baca0789debe22Jaewan Kim @Override 107a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim public MediaSession2Provider.CommandProvider createMediaSession2Command( 108d5b878d0cf0c987caf18be697a0e1637fb632d66Jaewan Kim SessionCommand2 instance, int commandCode, String action, Bundle extra) { 10978e257713ebf4805647772f32fac433d2621405eSungsoo Lim if (action == null && extra == null) { 11078e257713ebf4805647772f32fac433d2621405eSungsoo Lim return new MediaSession2Impl.CommandImpl(instance, commandCode); 11178e257713ebf4805647772f32fac433d2621405eSungsoo Lim } 11278e257713ebf4805647772f32fac433d2621405eSungsoo Lim return new MediaSession2Impl.CommandImpl(instance, action, extra); 11378e257713ebf4805647772f32fac433d2621405eSungsoo Lim } 11478e257713ebf4805647772f32fac433d2621405eSungsoo Lim 11578e257713ebf4805647772f32fac433d2621405eSungsoo Lim @Override 116d5b878d0cf0c987caf18be697a0e1637fb632d66Jaewan Kim public SessionCommand2 fromBundle_MediaSession2Command(Bundle command) { 1170de7babb75683eba98af2db52101d262372235daChristofer Åkersten return MediaSession2Impl.CommandImpl.fromBundle_impl(command); 11878e257713ebf4805647772f32fac433d2621405eSungsoo Lim } 11978e257713ebf4805647772f32fac433d2621405eSungsoo Lim 12078e257713ebf4805647772f32fac433d2621405eSungsoo Lim @Override 121a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim public MediaSession2Provider.CommandGroupProvider createMediaSession2CommandGroup( 122d5b878d0cf0c987caf18be697a0e1637fb632d66Jaewan Kim SessionCommandGroup2 instance, SessionCommandGroup2 other) { 1230de7babb75683eba98af2db52101d262372235daChristofer Åkersten return new MediaSession2Impl.CommandGroupImpl(instance, 124a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim (other == null) ? null : other.getProvider()); 125a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim } 126a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim 127a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim @Override 128d5b878d0cf0c987caf18be697a0e1637fb632d66Jaewan Kim public SessionCommandGroup2 fromBundle_MediaSession2CommandGroup(Bundle commands) { 1290de7babb75683eba98af2db52101d262372235daChristofer Åkersten return MediaSession2Impl.CommandGroupImpl.fromBundle_impl(commands); 130a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim } 131a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim 132e6d6cf49eac07730406e51e4940f02e344648267Jaewan Kim @Override 1336b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim public MediaSession2Provider.ControllerInfoProvider createMediaSession2ControllerInfo( 134a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim Context context, ControllerInfo instance, int uid, int pid, String packageName, 135a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim IInterface callback) { 136a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim return new MediaSession2Impl.ControllerInfoImpl(context, 13798f280314350160874af3bc3fd660aa3e9a0fabeSungsoo Lim instance, uid, pid, packageName, (IMediaController2) callback); 138a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim } 139a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim 140a7df615bfd29af892861e334df8e793cc623aaf8Sungsoo Lim @Override 1410de7babb75683eba98af2db52101d262372235daChristofer Åkersten public BuilderProvider createMediaSession2CommandButtonBuilder( 14281c1b87234bdab435259acd355ba2df4730da3ceJaewan Kim MediaSession2.CommandButton.Builder instance) { 1430de7babb75683eba98af2db52101d262372235daChristofer Åkersten return new MediaSession2Impl.CommandButtonImpl.BuilderImpl(instance); 1448a5018744ab11899483c12ca93b29be43c911fb0Jaewan Kim } 1458a5018744ab11899483c12ca93b29be43c911fb0Jaewan Kim 146d0cff6b094c88bf857cfab80d733728f66ea212cChristofer Åkersten public BuilderBaseProvider<MediaSession2, SessionCallback> createMediaSession2Builder( 147f82f720c00cf35a8f0f9a6135551ee47855dd6a0Sungsoo Lim Context context, MediaSession2.Builder instance) { 148f82f720c00cf35a8f0f9a6135551ee47855dd6a0Sungsoo Lim return new MediaSession2Impl.BuilderImpl(context, instance); 149d0cff6b094c88bf857cfab80d733728f66ea212cChristofer Åkersten } 150d0cff6b094c88bf857cfab80d733728f66ea212cChristofer Åkersten 151e6d6cf49eac07730406e51e4940f02e344648267Jaewan Kim @Override 1520de7babb75683eba98af2db52101d262372235daChristofer Åkersten public MediaSessionService2Provider createMediaSessionService2(MediaSessionService2 instance) { 15335a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim return new MediaSessionService2Impl(instance); 15435a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim } 15535a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim 15635a6aa31951fa0178efe7245fe09e628275c2200Jaewan Kim @Override 1570de7babb75683eba98af2db52101d262372235daChristofer Åkersten public MediaNotificationProvider createMediaSessionService2MediaNotification( 1586b1c183e07a03e129df8a9ca4f26664d5866ce71Jaewan Kim MediaNotification instance, int notificationId, Notification notification) { 1596b1c183e07a03e129df8a9ca4f26664d5866ce71Jaewan Kim return new MediaSessionService2Impl.MediaNotificationImpl( 1600de7babb75683eba98af2db52101d262372235daChristofer Åkersten instance, notificationId, notification); 1616b1c183e07a03e129df8a9ca4f26664d5866ce71Jaewan Kim } 1626b1c183e07a03e129df8a9ca4f26664d5866ce71Jaewan Kim 1636b1c183e07a03e129df8a9ca4f26664d5866ce71Jaewan Kim @Override 1640de7babb75683eba98af2db52101d262372235daChristofer Åkersten public MediaSessionService2Provider createMediaLibraryService2(MediaLibraryService2 instance) { 1655aec249a238ff2dcb9bb5bc0434b7a17fa96a035Jaewan Kim return new MediaLibraryService2Impl(instance); 1665aec249a238ff2dcb9bb5bc0434b7a17fa96a035Jaewan Kim } 1675aec249a238ff2dcb9bb5bc0434b7a17fa96a035Jaewan Kim 1685aec249a238ff2dcb9bb5bc0434b7a17fa96a035Jaewan Kim @Override 169d0cff6b094c88bf857cfab80d733728f66ea212cChristofer Åkersten public BuilderBaseProvider<MediaLibrarySession, MediaLibrarySessionCallback> 17081c1b87234bdab435259acd355ba2df4730da3ceJaewan Kim createMediaLibraryService2Builder(MediaLibraryService2 service, 171f82f720c00cf35a8f0f9a6135551ee47855dd6a0Sungsoo Lim MediaLibrarySession.Builder instance, Executor callbackExecutor, 172f82f720c00cf35a8f0f9a6135551ee47855dd6a0Sungsoo Lim MediaLibrarySessionCallback callback) { 173f82f720c00cf35a8f0f9a6135551ee47855dd6a0Sungsoo Lim return new MediaLibraryService2Impl.BuilderImpl(service, instance, callbackExecutor, 174d0cff6b094c88bf857cfab80d733728f66ea212cChristofer Åkersten callback); 1752bb5626f2dda50ea42a2c686e4c280f72b34181bJaewan Kim } 1762bb5626f2dda50ea42a2c686e4c280f72b34181bJaewan Kim 1772bb5626f2dda50ea42a2c686e4c280f72b34181bJaewan Kim @Override 1780de7babb75683eba98af2db52101d262372235daChristofer Åkersten public LibraryRootProvider createMediaLibraryService2LibraryRoot( 179ddec9db69160943228ccb5b3d24917cd31ad7593Jaewan Kim LibraryRoot instance, String rootId, Bundle extras) { 1800de7babb75683eba98af2db52101d262372235daChristofer Åkersten return new LibraryRootImpl(instance, rootId, extras); 181ddec9db69160943228ccb5b3d24917cd31ad7593Jaewan Kim } 182ddec9db69160943228ccb5b3d24917cd31ad7593Jaewan Kim 183ddec9db69160943228ccb5b3d24917cd31ad7593Jaewan Kim @Override 1845135ac1345395dc5c2974f8e735dfb4eb2706d02Christofer Åkersten public MediaControlView2Provider createMediaControlView2(MediaControlView2 instance, 1855135ac1345395dc5c2974f8e735dfb4eb2706d02Christofer Åkersten ViewGroupProvider superProvider, ViewGroupProvider privateProvider, 1865135ac1345395dc5c2974f8e735dfb4eb2706d02Christofer Åkersten @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { 1875135ac1345395dc5c2974f8e735dfb4eb2706d02Christofer Åkersten return new MediaControlView2Impl(instance, superProvider, privateProvider); 188cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten } 189f58d11072313fa3322707113c9f97148177fcdefSungsoo Lim 190f58d11072313fa3322707113c9f97148177fcdefSungsoo Lim @Override 191080b934e6da4c1e09c91e236f5d0705edbd6cb0cInsun Kang public VideoView2Provider createVideoView2( 1925135ac1345395dc5c2974f8e735dfb4eb2706d02Christofer Åkersten VideoView2 instance, ViewGroupProvider superProvider, ViewGroupProvider privateProvider, 193080b934e6da4c1e09c91e236f5d0705edbd6cb0cInsun Kang @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { 1945135ac1345395dc5c2974f8e735dfb4eb2706d02Christofer Åkersten return new VideoView2Impl(instance, superProvider, privateProvider); 195f58d11072313fa3322707113c9f97148177fcdefSungsoo Lim } 196dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kim 197dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kim @Override 198dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kim public SessionToken2Provider createSessionToken2(Context context, SessionToken2 instance, 1995830d047eda8c4b9401214b590efbf1b9e8a1622Jaewan Kim String packageName, String serviceName, int uid) { 2005830d047eda8c4b9401214b590efbf1b9e8a1622Jaewan Kim return new SessionToken2Impl(context, instance, packageName, serviceName, uid); 201dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kim } 202dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kim 203dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kim @Override 2040de7babb75683eba98af2db52101d262372235daChristofer Åkersten public SessionToken2 fromBundle_SessionToken2(Bundle bundle) { 2050de7babb75683eba98af2db52101d262372235daChristofer Åkersten return SessionToken2Impl.fromBundle_impl(bundle); 206dd4397861fd98aefae95e6d6036a96f499eaf8b1Jaewan Kim } 2072bf325a54a6be66f5abb519b789167f7f13af401Jaewan Kim 2082bf325a54a6be66f5abb519b789167f7f13af401Jaewan Kim @Override 2090de7babb75683eba98af2db52101d262372235daChristofer Åkersten public MediaItem2Provider.BuilderProvider createMediaItem2Builder(MediaItem2.Builder instance, 2100de7babb75683eba98af2db52101d262372235daChristofer Åkersten int flags) { 2110de7babb75683eba98af2db52101d262372235daChristofer Åkersten return new MediaItem2Impl.BuilderImpl(instance, flags); 212bf38c7537bf132d7ec0247897f75fdf8455e5dc7Jaewan Kim } 213bf38c7537bf132d7ec0247897f75fdf8455e5dc7Jaewan Kim 214bf38c7537bf132d7ec0247897f75fdf8455e5dc7Jaewan Kim @Override 2150de7babb75683eba98af2db52101d262372235daChristofer Åkersten public MediaItem2 fromBundle_MediaItem2(Bundle bundle) { 2160de7babb75683eba98af2db52101d262372235daChristofer Åkersten return MediaItem2Impl.fromBundle_impl(bundle); 217bf38c7537bf132d7ec0247897f75fdf8455e5dc7Jaewan Kim } 2186b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim 2196b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim @Override 2200de7babb75683eba98af2db52101d262372235daChristofer Åkersten public VolumeProvider2Provider createVolumeProvider2(VolumeProvider2 instance, int controlType, 2210de7babb75683eba98af2db52101d262372235daChristofer Åkersten int maxVolume, int currentVolume) { 2220de7babb75683eba98af2db52101d262372235daChristofer Åkersten return new VolumeProvider2Impl(instance, controlType, maxVolume, currentVolume); 223a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6Hyundo Moon } 224a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6Hyundo Moon 225a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6Hyundo Moon @Override 2260de7babb75683eba98af2db52101d262372235daChristofer Åkersten public MediaMetadata2 fromBundle_MediaMetadata2(Bundle bundle) { 2270de7babb75683eba98af2db52101d262372235daChristofer Åkersten return MediaMetadata2Impl.fromBundle_impl(bundle); 2286b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim } 2296b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim 2306b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim @Override 2316b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim public MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder( 2320de7babb75683eba98af2db52101d262372235daChristofer Åkersten MediaMetadata2.Builder instance) { 2330de7babb75683eba98af2db52101d262372235daChristofer Åkersten return new MediaMetadata2Impl.BuilderImpl(instance); 2346b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim } 2356b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim 2366b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim @Override 2376b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim public MediaMetadata2Provider.BuilderProvider createMediaMetadata2Builder( 2380de7babb75683eba98af2db52101d262372235daChristofer Åkersten MediaMetadata2.Builder instance, MediaMetadata2 source) { 2390de7babb75683eba98af2db52101d262372235daChristofer Åkersten return new MediaMetadata2Impl.BuilderImpl(instance, source); 2406b360d144c21914851bf6bfe418e6c3463eecf8cJaewan Kim } 24124f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim 24224f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim @Override 2430de7babb75683eba98af2db52101d262372235daChristofer Åkersten public Rating2 fromBundle_Rating2(Bundle bundle) { 2440de7babb75683eba98af2db52101d262372235daChristofer Åkersten return Rating2Impl.fromBundle_impl(bundle); 24524f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim } 24624f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim 24724f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim @Override 2480de7babb75683eba98af2db52101d262372235daChristofer Åkersten public Rating2 newUnratedRating_Rating2(int ratingStyle) { 2490de7babb75683eba98af2db52101d262372235daChristofer Åkersten return Rating2Impl.newUnratedRating_impl(ratingStyle); 25024f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim } 25124f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim 25224f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim @Override 2530de7babb75683eba98af2db52101d262372235daChristofer Åkersten public Rating2 newHeartRating_Rating2(boolean hasHeart) { 2540de7babb75683eba98af2db52101d262372235daChristofer Åkersten return Rating2Impl.newHeartRating_impl(hasHeart); 25524f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim } 25624f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim 25724f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim @Override 2580de7babb75683eba98af2db52101d262372235daChristofer Åkersten public Rating2 newThumbRating_Rating2(boolean thumbIsUp) { 2590de7babb75683eba98af2db52101d262372235daChristofer Åkersten return Rating2Impl.newThumbRating_impl(thumbIsUp); 26024f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim } 26124f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim 26224f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim @Override 2630de7babb75683eba98af2db52101d262372235daChristofer Åkersten public Rating2 newStarRating_Rating2(int starRatingStyle, float starRating) { 2640de7babb75683eba98af2db52101d262372235daChristofer Åkersten return Rating2Impl.newStarRating_impl(starRatingStyle, starRating); 26524f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim } 26624f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim 26724f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim @Override 2680de7babb75683eba98af2db52101d262372235daChristofer Åkersten public Rating2 newPercentageRating_Rating2(float percent) { 2690de7babb75683eba98af2db52101d262372235daChristofer Åkersten return Rating2Impl.newPercentageRating_impl(percent); 27024f525c3c3e29ba2a9c6e12b75be757477112c47Jaewan Kim } 271f9248adb5af4b8b4c35a21d8abcbecb653d2c205Jaewan Kim 272f9248adb5af4b8b4c35a21d8abcbecb653d2c205Jaewan Kim @Override 2730de7babb75683eba98af2db52101d262372235daChristofer Åkersten public MediaPlaylistAgentProvider createMediaPlaylistAgent(MediaPlaylistAgent instance) { 2740de7babb75683eba98af2db52101d262372235daChristofer Åkersten return new MediaPlaylistAgentImpl(instance); 2755348b91dcfd87be1f9339f7765f778ad890fc8dcSungsoo Lim } 276cae43346c0191b55efa421f32fb594d55b005728Christofer Åkersten} 277