commit
ca49603c85
|
@ -40,7 +40,8 @@
|
||||||
android:name="eu.siacs.conversations.ui.ConversationActivity"
|
android:name="eu.siacs.conversations.ui.ConversationActivity"
|
||||||
android:configChanges="orientation|screenSize"
|
android:configChanges="orientation|screenSize"
|
||||||
android:label="@string/title_activity_conversations"
|
android:label="@string/title_activity_conversations"
|
||||||
android:windowSoftInputMode="stateHidden" >
|
android:windowSoftInputMode="stateHidden"
|
||||||
|
android:launchMode="singleTask" >
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
|
|
@ -398,18 +398,31 @@ public class ManageAccountActivity extends XmppActivity {
|
||||||
case R.id.action_add_account:
|
case R.id.action_add_account:
|
||||||
addAccount();
|
addAccount();
|
||||||
break;
|
break;
|
||||||
case android.R.id.home:
|
|
||||||
if (xmppConnectionService.getConversations().size() == 0) {
|
|
||||||
startActivity(new Intent(getApplicationContext(),
|
|
||||||
ContactsActivity.class));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onNavigateUp() {
|
||||||
|
if (xmppConnectionService.getConversations().size() == 0) {
|
||||||
|
Intent contactsIntent = new Intent(this, ContactsActivity.class);
|
||||||
|
contactsIntent.setFlags(
|
||||||
|
// if activity exists in stack, pop the stack and go back to it
|
||||||
|
Intent.FLAG_ACTIVITY_CLEAR_TOP |
|
||||||
|
// otherwise, make a new task for it
|
||||||
|
Intent.FLAG_ACTIVITY_NEW_TASK |
|
||||||
|
// don't use the new activity animation; finish animation runs instead
|
||||||
|
Intent.FLAG_ACTIVITY_NO_ANIMATION);
|
||||||
|
startActivity(contactsIntent);
|
||||||
|
finish();
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return super.onNavigateUp();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void editAccount(Account account) {
|
private void editAccount(Account account) {
|
||||||
EditAccount dialog = new EditAccount();
|
EditAccount dialog = new EditAccount();
|
||||||
dialog.setAccount(account);
|
dialog.setAccount(account);
|
||||||
|
|
|
@ -156,7 +156,9 @@ public abstract class XmppActivity extends Activity {
|
||||||
}
|
}
|
||||||
viewConversationIntent.setType(ConversationActivity.VIEW_CONVERSATION);
|
viewConversationIntent.setType(ConversationActivity.VIEW_CONVERSATION);
|
||||||
if (newTask) {
|
if (newTask) {
|
||||||
viewConversationIntent.setFlags(viewConversationIntent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_TASK_ON_HOME );
|
viewConversationIntent.setFlags(viewConversationIntent.getFlags()
|
||||||
|
| Intent.FLAG_ACTIVITY_NEW_TASK
|
||||||
|
| Intent.FLAG_ACTIVITY_SINGLE_TOP);
|
||||||
} else {
|
} else {
|
||||||
viewConversationIntent.setFlags(viewConversationIntent.getFlags()
|
viewConversationIntent.setFlags(viewConversationIntent.getFlags()
|
||||||
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||||
|
|
Loading…
Reference in a new issue