diff --git a/app/src/main/java/eu/faircode/email/ActivitySetup.java b/app/src/main/java/eu/faircode/email/ActivitySetup.java
index be62dbea5c..e4ea9df48c 100644
--- a/app/src/main/java/eu/faircode/email/ActivitySetup.java
+++ b/app/src/main/java/eu/faircode/email/ActivitySetup.java
@@ -134,6 +134,7 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
static final String ACTION_MANAGE_LOCAL_CONTACTS = BuildConfig.APPLICATION_ID + ".MANAGE_LOCAL_CONTACTS";
static final String ACTION_MANAGE_CERTIFICATES = BuildConfig.APPLICATION_ID + ".MANAGE_CERTIFICATES";
static final String ACTION_IMPORT_CERTIFICATE = BuildConfig.APPLICATION_ID + ".IMPORT_CERTIFICATE";
+ static final String ACTION_SETUP_ADVANCED = BuildConfig.APPLICATION_ID + ".SETUP_ADVANCED";
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -311,6 +312,7 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
iff.addAction(ACTION_MANAGE_LOCAL_CONTACTS);
iff.addAction(ACTION_MANAGE_CERTIFICATES);
iff.addAction(ACTION_IMPORT_CERTIFICATE);
+ iff.addAction(ACTION_SETUP_ADVANCED);
lbm.registerReceiver(receiver, iff);
}
@@ -1209,6 +1211,14 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
startActivityForResult(Helper.getChooser(this, open), REQUEST_IMPORT_CERTIFICATE);
}
+ private void onSetupAdvanced(Intent intent) {
+ new AlertDialog.Builder(this)
+ .setTitle(R.string.title_advanced_hint_title)
+ .setMessage(R.string.title_advanced_hint_message)
+ .setPositiveButton(android.R.string.ok, null)
+ .show();
+ }
+
private static Intent getIntentExport() {
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
@@ -1308,6 +1318,8 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
onManageCertificates(intent);
else if (ACTION_IMPORT_CERTIFICATE.equals(action))
onImportCertificate(intent);
+ else if (ACTION_SETUP_ADVANCED.equals(action))
+ onSetupAdvanced(intent);
}
}
};
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java
index c9b238b56c..22377fc87d 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptions.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java
@@ -19,6 +19,8 @@ package eu.faircode.email;
Copyright 2018-2019 by Marcel Bokhorst (M66B)
*/
+import android.content.Intent;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -29,6 +31,8 @@ import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
+import androidx.preference.PreferenceManager;
import androidx.viewpager.widget.ViewPager;
import com.google.android.material.tabs.TabLayout;
@@ -62,6 +66,31 @@ public class FragmentOptions extends FragmentBase {
adapter = new PagerAdapter(getChildFragmentManager());
pager.setAdapter(adapter);
+ pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ // Do nothing
+ }
+
+ @Override
+ public void onPageSelected(int position) {
+ if (position > 0) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
+ boolean setup_advanced = prefs.getBoolean("setup_advanced", false);
+ if (!setup_advanced) {
+ prefs.edit().putBoolean("setup_advanced", true).apply();
+ LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext());
+ lbm.sendBroadcast(new Intent(ActivitySetup.ACTION_SETUP_ADVANCED));
+ }
+ }
+ }
+
+ @Override
+ public void onPageScrollStateChanged(int state) {
+ // Do nothing
+ }
+ });
+
return view;
}
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java
index eeaab8c3fd..af44b63481 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java
@@ -73,7 +73,8 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc
private final static String[] RESET_QUESTIONS = new String[]{
"welcome", "crash_reports_asked", "review_asked", "review_later",
"html_always_images", "print_html_confirmed",
- "identities_asked", "cc_bcc", "inline_image_hint", "compose_reference", "send_dialog"
+ "identities_asked", "cc_bcc", "inline_image_hint", "compose_reference", "send_dialog",
+ "setup_advanced"
};
@Override
diff --git a/app/src/main/res/layout/fragment_options_behavior.xml b/app/src/main/res/layout/fragment_options_behavior.xml
index 6a221a43eb..dbca6deba0 100644
--- a/app/src/main/res/layout/fragment_options_behavior.xml
+++ b/app/src/main/res/layout/fragment_options_behavior.xml
@@ -12,18 +12,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
-
-
-
-
-
-
+ app:layout_constraintTop_toTopOf="parent" />