diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 910e20ab5..970c4b341 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="31" + android:versionName="1.9.6"> diff --git a/res/drawable/notification_icon.png b/res/drawable/notification_icon.png new file mode 100644 index 000000000..d46377a34 Binary files /dev/null and b/res/drawable/notification_icon.png differ diff --git a/res/values/strings.xml b/res/values/strings.xml index 1f9eed120..6dbf17343 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -201,6 +201,9 @@ notif_qstart notif_qend + notification_ringtone +Notification Ringtone +Choose how Astrid alerts you! diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 9b6050173..86b140476 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -1,3 +1,4 @@ + + \ No newline at end of file diff --git a/src/com/timsu/astrid/utilities/Notifications.java b/src/com/timsu/astrid/utilities/Notifications.java index 48ed2d7d0..4564d0c62 100644 --- a/src/com/timsu/astrid/utilities/Notifications.java +++ b/src/com/timsu/astrid/utilities/Notifications.java @@ -14,6 +14,7 @@ import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.database.Cursor; +import android.net.Uri; import android.util.Log; import com.timsu.astrid.R; @@ -317,18 +318,25 @@ public class Notifications extends BroadcastReceiver { // create notification object String appName = r.getString(R.string.app_name); Notification notification = new Notification( - android.R.drawable.stat_notify_chat, reminder, + R.drawable.notification_icon, reminder, System.currentTimeMillis()); notification.setLatestEventInfo(context, appName, reminder + " " + taskName, pendingIntent); + notification.defaults = Notification.DEFAULT_LIGHTS; if(quietHours) { notification.vibrate = null; notification.sound = null; - notification.defaults = Notification.DEFAULT_LIGHTS; } else { - notification.defaults = Notification.DEFAULT_ALL; + notification.defaults |= Notification.DEFAULT_VIBRATE; + Uri notificationSound = Preferences.getNotificationRingtone(context); + if(notificationSound != null && + !notificationSound.toString().equals("")) { + notification.sound = notificationSound; + } else { + notification.defaults |= Notification.DEFAULT_SOUND; + } } Log.w("Astrid", "Logging notification: " + reminder); diff --git a/src/com/timsu/astrid/utilities/Preferences.java b/src/com/timsu/astrid/utilities/Preferences.java index 800c3818a..253899265 100644 --- a/src/com/timsu/astrid/utilities/Preferences.java +++ b/src/com/timsu/astrid/utilities/Preferences.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.content.res.Resources; +import android.net.Uri; import android.preference.PreferenceManager; import com.timsu.astrid.R; @@ -51,4 +52,16 @@ public class Preferences { return null; } } + + public static Uri getNotificationRingtone(Context context) { + Resources r = context.getResources(); + String value = getPrefs(context).getString(r.getString( + R.string.key_notification_ringtone), ""); + + try { + return Uri.parse(value); + } catch (RuntimeException e) { + return null; + } + } }