# HG changeset patch # User Nikita Kozlov # Date 1255271300 -7200 # Node ID 73179276b4aeecba88731c6b7a85bd28fcf43fe4 # Parent a742b3208242b50b132a6c5f7e784ae05666a5a9 Bug: #204 resolution diff -r a742b3208242 -r 73179276b4ae src/com/beem/project/beem/ui/ChangeStatus.java --- 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()); diff -r a742b3208242 -r 73179276b4ae src/com/beem/project/beem/utils/BeemBroadcastReceiver.java --- 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));