Refactoring

pull/147/head
M66B 6 years ago
parent 77ecf31546
commit d65f6e3225

@ -47,12 +47,8 @@ import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.snackbar.Snackbar;
@ -88,7 +84,6 @@ import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.net.ssl.HttpsURLConnection;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.constraintlayout.widget.Group;
@ -278,7 +273,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
return;
last = accounts;
ArrayAdapterDrawer drawerArray = new ArrayAdapterDrawer(ActivityView.this);
DrawerAdapter drawerArray = new DrawerAdapter(ActivityView.this);
final Collator collator = Collator.getInstance(Locale.getDefault());
collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc
@ -992,82 +987,6 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
fragmentTransaction.commit();
}
private class DrawerItem {
private int layout;
private int id;
private int icon;
private Integer color;
private String title;
private boolean highlight;
private Object data;
DrawerItem(int layout) {
this.id = 0;
this.layout = layout;
}
DrawerItem(Context context, int layout, int icon, int title) {
this.layout = layout;
this.id = title;
this.icon = icon;
this.title = context.getString(title);
}
DrawerItem(int layout, int id, int icon, Integer color, String title, boolean highlight, Object data) {
this.layout = layout;
this.id = id;
this.icon = icon;
this.color = color;
this.title = title;
this.highlight = highlight;
this.data = data;
}
public int getId() {
return this.id;
}
public Object getData() {
return this.data;
}
}
private static class ArrayAdapterDrawer extends ArrayAdapter<DrawerItem> {
ArrayAdapterDrawer(@NonNull Context context) {
super(context, -1);
}
@NonNull
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
DrawerItem item = getItem(position);
View row = LayoutInflater.from(getContext()).inflate(item.layout, null);
ImageView iv = row.findViewById(R.id.ivItem);
TextView tv = row.findViewById(R.id.tvItem);
if (iv != null) {
iv.setImageResource(item.icon);
if (item.color != null)
iv.setColorFilter(item.color);
}
if (tv != null) {
tv.setText(item.title);
tv.setTextColor(Helper.resolveColor(getContext(), item.highlight ? R.attr.colorUnread : android.R.attr.textColorSecondary
));
}
return row;
}
@Override
public boolean isEnabled(int position) {
DrawerItem item = getItem(position);
return (item != null && item.id != 0);
}
}
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {

@ -0,0 +1,47 @@
package eu.faircode.email;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
public class DrawerAdapter extends ArrayAdapter<DrawerItem> {
DrawerAdapter(@NonNull Context context) {
super(context, -1);
}
@NonNull
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
DrawerItem item = getItem(position);
View row = LayoutInflater.from(getContext()).inflate(item.getLayout(), null);
ImageView iv = row.findViewById(R.id.ivItem);
TextView tv = row.findViewById(R.id.tvItem);
if (iv != null) {
iv.setImageResource(item.getIcon());
if (item.getColor() != null)
iv.setColorFilter(item.getColor());
}
if (tv != null) {
tv.setText(item.getTitle());
tv.setTextColor(Helper.resolveColor(getContext(),
item.getHighlight() ? R.attr.colorUnread : android.R.attr.textColorSecondary));
}
return row;
}
@Override
public boolean isEnabled(int position) {
DrawerItem item = getItem(position);
return (item != null && item.getId() != 0);
}
}

@ -0,0 +1,63 @@
package eu.faircode.email;
import android.content.Context;
public class DrawerItem {
private int layout;
private int id;
private int icon;
private Integer color;
private String title;
private boolean highlight;
private Object data;
DrawerItem(int layout) {
this.id = 0;
this.layout = layout;
}
DrawerItem(Context context, int layout, int icon, int title) {
this.layout = layout;
this.id = title;
this.icon = icon;
this.title = context.getString(title);
}
DrawerItem(int layout, int id, int icon, Integer color, String title, boolean highlight, Object data) {
this.layout = layout;
this.id = id;
this.icon = icon;
this.color = color;
this.title = title;
this.highlight = highlight;
this.data = data;
}
int getLayout() {
return this.layout;
}
int getId() {
return this.id;
}
int getIcon() {
return this.icon;
}
Integer getColor() {
return this.color;
}
String getTitle() {
return this.title;
}
boolean getHighlight() {
return this.highlight;
}
Object getData() {
return this.data;
}
}
Loading…
Cancel
Save