diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java index c960ffe9bf06430c71b829f3b626adab5dfbb6f6..ea539e0662adc0fb45607a86ef668228409e0719 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/KeyAgreementActivity.java @@ -9,6 +9,7 @@ import android.content.IntentFilter; import android.os.Bundle; import android.support.annotation.UiThread; import android.support.v4.app.ActivityCompat; +import android.support.v4.app.FragmentManager; import android.support.v4.content.ContextCompat; import android.support.v7.app.AlertDialog.Builder; import android.support.v7.widget.Toolbar; @@ -206,11 +207,14 @@ public class KeyAgreementActivity extends BriarActivity implements private void showQrCodeFragment() { // FIXME #824 - BaseFragment f = ShowQrCodeFragment.newInstance(); - getSupportFragmentManager().beginTransaction() - .replace(R.id.fragmentContainer, f, f.getUniqueTag()) - .addToBackStack(f.getUniqueTag()) - .commit(); + FragmentManager fm = getSupportFragmentManager(); + if (fm.findFragmentByTag(ShowQrCodeFragment.TAG) == null) { + BaseFragment f = ShowQrCodeFragment.newInstance(); + fm.beginTransaction() + .replace(R.id.fragmentContainer, f, f.getUniqueTag()) + .addToBackStack(f.getUniqueTag()) + .commit(); + } } private boolean checkPermissions() { diff --git a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ShowQrCodeFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ShowQrCodeFragment.java index b89f630d105a40418fad4ee9f6e43a3ddcb047e5..b738425c310345d42a8b4b2b64abb9893995054f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ShowQrCodeFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/keyagreement/ShowQrCodeFragment.java @@ -61,7 +61,8 @@ import static java.util.logging.Level.WARNING; public class ShowQrCodeFragment extends BaseEventFragment implements QrCodeDecoder.ResultCallback { - private static final String TAG = ShowQrCodeFragment.class.getName(); + static final String TAG = ShowQrCodeFragment.class.getName(); + private static final Logger LOG = Logger.getLogger(TAG); private static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1");