mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-09 18:43:23 +02:00
Link to privacy policies
This commit is contained in:
@@ -172,6 +172,7 @@ public class EmailProvider implements Parcelable {
|
||||
provider.oauth.authorizationEndpoint = xml.getAttributeValue(null, "authorizationEndpoint");
|
||||
provider.oauth.tokenEndpoint = xml.getAttributeValue(null, "tokenEndpoint");
|
||||
provider.oauth.redirectUri = xml.getAttributeValue(null, "redirectUri");
|
||||
provider.oauth.privacy = xml.getAttributeValue(null, "privacy");
|
||||
} else
|
||||
throw new IllegalAccessException(name);
|
||||
} else if (eventType == XmlPullParser.END_TAG) {
|
||||
@@ -802,5 +803,6 @@ public class EmailProvider implements Parcelable {
|
||||
String authorizationEndpoint;
|
||||
String tokenEndpoint;
|
||||
String redirectUri;
|
||||
String privacy;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ import android.database.Cursor;
|
||||
import android.graphics.Paint;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.provider.ContactsContract;
|
||||
import android.text.TextUtils;
|
||||
@@ -66,6 +67,8 @@ public class FragmentGmail extends FragmentBase {
|
||||
private ViewGroup view;
|
||||
private ScrollView scroll;
|
||||
|
||||
private TextView tvTitle;
|
||||
private TextView tvPrivacy;
|
||||
private Button btnGrant;
|
||||
private TextView tvGranted;
|
||||
private EditText etName;
|
||||
@@ -80,6 +83,8 @@ public class FragmentGmail extends FragmentBase {
|
||||
|
||||
private Group grpError;
|
||||
|
||||
private static final String PRIVACY_URI = "https://policies.google.com/privacy";
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
@@ -90,6 +95,8 @@ public class FragmentGmail extends FragmentBase {
|
||||
scroll = view.findViewById(R.id.scroll);
|
||||
|
||||
// Get controls
|
||||
tvTitle = view.findViewById(R.id.tvTitle);
|
||||
tvPrivacy = view.findViewById(R.id.tvPrivacy);
|
||||
btnGrant = view.findViewById(R.id.btnGrant);
|
||||
tvGranted = view.findViewById(R.id.tvGranted);
|
||||
etName = view.findViewById(R.id.etName);
|
||||
@@ -106,6 +113,14 @@ public class FragmentGmail extends FragmentBase {
|
||||
|
||||
// Wire controls
|
||||
|
||||
tvPrivacy.setPaintFlags(tvPrivacy.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
|
||||
tvPrivacy.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Helper.view(v.getContext(), Uri.parse(PRIVACY_URI), false);
|
||||
}
|
||||
});
|
||||
|
||||
btnGrant.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -170,6 +185,7 @@ public class FragmentGmail extends FragmentBase {
|
||||
|
||||
// Initialize
|
||||
Helper.setViewsEnabled(view, false);
|
||||
tvTitle.setText(getString(R.string.title_setup_oauth_rationale, "Gmail"));
|
||||
pbSelect.setVisibility(View.GONE);
|
||||
grpError.setVisibility(View.GONE);
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.graphics.Paint;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
@@ -92,12 +93,14 @@ import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_OAUTH;
|
||||
public class FragmentOAuth extends FragmentBase {
|
||||
private String id;
|
||||
private String name;
|
||||
private String privacy;
|
||||
private boolean askAccount;
|
||||
|
||||
private ViewGroup view;
|
||||
private ScrollView scroll;
|
||||
|
||||
private TextView tvGrantHint;
|
||||
private TextView tvTitle;
|
||||
private TextView tvPrivacy;
|
||||
private EditText etName;
|
||||
private EditText etEmail;
|
||||
private CheckBox cbUpdate;
|
||||
@@ -122,6 +125,7 @@ public class FragmentOAuth extends FragmentBase {
|
||||
Bundle args = getArguments();
|
||||
id = args.getString("id");
|
||||
name = args.getString("name");
|
||||
privacy = args.getString("privacy");
|
||||
askAccount = args.getBoolean("askAccount", false);
|
||||
}
|
||||
|
||||
@@ -135,7 +139,8 @@ public class FragmentOAuth extends FragmentBase {
|
||||
scroll = view.findViewById(R.id.scroll);
|
||||
|
||||
// Get controls
|
||||
tvGrantHint = view.findViewById(R.id.tvGrantHint);
|
||||
tvTitle = view.findViewById(R.id.tvTitle);
|
||||
tvPrivacy = view.findViewById(R.id.tvPrivacy);
|
||||
etName = view.findViewById(R.id.etName);
|
||||
etEmail = view.findViewById(R.id.etEmail);
|
||||
cbUpdate = view.findViewById(R.id.cbUpdate);
|
||||
@@ -153,6 +158,15 @@ public class FragmentOAuth extends FragmentBase {
|
||||
|
||||
// Wire controls
|
||||
|
||||
tvPrivacy.setVisibility(TextUtils.isEmpty(privacy) ? View.GONE : View.VISIBLE);
|
||||
tvPrivacy.setPaintFlags(tvPrivacy.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
|
||||
tvPrivacy.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Helper.view(v.getContext(), Uri.parse(privacy), false);
|
||||
}
|
||||
});
|
||||
|
||||
btnOAuth.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -168,7 +182,7 @@ public class FragmentOAuth extends FragmentBase {
|
||||
});
|
||||
|
||||
// Initialize
|
||||
tvGrantHint.setText(getString(R.string.title_setup_oauth_rationale, name));
|
||||
tvTitle.setText(getString(R.string.title_setup_oauth_rationale, name));
|
||||
etName.setVisibility(askAccount ? View.VISIBLE : View.GONE);
|
||||
etEmail.setVisibility(askAccount ? View.VISIBLE : View.GONE);
|
||||
pbOAuth.setVisibility(View.GONE);
|
||||
|
||||
@@ -21,6 +21,7 @@ package eu.faircode.email;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Paint;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
@@ -60,6 +61,7 @@ public class FragmentQuickSetup extends FragmentBase {
|
||||
private ViewGroup view;
|
||||
private ScrollView scroll;
|
||||
|
||||
private TextView tvPrivacy;
|
||||
private EditText etName;
|
||||
private EditText etEmail;
|
||||
private TextInputLayout tilPassword;
|
||||
@@ -83,6 +85,8 @@ public class FragmentQuickSetup extends FragmentBase {
|
||||
private Group grpSetup;
|
||||
private Group grpError;
|
||||
|
||||
private static final String PRIVACY_URI = "https://www.mozilla.org/privacy/";
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
@@ -93,6 +97,7 @@ public class FragmentQuickSetup extends FragmentBase {
|
||||
scroll = view.findViewById(R.id.scroll);
|
||||
|
||||
// Get controls
|
||||
tvPrivacy = view.findViewById(R.id.tvPrivacy);
|
||||
etName = view.findViewById(R.id.etName);
|
||||
etEmail = view.findViewById(R.id.etEmail);
|
||||
tilPassword = view.findViewById(R.id.tilPassword);
|
||||
@@ -118,6 +123,14 @@ public class FragmentQuickSetup extends FragmentBase {
|
||||
|
||||
// Wire controls
|
||||
|
||||
tvPrivacy.setPaintFlags(tvPrivacy.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
|
||||
tvPrivacy.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Helper.view(v.getContext(), Uri.parse(PRIVACY_URI), false);
|
||||
}
|
||||
});
|
||||
|
||||
tilPassword.setHintEnabled(false);
|
||||
|
||||
tilPassword.getEditText().setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
||||
|
||||
@@ -195,6 +195,7 @@ public class FragmentSetup extends FragmentBase {
|
||||
.setIntent(new Intent(ActivitySetup.ACTION_QUICK_OAUTH)
|
||||
.putExtra("id", provider.id)
|
||||
.putExtra("name", provider.description)
|
||||
.putExtra("privacy", provider.oauth.privacy)
|
||||
.putExtra("askAccount", provider.oauth.askAccount));
|
||||
int resid = context.getResources()
|
||||
.getIdentifier("provider_" + provider.id, "drawable", context.getPackageName());
|
||||
|
||||
Reference in New Issue
Block a user