mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-21 21:57:19 +00:00
Make zoom dynamic, refactoring
This commit is contained in:
parent
1a99188b85
commit
9cbf4ab9eb
2 changed files with 42 additions and 27 deletions
|
@ -112,6 +112,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
private FragmentManager fragmentManager;
|
||||
private ViewType viewType;
|
||||
private boolean outgoing;
|
||||
private int zoom;
|
||||
private boolean internet;
|
||||
private IProperties properties;
|
||||
|
||||
|
@ -1691,6 +1692,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
this.fragmentManager = fragmentManager;
|
||||
this.viewType = viewType;
|
||||
this.outgoing = outgoing;
|
||||
this.zoom = zoom;
|
||||
this.internet = (Helper.isMetered(context, false) != null);
|
||||
this.properties = properties;
|
||||
|
||||
|
@ -1727,8 +1729,11 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
|||
}
|
||||
|
||||
void setZoom(int zoom) {
|
||||
textSize = Helper.getTextSize(context, zoom);
|
||||
notifyDataSetChanged();
|
||||
if (this.zoom != zoom) {
|
||||
this.zoom = zoom;
|
||||
textSize = Helper.getTextSize(context, zoom);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void checkInternet() {
|
||||
|
|
|
@ -100,17 +100,17 @@ public class FragmentMessages extends FragmentEx {
|
|||
private FloatingActionButton fab;
|
||||
private FloatingActionButton fabMore;
|
||||
|
||||
private long account = -1;
|
||||
private long folder = -1;
|
||||
private boolean outgoing = false;
|
||||
private String thread = null;
|
||||
private long id = -1;
|
||||
private String search = null;
|
||||
private long account;
|
||||
private long folder;
|
||||
private boolean outgoing;
|
||||
private String thread;
|
||||
private long id;
|
||||
private String search;
|
||||
|
||||
private int zoom = 0;
|
||||
private boolean threading = true;
|
||||
private boolean actionbar = false;
|
||||
private boolean autoclose = false;
|
||||
private boolean compact;
|
||||
private boolean threading;
|
||||
private boolean actionbar;
|
||||
private boolean autoclose;
|
||||
|
||||
private long primary = -1;
|
||||
private boolean outbox = false;
|
||||
|
@ -151,8 +151,7 @@ public class FragmentMessages extends FragmentEx {
|
|||
search = args.getString("search");
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
boolean compact = prefs.getBoolean("compact", false);
|
||||
zoom = prefs.getInt("zoom", compact ? 0 : 1);
|
||||
compact = prefs.getBoolean("compact", false);
|
||||
threading = prefs.getBoolean("threading", true);
|
||||
actionbar = prefs.getBoolean("actionbar", true);
|
||||
autoclose = prefs.getBoolean("autoclose", true);
|
||||
|
@ -316,6 +315,7 @@ public class FragmentMessages extends FragmentEx {
|
|||
LinearLayoutManager llm = new LinearLayoutManager(getContext());
|
||||
rvMessage.setLayoutManager(llm);
|
||||
|
||||
int zoom = prefs.getInt("zoom", compact ? 0 : 1);
|
||||
adapter = new AdapterMessage(
|
||||
getContext(), getViewLifecycleOwner(), getFragmentManager(),
|
||||
viewType, outgoing,
|
||||
|
@ -1370,6 +1370,10 @@ public class FragmentMessages extends FragmentEx {
|
|||
NetworkRequest.Builder builder = new NetworkRequest.Builder();
|
||||
builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET);
|
||||
cm.registerNetworkCallback(builder.build(), networkCallback);
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
int zoom = prefs.getInt("zoom", compact ? 0 : 1);
|
||||
adapter.setZoom(zoom);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1509,37 +1513,29 @@ public class FragmentMessages extends FragmentEx {
|
|||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
|
||||
switch (item.getItemId()) {
|
||||
case R.id.menu_sort_on_time:
|
||||
prefs.edit().putString("sort", "time").apply();
|
||||
item.setChecked(true);
|
||||
loadMessages();
|
||||
onMenuSort("time");
|
||||
return true;
|
||||
|
||||
case R.id.menu_sort_on_unread:
|
||||
prefs.edit().putString("sort", "unread").apply();
|
||||
item.setChecked(true);
|
||||
loadMessages();
|
||||
onMenuSort("unread");
|
||||
return true;
|
||||
|
||||
case R.id.menu_sort_on_starred:
|
||||
prefs.edit().putString("sort", "starred").apply();
|
||||
item.setChecked(true);
|
||||
loadMessages();
|
||||
onMenuSort("starred");
|
||||
return true;
|
||||
|
||||
case R.id.menu_sort_on_sender:
|
||||
prefs.edit().putString("sort", "sender").apply();
|
||||
item.setChecked(true);
|
||||
loadMessages();
|
||||
onMenuSort("sender");
|
||||
return true;
|
||||
|
||||
case R.id.menu_zoom:
|
||||
zoom = ++zoom % 3;
|
||||
prefs.edit().putInt("zoom", zoom).apply();
|
||||
adapter.setZoom(zoom);
|
||||
onMenuZoom();
|
||||
return true;
|
||||
|
||||
case R.id.menu_folders:
|
||||
|
@ -1556,6 +1552,20 @@ public class FragmentMessages extends FragmentEx {
|
|||
}
|
||||
}
|
||||
|
||||
private void onMenuSort(String sort) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
prefs.edit().putString("sort", sort).apply();
|
||||
loadMessages();
|
||||
}
|
||||
|
||||
private void onMenuZoom() {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
int zoom = prefs.getInt("zoom", compact ? 0 : 1);
|
||||
zoom = ++zoom % 3;
|
||||
prefs.edit().putInt("zoom", zoom).apply();
|
||||
adapter.setZoom(zoom);
|
||||
}
|
||||
|
||||
private void onMenuFolders() {
|
||||
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED))
|
||||
getFragmentManager().popBackStack("unified", 0);
|
||||
|
|
Loading…
Reference in a new issue