Feature #316
authorNikita Kozlov <nikita@beem-project.com>
Sun, 16 Jan 2011 11:58:53 +0100
changeset 842 71bb53b42419
parent 841 b5a404ef40f6
child 843 ddaa0b718f2a
Feature #316 Use the last used status when beem start
src/com/beem/project/beem/BeemService.java
src/com/beem/project/beem/service/XmppConnectionAdapter.java
src/com/beem/project/beem/ui/ChangeStatus.java
--- a/src/com/beem/project/beem/BeemService.java	Mon Jan 03 00:49:06 2011 +0100
+++ b/src/com/beem/project/beem/BeemService.java	Sun Jan 16 11:58:53 2011 +0100
@@ -231,7 +231,6 @@
     @Override
     public void onDestroy() {
 	super.onDestroy();
-	resetStatus();
 	mNotificationManager.cancelAll();
 	unregisterReceiver(mReceiver);
 	mSettings.unregisterOnSharedPreferenceChangeListener(mPreferenceListener);
--- a/src/com/beem/project/beem/service/XmppConnectionAdapter.java	Mon Jan 03 00:49:06 2011 +0100
+++ b/src/com/beem/project/beem/service/XmppConnectionAdapter.java	Sun Jan 16 11:58:53 2011 +0100
@@ -115,6 +115,7 @@
     private BeemApplication mApplication;
     private AvatarManager mAvatarManager;
     private PepSubManager mPepManager;
+    private SharedPreferences mPref;
     private final RemoteCallbackList<IBeemConnectionListener> mRemoteConnListeners =
 	new RemoteCallbackList<IBeemConnectionListener>();
     private final SubscribePacketListener mSubscribePacketListener = new SubscribePacketListener();
@@ -163,13 +164,13 @@
 	if (ctx instanceof BeemApplication) {
 	    mApplication = (BeemApplication) ctx;
 	}
-	SharedPreferences pref = mService.getServicePreference();
+	mPref = mService.getServicePreference();
 	try {
-	    mPreviousPriority = Integer.parseInt(pref.getString("settings_key_priority", "0"));
-	    mResource = pref.getString("settings_key_resource", "BEEM");
+	    mPreviousPriority = Integer.parseInt(mPref.getString("settings_key_priority", "0"));
 	} catch (NumberFormatException ex) {
 	    mPreviousPriority = 0;
 	}
+	mResource = mPref.getString("settings_key_resource", "BEEM");
     }
 
     /**
@@ -238,13 +239,14 @@
 	    mAdaptee.login(mLogin, mPassword, mResource);
 	    mChatManager = new BeemChatManager(mAdaptee.getChatManager(), mService);
 	    mPrivacyListManager = new PrivacyListManagerAdapter(PrivacyListManager.getInstanceFor(mAdaptee));
-	    mService.resetStatus();
 	    mService.initJingle(mAdaptee);
 	    discoverServerFeatures();
 
 	    mRoster = new RosterAdapter(mAdaptee.getRoster(), mService, mAvatarManager);
 	    mApplication.setConnected(true);
-	    changeStatus(Status.CONTACT_STATUS_AVAILABLE, mService.getServicePreference().getString("status_text", ""));
+	    int mode = mPref.getInt(BeemApplication.STATUS_KEY, 0);
+	    String status = mPref.getString(BeemApplication.STATUS_TEXT_KEY, "");
+	    changeStatus(mode, status);
 	    return true;
 	} catch (XMPPException e) {
 	    Log.e(TAG, "Error while connecting", e);
--- a/src/com/beem/project/beem/ui/ChangeStatus.java	Mon Jan 03 00:49:06 2011 +0100
+++ b/src/com/beem/project/beem/ui/ChangeStatus.java	Sun Jan 16 11:58:53 2011 +0100
@@ -163,7 +163,6 @@
     @Override
     protected void onPause() {
 	super.onPause();
-	Log.d("TAG", "pause");
 	unbindService(mServConn);
     }