1a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang/* 2a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * Copyright (C) 2014 The Android Open Source Project 3a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * 4a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * Licensed under the Apache License, Version 2.0 (the "License"); 5a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * you may not use this file except in compliance with the License. 6a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * You may obtain a copy of the License at 7a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * 8a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * http://www.apache.org/licenses/LICENSE-2.0 9a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * 10a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * Unless required by applicable law or agreed to in writing, software 11a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * distributed under the License is distributed on an "AS IS" BASIS, 12a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * See the License for the specific language governing permissions and 14a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * limitations under the License. 15a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang */ 16a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 17a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huangpackage com.android.fmradio; 18a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 19a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huangimport android.os.Bundle; 20a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 21a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang/** 22a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * Activity connect FMRadio service should implements this interface to update 23a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * ui or status 24a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang */ 25a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huangpublic interface FmListener { 26a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang /** 27a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * directly call back from service to activity 28a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang */ 29a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // FM RDS station changed 30a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int LISTEN_RDSSTATION_CHANGED = 0x00100010; 31a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 32a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // FM PS information changed 33a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int LISTEN_PS_CHANGED = 0x00100011; 34a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 35a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // FM RT information changed 36a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int LISTEN_RT_CHANGED = 0x00100100; 37a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 38a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // FM Record state changed 39a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int LISTEN_RECORDSTATE_CHANGED = 0x00100101; // 1048833 40a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 41a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // FM record error occur 42a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int LISTEN_RECORDERROR = 0x00100110; // 1048848 43a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 44a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // FM record mode change 45a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int LISTEN_RECORDMODE_CHANGED = 0x00100111; // 4018849 46a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 47a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // FM Record state changed 48a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int LISTEN_SPEAKER_MODE_CHANGED = 0x00101000; // 1052672 49a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 50a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // Bundle keys 516e47fefd026fe63b8d23dea69034e7f5e4c18f5cBenson Huang String SWITCH_ANTENNA_VALUE = "switch_antenna_value"; 52a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String CALLBACK_FLAG = "callback_flag"; 536e47fefd026fe63b8d23dea69034e7f5e4c18f5cBenson Huang String KEY_IS_SWITCH_ANTENNA = "key_is_switch_antenna"; 54a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_IS_TUNE = "key_is_tune"; 55a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_TUNE_TO_STATION = "key_tune_to_station"; 56a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_IS_SEEK = "key_is_seek"; 57a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_SEEK_TO_STATION = "key_seek_to_station"; 58a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_IS_SCAN = "key_is_scan"; 59a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_RDS_STATION = "key_rds_station"; 60a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_PS_INFO = "key_ps_info"; 61a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_RT_INFO = "key_rt_info"; 62a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_STATION_NUM = "key_station_num"; 63a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 64a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // Audio focus related 65a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_AUDIOFOCUS_CHANGED = "key_audiofocus_changed"; 66a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 67a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // Recording 68a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_RECORDING_STATE = "key_is_recording_state"; 69a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_RECORDING_ERROR_TYPE = "key_recording_error_type"; 70a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_IS_RECORDING_MODE = "key_is_recording_mode"; 71a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 72a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // For change speaker/earphone mode 73a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang String KEY_IS_SPEAKER_MODE = "key_is_speaker_mode"; 74a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 75a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang /** 76a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * handle message: call back from service to activity 77a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang */ 78a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // Message to handle 79a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_UPDATE_RDS = 1; 80a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_UPDATE_CURRENT_STATION = 2; 81a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_ANTENNA_UNAVAILABE = 3; 826e47fefd026fe63b8d23dea69034e7f5e4c18f5cBenson Huang int MSGID_SWITCH_ANTENNA = 4; 83a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_SET_RDS_FINISHED = 5; 84a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_SET_CHANNEL_FINISHED = 6; 85a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_SET_MUTE_FINISHED = 7; 86a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // Fm main 87a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_POWERUP_FINISHED = 9; 88a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_POWERDOWN_FINISHED = 10; 89a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_FM_EXIT = 11; 90a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_SCAN_CANCELED = 12; 91a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_SCAN_FINISHED = 13; 92a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_AUDIOFOCUS_FAILED = 14; 93a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_TUNE_FINISHED = 15; 94a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_SEEK_FINISHED = 16; 95a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_ACTIVE_AF_FINISHED = 18; 96a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // Recording 97a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_RECORD_STATE_CHANGED = 19; 98a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_RECORD_ERROR = 20; 99a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_RECORD_MODE_CHANED = 21; 100a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_STARTRECORDING_FINISHED = 22; 101a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_STOPRECORDING_FINISHED = 23; 102a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_STARTPLAYBACK_FINISHED = 24; 103a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_STOPPLAYBACK_FINISHED = 25; 104a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_SAVERECORDING_FINISHED = 26; 105a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // Audio focus related 106a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_AUDIOFOCUS_CHANGED = 30; 107a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 108a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int NOT_AUDIO_FOCUS = 33; 109a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 110a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang // For refresh time 111a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang int MSGID_REFRESH = 101; 112a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang 113a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang /** 114a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang * Call back method to activity from service 115a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang */ 116a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang void onCallBack(Bundle bundle); 117a8b6afca0e187c008ba8fdeb670d5f2c13116bedBenson Huang} 118