commit 33276a9f5104abf76cff54b2b737b739046bc269 Author: bim dsnake@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
tor-commits@lists.torproject.org