--- a/src/com/beem/project/beem/ui/ChangeStatus.java Fri Oct 09 16:10:50 2009 +0200
+++ b/src/com/beem/project/beem/ui/ChangeStatus.java Sun Oct 11 16:28:20 2009 +0200
@@ -10,6 +10,8 @@
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
+import android.preference.PreferenceManager;
+import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
@@ -55,12 +57,60 @@
private BeemBroadcastReceiver mReceiver;
/**
- * constructor.
+ * Constructor.
*/
public ChangeStatus() {
}
/**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ setContentView(R.layout.changestatus);
+ mStatusText = (TextView) findViewById(R.id.ChangeStatusText);
+ mOk = (Button) findViewById(R.id.ChangeStatusOk);
+ mClear = (Button) findViewById(R.id.ChangeStatusClear);
+ mOk.setOnClickListener(mOnClickOk);
+ mClear.setOnClickListener(mOnClickOk);
+ mSettings = PreferenceManager.getDefaultSharedPreferences(this);
+
+ mSpinner = (Spinner) findViewById(R.id.ChangeStatusSpinner);
+ 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(mServConn);
+ mStatusText.setText(getPreferenceString(R.string.PreferenceStatusText));
+ mSpinner.setSelection(getPreferenceStatusIndex());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void onResume() {
+ super.onResume();
+ bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
+ mReceiver.setBinded();
+ this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED));
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void onPause() {
+ super.onPause();
+ Log.d("TAG", "pause");
+ this.unregisterReceiver(mReceiver);
+ if (mReceiver.isBinded())
+ unbindService(mServConn);
+ }
+
+ /**
* Return the status index from status the settings.
* @return the status index from status the settings.
*/
@@ -101,52 +151,8 @@
}
}
- /**
- * {@inheritDoc}
- */
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setContentView(R.layout.changestatus);
- mStatusText = (TextView) findViewById(R.id.ChangeStatusText);
- mOk = (Button) findViewById(R.id.ChangeStatusOk);
- mClear = (Button) findViewById(R.id.ChangeStatusClear);
- mOk.setOnClickListener(mOnClickOk);
- mClear.setOnClickListener(mOnClickOk);
- mSettings = getSharedPreferences(getString(R.string.settings_filename), MODE_PRIVATE);
- mSpinner = (Spinner) findViewById(R.id.ChangeStatusSpinner);
- 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(mServConn);
- mStatusText.setText(getPreferenceString(R.string.PreferenceStatusText));
- mSpinner.setSelection(getPreferenceStatusIndex());
- }
- /**
- * {@inheritDoc}
- */
- @Override
- protected void onResume() {
- super.onResume();
- bindService(new Intent(this, BeemService.class), mServConn, BIND_AUTO_CREATE);
- mReceiver.setBinded();
- this.registerReceiver(mReceiver, new IntentFilter(BeemBroadcastReceiver.BEEM_CONNECTION_CLOSED));
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected void onPause() {
- super.onPause();
- this.unregisterReceiver(mReceiver);
- if (mReceiver.isBinded())
- unbindService(mServConn);
- }
/**
* connection to service.
@@ -202,6 +208,7 @@
edit.commit();
if (status == Status.CONTACT_STATUS_DISCONNECT) {
stopService(new Intent(ChangeStatus.this, BeemService.class));
+ startActivity(new Intent(ChangeStatus.this, Login.class));
} else {
try {
mXmppFacade.changeStatus(status, msg.toString());
--- a/src/com/beem/project/beem/utils/BeemBroadcastReceiver.java Fri Oct 09 16:10:50 2009 +0200
+++ b/src/com/beem/project/beem/utils/BeemBroadcastReceiver.java Sun Oct 11 16:28:20 2009 +0200
@@ -4,6 +4,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.util.Log;
import android.widget.Toast;
import com.beem.project.beem.ui.Login;
@@ -35,6 +36,7 @@
*/
@Override
public void onReceive(Context context, Intent intent) {
+ Log.d("Broadcast","onREceive");
context.unbindService(mService);
mIsBinded = false;
context.startActivity(new Intent(context, Login.class));