1 /*
2  * Copyright (C) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.support.v4.media.session;
18 
19 import android.media.session.PlaybackState;
20 import android.os.Bundle;
21 import android.support.annotation.RequiresApi;
22 
23 import java.util.List;
24 
25 @RequiresApi(22)
26 class PlaybackStateCompatApi22 {
getExtras(Object stateObj)27     public static Bundle getExtras(Object stateObj) {
28         return ((PlaybackState)stateObj).getExtras();
29     }
30 
newInstance(int state, long position, long bufferedPosition, float speed, long actions, CharSequence errorMessage, long updateTime, List<Object> customActions, long activeItemId, Bundle extras)31     public static Object newInstance(int state, long position, long bufferedPosition,
32             float speed, long actions, CharSequence errorMessage, long updateTime,
33             List<Object> customActions,
34             long activeItemId, Bundle extras) {
35         PlaybackState.Builder stateObj = new PlaybackState.Builder();
36         stateObj.setState(state, position, speed, updateTime);
37         stateObj.setBufferedPosition(bufferedPosition);
38         stateObj.setActions(actions);
39         stateObj.setErrorMessage(errorMessage);
40         for (Object customAction : customActions) {
41             stateObj.addCustomAction((PlaybackState.CustomAction) customAction);
42         }
43         stateObj.setActiveQueueItemId(activeItemId);
44         stateObj.setExtras(extras);
45         return stateObj.build();
46     }
47 }
48