From 81f9547402d7bbf7943cbb85aa62531687117abe Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 26 Sep 2019 19:17:03 +0200 Subject: [PATCH] Refactoring --- .../faircode/email/AdapterIdentitySelect.java | 52 +++++++++++++++++++ .../eu/faircode/email/FragmentCompose.java | 41 +-------------- 2 files changed, 53 insertions(+), 40 deletions(-) create mode 100644 app/src/main/java/eu/faircode/email/AdapterIdentitySelect.java diff --git a/app/src/main/java/eu/faircode/email/AdapterIdentitySelect.java b/app/src/main/java/eu/faircode/email/AdapterIdentitySelect.java new file mode 100644 index 0000000000..9fee1f1600 --- /dev/null +++ b/app/src/main/java/eu/faircode/email/AdapterIdentitySelect.java @@ -0,0 +1,52 @@ +package eu.faircode.email; + +import android.content.Context; +import android.graphics.Color; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ArrayAdapter; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import java.util.List; + +public class AdapterIdentitySelect extends ArrayAdapter { + private Context context; + private List identities; + + AdapterIdentitySelect(@NonNull Context context, List identities) { + super(context, 0, identities); + this.context = context; + this.identities = identities; + } + + @NonNull + @Override + public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { + return getLayout(position, convertView, parent, R.layout.spinner_item2); + } + + @Override + public View getDropDownView(int position, View convertView, ViewGroup parent) { + return getLayout(position, convertView, parent, R.layout.spinner_item2_dropdown); + } + + View getLayout(int position, View convertView, ViewGroup parent, int resid) { + View view = LayoutInflater.from(context).inflate(resid, parent, false); + + TupleIdentityEx identity = identities.get(position); + + View vwColor = view.findViewById(R.id.vwColor); + TextView text1 = view.findViewById(android.R.id.text1); + TextView text2 = view.findViewById(android.R.id.text2); + + vwColor.setBackgroundColor(identity.color == null ? Color.TRANSPARENT : identity.color); + text1.setText(identity.accountName + "/" + identity.getDisplayName() + (identity.primary ? " ★" : "")); + text2.setText(identity.email); + + return view; + } +} diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index d65d0adf2c..4f257b6b53 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -2534,7 +2534,7 @@ public class FragmentCompose extends FragmentBase { Log.i("Loaded draft id=" + data.draft.id + " action=" + action); // Show identities - IdentityAdapter iadapter = new IdentityAdapter(getContext(), data.identities); + AdapterIdentitySelect iadapter = new AdapterIdentitySelect(getContext(), data.identities); spIdentity.setAdapter(iadapter); // Select identity @@ -3408,45 +3408,6 @@ public class FragmentCompose extends FragmentBase { } }; - public class IdentityAdapter extends ArrayAdapter { - private Context context; - private List identities; - - IdentityAdapter(@NonNull Context context, List identities) { - super(context, 0, identities); - this.context = context; - this.identities = identities; - } - - @NonNull - @Override - public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { - return getLayout(position, convertView, parent, R.layout.spinner_item2); - } - - @Override - public View getDropDownView(int position, View convertView, ViewGroup parent) { - return getLayout(position, convertView, parent, R.layout.spinner_item2_dropdown); - } - - View getLayout(int position, View convertView, ViewGroup parent, int resid) { - View view = LayoutInflater.from(context).inflate(resid, parent, false); - - TupleIdentityEx identity = identities.get(position); - - View vwColor = view.findViewById(R.id.vwColor); - vwColor.setBackgroundColor(identity.color == null ? Color.TRANSPARENT : identity.color); - - TextView text1 = view.findViewById(android.R.id.text1); - text1.setText(identity.accountName + "/" + identity.getDisplayName() + (identity.primary ? " ★" : "")); - - TextView text2 = view.findViewById(android.R.id.text2); - text2.setText(identity.email); - - return view; - } - } - private AdapterView.OnItemSelectedListener identitySelected = new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) {