1182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski/*
2182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * Copyright (C) 2013 The Android Open Source Project
3182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski *
4182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * Licensed under the Apache License, Version 2.0 (the "License");
5182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * you may not use this file except in compliance with the License.
6182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * You may obtain a copy of the License at
7182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski *
8182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski *      http://www.apache.org/licenses/LICENSE-2.0
9182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski *
10182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * Unless required by applicable law or agreed to in writing, software
11182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * distributed under the License is distributed on an "AS IS" BASIS,
12182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * See the License for the specific language governing permissions and
14182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski * limitations under the License.
15182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski */
16182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski
17182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinskipackage com.android.server.lights;
18182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski
19182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinskipublic abstract class Light {
20182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public static final int LIGHT_FLASH_NONE = 0;
21182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public static final int LIGHT_FLASH_TIMED = 1;
22182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public static final int LIGHT_FLASH_HARDWARE = 2;
23182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski
24182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    /**
25182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski     * Light brightness is managed by a user setting.
26182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski     */
27182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public static final int BRIGHTNESS_MODE_USER = 0;
28182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski
29182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    /**
30182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski     * Light brightness is managed by a light sensor.
31182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski     */
32182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public static final int BRIGHTNESS_MODE_SENSOR = 1;
33182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski
34182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public abstract void setBrightness(int brightness);
35182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public abstract void setBrightness(int brightness, int brightnessMode);
36182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public abstract void setColor(int color);
37182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public abstract void setFlashing(int color, int mode, int onMS, int offMS);
38182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public abstract void pulse();
39182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public abstract void pulse(int color, int onMS);
40182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski    public abstract void turnOff();
41182f73fc4da13a6417e5086ec9ecce80eb8423caAdam Lesinski}