| /* |
| * Copyright (C) 2014 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.android.fmradio; |
| |
| import android.os.Bundle; |
| |
| /** |
| * Activity connect FMRadio service should implements this interface to update |
| * ui or status |
| */ |
| public interface FmListener { |
| /** |
| * directly call back from service to activity |
| */ |
| // FM RDS station changed |
| int LISTEN_RDSSTATION_CHANGED = 0x00100010; |
| |
| // FM PS information changed |
| int LISTEN_PS_CHANGED = 0x00100011; |
| |
| // FM RT information changed |
| int LISTEN_RT_CHANGED = 0x00100100; |
| |
| // FM Record state changed |
| int LISTEN_RECORDSTATE_CHANGED = 0x00100101; // 1048833 |
| |
| // FM record error occur |
| int LISTEN_RECORDERROR = 0x00100110; // 1048848 |
| |
| // FM record mode change |
| int LISTEN_RECORDMODE_CHANGED = 0x00100111; // 4018849 |
| |
| // FM Record state changed |
| int LISTEN_SPEAKER_MODE_CHANGED = 0x00101000; // 1052672 |
| |
| // Bundle keys |
| String SWITCH_ANTENNA_VALUE = "switch_antenna_value"; |
| String CALLBACK_FLAG = "callback_flag"; |
| String KEY_IS_SWITCH_ANTENNA = "key_is_switch_antenna"; |
| String KEY_IS_TUNE = "key_is_tune"; |
| String KEY_TUNE_TO_STATION = "key_tune_to_station"; |
| String KEY_IS_SEEK = "key_is_seek"; |
| String KEY_SEEK_TO_STATION = "key_seek_to_station"; |
| String KEY_IS_SCAN = "key_is_scan"; |
| String KEY_RDS_STATION = "key_rds_station"; |
| String KEY_PS_INFO = "key_ps_info"; |
| String KEY_RT_INFO = "key_rt_info"; |
| String KEY_STATION_NUM = "key_station_num"; |
| |
| // Audio focus related |
| String KEY_AUDIOFOCUS_CHANGED = "key_audiofocus_changed"; |
| |
| // Recording |
| String KEY_RECORDING_STATE = "key_is_recording_state"; |
| String KEY_RECORDING_ERROR_TYPE = "key_recording_error_type"; |
| String KEY_IS_RECORDING_MODE = "key_is_recording_mode"; |
| |
| // For change speaker/earphone mode |
| String KEY_IS_SPEAKER_MODE = "key_is_speaker_mode"; |
| |
| /** |
| * handle message: call back from service to activity |
| */ |
| // Message to handle |
| int MSGID_UPDATE_RDS = 1; |
| int MSGID_UPDATE_CURRENT_STATION = 2; |
| int MSGID_ANTENNA_UNAVAILABE = 3; |
| int MSGID_SWITCH_ANTENNA = 4; |
| int MSGID_SET_RDS_FINISHED = 5; |
| int MSGID_SET_CHANNEL_FINISHED = 6; |
| int MSGID_SET_MUTE_FINISHED = 7; |
| // Fm main |
| int MSGID_POWERUP_FINISHED = 9; |
| int MSGID_POWERDOWN_FINISHED = 10; |
| int MSGID_FM_EXIT = 11; |
| int MSGID_SCAN_CANCELED = 12; |
| int MSGID_SCAN_FINISHED = 13; |
| int MSGID_AUDIOFOCUS_FAILED = 14; |
| int MSGID_TUNE_FINISHED = 15; |
| int MSGID_SEEK_FINISHED = 16; |
| int MSGID_ACTIVE_AF_FINISHED = 18; |
| // Recording |
| int MSGID_RECORD_STATE_CHANGED = 19; |
| int MSGID_RECORD_ERROR = 20; |
| int MSGID_RECORD_MODE_CHANED = 21; |
| int MSGID_STARTRECORDING_FINISHED = 22; |
| int MSGID_STOPRECORDING_FINISHED = 23; |
| int MSGID_STARTPLAYBACK_FINISHED = 24; |
| int MSGID_STOPPLAYBACK_FINISHED = 25; |
| int MSGID_SAVERECORDING_FINISHED = 26; |
| // Audio focus related |
| int MSGID_AUDIOFOCUS_CHANGED = 30; |
| |
| int NOT_AUDIO_FOCUS = 33; |
| |
| // For refresh time |
| int MSGID_REFRESH = 101; |
| |
| /** |
| * Call back method to activity from service |
| */ |
| void onCallBack(Bundle bundle); |
| } |