Home | History | Annotate | Download | only in policy
      1 /*
      2  * Copyright (C) 2016 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
      5  * except in compliance with the License. You may obtain a copy of the License at
      6  *
      7  *      http://www.apache.org/licenses/LICENSE-2.0
      8  *
      9  * Unless required by applicable law or agreed to in writing, software distributed under the
     10  * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     11  * KIND, either express or implied. See the License for the specific language governing
     12  * permissions and limitations under the License.
     13  */
     14 
     15 package com.android.systemui.statusbar.policy;
     16 
     17 import com.android.systemui.Dumpable;
     18 import com.android.systemui.statusbar.policy.FlashlightController.FlashlightListener;
     19 
     20 public interface FlashlightController extends CallbackController<FlashlightListener>, Dumpable {
     21 
     22     boolean hasFlashlight();
     23     void setFlashlight(boolean newState);
     24     boolean isAvailable();
     25     boolean isEnabled();
     26 
     27     public interface FlashlightListener {
     28 
     29         /**
     30          * Called when the flashlight was turned off or on.
     31          * @param enabled true if the flashlight is currently turned on.
     32          */
     33         void onFlashlightChanged(boolean enabled);
     34 
     35 
     36         /**
     37          * Called when there is an error that turns the flashlight off.
     38          */
     39         void onFlashlightError();
     40 
     41         /**
     42          * Called when there is a change in availability of the flashlight functionality
     43          * @param available true if the flashlight is currently available.
     44          */
     45         void onFlashlightAvailabilityChanged(boolean available);
     46     }
     47 }
     48