/* * Copyright (C) 2014 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.example.android.mediabrowserservice.utils; import android.os.Bundle; public class CarHelper { private static final String AUTO_APP_PACKAGE_NAME = "com.google.android.projection.gearhead"; // Use these extras to reserve space for the corresponding actions, even when they are disabled // in the playbackstate, so the custom actions don't reflow. private static final String SLOT_RESERVATION_SKIP_TO_NEXT = "com.google.android.gms.car.media.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_NEXT"; private static final String SLOT_RESERVATION_SKIP_TO_PREV = "com.google.android.gms.car.media.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_PREVIOUS"; private static final String SLOT_RESERVATION_QUEUE = "com.google.android.gms.car.media.ALWAYS_RESERVE_SPACE_FOR.ACTION_QUEUE"; public static boolean isValidCarPackage(String packageName) { return AUTO_APP_PACKAGE_NAME.equals(packageName); } public static void setSlotReservationFlags(Bundle extras, boolean reservePlayingQueueSlot, boolean reserveSkipToNextSlot, boolean reserveSkipToPrevSlot) { if (reservePlayingQueueSlot) { extras.putBoolean(SLOT_RESERVATION_QUEUE, true); } else { extras.remove(SLOT_RESERVATION_QUEUE); } if (reserveSkipToPrevSlot) { extras.putBoolean(SLOT_RESERVATION_SKIP_TO_PREV, true); } else { extras.remove(SLOT_RESERVATION_SKIP_TO_PREV); } if (reserveSkipToNextSlot) { extras.putBoolean(SLOT_RESERVATION_SKIP_TO_NEXT, true); } else { extras.remove(SLOT_RESERVATION_SKIP_TO_NEXT); } } }