1bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix/* 2bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * Copyright (C) 2017 The Android Open Source Project 3bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * 4bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * Licensed under the Apache License, Version 2.0 (the "License"); 5bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * you may not use this file except in compliance with the License. 6bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * You may obtain a copy of the License at 7bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * 8bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * http://www.apache.org/licenses/LICENSE-2.0 9bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * 10bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * Unless required by applicable law or agreed to in writing, software 11bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * distributed under the License is distributed on an "AS IS" BASIS, 12bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * See the License for the specific language governing permissions and 14bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * limitations under the License. 15bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix */ 16bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix 17bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenixpackage android.hardware.sidekick; 18bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix 19bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix 20bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix/** 21bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * Sidekick local system service interface. 22bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * 23bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * @hide Only for use within the system server, and maybe by Clockwork Home. 24bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix */ 25bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenixpublic abstract class SidekickInternal { 26bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix 27bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix /** 28bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * Tell Sidekick to reset back to newly-powered-on state. 29bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * 30bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * @return true on success (Sidekick is reset), false if Sidekick is not 31bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * available (failed or not present). Either way, upon return Sidekick is 32bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * guaranteed not to be controlling the display. 33bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix */ 34bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix public abstract boolean reset(); 35bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix 36bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix /** 37bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * Tell Sidekick it can start controlling the display. 38bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * 39bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * SidekickServer may choose not to actually control the display, if it's been told 40bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * via other channels to leave the previous image on the display (same as SUSPEND in 41bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * a non-Sidekick system). 42bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * 43bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * @param displayState - one of Display.STATE_DOZE_SUSPEND, Display.STATE_ON_SUSPEND 44bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * @return true on success, false on failure (no sidekick available) 45bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix */ 46bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix public abstract boolean startDisplayControl(int displayState); 47bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix 48bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix /** 49bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * Tell Sidekick it must stop controlling the display. 50bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * 51bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * No return code because this must always succeed - after return, Sidekick 52bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix * is guaranteed to not be controlling the display. 53bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix */ 54bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix public abstract void endDisplayControl(); 55bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix 56bc839a3957bae1beeba16a345b5e6770ea2b7dccChris Phoenix} 57