mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 03:09:04 +01:00
Fixed crash when rotating screen with dialog visible.
Fixes issue #3612299.
This commit is contained in:
@@ -29,6 +29,8 @@ import net.sf.briar.api.messaging.GroupId;
|
||||
import roboguice.activity.RoboFragmentActivity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.Button;
|
||||
@@ -53,6 +55,8 @@ SelectContactsDialog.Listener {
|
||||
private RadioButton visibleToAll = null, visibleToSome = null;
|
||||
private Button doneButton = null;
|
||||
private ProgressBar progress = null;
|
||||
private NoContactsDialog noContactsDialog = null;
|
||||
private SelectContactsDialog selectContactsDialog = null;
|
||||
|
||||
// Fields that are accessed from background threads must be volatile
|
||||
@Inject private volatile DatabaseComponent db;
|
||||
@@ -124,6 +128,17 @@ SelectContactsDialog.Listener {
|
||||
layout.addView(progress);
|
||||
|
||||
setContentView(layout);
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
Fragment f = fm.findFragmentByTag("NoContactsDialog");
|
||||
if(f == null) noContactsDialog = new NoContactsDialog();
|
||||
else noContactsDialog = (NoContactsDialog) f;
|
||||
noContactsDialog.setListener(this);
|
||||
|
||||
f = fm.findFragmentByTag("SelectContactsDialog");
|
||||
if(f == null) selectContactsDialog = new SelectContactsDialog();
|
||||
else selectContactsDialog = (SelectContactsDialog) f;
|
||||
selectContactsDialog.setListener(this);
|
||||
}
|
||||
|
||||
public void onClick(View view) {
|
||||
@@ -173,17 +188,12 @@ SelectContactsDialog.Listener {
|
||||
private void displayContacts(final Collection<Contact> contacts) {
|
||||
runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if(contacts.isEmpty()) {
|
||||
NoContactsDialog dialog = new NoContactsDialog();
|
||||
dialog.setListener(ConfigureBlogActivity.this);
|
||||
dialog.show(getSupportFragmentManager(),
|
||||
"NoContactsDialog");
|
||||
noContactsDialog.show(fm, "NoContactsDialog");
|
||||
} else {
|
||||
SelectContactsDialog dialog = new SelectContactsDialog();
|
||||
dialog.setListener(ConfigureBlogActivity.this);
|
||||
dialog.setContacts(contacts);
|
||||
dialog.show(getSupportFragmentManager(),
|
||||
"SelectContactsDialog");
|
||||
selectContactsDialog.setContacts(contacts);
|
||||
selectContactsDialog.show(fm, "SelectContactsDialog");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -37,6 +37,8 @@ import net.sf.briar.api.messaging.LocalGroup;
|
||||
import roboguice.activity.RoboFragmentActivity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
@@ -65,6 +67,8 @@ SelectContactsDialog.Listener {
|
||||
private RadioButton visibleToAll = null, visibleToSome = null;
|
||||
private Button createButton = null;
|
||||
private ProgressBar progress = null;
|
||||
private NoContactsDialog noContactsDialog = null;
|
||||
private SelectContactsDialog selectContactsDialog = null;
|
||||
|
||||
// Fields that are accessed from background threads must be volatile
|
||||
@Inject private volatile CryptoComponent crypto;
|
||||
@@ -132,6 +136,17 @@ SelectContactsDialog.Listener {
|
||||
layout.addView(progress);
|
||||
|
||||
setContentView(layout);
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
Fragment f = fm.findFragmentByTag("NoContactsDialog");
|
||||
if(f == null) noContactsDialog = new NoContactsDialog();
|
||||
else noContactsDialog = (NoContactsDialog) f;
|
||||
noContactsDialog.setListener(this);
|
||||
|
||||
f = fm.findFragmentByTag("SelectContactsDialog");
|
||||
if(f == null) selectContactsDialog = new SelectContactsDialog();
|
||||
else selectContactsDialog = (SelectContactsDialog) f;
|
||||
selectContactsDialog.setListener(this);
|
||||
}
|
||||
|
||||
private void enableOrDisableCreateButton() {
|
||||
@@ -206,17 +221,12 @@ SelectContactsDialog.Listener {
|
||||
private void displayContacts(final Collection<Contact> contacts) {
|
||||
runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if(contacts.isEmpty()) {
|
||||
NoContactsDialog dialog = new NoContactsDialog();
|
||||
dialog.setListener(CreateBlogActivity.this);
|
||||
dialog.show(getSupportFragmentManager(),
|
||||
"NoContactsDialog");
|
||||
noContactsDialog.show(fm, "NoContactsDialog");
|
||||
} else {
|
||||
SelectContactsDialog dialog = new SelectContactsDialog();
|
||||
dialog.setListener(CreateBlogActivity.this);
|
||||
dialog.setContacts(contacts);
|
||||
dialog.show(getSupportFragmentManager(),
|
||||
"SelectContactsDialog");
|
||||
selectContactsDialog.setContacts(contacts);
|
||||
selectContactsDialog.show(fm, "SelectContactsDialog");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -29,6 +29,8 @@ import net.sf.briar.api.messaging.GroupId;
|
||||
import roboguice.activity.RoboFragmentActivity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.Button;
|
||||
@@ -53,6 +55,8 @@ SelectContactsDialog.Listener {
|
||||
private RadioButton visibleToAll = null, visibleToSome = null;
|
||||
private Button doneButton = null;
|
||||
private ProgressBar progress = null;
|
||||
private NoContactsDialog noContactsDialog = null;
|
||||
private SelectContactsDialog selectContactsDialog = null;
|
||||
|
||||
// Fields that are accessed from background threads must be volatile
|
||||
@Inject private volatile DatabaseComponent db;
|
||||
@@ -122,6 +126,17 @@ SelectContactsDialog.Listener {
|
||||
layout.addView(progress);
|
||||
|
||||
setContentView(layout);
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
Fragment f = fm.findFragmentByTag("NoContactsDialog");
|
||||
if(f == null) noContactsDialog = new NoContactsDialog();
|
||||
else noContactsDialog = (NoContactsDialog) f;
|
||||
noContactsDialog.setListener(this);
|
||||
|
||||
f = fm.findFragmentByTag("SelectContactsDialog");
|
||||
if(f == null) selectContactsDialog = new SelectContactsDialog();
|
||||
else selectContactsDialog = (SelectContactsDialog) f;
|
||||
selectContactsDialog.setListener(this);
|
||||
}
|
||||
|
||||
public void onClick(View view) {
|
||||
@@ -171,17 +186,12 @@ SelectContactsDialog.Listener {
|
||||
private void displayContacts(final Collection<Contact> contacts) {
|
||||
runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if(contacts.isEmpty()) {
|
||||
NoContactsDialog dialog = new NoContactsDialog();
|
||||
dialog.setListener(ConfigureGroupActivity.this);
|
||||
dialog.show(getSupportFragmentManager(),
|
||||
"NoContactsDialog");
|
||||
noContactsDialog.show(fm, "NoContactsDialog");
|
||||
} else {
|
||||
SelectContactsDialog dialog = new SelectContactsDialog();
|
||||
dialog.setListener(ConfigureGroupActivity.this);
|
||||
dialog.setContacts(contacts);
|
||||
dialog.show(getSupportFragmentManager(),
|
||||
"SelectContactsDialog");
|
||||
selectContactsDialog.setContacts(contacts);
|
||||
selectContactsDialog.show(fm, "SelectContactsDialog");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -34,6 +34,8 @@ import net.sf.briar.api.messaging.GroupFactory;
|
||||
import roboguice.activity.RoboFragmentActivity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
@@ -61,6 +63,8 @@ SelectContactsDialog.Listener {
|
||||
private RadioButton visibleToAll = null, visibleToSome = null;
|
||||
private Button createButton = null;
|
||||
private ProgressBar progress = null;
|
||||
private NoContactsDialog noContactsDialog = null;
|
||||
private SelectContactsDialog selectContactsDialog = null;
|
||||
|
||||
// Fields that are accessed from background threads must be volatile
|
||||
@Inject private volatile GroupFactory groupFactory;
|
||||
@@ -126,6 +130,17 @@ SelectContactsDialog.Listener {
|
||||
layout.addView(progress);
|
||||
|
||||
setContentView(layout);
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
Fragment f = fm.findFragmentByTag("NoContactsDialog");
|
||||
if(f == null) noContactsDialog = new NoContactsDialog();
|
||||
else noContactsDialog = (NoContactsDialog) f;
|
||||
noContactsDialog.setListener(this);
|
||||
|
||||
f = fm.findFragmentByTag("SelectContactsDialog");
|
||||
if(f == null) selectContactsDialog = new SelectContactsDialog();
|
||||
else selectContactsDialog = (SelectContactsDialog) f;
|
||||
selectContactsDialog.setListener(this);
|
||||
}
|
||||
|
||||
private void enableOrDisableCreateButton() {
|
||||
@@ -215,17 +230,12 @@ SelectContactsDialog.Listener {
|
||||
private void displayContacts(final Collection<Contact> contacts) {
|
||||
runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
if(contacts.isEmpty()) {
|
||||
NoContactsDialog dialog = new NoContactsDialog();
|
||||
dialog.setListener(CreateGroupActivity.this);
|
||||
dialog.show(getSupportFragmentManager(),
|
||||
"NoContactsDialog");
|
||||
noContactsDialog.show(fm, "NoContactsDialog");
|
||||
} else {
|
||||
SelectContactsDialog dialog = new SelectContactsDialog();
|
||||
dialog.setListener(CreateGroupActivity.this);
|
||||
dialog.setContacts(contacts);
|
||||
dialog.show(getSupportFragmentManager(),
|
||||
"SelectContactsDialog");
|
||||
selectContactsDialog.setContacts(contacts);
|
||||
selectContactsDialog.show(fm, "SelectContactsDialog");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -34,6 +34,8 @@ import net.sf.briar.api.lifecycle.LifecycleManager;
|
||||
import roboguice.activity.RoboFragmentActivity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.ImageButton;
|
||||
@@ -51,6 +53,7 @@ implements OnClickListener, DatabaseListener, NoContactsDialog.Listener {
|
||||
private ConversationListAdapter adapter = null;
|
||||
private ListView list = null;
|
||||
private ListLoadingProgressBar loading = null;
|
||||
private NoContactsDialog noContactsDialog = null;
|
||||
|
||||
// Fields that are accessed from background threads must be volatile
|
||||
@Inject private volatile DatabaseComponent db;
|
||||
@@ -87,6 +90,12 @@ implements OnClickListener, DatabaseListener, NoContactsDialog.Listener {
|
||||
layout.addView(composeButton);
|
||||
|
||||
setContentView(layout);
|
||||
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
Fragment f = fm.findFragmentByTag("NoContactsDialog");
|
||||
if(f == null) noContactsDialog = new NoContactsDialog();
|
||||
else noContactsDialog = (NoContactsDialog) f;
|
||||
noContactsDialog.setListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -186,9 +195,8 @@ implements OnClickListener, DatabaseListener, NoContactsDialog.Listener {
|
||||
|
||||
public void onClick(View view) {
|
||||
if(adapter.isEmpty()) {
|
||||
NoContactsDialog dialog = new NoContactsDialog();
|
||||
dialog.setListener(this);
|
||||
dialog.show(getSupportFragmentManager(), "NoContactsDialog");
|
||||
FragmentManager fm = getSupportFragmentManager();
|
||||
noContactsDialog.show(fm, "NoContactsDialog");
|
||||
} else {
|
||||
startActivity(new Intent(this, WritePrivateMessageActivity.class));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user