13cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal/*
23cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * Copyright (C) 2015 The Android Open Source Project
33cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal *
43cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * Licensed under the Apache License, Version 2.0 (the "License");
53cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * you may not use this file except in compliance with the License.
63cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * You may obtain a copy of the License at
73cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal *
83cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal *      http://www.apache.org/licenses/LICENSE-2.0
93cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal *
103cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * Unless required by applicable law or agreed to in writing, software
113cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * distributed under the License is distributed on an "AS IS" BASIS,
123cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * See the License for the specific language governing permissions and
143cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal * limitations under the License.
153cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal */
163cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal
17e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Parkpackage android.car.hardware.radio;
183cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal
19e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Parkimport android.car.hardware.radio.CarRadioPreset;
20e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Parkimport android.car.hardware.radio.ICarRadioEventListener;
213cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal
22e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Park/** @hide */
233cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwalinterface ICarRadio {
243cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal    /**
253cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     * Returns the number of hard presets on the radio unit that may be programmed.
263cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     */
27e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Park    int getPresetCount() = 0;
283cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal
293cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal    /**
303cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     * Registers the client for updates to radio changes.
313cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     */
32d72b53500006e84b0c69e650878267c693c164a3Jason Tholstrup    void registerListener(in ICarRadioEventListener callback) = 1;
333cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal
343cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal    /**
353cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     * Unregisters the client for updates to radio changes.
363cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     */
37d72b53500006e84b0c69e650878267c693c164a3Jason Tholstrup    void unregisterListener(in ICarRadioEventListener callback) = 2;
383cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal
393cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal    /**
403cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     * Gets the preset values stored for a particular preset number.
413cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     */
42e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Park    CarRadioPreset getPreset(int presetNumber) = 3;
433cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal
443cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal    /**
453cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     * Sets a specified preset (hard button) in the car. In order to check for success listen to
463cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     * events using {@link registerOrUpdateRadioListener}.
473cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal     */
48e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Park    boolean setPreset(in CarRadioPreset preset) = 4;
493cf096ae0d992d22cfba1b0711af2211c511a9feSanket Agarwal}
50