Filter providers

pull/210/head
M66B 2 years ago
parent b00b9a091b
commit 009551c540

@ -177,7 +177,7 @@ public class EmailProvider implements Parcelable {
return result;
}
static List<EmailProvider> loadProfiles(Context context) {
private static List<EmailProvider> loadProfiles(Context context) {
List<EmailProvider> result = null;
try {
@ -297,7 +297,7 @@ public class EmailProvider implements Parcelable {
} else
throw new IllegalAccessException(name);
} else if (eventType == XmlPullParser.END_TAG) {
if ("provider".equals(xml.getName()) && provider.enabled) {
if ("provider".equals(xml.getName())) {
result.add(provider);
provider = null;
}
@ -312,12 +312,12 @@ public class EmailProvider implements Parcelable {
return result;
}
static boolean getAttributeBooleanValue(XmlPullParser parser, String name, boolean defaultValue) {
private static boolean getAttributeBooleanValue(XmlPullParser parser, String name, boolean defaultValue) {
String value = parser.getAttributeValue(null, name);
return (value == null ? defaultValue : Boolean.parseBoolean(value));
}
static int getAttributeIntValue(XmlPullParser parser, String name, int defaultValue) {
private static int getAttributeIntValue(XmlPullParser parser, String name, int defaultValue) {
String value = parser.getAttributeValue(null, name);
return (value == null ? defaultValue : Integer.parseInt(value));
}
@ -331,6 +331,14 @@ public class EmailProvider implements Parcelable {
throw new FileNotFoundException("provider id=" + id);
}
static List<EmailProvider> getProviders(Context context) {
List<EmailProvider> result = new ArrayList<>();
for (EmailProvider provider : loadProfiles(context))
if (provider.enabled)
result.add(provider);
return result;
}
@NonNull
static List<EmailProvider> fromDomain(Context context, String domain, Discover discover) throws IOException {
return fromEmail(context, domain, discover);

@ -360,7 +360,7 @@ public class EntityAnswer implements Serializable {
if (compose && BuildConfig.DEBUG) {
SubMenu profiles = main.addSubMenu(Menu.NONE, order, order++, "Profiles");
for (EmailProvider p : EmailProvider.loadProfiles(context)) {
for (EmailProvider p : EmailProvider.getProviders(context)) {
SpannableStringBuilder ssb = new SpannableStringBuilderEx();
int start;
ssb.append("IMAP (account, receive)");

@ -1555,7 +1555,7 @@ public class FragmentAccount extends FragmentBase {
protected void onExecuted(Bundle args, final EntityAccount account) {
// Get providers
final Context context = getContext();
List<EmailProvider> providers = EmailProvider.loadProfiles(context);
List<EmailProvider> providers = EmailProvider.getProviders(context);
providers.add(0, new EmailProvider(getString(R.string.title_select)));
providers.add(1, new EmailProvider(getString(R.string.title_custom)));

@ -1280,7 +1280,7 @@ public class FragmentIdentity extends FragmentBase {
cbEncryptDefault.setEnabled(!encrypt_default);
// Get providers
List<EmailProvider> providers = EmailProvider.loadProfiles(getContext());
List<EmailProvider> providers = EmailProvider.getProviders(getContext());
providers.add(0, new EmailProvider(getString(R.string.title_custom)));
ArrayAdapter<EmailProvider> aaProfile =

@ -282,7 +282,7 @@ public class FragmentSetup extends FragmentBase {
Resources res = context.getResources();
String pkg = context.getPackageName();
List<EmailProvider> providers = EmailProvider.loadProfiles(context);
List<EmailProvider> providers = EmailProvider.getProviders(context);
boolean web = BuildConfig.DEBUG;
for (EmailProvider provider : providers)

Loading…
Cancel
Save