bundle de depart
authorNikita Kozlov <nikita@beem-project.com>
Fri, 25 Sep 2009 22:14:53 +0200
changeset 401 551bc80197f5
parent 398 0d730b5691ba
child 402 4684a42ae0ad
bundle de depart
res/values-en/arrays.xml
res/values-fr/arrays.xml
src/com/beem/project/beem/ui/ChangeStatus.java
src/com/beem/project/beem/ui/EditSettings.java
src/com/beem/project/beem/utils/BeemBroadcastReceiver.java
--- a/res/values-en/arrays.xml	Fri Sep 25 20:20:30 2009 +0200
+++ b/res/values-en/arrays.xml	Fri Sep 25 22:14:53 2009 +0200
@@ -5,4 +5,12 @@
 		<item>SOCKS4</item>
 		<item>SOCKS5</item>
 	</string-array>
+	<string-array name="status_types">
+		<item name="AvailableForChat">Available for chat</item>
+		<item name="Available">Available</item>
+		<item name="Busy">Busy</item>
+		<item name="Away">Away</item>
+		<item name="Unavailable">Unavailable</item>
+		<item name="Disconnected">Disconnected</item>
+	</string-array>
 </resources>
--- a/res/values-fr/arrays.xml	Fri Sep 25 20:20:30 2009 +0200
+++ b/res/values-fr/arrays.xml	Fri Sep 25 22:14:53 2009 +0200
@@ -5,4 +5,12 @@
 		<item>SOCKS4</item>
 		<item>SOCKS5</item>
 	</string-array>
+	<string-array name="status_types">
+		<item>Available for chat</item>
+		<item>Available</item>
+		<item>Busy</item>
+		<item>Away</item>
+		<item>Unavailable</item>
+		<item>Disconnected</item>
+	</string-array>
 </resources>
--- a/src/com/beem/project/beem/ui/ChangeStatus.java	Fri Sep 25 20:20:30 2009 +0200
+++ b/src/com/beem/project/beem/ui/ChangeStatus.java	Fri Sep 25 22:14:53 2009 +0200
@@ -26,47 +26,69 @@
 import com.beem.project.beem.utils.BeemBroadcastReceiver;
 import com.beem.project.beem.utils.Status;
 
