blob: 81305075e59d236375c3248361010128d05e33f5 [file] [log] [blame]
/*
* Copyright (C) 2015 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 android.car;
import android.car.settings.CarSettings;
/**
* Internal helper utilities
* @hide
*/
public final class CarApiUtil {
/**
* CarService throws IllegalStateException with this message is re-thrown as
* {@link CarNotConnectedException}.
*
* @hide
*/
public static final String CAR_NOT_CONNECTED_EXCEPTION_MSG = "CarNotConnected";
/**
* Re-throw IllegalStateException from CarService with
* {@link #CAR_NOT_CONNECTED_EXCEPTION_MSG} message as {@link CarNotConnectedException}.
* exception.
*
* @param e exception from CarService
* @throws CarNotConnectedException if the connection to the car service has been lost.
* @hide
*/
public static void checkCarNotConnectedExceptionFromCarService(IllegalStateException e)
throws CarNotConnectedException {
if (e.getMessage().equals(CAR_NOT_CONNECTED_EXCEPTION_MSG)) {
throw new CarNotConnectedException();
} else {
throw e;
}
}
/** do not use */
private CarApiUtil() {};
/**
* Return an integer array of {hour, minute} from the String presentation of the garage mode
* time.
*
* @hide
*/
public static int[] decodeGarageTimeSetting(String time) {
int[] result = CarSettings.DEFAULT_GARAGE_MODE_WAKE_UP_TIME;
if (time == null) {
return result;
}
String[] tokens = time.split(":");
if (tokens.length != 2) {
return result;
}
try {
result[0] = Integer.valueOf(tokens[0]);
result[1] = Integer.valueOf(tokens[1]);
} catch (NumberFormatException e) {
return CarSettings.DEFAULT_GARAGE_MODE_WAKE_UP_TIME;
}
if (result[0] >= 0 && result[0] <= 23 && result[1] >= 0 && result[1] <= 59) {
return result;
} else {
return CarSettings.DEFAULT_GARAGE_MODE_WAKE_UP_TIME;
}
}
/**
* Return a String presentation of the garage mode "hour:minute".
*
* @hide
*/
public static String encodeGarageTimeSetting(int hour, int min) {
return hour + ":" + min;
}
}