WIP: Alarm feature improvements
This commit is contained in:
parent
bcd000e418
commit
b56ad484d0
|
@ -4,21 +4,35 @@ import android.app.Activity;
|
|||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.media.MediaPlayer;
|
||||
import android.media.Ringtone;
|
||||
import android.media.RingtoneManager;
|
||||
import android.net.Uri;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.content.WakefulBroadcastReceiver;
|
||||
import android.util.Log;
|
||||
|
||||
public class AlarmReceiver extends WakefulBroadcastReceiver {
|
||||
|
||||
private static Ringtone ringtone = null;
|
||||
static MediaPlayer m;
|
||||
|
||||
@Override
|
||||
public void onReceive(final Context context, Intent intent) {
|
||||
// TODO: Should we use ringtone or switch to MediaPlayer with loop?
|
||||
Uri alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
|
||||
ringtone = RingtoneManager.getRingtone(context, alarmUri);
|
||||
ringtone.play();
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
int[] ringtones = {
|
||||
R.raw.ringtone_gate_of_steiner, R.raw.ringtone_village,
|
||||
R.raw.ringtone_beginning_of_fight, R.raw.ringtone_easygoingness,
|
||||
R.raw.ringtone_reunion, R.raw.ringtone_precaution,
|
||||
R.raw.ringtone_over_the_sky
|
||||
};
|
||||
|
||||
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
int index = Integer.parseInt(settings.getString("ringtone", "0"));
|
||||
|
||||
m = MediaPlayer.create(context, ringtones[index]);
|
||||
|
||||
m.setLooping(true);
|
||||
m.start();
|
||||
|
||||
//this will send a notification message
|
||||
ComponentName comp = new ComponentName(context.getPackageName(),
|
||||
|
@ -28,16 +42,16 @@ public class AlarmReceiver extends WakefulBroadcastReceiver {
|
|||
}
|
||||
|
||||
public static void stopRingtone() {
|
||||
if (ringtone != null) {
|
||||
if (ringtone.isPlaying()) {
|
||||
ringtone.stop();
|
||||
if (m != null) {
|
||||
if (m.isPlaying()) {
|
||||
m.stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isPlaying() {
|
||||
if (ringtone != null) {
|
||||
return ringtone.isPlaying();
|
||||
if (m != null) {
|
||||
return m.isPlaying();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -5,12 +5,13 @@ package com.example.yink.amadeus;
|
|||
*/
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
|
||||
public class SettingsActivity extends FragmentActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -4,7 +4,7 @@
|
|||
<string name="connecting">Подключение…</string>
|
||||
<string name="disconnected">Отключено.</string>
|
||||
<string name="default_lang">ru</string>
|
||||
<string name="default_recog_lang">ja-JP</string>
|
||||
<string name="default_recog_lang">ru-RU</string>
|
||||
<string name="google_app_error">Google App не найден.</string>
|
||||
<string name="incoming_call">Звонок от Курису.</string>
|
||||
<string name="notification_text">Твоя вайфу скучает по тебе.</string>
|
||||
|
@ -21,6 +21,8 @@
|
|||
<string name="pref_notification_desc">Показывает иконку в статус-баре (требуется перезапуск)</string>
|
||||
<string name="pref_alarm_settings">Настройки будильника</string>
|
||||
<string name="pref_alarm_setup">Настройка будильника</string>
|
||||
<string name="pref_alarm_ringtone">Выберите рингтон для будильника</string>
|
||||
<string name="pref_alarm_ringtone_desc">Рингтон будильника</string>
|
||||
|
||||
<!-- Многие фразы были вырваны из контекста, поэтому прошу не пинать -->
|
||||
<string name="line_hello">Привет.</string>
|
||||
|
|
|
@ -27,4 +27,24 @@
|
|||
<item>ru-RU</item>
|
||||
<item>ja-JP</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="ringtonesArray">
|
||||
<item>Gate Of Steiner</item>
|
||||
<item>Village</item>
|
||||
<item>Beginning Of Fight</item>
|
||||
<item>Easygoingness</item>
|
||||
<item>Reunion</item>
|
||||
<item>Precaution</item>
|
||||
<item>Over The Sky</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="ringtonesValues">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
<item>6</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -22,6 +22,8 @@
|
|||
<string name="pref_notification_desc">Shows Icon in the notification bar (app restart required)</string>
|
||||
<string name="pref_alarm_settings">Alarm settings</string>
|
||||
<string name="pref_alarm_setup">Alarm setup</string>
|
||||
<string name="pref_alarm_ringtone">Select ringtone for alarm</string>
|
||||
<string name="pref_alarm_ringtone_desc">Alarm ringtone</string>
|
||||
|
||||
<!-- Subtitles -->
|
||||
<string name="line_hello">Hello.</string>
|
||||
|
|
|
@ -33,5 +33,11 @@
|
|||
android:targetPackage="com.example.yink.amadeus"
|
||||
android:targetClass="com.example.yink.amadeus.AlarmActivity" />
|
||||
</Preference>
|
||||
<ListPreference
|
||||
android:entries="@array/ringtonesArray"
|
||||
android:entryValues="@array/ringtonesValues"
|
||||
android:key="ringtone"
|
||||
android:summary="@string/pref_alarm_ringtone_desc"
|
||||
android:title="@string/pref_alarm_ringtone" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
Loading…
Reference in New Issue