├── README ├── res ├── drawable-hdpi │ ├── icon.png │ ├── ic_stereo.png │ ├── favorite_bg.png │ ├── favorite_line.png │ ├── ic_btn_preset.png │ ├── ic_btn_search.png │ ├── ic_signal_2.png │ ├── transparent.9.png │ ├── tuner_view_0.png │ ├── tuner_view_1.png │ ├── tuner_view_2.png │ ├── tuner_view_3.png │ ├── tuner_view_4.png │ ├── tuner_view_5.png │ ├── tuner_view_6.png │ ├── button_power_on.png │ ├── freq_indicator.png │ ├── ic_btn_forward.png │ ├── ic_menu_record.png │ ├── ic_silent_mode.png │ ├── ic_status_fm_tx.png │ ├── stat_notify_fm.png │ ├── station_freq_bg.png │ ├── alert_dialog_icon.png │ ├── button_power_off.png │ ├── fmradio_background.jpg │ ├── ic_btn_search_stop.png │ ├── ic_launcher_fm_tx.png │ ├── ic_silent_mode_off.png │ ├── album_border_large.1.png │ ├── btn_arrow_left_press.png │ ├── ic_launcher_fmradio.png │ ├── btn_arrow_left_default.png │ ├── btn_arrow_left_selected.png │ ├── btn_arrow_right_default.png │ ├── btn_arrow_right_press.png │ ├── button_loudspeaker_off.png │ ├── button_loudspeaker_on.png │ ├── favorite_button_pressed.png │ ├── btn_arrow_right_selected.png │ └── image_border_bg_normal.9.png ├── drawable-mdpi │ ├── icon.png │ ├── ic_stereo.png │ ├── favorite_bg.png │ ├── favorite_line.png │ ├── ic_btn_preset.png │ ├── ic_btn_search.png │ ├── ic_signal_2.png │ ├── transparent.9.png │ ├── tuner_view_0.png │ ├── tuner_view_1.png │ ├── tuner_view_2.png │ ├── tuner_view_3.png │ ├── tuner_view_4.png │ ├── tuner_view_5.png │ ├── tuner_view_6.png │ ├── button_power_on.png │ ├── freq_indicator.png │ ├── ic_btn_forward.png │ ├── ic_menu_record.png │ ├── ic_silent_mode.png │ ├── ic_status_fm_tx.png │ ├── stat_notify_fm.png │ ├── station_freq_bg.png │ ├── alert_dialog_icon.png │ ├── button_power_off.png │ ├── fmradio_background.jpg │ ├── ic_btn_search_stop.png │ ├── ic_launcher_fm_tx.png │ ├── ic_silent_mode_off.png │ ├── album_border_large.1.png │ ├── btn_arrow_left_press.png │ ├── ic_launcher_fmradio.png │ ├── btn_arrow_left_default.png │ ├── btn_arrow_left_selected.png │ ├── btn_arrow_right_default.png │ ├── btn_arrow_right_press.png │ ├── button_loudspeaker_off.png │ ├── button_loudspeaker_on.png │ ├── favorite_button_pressed.png │ ├── btn_arrow_right_selected.png │ └── image_border_bg_normal.9.png ├── drawable │ ├── favorite_button_bg.xml │ ├── freq_indicator_seek.xml │ ├── station_border.xml │ ├── btn_arrow_left.xml │ └── btn_arrow_right.xml ├── layout │ ├── frequency_picker_dialog.xml │ ├── frequency_picker.xml │ ├── statusbar.xml │ ├── alert_dialog_list.xml │ ├── alert_dialog_text_entry.xml │ └── fmradio.xml ├── values-zh-rCN │ ├── arrays.xml │ └── strings.xml ├── values-zh-rTW │ ├── arrays.xml │ └── strings.xml ├── values │ ├── styles.xml │ ├── strings.xml │ └── arrays.xml ├── values-ja │ ├── strings.xml │ └── arrays.xml ├── values-de │ ├── strings.xml │ └── arrays.xml ├── values-ru │ ├── strings.xml │ └── arrays.xml ├── values-it │ ├── strings.xml │ └── arrays.xml └── values-fr │ ├── strings.xml │ └── arrays.xml ├── Android.mk ├── src └── com │ └── android │ └── fm │ ├── radio │ ├── IFMRadioServiceCallbacks.aidl │ ├── IFMRadioService.aidl │ ├── FreqIndicator.java │ ├── FMMediaButtonIntentReceiver.java │ ├── TunerView.java │ ├── PresetList.java │ ├── Settings.java │ └── PresetStation.java │ └── utils │ ├── FrequencyPickerDialog.java │ └── FrequencyPicker.java └── AndroidManifest.xml /README: -------------------------------------------------------------------------------- 1 | FM Radio app from MIUI (www.miui.com). 2 | 3 | -------------------------------------------------------------------------------- /res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_stereo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_stereo.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_stereo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_stereo.png -------------------------------------------------------------------------------- /res/drawable-hdpi/favorite_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/favorite_bg.png -------------------------------------------------------------------------------- /res/drawable-hdpi/favorite_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/favorite_line.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_btn_preset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_btn_preset.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_btn_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_btn_search.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_signal_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_signal_2.png -------------------------------------------------------------------------------- /res/drawable-hdpi/transparent.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/transparent.9.png -------------------------------------------------------------------------------- /res/drawable-hdpi/tuner_view_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/tuner_view_0.png -------------------------------------------------------------------------------- /res/drawable-hdpi/tuner_view_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/tuner_view_1.png -------------------------------------------------------------------------------- /res/drawable-hdpi/tuner_view_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/tuner_view_2.png -------------------------------------------------------------------------------- /res/drawable-hdpi/tuner_view_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/tuner_view_3.png -------------------------------------------------------------------------------- /res/drawable-hdpi/tuner_view_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/tuner_view_4.png -------------------------------------------------------------------------------- /res/drawable-hdpi/tuner_view_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/tuner_view_5.png -------------------------------------------------------------------------------- /res/drawable-hdpi/tuner_view_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/tuner_view_6.png -------------------------------------------------------------------------------- /res/drawable-mdpi/favorite_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/favorite_bg.png -------------------------------------------------------------------------------- /res/drawable-mdpi/favorite_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/favorite_line.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_btn_preset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_btn_preset.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_btn_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_btn_search.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_signal_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_signal_2.png -------------------------------------------------------------------------------- /res/drawable-mdpi/transparent.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/transparent.9.png -------------------------------------------------------------------------------- /res/drawable-mdpi/tuner_view_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/tuner_view_0.png -------------------------------------------------------------------------------- /res/drawable-mdpi/tuner_view_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/tuner_view_1.png -------------------------------------------------------------------------------- /res/drawable-mdpi/tuner_view_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/tuner_view_2.png -------------------------------------------------------------------------------- /res/drawable-mdpi/tuner_view_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/tuner_view_3.png -------------------------------------------------------------------------------- /res/drawable-mdpi/tuner_view_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/tuner_view_4.png -------------------------------------------------------------------------------- /res/drawable-mdpi/tuner_view_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/tuner_view_5.png -------------------------------------------------------------------------------- /res/drawable-mdpi/tuner_view_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/tuner_view_6.png -------------------------------------------------------------------------------- /res/drawable-hdpi/button_power_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/button_power_on.png -------------------------------------------------------------------------------- /res/drawable-hdpi/freq_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/freq_indicator.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_btn_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_btn_forward.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_menu_record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_menu_record.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_silent_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_silent_mode.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_status_fm_tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_status_fm_tx.png -------------------------------------------------------------------------------- /res/drawable-hdpi/stat_notify_fm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/stat_notify_fm.png -------------------------------------------------------------------------------- /res/drawable-hdpi/station_freq_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/station_freq_bg.png -------------------------------------------------------------------------------- /res/drawable-mdpi/button_power_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/button_power_on.png -------------------------------------------------------------------------------- /res/drawable-mdpi/freq_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/freq_indicator.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_btn_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_btn_forward.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_menu_record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_menu_record.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_silent_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_silent_mode.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_status_fm_tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_status_fm_tx.png -------------------------------------------------------------------------------- /res/drawable-mdpi/stat_notify_fm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/stat_notify_fm.png -------------------------------------------------------------------------------- /res/drawable-mdpi/station_freq_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/station_freq_bg.png -------------------------------------------------------------------------------- /res/drawable-hdpi/alert_dialog_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/alert_dialog_icon.png -------------------------------------------------------------------------------- /res/drawable-hdpi/button_power_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/button_power_off.png -------------------------------------------------------------------------------- /res/drawable-hdpi/fmradio_background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/fmradio_background.jpg -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_btn_search_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_btn_search_stop.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_launcher_fm_tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_launcher_fm_tx.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_silent_mode_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_silent_mode_off.png -------------------------------------------------------------------------------- /res/drawable-mdpi/alert_dialog_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/alert_dialog_icon.png -------------------------------------------------------------------------------- /res/drawable-mdpi/button_power_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/button_power_off.png -------------------------------------------------------------------------------- /res/drawable-mdpi/fmradio_background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/fmradio_background.jpg -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_btn_search_stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_btn_search_stop.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_launcher_fm_tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_launcher_fm_tx.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_silent_mode_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_silent_mode_off.png -------------------------------------------------------------------------------- /res/drawable-hdpi/album_border_large.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/album_border_large.1.png -------------------------------------------------------------------------------- /res/drawable-hdpi/btn_arrow_left_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/btn_arrow_left_press.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_launcher_fmradio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/ic_launcher_fmradio.png -------------------------------------------------------------------------------- /res/drawable-mdpi/album_border_large.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/album_border_large.1.png -------------------------------------------------------------------------------- /res/drawable-mdpi/btn_arrow_left_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/btn_arrow_left_press.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_launcher_fmradio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/ic_launcher_fmradio.png -------------------------------------------------------------------------------- /res/drawable-hdpi/btn_arrow_left_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/btn_arrow_left_default.png -------------------------------------------------------------------------------- /res/drawable-hdpi/btn_arrow_left_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/btn_arrow_left_selected.png -------------------------------------------------------------------------------- /res/drawable-hdpi/btn_arrow_right_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/btn_arrow_right_default.png -------------------------------------------------------------------------------- /res/drawable-hdpi/btn_arrow_right_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/btn_arrow_right_press.png -------------------------------------------------------------------------------- /res/drawable-hdpi/button_loudspeaker_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/button_loudspeaker_off.png -------------------------------------------------------------------------------- /res/drawable-hdpi/button_loudspeaker_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/button_loudspeaker_on.png -------------------------------------------------------------------------------- /res/drawable-hdpi/favorite_button_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/favorite_button_pressed.png -------------------------------------------------------------------------------- /res/drawable-mdpi/btn_arrow_left_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/btn_arrow_left_default.png -------------------------------------------------------------------------------- /res/drawable-mdpi/btn_arrow_left_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/btn_arrow_left_selected.png -------------------------------------------------------------------------------- /res/drawable-mdpi/btn_arrow_right_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/btn_arrow_right_default.png -------------------------------------------------------------------------------- /res/drawable-mdpi/btn_arrow_right_press.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/btn_arrow_right_press.png -------------------------------------------------------------------------------- /res/drawable-mdpi/button_loudspeaker_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/button_loudspeaker_off.png -------------------------------------------------------------------------------- /res/drawable-mdpi/button_loudspeaker_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/button_loudspeaker_on.png -------------------------------------------------------------------------------- /res/drawable-mdpi/favorite_button_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/favorite_button_pressed.png -------------------------------------------------------------------------------- /res/drawable-hdpi/btn_arrow_right_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/btn_arrow_right_selected.png -------------------------------------------------------------------------------- /res/drawable-hdpi/image_border_bg_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-hdpi/image_border_bg_normal.9.png -------------------------------------------------------------------------------- /res/drawable-mdpi/btn_arrow_right_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/btn_arrow_right_selected.png -------------------------------------------------------------------------------- /res/drawable-mdpi/image_border_bg_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/redux/android_packages_apps_FM/gingerbread/res/drawable-mdpi/image_border_bg_normal.9.png -------------------------------------------------------------------------------- /res/drawable/favorite_button_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(call my-dir) 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_MODULE_TAGS := optional 5 | 6 | LOCAL_SRC_FILES := $(call all-subdir-java-files) \ 7 | src/com/android/fm/radio/IFMRadioServiceCallbacks.aidl \ 8 | src/com/android/fm/radio/IFMRadioService.aidl \ 9 | 10 | LOCAL_PACKAGE_NAME := FM 11 | LOCAL_CERTIFICATE := platform 12 | 13 | include $(BUILD_PACKAGE) 14 | -------------------------------------------------------------------------------- /res/layout/frequency_picker_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | -------------------------------------------------------------------------------- /res/values-zh-rCN/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 立体声 7 | 单声道 8 | 9 | 10 | 11 | 5分钟 12 | 15分钟 13 | 30分钟 14 | 直到停止 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /res/values-zh-rTW/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 立体声 7 | 单声道 8 | 9 | 10 | 11 | 5分钟 12 | 15分钟 13 | 30分钟 14 | 直到停止 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/com/android/fm/radio/IFMRadioServiceCallbacks.aidl: -------------------------------------------------------------------------------- 1 | package com.android.fm.radio; 2 | 3 | interface IFMRadioServiceCallbacks 4 | { 5 | void onEnabled(); 6 | void onDisabled(); 7 | 8 | void onTuneStatusChanged(); 9 | void onProgramServiceChanged(); 10 | void onRadioTextChanged(); 11 | void onAlternateFrequencyChanged(); 12 | void onSignalStrengthChanged(); 13 | void onSearchComplete(); 14 | void onSearchListComplete(); 15 | void onMute(boolean bMuted); 16 | void onAudioUpdate(boolean bStereo); 17 | void onStationRDSSupported(boolean bRDSSupported); 18 | } 19 | -------------------------------------------------------------------------------- /src/com/android/fm/radio/IFMRadioService.aidl: -------------------------------------------------------------------------------- 1 | package com.android.fm.radio; 2 | 3 | import com.android.fm.radio.IFMRadioServiceCallbacks; 4 | 5 | interface IFMRadioService 6 | { 7 | boolean fmOn(); 8 | boolean fmOff(); 9 | boolean isFmOn(); 10 | boolean fmReconfigure(); 11 | void registerCallbacks(IFMRadioServiceCallbacks cb); 12 | void unregisterCallbacks(); 13 | boolean mute(); 14 | boolean routeAudio(int device); 15 | boolean unMute(); 16 | boolean isMuted(); 17 | boolean tune(int frequency); 18 | boolean seek(boolean up); 19 | boolean scan(int pty); 20 | boolean seekPI(int piCode); 21 | boolean searchStrongStationList(int numStations); 22 | int[] getSearchList(); 23 | boolean cancelSearch(); 24 | String getProgramService(); 25 | String getRadioText(); 26 | int getProgramType(); 27 | int getProgramID(); 28 | boolean setLowPowerMode(boolean bLowPower); 29 | int getPowerMode(); 30 | boolean enableAutoAF(boolean bEnable); 31 | boolean enableStereo(boolean bEnable); 32 | boolean isAntennaAvailable(); 33 | boolean isWiredHeadsetAvailable(); 34 | } 35 | 36 | -------------------------------------------------------------------------------- /res/drawable/freq_indicator_seek.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/com/android/fm/radio/FreqIndicator.java: -------------------------------------------------------------------------------- 1 | package com.android.fm.radio; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.SeekBar; 6 | 7 | public class FreqIndicator extends SeekBar { 8 | 9 | private int lowerLimit = 0; 10 | 11 | public FreqIndicator(Context context) { 12 | super(context); 13 | } 14 | 15 | public FreqIndicator(Context context, AttributeSet attrs) { 16 | super(context, attrs); 17 | } 18 | 19 | /** 20 | * 21 | * @param frequency something like 87500(87.5MHz), 103900(103.9MHz) 22 | */ 23 | public void setFrequency(int frequency) { 24 | setProgress(frequency - lowerLimit); 25 | } 26 | 27 | /** 28 | * 29 | * @param frequency something like 87500(87.5MHz), 103900(103.9MHz) 30 | */ 31 | public int getFrequency() { 32 | return getProgress() + lowerLimit; 33 | } 34 | 35 | /** 36 | * @param minFrequency something like 87500(87.5MHz) 37 | */ 38 | public void setMinFrequency(int minFrequency) { 39 | lowerLimit = minFrequency; 40 | } 41 | 42 | /** 43 | * @return something like 87500(87.5MHz) 44 | */ 45 | public int getMinFrequency() { 46 | return lowerLimit; 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /res/layout/frequency_picker.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 24 | 25 | 33 | 34 | 35 | 44 | 45 | -------------------------------------------------------------------------------- /res/drawable/station_border.xml: -------------------------------------------------------------------------------- 1 | 28 | 29 | 30 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /res/layout/statusbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 21 | 32 | 33 | 38 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /res/layout/alert_dialog_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 29 | 33 | 34 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /res/drawable/btn_arrow_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 29 | 30 | 31 | 33 | 34 | 36 | 37 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /res/drawable/btn_arrow_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 29 | 30 | 31 | 32 | 34 | 35 | 37 | 38 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /res/values-zh-rCN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | FM收音机 4 | FM发射 5 | 删除 6 | FM调频"%1$s"兆赫 7 | 8 | Select Regional Band 9 | 设置 10 | Regional Band 11 | 12 | Audio Output Mode 13 | Select Audio Output 14 | 15 | Record Duration 16 | Select Record Duration 17 | 18 | Alternate Frequency 19 | Auto Select Enabled 20 | Auto Select Disabled 21 | 22 | 恢复默认设置 23 | 恢复默认设置 24 | Back 25 | 26 | Confirm Reset Settings 27 | This will delete all settings including Presets 28 | 29 | Return to previous view 30 | Revert to Factory Defaults 31 | Reset all settings 32 | 33 | 确认 34 | 取消 35 | 36 | 搜索"%1$s" 37 | 38 | FM操作失败 39 | 操作失败。可能原因有:没有插上有线耳机作为天线,或者没有打开蓝牙芯片,或者正处于通话中,或FM已关闭。请处理以上情况后再尝试弹起ON/OFF按钮,再按下ON/OFF按钮重启FM。 40 | 41 | 42 | 43 | 44 | %2$d:%5$02d 45 | 46 | 47 | FM收音机未开启 48 | 49 | 50 | 错误!请插上有线耳机作为FM天线 51 | 请稍候,打开蓝牙启动FM芯片... 52 | 错误!请打开蓝牙以启动FM芯片 53 | 54 | 55 | -------------------------------------------------------------------------------- /res/values-zh-rTW/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | FM收音机 4 | FM发射 5 | 删除 6 | FM调频"%1$s"兆赫 7 | 8 | Select Regional Band 9 | 设置 10 | Regional Band 11 | 12 | Audio Output Mode 13 | Select Audio Output 14 | 15 | Record Duration 16 | Select Record Duration 17 | 18 | Alternate Frequency 19 | Auto Select Enabled 20 | Auto Select Disabled 21 | 22 | 恢复默认设置 23 | 恢复默认设置 24 | Back 25 | 26 | Confirm Reset Settings 27 | This will delete all settings including Presets 28 | 29 | Return to previous view 30 | Revert to Factory Defaults 31 | Reset all settings 32 | 33 | 确认 34 | 取消 35 | 36 | 搜索"%1$s" 37 | 38 | FM操作失败 39 | 操作失败。可能原因有:没有插上有线耳机作为天线,或者没有打开蓝牙芯片,或者正处于通话中,或FM已关闭。请处理以上情况后再尝试弹起ON/OFF按钮,再按下ON/OFF按钮重启FM。 40 | 41 | 42 | 43 | 44 | %2$d:%5$02d 45 | 46 | 47 | FM收音机未开启 48 | 49 | 50 | 错误!请插上有线耳机作为FM天线 51 | 请稍候,打开蓝牙启动FM芯片... 52 | 错误!请打开蓝牙以启动FM芯片 53 | 54 | 55 | -------------------------------------------------------------------------------- /AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 19 | 20 | 21 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /res/layout/alert_dialog_text_entry.xml: -------------------------------------------------------------------------------- 1 | 2 | 29 | 33 | 34 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/com/android/fm/radio/FMMediaButtonIntentReceiver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.android.fm.radio; 18 | 19 | import android.content.BroadcastReceiver; 20 | import android.content.Context; 21 | import android.content.Intent; 22 | import android.view.KeyEvent; 23 | import android.util.Log; 24 | 25 | /** 26 | * 27 | */ 28 | public class FMMediaButtonIntentReceiver extends BroadcastReceiver { 29 | 30 | private final static String LOGTAG = "FMMediaButtonIntentReceiver"; 31 | 32 | @Override 33 | public void onReceive(Context context, Intent intent) { 34 | if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) { 35 | Log.d(LOGTAG,"ACTION_MEDIA_BUTTON Intent received"); 36 | 37 | KeyEvent event = (KeyEvent) 38 | intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT); 39 | 40 | if (event == null) { 41 | return; 42 | } 43 | 44 | int keycode = event.getKeyCode(); 45 | int action = event.getAction(); 46 | 47 | if (action == KeyEvent.ACTION_DOWN) { 48 | String command = null; 49 | 50 | switch (keycode) { 51 | case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE: 52 | command = FMRadioService.CMDTOGGLEPAUSE; 53 | break; 54 | case KeyEvent.KEYCODE_MEDIA_NEXT: 55 | command = FMRadioService.CMDNEXT; 56 | break; 57 | case KeyEvent.KEYCODE_MEDIA_PREVIOUS: 58 | command = FMRadioService.CMDPREVIOUS; 59 | break; 60 | } 61 | Log.d(LOGTAG, "KeyEvent received: "+command); 62 | 63 | if (command != null) { 64 | Log.d(LOGTAG, "Preparing to broadcast Intent to FMRadioService"); 65 | 66 | // The service may or may not be running, but we need to send it 67 | // a command. 68 | Intent i = new Intent(context, FMRadioService.class); 69 | i.setAction(FMRadioService.SERVICECMD); 70 | i.putExtra(FMRadioService.CMDNAME, command); 71 | 72 | Log.d(LOGTAG, "Broadcasting Intent -> "+i.toString()); 73 | context.startService(i); 74 | } 75 | } 76 | 77 | if (isOrderedBroadcast()) { 78 | abortBroadcast(); 79 | } 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /res/values-ja/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | FMラジオ 4 | FMトランスミッタ 5 | 削除 6 | FMラジオ"%1$s" MHz 7 | 8 | バンド地域を選択 9 | 設定 10 | バンド地域 11 | 12 | オーディオ出力モード 13 | オーディオ出力を選択 14 | 15 | 録音時間 16 | 録音時間を選択 17 | 18 | 代替の周波数 19 | 自動選択有効 20 | 自動選択無効 21 | 22 | 設定をリセット 23 | 設定をリセットします 24 | 戻る 25 | 26 | リセットの確認 27 | プリセットを含め、全ての設定が削除されます。 28 | 29 | 前のビューに戻る 30 | 初期設定に戻す 31 | 全ての設定をリセットする 32 | 33 | OK 34 | キャンセル 35 | 36 | 検索 "%1$s" 37 | 38 | FM操作失敗 39 | 操作は失敗しました。考えられる原因: アンテナとして利用される有線のヘッドセットが接続されていない、Bluetoothを有効にしていない、電話で通話中、あるいはFMが終了しているなどです。確認して再度お試しください。 40 | 41 | 42 | 43 | %2$d:%5$02d 44 | 45 | 46 | FMラジオはオンになっていません 47 | 48 | 49 | 有線のヘッドセットを接続してください。FMアンテナとして利用されます。 50 | FMラジオサポートのためにBuetoothを有効にしています... 51 | Bluetoothを有効にしてください 52 | 53 | 情報 54 | MIUIによるFMラジオアプリケーション - http://www.miui.com 55 | 56 | ラジオオフでBTを無効にするか尋ねる 57 | ラジオのスイッチをオフにしたときに、Bluetoothを無効にするか尋ねます 58 | Bluetoothを無効にしますか? 59 | はい 60 | いいえ 61 | 62 | ラジオオフ時のBluetooth動作 63 | いつも無効にする, 元の状態に戻す, ユーザに尋ねるなど 64 | Bluetoothの動作を選択 65 | ヘッドセットとBluetooth 66 | ヘッドセット接続を解除したときBluetoothの動作も連動させる 67 | 68 | -------------------------------------------------------------------------------- /src/com/android/fm/radio/TunerView.java: -------------------------------------------------------------------------------- 1 | package com.android.fm.radio; 2 | 3 | import com.android.fm.R; 4 | import android.content.Context; 5 | import android.util.AttributeSet; 6 | import android.util.Log; 7 | import android.view.MotionEvent; 8 | import android.widget.ImageView; 9 | 10 | public class TunerView extends ImageView { 11 | 12 | public interface OnMoveListener{ 13 | 14 | /** 15 | * @param tunerView1 16 | * @param step the amount of movement for tunerview, >0 means move to RIGHT, 17 | * <0 means move to LEFT. 1 means 1 step to RIGHT, -1 means 1 step to LEFT 18 | */ 19 | void onMove(TunerView tunerView, int step); 20 | } 21 | 22 | private static final int MOVE_RIGHT_THRESHOLD = 5; 23 | private static final int MOVE_LEFT_THRESHOLD = -5; 24 | 25 | private int mTotalMove = 0; 26 | 27 | private int mLastMotionX = 0; 28 | 29 | private OnMoveListener mListener; 30 | 31 | private int mIndex = 0; 32 | private static final int MININDEX = 0; 33 | private static final int MAXINDEX = 6; 34 | private static int[] TunerViewBackgrounds = new int[] { 35 | R.drawable.tuner_view_0, 36 | R.drawable.tuner_view_1, 37 | R.drawable.tuner_view_2, 38 | R.drawable.tuner_view_3, 39 | R.drawable.tuner_view_4, 40 | R.drawable.tuner_view_5, 41 | R.drawable.tuner_view_6 42 | }; 43 | 44 | public TunerView(Context context) { 45 | super(context); 46 | setClickable(true); 47 | } 48 | 49 | public TunerView(Context context, AttributeSet attrs) { 50 | super(context, attrs); 51 | setClickable(true); 52 | } 53 | 54 | public void setOnMoveListener(OnMoveListener l) { 55 | mListener = l; 56 | } 57 | 58 | @Override 59 | public boolean onTouchEvent(MotionEvent event) { 60 | final int action = event.getAction(); 61 | final int x = (int)event.getX(); 62 | 63 | switch (action) { 64 | case MotionEvent.ACTION_MOVE:{ 65 | if (mLastMotionX == 0) { 66 | mLastMotionX = x; 67 | } else { 68 | final int scrollX = x - mLastMotionX; 69 | mLastMotionX = x; 70 | if (mListener != null && scrollX != 0) { 71 | mTotalMove += scrollX; 72 | if (mTotalMove > MOVE_RIGHT_THRESHOLD) { 73 | mListener.onMove(this, 1); 74 | moveRightUI(); 75 | mTotalMove = 0; 76 | } else if (mTotalMove < MOVE_LEFT_THRESHOLD) { 77 | mListener.onMove(this, -1); 78 | moveLeftUI(); 79 | mTotalMove = 0; 80 | } 81 | } 82 | } 83 | return true; 84 | } 85 | case MotionEvent.ACTION_UP: 86 | case MotionEvent.ACTION_CANCEL: 87 | // intentionally fall through 88 | mLastMotionX = 0; 89 | default: 90 | return super.onTouchEvent(event); 91 | } 92 | } 93 | 94 | private void moveRightUI() { 95 | mIndex++; 96 | if (mIndex > MAXINDEX) { 97 | mIndex = MININDEX; 98 | } 99 | setImageResource(TunerViewBackgrounds[mIndex]); 100 | } 101 | 102 | private void moveLeftUI() { 103 | mIndex--; 104 | if (mIndex < MININDEX) { 105 | mIndex = MAXINDEX; 106 | } 107 | setImageResource(TunerViewBackgrounds[mIndex]); 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /res/values-de/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | UKW Radio 4 | UKW Transmitter 5 | Löschen 6 | UKW Radio: "%1$s" MHz 7 | 8 | Regionalband wählen 9 | Einstellungen 10 | Regionalband 11 | 12 | Audioausgang 13 | Audioausgang wählen 14 | 15 | Aufnahmedauer 16 | Aufnahmedauer wählen 17 | 18 | Ausweichfrequenz 19 | Automatische Auswahl aktiviert 20 | Automatische Auswahl deaktiviert 21 | 22 | Zurücksetzen 23 | Einstellungen zurücksetzen 24 | Zurück 25 | 26 | Zurücksetzen bestätigen 27 | Dies wird alle Einstellungen und Senderspeicher löschen! 28 | 29 | Zurück zur letzten Ansicht 30 | Einstellungen zurücksetzen 31 | Alle Einstellungen werden mit Standardwerten überschrieben 32 | 33 | OK 34 | Abbrechen 35 | 36 | Suche "%1$s" 37 | 38 | Operation fehlgeschlagen 39 | Die Operation ist fehlgeschlagen. Mögliche Gründe sind: 40 | Es ist kein Headset als Antenne angeschlossen, 41 | Bluethooth ist nicht aktiviert, 42 | ein Telefongespräch ist aktiv 43 | oder die Radioanwendung wurde geschlossen. 44 | Bitte überprüfen und die Radioanwendung erneut starten. 45 | 46 | 47 | UKW Radio ist nicht eingeschaltet 48 | 49 | 50 | Bitte ein kabelgebundenes Headset als Antenne anschließen. 51 | Bluetooth zur Verwendung des Radios aktivieren... 52 | Bitte Bluetooth aktivieren 53 | 54 | Über 55 | UKW Radioanwendung von MIUI - http://www.miui.com 56 | 57 | BT aus 58 | Nachfragen, ob Bluetooth ausgeschaltet werden soll, wenn Radio ausgeschaltet wird 59 | Bluetooth ebenfalls auschalten? 60 | Ja 61 | Nein 62 | 63 | Bluetooth bei Radio aus 64 | Immer ausschalten, wie ursprünglich, Nachfrage, etc. 65 | Verhalten für Bluetooth wählen 66 | 67 | Headset und Bluetooth 68 | Verhalten von Bluetooth nachfragen, wenn Headset entfernt wird 69 | 70 | -------------------------------------------------------------------------------- /res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | FM Radio 4 | FM Transmitter 5 | Delete 6 | Frequency: "%1$s" MHz 7 | 8 | Select regional band 9 | Settings 10 | Regional band 11 | 12 | Audio output mode 13 | Select audio output 14 | 15 | Record duration 16 | Select record duration 17 | 18 | Alternate frequency 19 | Auto select enabled 20 | Auto select disabled 21 | 22 | Reset settings 23 | Reset settings 24 | Back 25 | 26 | Confirm Resets 27 | This will delete all settings including presets! 28 | 29 | Return to previous view 30 | Reset settings 31 | Reset all settings to defaults 32 | 33 | OK 34 | Cancel 35 | 36 | Search"%1$s" 37 | 38 | FM operation failed 39 | The operation failed. Possible causes are: you did not plug in the wired headset as an antenna, did not enable Bluetooth, the phone is in a call, or FM has been closed. Please check and try again. 40 | 41 | 42 | 43 | %2$d:%5$02d 44 | 45 | 46 | FM radio is not turned on 47 | 48 | 49 | Please plug in a wired headset which will be used as an FM antenna. 50 | Enabling Bluetooth for FM radio support.. 51 | Please enable Bluetooth 52 | 53 | About 54 | FM Radio application by MIUI - http://www.miui.com 55 | 56 | Prompt to disable BT on radio off 57 | Prompt user to disable Bluetooth when radio is switched off 58 | Do you want to disable Bluetooth? 59 | Yes 60 | No 61 | 62 | Bluetooth behaviour on radio off 63 | Always disable, restore initial state, prompt, etc. 64 | Choose a Bluetooth behaviour 65 | 66 | Headset and Bluetooth behaviour 67 | Invoke Bluetooth behaviour when headset is removed 68 | 69 | 70 | -------------------------------------------------------------------------------- /res/values-ja/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 何もしない(有効のままにする) 7 | 元の状態にもどす 8 | ユーザに尋ねる 9 | いつも無効にする 10 | 11 | 12 | 13 | ステレオ 14 | モノラル 15 | 16 | 17 | 18 | 5分 19 | 15分 20 | 30分 21 | 無制限 22 | 23 | 24 | 25 | リネーム 26 | 自動選択 27 | 削除 28 | 29 | 30 | 31 | 北米 32 | ヨーロッパ 33 | 日本 34 | 日本(ワイド) 35 | オーストラリア 36 | オーストリア 37 | ベルギー 38 | ブラジル 39 | 中国 40 | チェコ 41 | デンマーク 42 | フィンランド 43 | フランス 44 | ドイツ 45 | ギリシャ 46 | 香港 47 | インド 48 | アイルランド 49 | イタリア 50 | 韓国 51 | メキシコ 52 | オランダ 53 | ニュージーランド 54 | ノルウェー 55 | ポーランド 56 | ポルトガル 57 | ロシア 58 | シンガポール 59 | スロバキア 60 | スペイン 61 | スイス 62 | スウェーデン 63 | 台湾 64 | トルコ 65 | イギリス 66 | 合衆国 67 | 68 | 69 | 70 | 北米 (87.5MHz〜108.0MHz, 200Khz間隔) 71 | ヨーロッパ (87.5MHz〜108.0MHz, 100Khz間隔) 72 | 日本 (76.0MHz〜90.0MHz, 100Khz間隔) 73 | 日本(ワイド) (90.0MHz〜108.0MHz, 100Khz間隔) 74 | オーストラリア (87.7MHz〜108.0MHz, 100Khz間隔) 75 | オーストリア (87.5MHz〜108.0MHz, 50Khz間隔) 76 | ベルギー (87.5MHz〜108.0MHz, 100Khz間隔) 77 | ブラジル (87.8MHz〜108.0MHz, 200Khz Step) 78 | 中国 (87.0MHz〜108.0MHz, 100Khz間隔) 79 | チェコ (87.5MHz〜108.0MHz, 100Khz間隔) 80 | デンマーク (87.5MHz〜108.0MHz, 100Khz間隔) 81 | フィンランド (87.5MHz〜108.0MHz, 100Khz間隔) 82 | フランス (87.5MHz〜108.0MHz, 100Khz間隔) 83 | ドイツ (87.5MHz〜108.0MHz, 100Khz間隔) 84 | ギリシャ (87.5MHz〜108.0MHz, 100Khz間隔) 85 | 香港 (87.5MHz〜108.0MHz, 100Khz間隔) 86 | インド (91.0MHz〜106.4MHz, 100Khz間隔) 87 | アイルランド (87.5MHz〜108.0MHz, 100Khz間隔) 88 | イタリア (87.5MHz〜108.0MHz, 100Khz間隔) 89 | 韓国 (87.5MHz〜108.0MHz, 200Khz間隔) 90 | メキシコ (88.1MHz〜107.9MHz, 200Khz間隔) 91 | オランダ (87.5MHz〜108.0MHz, 100Khz間隔) 92 | ニュージーランド (88.0MHz〜107.0MHz, 100Khz間隔) 93 | ノルウェー (87.5MHz〜108.0MHz, 100Khz間隔) 94 | ポーランド (88.0MHz〜108.0MHz, 100Khz間隔) 95 | ポルトガル (87.5MHz〜108.0MHz, 100Khz間隔) 96 | ロシア (87.5MHz〜108.0MHz, 100Khz間隔) 97 | シンガポール (88.0MHz〜108.0MHz, 100Khz間隔) 98 | スロバキア (87.5MHz〜108.0MHz, 100Khz間隔) 99 | スペイン (87.5MHz〜108.0MHz, 100Khz間隔) 100 | スイス (87.5MHz〜108.0MHz, 100Khz間隔) 101 | スウェーデン (87.5MHz〜108.0MHz, 100Khz間隔) 102 | 台湾 (87.5MHz〜108.0MHz, 100Khz間隔) 103 | トルコ (87.5MHz〜108.0MHz, 100Khz間隔) 104 | イギリス (87.5MHz〜108.0MHz, 100Khz間隔) 105 | 合衆国 (88.1MHz〜107.9MHz, 200Khz間隔) 106 | 107 | 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | FM радио 4 | FM передатчик 5 | Удалить 6 | FM радио: "%1$s" MHz 7 | 8 | Выбор региона 9 | Настройки 10 | Регионы 11 | 12 | Режим аудиовыхода 13 | Выбор аудиовыхода 14 | 15 | Продолжительность записи 16 | Выбор продолжительность записи 17 | 18 | Дополнительная частота 19 | Автоматический выбор включен 20 | Автоматический выбор выключен 21 | 22 | Сброс настроек 23 | Сброс настроек 24 | Назад 25 | 26 | Подтверждение сброса 27 | Удаляться все настройки, включая установки! 28 | 29 | Возврат к предыдущему виду 30 | Сброс настроек 31 | Сброс всех настроек до умолчания 32 | 33 | OK 34 | Отмена 35 | 36 | Поиск"%1$s" 37 | 38 | Сбой FM операции 39 | Сбой операции. Возможные причины: не подключена проводная гарнитура как антена, не включен Bluetooth, телефон в режиме разговора или FM радио закрыто. Пожалуйста, проверьте и попробуйте еще раз. 40 | 41 | 42 | 43 | %2$d:%5$02d 44 | 45 | 46 | FM радио не включено 47 | 48 | 49 | Пожалуйста, подключить проводную гарнитуру, которая будет использоваться в качестве FM антенны. 50 | Включение Bluetooth для поддержки FM радио... 51 | Пожалуйста, включите Bluetooth 52 | 53 | О программе 54 | Приложение FM радио от MIUI - http://www.miui.com 55 | 56 | Запрос на выключение BT, когда выключается радио 57 | Запрос у пользователя выключение Bluetooth, когда FM радио выключается 58 | Вы желаете выключить Bluetooth? 59 | Да 60 | Нет 61 | 62 | Режим Bluetooth при выключении радио 63 | Всегда выключать, восстанавливать начальное состояние, подсказки и т.д. 64 | Выбор режима Bluetooth 65 | 66 | Гарнитура и Bluetooth режим 67 | Вызывать режим Bluetooth, когда гарнитура отключена 68 | 69 | 70 | -------------------------------------------------------------------------------- /res/values-it/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Radio FM 4 | Trasmettitore FM 5 | Elimina 6 | Radio FM "%1$s" MHz 7 | 8 | Seleziona banda 9 | Impostazioni 10 | Banda 11 | 12 | Modalità uscita audio 13 | Seleziona uscita audio 14 | 15 | Durata registrazione 16 | Seleziona durata registrazione 17 | 18 | Frequenza alternativa 19 | Selezione automatica attiva 20 | Selezione automatica non attiva 21 | 22 | Ripristina impostazioni iniziali 23 | Ripristina impostazioni iniziali 24 | Indietro 25 | 26 | Conferma reset impostazioni 27 | Questo eliminerà tutte le impostazioni inclusi i Preset 28 | 29 | Ritorna a schermata precedente 30 | Ripristina impostazioni iniziali 31 | Ripristina tutte le impostazioni 32 | 33 | Conferma 34 | Annulla 35 | 36 | Cerca"%1$s" 37 | 38 | Operazione fallita 39 | Operazione non riuscita. Le possibili cause sono: le cuffie non sono collegate, il Bluetooth non è abilitato, si sta effettuando una chiamata, La radio FM è stata chiusa. Riprovare dopo aver premuto il pulsante ON/OFF, quindi riavviare la radio FM. 40 | 41 | Frequenza 42 | Radio FM spenta 43 | 44 | Errore! Collegare il cavo delle cuffie come antenna FM 45 | Attendere prego, si sta abilitando il Bluetooth per attivare la radio FM... 46 | Errore! Si prega di attivare il Bluetooth per avviare la Radio FM 47 | 48 | Info 49 | Applicazione Radio FM creata da MIUI- http://www.miui.com 50 | 51 | Prompt disatt. BT 52 | Visualizza prompt di richiesta per disattivazione Bluetooth allo spegnimento della radio 53 | Vuoi disattivare il Bluetooth? 54 | Si 55 | No 56 | 57 | Gestione BT 58 | Disattiva sempre, ripristina stato iniziale, prompt, etc. 59 | Scegli comportamento Bluetooth 60 | 61 | Gestione cuffie e BT 62 | Invoca il comportamento del Bluetooth anche alla rimozione delle cuffie 63 | 64 | -------------------------------------------------------------------------------- /res/values-fr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Radio FM 4 | Transmetteur FM 5 | Supprimer 6 | Radio FM : "%1$s" MHz 7 | 8 | Sélectionner la bande 9 | Paramètres 10 | Bande régionale 11 | 12 | Sortie audio 13 | Choisir la sortie audio 14 | 15 | Durée de l\'enregistrement 16 | Choisir la durée de l\'enregistrement 17 | 18 | Fréquence alternative 19 | Sélection automatique activée 20 | Sélection automatique désactivée 21 | 22 | Remise à zéro 23 | Rétablir les paramètres par défaut 24 | Retour 25 | 26 | Confirmer la suppression des paramètres 27 | Tous les paramètres seront effacés y compris les présélections 28 | 29 | Retour à la vue précédente 30 | Restaurer les paramètres 31 | Remplacer les paramètres par ceux d\'origine 32 | 33 | OK 34 | Annuler 35 | 36 | Recherche de "%1$s" 37 | 38 | L\'opération a échoué 39 | L\'opération a échoué. Les causes possibles sont: 40 | Vous n\'avez pas branché de casque filaire servant d\'antenne, 41 | vous n\'avez pas activé Bluetooth, 42 | un appel est en cours ou l\'application FM a été quittée. 43 | Veuillez vérifier cela puis redémarrez la radio FM. 44 | 45 | 46 | La radio FM n\'est pas active 47 | 48 | 49 | Veuillez brancher un casque filaire qui sera utilisé comme antenne FM 50 | Veuillez activer Bluetooth afin de pouvoir utiliser la puce FM 51 | Veuillez activer Bluetooth 52 | 53 | À propos 54 | Application Radio FM par MIUI - http://www.miui.com 55 | 56 | Désactiver BT à la sortie 57 | Demander la désactivation de Bluetooth lors de la fermeture de la radio 58 | Voulez-vous désactiver Bluetooth ? 59 | Oui 60 | Non 61 | 62 | Comportement de BT à la fermeture 63 | Toujours désactiver, restaurer l\'état initial, demander, etc. 64 | Choisir un comportement Bluetooth 65 | Débranchement du casque 66 | Appliquer l\'action de fermeture Bluetooth lorsque le casque est débranché 67 | 68 | -------------------------------------------------------------------------------- /res/layout/fmradio.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 21 |