mirror of
https://github.com/M66B/FairEmail.git
synced 2026-01-05 12:24:26 +01:00
Integrated setup help and privacy information
This commit is contained in:
@@ -235,14 +235,13 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
|
||||
}
|
||||
}));
|
||||
|
||||
if (Helper.getIntentPrivacy().resolveActivity(pm) != null)
|
||||
menus.add(new NavMenuItem(R.drawable.baseline_account_box_24, R.string.menu_privacy, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
drawerLayout.closeDrawer(drawerContainer);
|
||||
onMenuPrivacy();
|
||||
}
|
||||
}));
|
||||
menus.add(new NavMenuItem(R.drawable.baseline_account_box_24, R.string.menu_privacy, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
drawerLayout.closeDrawer(drawerContainer);
|
||||
onMenuPrivacy();
|
||||
}
|
||||
}));
|
||||
|
||||
menus.add(new NavMenuItem(R.drawable.baseline_info_24, R.string.menu_about, new Runnable() {
|
||||
@Override
|
||||
@@ -474,7 +473,11 @@ public class ActivitySetup extends ActivityBase implements FragmentManager.OnBac
|
||||
}
|
||||
|
||||
private void onMenuPrivacy() {
|
||||
Helper.view(this, Helper.getIntentPrivacy());
|
||||
Bundle args = new Bundle();
|
||||
args.putString("name", "PRIVACY.md");
|
||||
FragmentDialogMarkdown fragment = new FragmentDialogMarkdown();
|
||||
fragment.setArguments(args);
|
||||
fragment.show(getSupportFragmentManager(), "privacy");
|
||||
}
|
||||
|
||||
private void onMenuAbout() {
|
||||
|
||||
@@ -322,14 +322,13 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||
}
|
||||
}));
|
||||
|
||||
if (Helper.getIntentPrivacy().resolveActivity(pm) != null)
|
||||
extra.add(new NavMenuItem(R.drawable.baseline_account_box_24, R.string.menu_privacy, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
drawerLayout.closeDrawer(drawerContainer);
|
||||
onMenuPrivacy();
|
||||
}
|
||||
}));
|
||||
extra.add(new NavMenuItem(R.drawable.baseline_account_box_24, R.string.menu_privacy, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
drawerLayout.closeDrawer(drawerContainer);
|
||||
onMenuPrivacy();
|
||||
}
|
||||
}));
|
||||
|
||||
extra.add(new NavMenuItem(R.drawable.baseline_info_24, R.string.menu_about, new Runnable() {
|
||||
@Override
|
||||
@@ -899,7 +898,11 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||
}
|
||||
|
||||
private void onMenuPrivacy() {
|
||||
Helper.view(this, Helper.getIntentPrivacy());
|
||||
Bundle args = new Bundle();
|
||||
args.putString("name", "PRIVACY.md");
|
||||
FragmentDialogMarkdown fragment = new FragmentDialogMarkdown();
|
||||
fragment.setArguments(args);
|
||||
fragment.show(getSupportFragmentManager(), "privacy");
|
||||
}
|
||||
|
||||
private void onMenuAbout() {
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
package eu.faircode.email;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.text.Spanned;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import io.noties.markwon.Markwon;
|
||||
|
||||
public class FragmentDialogMarkdown extends DialogFragmentEx {
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
final View dview = LayoutInflater.from(getContext()).inflate(R.layout.dialog_markdown, null);
|
||||
final TextView tvMarkdown = dview.findViewById(R.id.tvMarkdown);
|
||||
final ContentLoadingProgressBar pbWait = dview.findViewById(R.id.pbWait);
|
||||
|
||||
tvMarkdown.setText(null);
|
||||
|
||||
Dialog dialog = new Dialog(getContext());
|
||||
//dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
dialog.setContentView(dview);
|
||||
dialog.getWindow().setLayout(
|
||||
WindowManager.LayoutParams.MATCH_PARENT,
|
||||
WindowManager.LayoutParams.MATCH_PARENT);
|
||||
|
||||
new SimpleTask<Spanned>() {
|
||||
@Override
|
||||
protected void onPreExecute(Bundle args) {
|
||||
tvMarkdown.setVisibility(View.GONE);
|
||||
pbWait.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Bundle args) {
|
||||
tvMarkdown.setVisibility(View.VISIBLE);
|
||||
pbWait.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Spanned onExecute(Context context, Bundle args) throws Throwable {
|
||||
String name = args.getString("name");
|
||||
try (InputStream is = context.getAssets().open(name)) {
|
||||
byte[] buffer = new byte[is.available()];
|
||||
is.read(buffer);
|
||||
Markwon markwon = Markwon.create(context);
|
||||
return markwon.toMarkdown(new String(buffer));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onExecuted(Bundle args, Spanned markdown) {
|
||||
tvMarkdown.setText(markdown);
|
||||
tvMarkdown.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onException(Bundle args, Throwable ex) {
|
||||
Helper.unexpectedError(getFragmentManager(), ex);
|
||||
}
|
||||
}.execute(getContext(), getActivity(), getArguments(), "markdown:read");
|
||||
|
||||
return dialog;
|
||||
}
|
||||
}
|
||||
@@ -165,7 +165,6 @@ public class FragmentQuickSetup extends FragmentBase {
|
||||
@Override
|
||||
public void onPrepareOptionsMenu(Menu menu) {
|
||||
PackageManager pm = getContext().getPackageManager();
|
||||
menu.findItem(R.id.menu_help).setVisible(Helper.getIntentSetupHelp().resolveActivity(pm) != null);
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
||||
@@ -181,7 +180,11 @@ public class FragmentQuickSetup extends FragmentBase {
|
||||
}
|
||||
|
||||
private void onMenuHelp() {
|
||||
startActivity(Helper.getIntentSetupHelp());
|
||||
Bundle args = new Bundle();
|
||||
args.putString("name", "SETUP.md");
|
||||
FragmentDialogMarkdown fragment = new FragmentDialogMarkdown();
|
||||
fragment.setArguments(args);
|
||||
fragment.show(getChildFragmentManager(), "help");
|
||||
}
|
||||
|
||||
private void onSave(boolean check) {
|
||||
|
||||
@@ -141,11 +141,14 @@ public class FragmentSetup extends FragmentBase {
|
||||
}
|
||||
});
|
||||
|
||||
btnHelp.setVisibility(Helper.getIntentSetupHelp().resolveActivity(pm) == null ? View.GONE : View.VISIBLE);
|
||||
btnHelp.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
startActivity(Helper.getIntentSetupHelp());
|
||||
Bundle args = new Bundle();
|
||||
args.putString("name", "SETUP.md");
|
||||
FragmentDialogMarkdown fragment = new FragmentDialogMarkdown();
|
||||
fragment.setArguments(args);
|
||||
fragment.show(getChildFragmentManager(), "help");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -227,24 +227,12 @@ public class Helper {
|
||||
}
|
||||
}
|
||||
|
||||
static Intent getIntentSetupHelp() {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse("https://github.com/M66B/FairEmail/blob/master/SETUP.md#setup-help"));
|
||||
return intent;
|
||||
}
|
||||
|
||||
static Intent getIntentFAQ() {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse(Helper.FAQ_URI));
|
||||
return intent;
|
||||
}
|
||||
|
||||
static Intent getIntentPrivacy() {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse("https://github.com/M66B/FairEmail/blob/master/PRIVACY.md#fairemail"));
|
||||
return intent;
|
||||
}
|
||||
|
||||
static Intent getIntentOpenKeychain() {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse("https://f-droid.org/en/packages/org.sufficientlysecure.keychain/"));
|
||||
|
||||
Reference in New Issue
Block a user