Merge pull request #164 from alethea/development

Daniel Gultsch created

Fix home button up navigation

Change summary

src/eu/siacs/conversations/ui/ConversationActivity.java  | 2 ++
src/eu/siacs/conversations/ui/ConversationFragment.java  | 1 +
src/eu/siacs/conversations/ui/ManageAccountActivity.java | 8 ++++++++
3 files changed, 11 insertions(+)

Detailed changes

src/eu/siacs/conversations/ui/ConversationActivity.java 🔗

@@ -262,6 +262,7 @@ public class ConversationActivity extends XmppActivity {
 			public void onPanelOpened(View arg0) {
 				paneShouldBeOpen = true;
 				getActionBar().setDisplayHomeAsUpEnabled(false);
+				getActionBar().setHomeButtonEnabled(false);
 				getActionBar().setTitle(R.string.app_name);
 				invalidateOptionsMenu();
 				hideKeyboard();
@@ -273,6 +274,7 @@ public class ConversationActivity extends XmppActivity {
 				if ((conversationList.size() > 0)
 						&& (getSelectedConversation() != null)) {
 					getActionBar().setDisplayHomeAsUpEnabled(true);
+					getActionBar().setHomeButtonEnabled(true);
 					getActionBar().setTitle(
 							getSelectedConversation().getName(useSubject));
 					invalidateOptionsMenu();

src/eu/siacs/conversations/ui/ConversationFragment.java 🔗

@@ -527,6 +527,7 @@ public class ConversationFragment extends Fragment {
 			if (!activity.shouldPaneBeOpen()) {
 				activity.getSlidingPaneLayout().closePane();
 				activity.getActionBar().setDisplayHomeAsUpEnabled(true);
+				activity.getActionBar().setHomeButtonEnabled(true);
 				activity.getActionBar().setTitle(
 						conversation.getName(useSubject));
 				activity.invalidateOptionsMenu();

src/eu/siacs/conversations/ui/ManageAccountActivity.java 🔗

@@ -380,6 +380,7 @@ public class ManageAccountActivity extends XmppActivity {
 		accountListViewAdapter.notifyDataSetChanged();
 		if ((this.accountList.size() == 0)&&(this.firstrun)) {
 			getActionBar().setDisplayHomeAsUpEnabled(false);
+			getActionBar().setHomeButtonEnabled(false);
 			addAccount();
 			this.firstrun = false;
 		}
@@ -397,6 +398,12 @@ public class ManageAccountActivity extends XmppActivity {
 		case R.id.action_add_account:
 			addAccount();
 			break;
+		case android.R.id.home:
+			if (xmppConnectionService.getConversations().size() == 0) {
+				startActivity(new Intent(getApplicationContext(),
+						ContactsActivity.class));
+			}
+			break;
 		default:
 			break;
 		}
@@ -429,6 +436,7 @@ public class ManageAccountActivity extends XmppActivity {
 			public void onAccountEdited(Account account) {
 				xmppConnectionService.createAccount(account);
 				activity.getActionBar().setDisplayHomeAsUpEnabled(true);
+				activity.getActionBar().setHomeButtonEnabled(true);
 			}
 		});
 		dialog.show(getFragmentManager(), "add_account");