WIP: Alarm feature improvements

This commit is contained in:
RIP95 2017-03-19 20:32:22 +03:00
parent bcd000e418
commit b56ad484d0
12 changed files with 58 additions and 13 deletions

View File

@ -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;
}

View File

@ -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.

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>