From d8b80cef9fe36b44711130c9d44f4ded4081b9a9 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 9 May 2019 13:32:42 +0200 Subject: [PATCH] Add report issue to nav menu in beta releases --- .../java/eu/faircode/email/ActivityView.java | 13 ++++++++++ .../java/eu/faircode/email/FragmentAbout.java | 25 +++---------------- .../main/java/eu/faircode/email/Helper.java | 16 ++++++++++++ 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index a38ba03a5c..99f5cb577c 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -302,6 +302,15 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB } })); + if (BuildConfig.DEBUG && Helper.getIntentIssue(this).resolveActivity(pm) != null) + extra.add(new NavMenuItem(R.drawable.baseline_warning_24, R.string.menu_issue, new Runnable() { + @Override + public void run() { + drawerLayout.closeDrawer(drawerContainer); + onMenuIssue(); + } + })); + if (Helper.getIntentPrivacy().resolveActivity(pm) != null) extra.add(new NavMenuItem(R.drawable.baseline_account_box_24, R.string.menu_privacy, new Runnable() { @Override @@ -938,6 +947,10 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB Helper.view(this, this, Helper.getIntentFAQ()); } + private void onMenuIssue() { + startActivity(Helper.getIntentIssue(this)); + } + private void onMenuPrivacy() { Helper.view(this, this, Helper.getIntentPrivacy()); } diff --git a/app/src/main/java/eu/faircode/email/FragmentAbout.java b/app/src/main/java/eu/faircode/email/FragmentAbout.java index f6ee0a7ce9..c845a33818 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAbout.java +++ b/app/src/main/java/eu/faircode/email/FragmentAbout.java @@ -35,8 +35,6 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import java.io.UnsupportedEncodingException; - public class FragmentAbout extends FragmentBase { @Override @Nullable @@ -65,9 +63,10 @@ public class FragmentAbout extends FragmentBase { public void onPrepareOptionsMenu(Menu menu) { PackageManager pm = getContext().getPackageManager(); menu.findItem(R.id.menu_changelog).setVisible( - !Helper.isPlayStoreInstall(getContext()) && getIntentChangelog().resolveActivity(pm) != null); + !Helper.isPlayStoreInstall(getContext()) && + getIntentChangelog().resolveActivity(pm) != null); menu.findItem(R.id.menu_issue).setVisible( - BuildConfig.BETA_RELEASE && getIntentIssue().resolveActivity(pm) != null); + Helper.getIntentIssue(getContext()).resolveActivity(pm) != null); super.onPrepareOptionsMenu(menu); } @@ -90,7 +89,7 @@ public class FragmentAbout extends FragmentBase { } private void onMenuIssue() { - startActivity(getIntentIssue()); + startActivity(Helper.getIntentIssue(getContext())); } private Intent getIntentChangelog() { @@ -98,20 +97,4 @@ public class FragmentAbout extends FragmentBase { intent.setData(Uri.parse(BuildConfig.CHANGELOG)); return intent; } - - private Intent getIntentIssue() { - String version = BuildConfig.VERSION_NAME + "/" + - (Helper.hasValidFingerprint(getContext()) ? "1" : "3") + - (Helper.isPro(getContext()) ? "+" : ""); - Intent intent = new Intent(Intent.ACTION_SEND); - intent.setPackage(BuildConfig.APPLICATION_ID); - intent.setType("text/plain"); - try { - intent.putExtra(Intent.EXTRA_EMAIL, new String[]{Helper.myAddress().getAddress()}); - } catch (UnsupportedEncodingException ex) { - Log.w(ex); - } - intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.title_issue_subject, version)); - return intent; - } } diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 5afb3b9594..914729a8f1 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -230,6 +230,22 @@ public class Helper { return intent; } + static Intent getIntentIssue(Context context) { + String version = BuildConfig.VERSION_NAME + "/" + + (Helper.hasValidFingerprint(context) ? "1" : "3") + + (Helper.isPro(context) ? "+" : ""); + Intent intent = new Intent(Intent.ACTION_SEND); + intent.setPackage(BuildConfig.APPLICATION_ID); + intent.setType("text/plain"); + try { + intent.putExtra(Intent.EXTRA_EMAIL, new String[]{Helper.myAddress().getAddress()}); + } catch (UnsupportedEncodingException ex) { + Log.w(ex); + } + intent.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.title_issue_subject, version)); + return intent; + } + static int dp2pixels(Context context, int dp) { float scale = context.getResources().getDisplayMetrics().density; return Math.round(dp * scale);