--- a/res/values-fr/strings.xml Thu Feb 18 02:02:30 2010 +0100
+++ b/res/values-fr/strings.xml Fri Feb 19 00:31:05 2010 +0100
@@ -130,11 +130,11 @@
<string name="comments_proxy_port">Default: 1080</string>
<string name="settings_proxy_username">Nom d\'utilisateur</string>
<string name="settings_proxy_password">Mot de passe</string>
- <string name="away_chk_title">away_chk_title</string>
- <string name="away_chk_sum">away_chk_sum</string>
- <string name="away_message_title">away_message_title</string>
- <string name="away_message_sum">away_message_sum</string>
- <string name="away_message_hint">away_message_hint</string>
+ <string name="away_chk_title">Activer l'absence automatique</string>
+ <string name="away_chk_sum">Change votre status en Absent automatiquement quand l\'écran du telephone s\'éteind</string>
+ <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>
<!-- Subscription class -->
<string name="SubscriptAccept">Inscription acceptée</string>
--- a/res/values/strings.xml Thu Feb 18 02:02:30 2010 +0100
+++ b/res/values/strings.xml Fri Feb 19 00:31:05 2010 +0100
@@ -130,11 +130,11 @@
<string name="comments_proxy_port">Default: 1080</string>
<string name="settings_proxy_username">Username</string>
<string name="settings_proxy_password">Password</string>
- <string name="away_chk_title">away_chk_title</string>
- <string name="away_chk_sum">away_chk_sum</string>
- <string name="away_message_title">away_message_title</string>
- <string name="away_message_sum">away_message_sum</string>
- <string name="away_message_hint">away_message_hint</string>
+ <string name="away_chk_title">Enable Auto-away</string>
+ <string name="away_chk_sum">Change status to Away when the screen is turned off</string>
+ <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>
<!-- Subscription class -->
<string name="SubscriptAccept">Subscription accepted</string>
--- a/src/com/beem/project/beem/BeemService.java Thu Feb 18 02:02:30 2010 +0100
+++ b/src/com/beem/project/beem/BeemService.java Fri Feb 19 00:31:05 2010 +0100
@@ -105,6 +105,7 @@
private BeemBroadcastReceiver mReceiver = new BeemBroadcastReceiver();
private BeemServiceBroadcastReceiver mOnOffReceiver = new BeemServiceBroadcastReceiver();
+ private BeemServicePreferenceListener mPreferenceListener = new BeemServicePreferenceListener();
private boolean mOnOffReceiverIsRegistered;
@@ -164,8 +165,8 @@
}
return true;
}
-
-
+
+
/**
* {@inheritDoc}
@@ -174,13 +175,13 @@
public void onCreate() {
super.onCreate();
registerReceiver(mReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
- if (mSettings.getBoolean("settings_away_chk",false)) {
+ mSettings = PreferenceManager.getDefaultSharedPreferences(this);
+ mSettings.registerOnSharedPreferenceChangeListener(mPreferenceListener);
+ if (mSettings.getBoolean("settings_away_chk", false)) {
mOnOffReceiverIsRegistered = true;
registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON));
}
-
- mSettings = PreferenceManager.getDefaultSharedPreferences(this);
String tmpJid = mSettings.getString("settings_key_account_username", "");
mLogin = StringUtils.parseName(tmpJid);
mPassword = mSettings.getString("settings_key_account_password", "");
@@ -219,6 +220,7 @@
Log.d("Service", "onDestroy");
mNotificationManager.cancelAll();
unregisterReceiver(mReceiver);
+ mSettings.unregisterOnSharedPreferenceChangeListener(mPreferenceListener);
if (mOnOffReceiverIsRegistered)
unregisterReceiver(mOnOffReceiver);
if (mConnection.isAuthentificated() && BeemConnectivity.isConnected(this))
@@ -380,6 +382,22 @@
*/
}
+ private class BeemServicePreferenceListener implements SharedPreferences.OnSharedPreferenceChangeListener {
+ @Override
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ if (key.equals("settings_away_chk")) {
+ if (sharedPreferences.getBoolean("settings_away_chk", false)) {
+ mOnOffReceiverIsRegistered = true;
+ registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF));
+ registerReceiver(mOnOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_ON));
+ } else {
+ mOnOffReceiverIsRegistered = false;
+ unregisterReceiver(mOnOffReceiver);
+ }
+ }
+ }
+ }
+
private class BeemServiceBroadcastReceiver extends BroadcastReceiver {
private String mOldStatus;