diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java index 2bb1b2b7bc..143dc40524 100644 --- a/app/src/main/java/eu/faircode/email/ActivitySetup.java +++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java @@ -302,6 +302,14 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); drawerToggle.syncState(); + + Intent intent = getIntent(); + boolean navigate = intent.hasExtra("navigate"); + if (navigate) { + intent.removeExtra("navigate"); + setIntent(intent); + onSetupMore(intent); + } } @Override diff --git a/app/src/main/java/eu/faircode/email/FragmentPro.java b/app/src/main/java/eu/faircode/email/FragmentPro.java index 1d8afec85c..76f2e38429 100644 --- a/app/src/main/java/eu/faircode/email/FragmentPro.java +++ b/app/src/main/java/eu/faircode/email/FragmentPro.java @@ -50,6 +50,7 @@ import com.google.android.material.snackbar.Snackbar; public class FragmentPro extends FragmentBase implements SharedPreferences.OnSharedPreferenceChangeListener { private TextView tvPending; private TextView tvActivated; + private Button btnBackup; private TextView tvInfo; private CheckBox cbHide; private TextView tvList; @@ -73,6 +74,7 @@ public class FragmentPro extends FragmentBase implements SharedPreferences.OnSha tvPending = view.findViewById(R.id.tvPending); tvActivated = view.findViewById(R.id.tvActivated); + btnBackup = view.findViewById(R.id.btnBackup); tvInfo = view.findViewById(R.id.tvInfo); cbHide = view.findViewById(R.id.cbHide); tvList = view.findViewById(R.id.tvList); @@ -84,6 +86,14 @@ public class FragmentPro extends FragmentBase implements SharedPreferences.OnSha btnCheck = view.findViewById(R.id.btnCheck); + btnBackup.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(new Intent(getContext(), ActivitySetup.class).putExtra("navigate", true)); + } + }); + btnBackup.setVisibility(View.GONE); + tvInfo.setText(getString(R.string.title_pro_info) .replaceAll("^\\s+", "").replaceAll("\\s+", " ")); @@ -283,6 +293,7 @@ public class FragmentPro extends FragmentBase implements SharedPreferences.OnSha if ("pro".equals(key)) { boolean pro = ActivityBilling.isPro(getContext()); tvActivated.setVisibility(pro ? View.VISIBLE : View.GONE); + btnBackup.setVisibility(pro ? View.VISIBLE : View.GONE); cbHide.setVisibility(pro ? View.GONE : View.VISIBLE); } else if ("banner_hidden".equals(key)) { long banner_hidden = prefs.getLong("banner_hidden", 0); diff --git a/app/src/main/res/layout/fragment_pro.xml b/app/src/main/res/layout/fragment_pro.xml index dc82fb95d1..33f109281e 100644 --- a/app/src/main/res/layout/fragment_pro.xml +++ b/app/src/main/res/layout/fragment_pro.xml @@ -32,6 +32,16 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvPending" /> +