+/**
+ * This Activity is used to change the status.
+ * @author nikita
+ */
 public class ChangeStatus extends Activity {
 
-    private TextView mStatusText;
-    private Toast mToast;
-    private Button mOk;
-    private Button mClear;
-    private Spinner mSpinner;
     
-    private static final String[] STATUS = { "Available for chat", "Available", "Busy", "Away", "Unavailable",
-	"Disconnected" };
+    private static final Intent SERVICE_INTENT = new Intent();
+    static {
+	SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService"));
+    }
     private static final int DISCONNECTED_IDX = 5;
     private static final int AVAILABLE_FOR_CHAT_IDX = 0;
     private static final int AVAILABLE_IDX = 1;
     private static final int BUSY_IDX = 2;
     private static final int AWAY_IDX = 3;
     private static final int UNAVAILABLE_IDX = 4;
-    
+    private TextView mStatusText;
+    private Toast mToast;
+    private Button mOk;
+    private Button mClear;
+    private Spinner mSpinner;
+    private String[] mStatus;
+
     private SharedPreferences mSettings;
-    private ArrayAdapter<String> mAdapter;
-    private IXmppFacade mXmppFacade = null;
+    private ArrayAdapter<CharSequence> mAdapter;
+    private IXmppFacade mXmppFacade;
     private final ServiceConnection mServConn = new BeemServiceConnection();
-    private final OnClickListener mOnClickOk = new MyOnClickListener();    
+    private final OnClickListener mOnClickOk = new MyOnClickListener();
     private BroadcastReceiver mReceiver;
 
-    private static final Intent SERVICE_INTENT = new Intent();
-    static {
-	SERVICE_INTENT.setComponent(new ComponentName("com.beem.project.beem", "com.beem.project.beem.BeemService"));
+    /**
+     * constructor.
+     */
+    public ChangeStatus() {
     }
 
+    /**
+     * Return the status index from status the settings.
+     * @return the status index from status the settings.
+     */
     private int getPreferenceStatusIndex() {
 	return mSettings.getInt(getString(R.string.PreferenceStatus), 0);
     }
 
+    /**
+     * Return the status text from status the settings.
+     * @param id status text id.
+     * @return the status text from status the settings.
+     */
     private String getPreferenceString(int id) {
 	return mSettings.getString(getString(id), "");
     }
 
+    /**
+     * convert status text to.
+     * @param item
+     * @return
+     */
     private int getStatusForService(String item) {
 	int res = Status.CONTACT_STATUS_AVAILABLE;
-	for (int i = 0; i < ChangeStatus.STATUS.length; i++) {
-	    String str = ChangeStatus.STATUS[i];
+	for (int i = 0; i < mStatus.length; i++) {
+	    String str = mStatus[i];
 	    if (str.equals(item)) {
 		switch (i) {
 		    case ChangeStatus.DISCONNECTED_IDX:
@@ -83,7 +105,7 @@
 			return Status.CONTACT_STATUS_UNAVAILABLE;
 		    default:
 			res = Status.CONTACT_STATUS_AVAILABLE;
-			break;
+		    	break;
 		}
 	    }
 	}
@@ -106,12 +128,14 @@
 	mSettings = getSharedPreferences(getString(R.string.settings_filename), MODE_PRIVATE);
 
 	mSpinner = (Spinner) findViewById(R.id.ChangeStatusSpinner);
-	mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, STATUS);
+	mAdapter = ArrayAdapter.createFromResource(this, R.array.status_types, android.R.layout.simple_spinner_item);
 	mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 	mSpinner.setAdapter(mAdapter);
 	mToast = Toast.makeText(this, R.string.ChangeStatusOk, Toast.LENGTH_LONG);
 	mReceiver = new BeemBroadcastReceiver();
-	showSettings();
+	mStatusText.setText(getPreferenceString(R.string.PreferenceStatusText));
+	mSpinner.setSelection(getPreferenceStatusIndex());
+	mStatus = getResources().getStringArray(R.array.status_types);
     }
 
     /**
@@ -132,7 +156,7 @@
 	bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
 	this.registerReceiver(mReceiver, new IntentFilter(XmppConnectionAdapter.BEEM_CONNECTION_CLOSED));
     }
-    
+
     /**
      * {@inheritDoc}
      */
@@ -142,11 +166,6 @@
 	this.unregisterReceiver(mReceiver);
     }
 
-    private void showSettings() {
-	mStatusText.setText(getPreferenceString(R.string.PreferenceStatusText));
-	mSpinner.setSelection(getPreferenceStatusIndex());
-    }
-
     private class BeemServiceConnection implements ServiceConnection {
 
 	@Override
@@ -192,11 +211,11 @@
 	    }
 	}
 	private boolean statusHasChanged() {
-	    return (mSettings.getInt(getString(R.string.PreferenceStatus), 0) != mSpinner.getSelectedItemPosition());
+	    return mSettings.getInt(getString(R.string.PreferenceStatus), 0) != mSpinner.getSelectedItemPosition();
 	}
 
 	private boolean textHasChanged() {
-	    return (!mStatusText.getText().toString().equals(getPreferenceString(R.string.PreferenceStatusText)));
+	    return !mStatusText.getText().toString().equals(getPreferenceString(R.string.PreferenceStatusText));
 	}
     }
 }
--- a/src/com/beem/project/beem/ui/EditSettings.java	Fri Sep 25 20:20:30 2009 +0200
+++ b/src/com/beem/project/beem/ui/EditSettings.java	Fri Sep 25 22:14:53 2009 +0200
@@ -547,7 +547,7 @@
 	    Log.i(getString(R.string.edit_settings_tag), LOG_MSG_SETTINGS_SAVED);
 	}
     }
-    
+
     private class BeemBroadcastReceiver extends BroadcastReceiver {
 	@Override
 	public void onReceive(Context context, Intent intent) {
--- a/src/com/beem/project/beem/utils/BeemBroadcastReceiver.java	Fri Sep 25 20:20:30 2009 +0200
+++ b/src/com/beem/project/beem/utils/BeemBroadcastReceiver.java	Fri Sep 25 22:14:53 2009 +0200
@@ -9,10 +9,16 @@
 import android.widget.Toast;
 
 /**
+ * Manage broadcast disconnect intent.
  * @author nikita
- *
  */
 public class BeemBroadcastReceiver extends BroadcastReceiver {
+    
+    /**
+     * constructor.
+     */
+    public BeemBroadcastReceiver(){
+    }
 
     /**
      * {@inheritDoc}