diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index 05292c87cd..62fb3406d0 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -47,7 +47,6 @@ import android.widget.RadioGroup; import android.widget.ScrollView; import android.widget.Spinner; import android.widget.TextView; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -72,7 +71,6 @@ import javax.mail.Folder; import static android.app.Activity.RESULT_OK; import static com.google.android.material.textfield.TextInputLayout.END_ICON_NONE; import static com.google.android.material.textfield.TextInputLayout.END_ICON_PASSWORD_TOGGLE; -import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_GMAIL; import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_OAUTH; import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_PASSWORD; @@ -96,7 +94,6 @@ public class FragmentAccount extends FragmentBase { private TextView tvCharacters; private Button btnCertificate; private TextView tvCertificate; - private Button btnOAuth; private EditText etRealm; private EditText etName; @@ -201,7 +198,6 @@ public class FragmentAccount extends FragmentBase { tvCharacters = view.findViewById(R.id.tvCharacters); btnCertificate = view.findViewById(R.id.btnCertificate); tvCertificate = view.findViewById(R.id.tvCertificate); - btnOAuth = view.findViewById(R.id.btnOAuth); etRealm = view.findViewById(R.id.etRealm); etName = view.findViewById(R.id.etName); @@ -289,7 +285,6 @@ public class FragmentAccount extends FragmentBase { tilPassword.getEditText().setText(null); certificate = null; tvCertificate.setText(R.string.title_optional); - btnOAuth.setEnabled(false); etRealm.setText(null); cbTrust.setChecked(false); @@ -363,13 +358,6 @@ public class FragmentAccount extends FragmentBase { } }); - btnOAuth.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - onAuth(); - } - }); - btnColor.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -1309,49 +1297,6 @@ public class FragmentAccount extends FragmentBase { }.execute(this, args, "account:save"); } - private void onAuth() { - Bundle args = new Bundle(); - args.putLong("id", id); - - new SimpleTask() { - @Override - protected void onPreExecute(Bundle args) { - btnOAuth.setEnabled(false); - } - - @Override - protected void onPostExecute(Bundle args) { - btnOAuth.setEnabled(true); - } - - @Override - protected String onExecute(Context context, Bundle args) throws Throwable { - long id = args.getLong("id"); - - DB db = DB.getInstance(context); - - EntityAccount account = db.account().getAccount(id); - if (account == null) - return null; - - GmailState state = GmailState.jsonDeserialize(account.password); - state.refresh(context, account.user, true); - return state.jsonSerializeString(); - } - - @Override - protected void onExecuted(Bundle args, String token) { - ToastEx.makeText(getContext(), R.string.title_completed, Toast.LENGTH_LONG).show(); - tilPassword.getEditText().setText(token); - } - - @Override - protected void onException(Bundle args, Throwable ex) { - Log.unexpectedError(getParentFragmentManager(), ex, false); - } - }.execute(this, args, "account:oauth"); - } - private void showError(Throwable ex) { tvError.setText(Log.formatThrowable(ex, false)); grpError.setVisibility(View.VISIBLE); @@ -1550,9 +1495,6 @@ public class FragmentAccount extends FragmentBase { btnCertificate.setEnabled(false); } - if (account == null || account.auth_type != AUTH_TYPE_GMAIL) - Helper.hide((btnOAuth)); - cbOnDemand.setEnabled(cbSynchronize.isChecked()); cbPrimary.setEnabled(cbSynchronize.isChecked()); diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentity.java b/app/src/main/java/eu/faircode/email/FragmentIdentity.java index 9a8df2aa2c..32fba07fa6 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentity.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentity.java @@ -45,7 +45,6 @@ import android.widget.RadioGroup; import android.widget.ScrollView; import android.widget.Spinner; import android.widget.TextView; -import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -66,7 +65,6 @@ import javax.mail.internet.InternetAddress; import static android.app.Activity.RESULT_OK; import static com.google.android.material.textfield.TextInputLayout.END_ICON_NONE; import static com.google.android.material.textfield.TextInputLayout.END_ICON_PASSWORD_TOGGLE; -import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_GMAIL; import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_OAUTH; import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_PASSWORD; @@ -98,7 +96,6 @@ public class FragmentIdentity extends FragmentBase { private TextView tvCharacters; private Button btnCertificate; private TextView tvCertificate; - private Button btnOAuth; private EditText etRealm; private CheckBox cbUseIp; private EditText etEhlo; @@ -191,7 +188,6 @@ public class FragmentIdentity extends FragmentBase { tvCharacters = view.findViewById(R.id.tvCharacters); btnCertificate = view.findViewById(R.id.btnCertificate); tvCertificate = view.findViewById(R.id.tvCertificate); - btnOAuth = view.findViewById(R.id.btnOAuth); etRealm = view.findViewById(R.id.etRealm); cbUseIp = view.findViewById(R.id.cbUseIp); etEhlo = view.findViewById(R.id.etEhlo); @@ -410,13 +406,6 @@ public class FragmentIdentity extends FragmentBase { } }); - btnOAuth.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - onAuth(); - } - }); - cbSynchronize.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -962,49 +951,6 @@ public class FragmentIdentity extends FragmentBase { }.execute(this, args, "identity:save"); } - private void onAuth() { - Bundle args = new Bundle(); - args.putLong("id", id); - - new SimpleTask() { - @Override - protected void onPreExecute(Bundle args) { - btnOAuth.setEnabled(false); - } - - @Override - protected void onPostExecute(Bundle args) { - btnOAuth.setEnabled(true); - } - - @Override - protected String onExecute(Context context, Bundle args) throws Throwable { - long id = args.getLong("id"); - - DB db = DB.getInstance(context); - - EntityIdentity identity = db.identity().getIdentity(id); - if (identity == null) - return null; - - GmailState state = GmailState.jsonDeserialize(identity.password); - state.refresh(context, identity.user, true); - return state.jsonSerializeString(); - } - - @Override - protected void onExecuted(Bundle args, String token) { - ToastEx.makeText(getContext(), R.string.title_completed, Toast.LENGTH_LONG).show(); - tilPassword.getEditText().setText(token); - } - - @Override - protected void onException(Bundle args, Throwable ex) { - Log.unexpectedError(getParentFragmentManager(), ex, false); - } - }.execute(this, args, "identity:oauth"); - } - private void showError(Throwable ex) { tvError.setText(Log.formatThrowable(ex, false)); grpError.setVisibility(View.VISIBLE); @@ -1171,9 +1117,6 @@ public class FragmentIdentity extends FragmentBase { btnCertificate.setEnabled(false); } - if (identity == null || identity.auth_type != AUTH_TYPE_GMAIL) - Helper.hide(btnOAuth); - cbPrimary.setEnabled(cbSynchronize.isChecked()); // Get providers diff --git a/app/src/main/java/eu/faircode/email/TupleAccountState.java b/app/src/main/java/eu/faircode/email/TupleAccountState.java index 4119dcaa9c..aab856e5a8 100644 --- a/app/src/main/java/eu/faircode/email/TupleAccountState.java +++ b/app/src/main/java/eu/faircode/email/TupleAccountState.java @@ -21,6 +21,8 @@ package eu.faircode.email; import java.util.Objects; +import static eu.faircode.email.ServiceAuthenticator.AUTH_TYPE_PASSWORD; + public class TupleAccountState extends EntityAccount { // TODO: folder property changes (name, poll) public int folders; @@ -35,7 +37,7 @@ public class TupleAccountState extends EntityAccount { this.insecure.equals(other.insecure) && this.port.equals(other.port) && this.user.equals(other.user) && - this.password.equals(other.password) && + (auth_type != AUTH_TYPE_PASSWORD || this.password.equals(other.password)) && Objects.equals(this.certificate_alias, other.certificate_alias) && Objects.equals(this.realm, other.realm) && Objects.equals(this.fingerprint, other.fingerprint) && diff --git a/app/src/main/res/layout/fragment_account.xml b/app/src/main/res/layout/fragment_account.xml index dee93e1679..37ffc64091 100644 --- a/app/src/main/res/layout/fragment_account.xml +++ b/app/src/main/res/layout/fragment_account.xml @@ -315,17 +315,6 @@ app:layout_constraintStart_toEndOf="@id/btnCertificate" app:layout_constraintTop_toTopOf="@id/btnCertificate" /> -