--- a/res/layout/preferences.xml Sun Mar 07 21:33:13 2010 +0100
+++ b/res/layout/preferences.xml Sat Mar 13 19:32:08 2010 +0100
@@ -13,35 +13,37 @@
<CheckBoxPreference android:title="@string/away_chk_title"
android:defaultValue="true" android:summary="@string/away_chk_sum"
android:key="settings_away_chk" />
- <EditTextPreference android:dependency="settings_away_chk" android:singleLine="true"
- android:summary="@string/away_message_sum" android:title="@string/away_message_title"
- android:key="settings_away_message"
- android:hint="@string/away_message_hint" />
+ <EditTextPreference android:dependency="settings_away_chk"
+ android:singleLine="true" android:summary="@string/away_message_sum"
+ android:title="@string/away_message_title" android:key="settings_away_message"
+ android:hint="@string/away_message_hint" />
+ </PreferenceScreen>
+ <PreferenceScreen android:title="@string/notification_preferences">
+ <CheckBoxPreference android:title="@string/notification_disable_vibrate_title"
+ android:defaultValue="false" android:summary="@string/notification_disable_vibrate_sum"
+ android:key="settings_notification_disable_vibrate" />
+ <RingtonePreference
+ android:title="@string/notification_snd_title" android:key="settings_notification_snd"
+ android:summary="@string/notification_snd_sum" android:ringtoneType="notification"
+ android:showDefault="true" />
</PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory android:title="@string/user_preferences">
<EditTextPreference android:singleLine="true"
android:summary="@string/SettingsText" android:title="@string/settings_account_username"
- android:key="settings_key_account_username"
- android:hint="@string/login_username_info_default" />
+ android:key="settings_key_account_username" android:hint="@string/login_username_info_default" />
<EditTextPreference android:name="password"
android:singleLine="true" android:password="true" android:summary="@string/SettingsPassword"
android:title="@string/settings_account_password" android:key="settings_key_account_password" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/user_preferences_advanced">
- <EditTextPreference
- android:key="settings_key_resource"
- android:title="@string/SettingsResourceTitle"
- android:summary="@string/SettingsResourceSummary"
- android:defaultValue="Beem" />
- <EditTextPreference
- android:key="settings_key_priority"
- android:title="@string/SettingsPriorityTitle"
- android:summary="@string/SettingsPrioritySummary"
- android:numeric="signed"
- android:defaultValue="0" />
+ <EditTextPreference android:key="settings_key_resource"
+ android:title="@string/SettingsResourceTitle" android:summary="@string/SettingsResourceSummary"
+ android:defaultValue="Beem" />
+ <EditTextPreference android:key="settings_key_priority"
+ android:title="@string/SettingsPriorityTitle" android:summary="@string/SettingsPrioritySummary"
+ android:numeric="signed" android:defaultValue="0" />
</PreferenceCategory>
-
<PreferenceCategory android:title="@string/network_preferences">
<PreferenceScreen android:key="proxy" android:title="@string/SettingsProxy"
android:summary="@string/settings_proxy_sum">
@@ -61,8 +63,7 @@
<EditTextPreference android:singleLine="true"
android:dependency="settings_key_proxy_use" android:name="port"
android:summary="@string/SettingsProxyPort" android:title="@string/settings_proxy_port"
- android:key="settings_key_proxy_port"
- android:hint="@string/comments_proxy_port" />
+ android:key="settings_key_proxy_port" android:hint="@string/comments_proxy_port" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/proxy_user_settings">
<EditTextPreference android:singleLine="true"
@@ -91,13 +92,12 @@
<EditTextPreference android:singleLine="true"
android:dependency="settings_key_specific_server" android:name="adresse"
android:summary="@string/SettingsAdvancedAddOpt" android:title="@string/settings_xmpp_server"
- android:key="settings_key_xmpp_server"
- android:hint="@string/comments_xmpp_server"/>
+ android:key="settings_key_xmpp_server" android:hint="@string/comments_xmpp_server" />
<EditTextPreference android:singleLine="true"
android:dependency="settings_key_specific_server" android:name="port"
android:summary="@string/SettingsAdvancedPortOpt" android:title="@string/settings_xmpp_port"
- android:defaultValue="5222" android:key="settings_key_xmpp_port"
- android:hint="@string/comments_xmpp_port"/>
+ android:defaultValue="5222" android:key="settings_key_xmpp_port"
+ android:hint="@string/comments_xmpp_port" />
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>
--- a/res/values-fr/strings.xml Sun Mar 07 21:33:13 2010 +0100
+++ b/res/values-fr/strings.xml Sat Mar 13 19:32:08 2010 +0100
@@ -138,6 +138,11 @@
<string name="away_message_title">Message d\'asbence</string>
<string name="away_message_sum">Votre Message d\'absence</string>
<string name="away_message_hint">Je suis absent car mon ecran est éteind</string>
+ <string name="notification_preferences">Paramètres des notifications</string>
+ <string name="notification_disable_vibrate_title">Vibreur</string>
+ <string name="notification_disable_vibrate_sum">Désactiver le vibreur pour les messages entrants</string>
+ <string name="notification_snd_title">Sonnerie des messages</string>
+ <string name="notification_snd_sum">Configurer la sonnerie par défaut pour les messages entrants</string>
<!-- Subscription class -->
<string name="SubscriptAccept">Inscription acceptée</string>
--- a/res/values/strings.xml Sun Mar 07 21:33:13 2010 +0100
+++ b/res/values/strings.xml Sat Mar 13 19:32:08 2010 +0100
@@ -138,6 +138,12 @@
<string name="away_message_title">Away message</string>
<string name="away_message_sum">The away message that will be displayed</string>
<string name="away_message_hint">I\'m away, my cellphone screen is off</string>
+ <string name="notification_preferences">Notification preferences</string>
+ <string name="notification_disable_vibrate_title">Vibrate</string>
+ <string name="notification_disable_vibrate_sum">Vibrate phone for incoming messages</string>
+ <string name="notification_snd_title">Message ringtone</string>
+ <string name="notification_snd_sum">Set your default incoming message ringtone</string>
+
<!-- Subscription class -->
<string name="SubscriptAccept">Subscription accepted</string>
--- a/src/com/beem/project/beem/service/BeemChatManager.java Sun Mar 07 21:33:13 2010 +0100
+++ b/src/com/beem/project/beem/service/BeemChatManager.java Sat Mar 13 19:32:08 2010 +0100
@@ -40,7 +40,7 @@
Flavien Astraud, November 26, 2009
Head of the EIP Laboratory.
-*/
+ */
package com.beem.project.beem.service;
import java.util.ArrayList;
@@ -56,8 +56,11 @@
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Intent;
+import android.content.SharedPreferences;
+import android.net.Uri;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
+import android.preference.PreferenceManager;
import android.util.Log;
import com.beem.project.beem.BeemService;
@@ -123,7 +126,7 @@
Log.e(TAG, e.getMessage());
}
PendingIntent contentIntent = PendingIntent.getActivity(mService, 0, chatIntent,
- PendingIntent.FLAG_UPDATE_CURRENT);
+ PendingIntent.FLAG_UPDATE_CURRENT);
return contentIntent;
}
@@ -132,15 +135,19 @@
* @param chat The chat to access by the notification
*/
private void notifyNewChat(IChat chat) {
+ SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(mService);
try {
CharSequence tickerText = mService.getBind().getRoster().getContact(chat.getParticipant().getJID())
- .getName();
+ .getName();
Notification notification = new Notification(android.R.drawable.stat_notify_chat, tickerText, System
- .currentTimeMillis());
- notification.defaults = Notification.DEFAULT_ALL;
+ .currentTimeMillis());
+ if (!pref.getBoolean("settings_notification_disable_vibrate", true))
+ notification.defaults -= Notification.DEFAULT_VIBRATE;
notification.flags = Notification.FLAG_AUTO_CANCEL;
notification.setLatestEventInfo(mService, tickerText, mService
- .getString(R.string.BeemChatManagerNewMessage), makeChatIntent(chat));
+ .getString(R.string.BeemChatManagerNewMessage), makeChatIntent(chat));
+ String ringtoneStr = pref.getString("settings_notification_snd", "");
+ notification.sound = Uri.parse(ringtoneStr);
mService.sendNotification(chat.getParticipant().getJID().hashCode(), notification);
} catch (RemoteException e) {
Log.e(TAG, e.getMessage());