mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-03 07:36:31 +02:00
Added option to enable showing contact photos
Default disabled Resf #61
This commit is contained in:
@@ -24,6 +24,7 @@ import android.content.ContentResolver;
|
||||
import android.content.ContentUris;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Typeface;
|
||||
@@ -66,8 +67,8 @@ public class AdapterMessage extends PagedListAdapter<TupleMessageEx, AdapterMess
|
||||
private LifecycleOwner owner;
|
||||
private ViewType viewType;
|
||||
|
||||
private boolean avatars;
|
||||
private boolean debug;
|
||||
private boolean hasContactsPermission;
|
||||
private DateFormat df = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.LONG);
|
||||
|
||||
enum ViewType {UNIFIED, FOLDER, THREAD, SEARCH}
|
||||
@@ -135,7 +136,7 @@ public class AdapterMessage extends PagedListAdapter<TupleMessageEx, AdapterMess
|
||||
pbLoading.setVisibility(View.GONE);
|
||||
|
||||
ivAvatar.setVisibility(View.GONE);
|
||||
if (hasContactsPermission && message.from != null && message.from.length > 0) {
|
||||
if (avatars && message.from != null && message.from.length > 0) {
|
||||
itemView.setHasTransientState(true);
|
||||
|
||||
Bundle args = new Bundle();
|
||||
@@ -339,8 +340,12 @@ public class AdapterMessage extends PagedListAdapter<TupleMessageEx, AdapterMess
|
||||
this.context = context;
|
||||
this.owner = owner;
|
||||
this.viewType = viewType;
|
||||
this.hasContactsPermission = (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS) == PackageManager.PERMISSION_GRANTED);
|
||||
this.debug = PreferenceManager.getDefaultSharedPreferences(context).getBoolean("debug", false);
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
this.avatars = (prefs.getBoolean("avatars", false) &&
|
||||
ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS) == PackageManager.PERMISSION_GRANTED);
|
||||
this.debug = prefs.getBoolean("debug", false);
|
||||
}
|
||||
|
||||
private static final DiffUtil.ItemCallback<TupleMessageEx> DIFF_CALLBACK =
|
||||
|
||||
@@ -38,6 +38,7 @@ public class FragmentOptions extends FragmentEx {
|
||||
private TextView tvCustomTabs;
|
||||
private CheckBox cbSanitize;
|
||||
private CheckBox cbCompressImap;
|
||||
private CheckBox cbAvatars;
|
||||
private CheckBox cbDebug;
|
||||
|
||||
@Override
|
||||
@@ -52,6 +53,7 @@ public class FragmentOptions extends FragmentEx {
|
||||
tvCustomTabs = view.findViewById(R.id.tvCustomTabs);
|
||||
cbSanitize = view.findViewById(R.id.cbSanitize);
|
||||
cbCompressImap = view.findViewById(R.id.cbCompressImap);
|
||||
cbAvatars = view.findViewById(R.id.cbAvatars);
|
||||
cbDebug = view.findViewById(R.id.cbDebug);
|
||||
|
||||
// Wire controls
|
||||
@@ -82,6 +84,14 @@ public class FragmentOptions extends FragmentEx {
|
||||
}
|
||||
});
|
||||
|
||||
cbAvatars.setChecked(prefs.getBoolean("avatars", false));
|
||||
cbAvatars.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putBoolean("avatars", checked).apply();
|
||||
}
|
||||
});
|
||||
|
||||
cbDebug.setChecked(prefs.getBoolean("debug", false));
|
||||
cbDebug.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user