18fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner/*
28fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * Copyright (C) 2016 The Android Open Source Project
38fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner *
48fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * Licensed under the Apache License, Version 2.0 (the "License");
58fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * you may not use this file except in compliance with the License.
68fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * You may obtain a copy of the License at
78fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner *
88fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner *      http://www.apache.org/licenses/LICENSE-2.0
98fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner *
108fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * Unless required by applicable law or agreed to in writing, software
118fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * distributed under the License is distributed on an "AS IS" BASIS,
128fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * See the License for the specific language governing permissions and
148fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner * limitations under the License.
158fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner */
168fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner
178fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donnerpackage android.hardware.vr@1.0;
188fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner
198fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donnerinterface IVr {
208fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  /**
218fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   * Convenience method to set up any state needed at runtime startup.  This is
228fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   * called once from the VrManagerService during its boot phase.
238fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   */
248fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  @callflow(next={"*"})
258fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  @entry
268fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  @exit
278fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  init();
288fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner
298fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  /**
308fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   * Set the VR mode state.  Possible states of the enabled parameter are:
318fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   * false - VR mode is disabled, turn off all VR-specific settings.
328fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   * true - VR mode is enabled, turn on all VR-specific settings.
338fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   *
348fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   * This must be called whenever the the Android system enters or leaves VR
358fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   * mode. This will typically occur when the user switches to or from a VR
368fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   * application that is doing stereoscopic rendering.
378fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner   */
388fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  @callflow(next={"*"})
398fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  @exit
408fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner  setVrMode(bool enabled);
418fd4c6141a640798f4f9ac9b96395727cc681fdeCraig Donner};
42