mirror of https://github.com/M66B/FairEmail.git
Refactoring
This commit is contained in:
parent
5483c25c9c
commit
81f9547402
|
@ -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<TupleIdentityEx> {
|
||||||
|
private Context context;
|
||||||
|
private List<TupleIdentityEx> identities;
|
||||||
|
|
||||||
|
AdapterIdentitySelect(@NonNull Context context, List<TupleIdentityEx> 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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -2534,7 +2534,7 @@ public class FragmentCompose extends FragmentBase {
|
||||||
Log.i("Loaded draft id=" + data.draft.id + " action=" + action);
|
Log.i("Loaded draft id=" + data.draft.id + " action=" + action);
|
||||||
|
|
||||||
// Show identities
|
// Show identities
|
||||||
IdentityAdapter iadapter = new IdentityAdapter(getContext(), data.identities);
|
AdapterIdentitySelect iadapter = new AdapterIdentitySelect(getContext(), data.identities);
|
||||||
spIdentity.setAdapter(iadapter);
|
spIdentity.setAdapter(iadapter);
|
||||||
|
|
||||||
// Select identity
|
// Select identity
|
||||||
|
@ -3408,45 +3408,6 @@ public class FragmentCompose extends FragmentBase {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public class IdentityAdapter extends ArrayAdapter<TupleIdentityEx> {
|
|
||||||
private Context context;
|
|
||||||
private List<TupleIdentityEx> identities;
|
|
||||||
|
|
||||||
IdentityAdapter(@NonNull Context context, List<TupleIdentityEx> 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() {
|
private AdapterView.OnItemSelectedListener identitySelected = new AdapterView.OnItemSelectedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
|
Loading…
Reference in New Issue