[tor-commits] [orbot/master] MOAT Errors won't disappear on device rotation

n8fr8 at torproject.org n8fr8 at torproject.org
Mon Aug 24 21:02:51 UTC 2020


commit 33276a9f5104abf76cff54b2b737b739046bc269
Author: bim <dsnake at protonmail.com>
Date:   Sun May 10 18:51:37 2020 -0400

    MOAT Errors won't disappear on device rotation
---
 .../org/torproject/android/OrbotMainActivity.java  |  4 +--
 .../android/ui/dialog/AboutDialogFragment.java     |  2 +-
 .../android/ui/dialog/MoatErrorDialogFragment.java | 32 ++++++++++++++++++++++
 .../android/ui/onboarding/MoatActivity.java        |  9 ++----
 app/src/main/res/layout/layout_about.xml           |  6 ++--
 5 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/org/torproject/android/OrbotMainActivity.java b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
index 837d7e60..c1359457 100644
--- a/app/src/main/java/org/torproject/android/OrbotMainActivity.java
+++ b/app/src/main/java/org/torproject/android/OrbotMainActivity.java
@@ -459,9 +459,7 @@ public class OrbotMainActivity extends AppCompatActivity
             Intent intent = new Intent(OrbotMainActivity.this, SettingsPreferences.class);
             startActivityForResult(intent, REQUEST_SETTINGS);
         } else if (item.getItemId() == R.id.menu_exit) {
-            //exit app
-            doExit();
-
+            doExit(); // exit appp
         } else if (item.getItemId() == R.id.menu_about) {
             new AboutDialogFragment().show(getSupportFragmentManager(), AboutDialogFragment.TAG);
         } else if (item.getItemId() == R.id.menu_scan) {
diff --git a/app/src/main/java/org/torproject/android/ui/dialog/AboutDialogFragment.java b/app/src/main/java/org/torproject/android/ui/dialog/AboutDialogFragment.java
index 38b9821a..10ad06b6 100644
--- a/app/src/main/java/org/torproject/android/ui/dialog/AboutDialogFragment.java
+++ b/app/src/main/java/org/torproject/android/ui/dialog/AboutDialogFragment.java
@@ -46,7 +46,7 @@ public class AboutDialogFragment extends DialogFragment {
         boolean buildAboutText = true;
 
         if (savedInstanceState != null) {
-            String tvAboutText = savedInstanceState.getParcelable(BUNDLE_KEY_TV_ABOUT_TEXT);
+            String tvAboutText = savedInstanceState.getString(BUNDLE_KEY_TV_ABOUT_TEXT);
             if (tvAboutText != null) {
                 buildAboutText = false;
                 tvAbout.setText(tvAboutText);
diff --git a/app/src/main/java/org/torproject/android/ui/dialog/MoatErrorDialogFragment.java b/app/src/main/java/org/torproject/android/ui/dialog/MoatErrorDialogFragment.java
new file mode 100644
index 00000000..ad8f9477
--- /dev/null
+++ b/app/src/main/java/org/torproject/android/ui/dialog/MoatErrorDialogFragment.java
@@ -0,0 +1,32 @@
+package org.torproject.android.ui.dialog;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.os.Bundle;
+
+import androidx.fragment.app.DialogFragment;
+
+import org.torproject.android.R;
+
+public class MoatErrorDialogFragment extends DialogFragment {
+
+    public static final String TAG = MoatErrorDialogFragment.class.getSimpleName();
+    private static final String BUNDLE_KEY_MSG = "msg";
+
+    public static MoatErrorDialogFragment newInstance(String message) {
+        MoatErrorDialogFragment fragment = new MoatErrorDialogFragment();
+        Bundle args = new Bundle();
+        args.putString(BUNDLE_KEY_MSG, message);
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        return new AlertDialog.Builder(getContext())
+                .setTitle(R.string.error)
+                .setMessage(getArguments().getString(BUNDLE_KEY_MSG))
+                .setNegativeButton(R.string.btn_okay, null)
+                .create();
+    }
+}
diff --git a/app/src/main/java/org/torproject/android/ui/onboarding/MoatActivity.java b/app/src/main/java/org/torproject/android/ui/onboarding/MoatActivity.java
index df390a2f..83235e92 100644
--- a/app/src/main/java/org/torproject/android/ui/onboarding/MoatActivity.java
+++ b/app/src/main/java/org/torproject/android/ui/onboarding/MoatActivity.java
@@ -26,7 +26,6 @@ import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.appcompat.app.ActionBar;
-import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.appcompat.widget.Toolbar;
 import androidx.localbroadcastmanager.content.LocalBroadcastManager;
@@ -46,6 +45,7 @@ import org.torproject.android.R;
 import org.torproject.android.service.OrbotService;
 import org.torproject.android.service.TorServiceConstants;
 import org.torproject.android.service.util.Prefs;
+import org.torproject.android.ui.dialog.MoatErrorDialogFragment;
 
 /**
  Implements the MOAT protocol: Fetches OBFS4 bridges via Meek Azure.
@@ -435,11 +435,8 @@ public class MoatActivity extends AppCompatActivity implements View.OnClickListe
         mBtRequest.setEnabled(mIvCaptcha.getVisibility() == View.VISIBLE);
 
         if (!isFinishing()) {
-            new AlertDialog.Builder(this)
-                    .setTitle(R.string.error)
-                    .setMessage(TextUtils.isEmpty(detail) ? exception.getLocalizedMessage() : detail)
-                    .setNegativeButton(R.string.btn_okay, null)
-                    .show();
+            String message = TextUtils.isEmpty(detail) ? exception.getLocalizedMessage() : detail;
+            MoatErrorDialogFragment.newInstance(message).show(getSupportFragmentManager(), MoatErrorDialogFragment.TAG);
         }
     }
 }
diff --git a/app/src/main/res/layout/layout_about.xml b/app/src/main/res/layout/layout_about.xml
index ce1792b3..dca409c9 100644
--- a/app/src/main/res/layout/layout_about.xml
+++ b/app/src/main/res/layout/layout_about.xml
@@ -1,5 +1,7 @@
-<?xml version="1.0" encoding="utf-8"?>)
-            archivesBaseName = "Orbot-$versionName"
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
     android:orientation="vertical">
 
     <ScrollView





More information about the tor-commits mailing list