mirror of https://github.com/M66B/FairEmail.git
Expand/collapse and pin nav menu orientation dependent
This commit is contained in:
parent
675e3fe763
commit
7e270b0c78
|
@ -90,8 +90,8 @@ import javax.net.ssl.HttpsURLConnection;
|
||||||
|
|
||||||
public class ActivityView extends ActivityBilling implements FragmentManager.OnBackStackChangedListener {
|
public class ActivityView extends ActivityBilling implements FragmentManager.OnBackStackChangedListener {
|
||||||
private String startup;
|
private String startup;
|
||||||
private boolean nav_pinned;
|
|
||||||
private boolean nav_expanded;
|
private boolean nav_expanded;
|
||||||
|
private boolean nav_pinned;
|
||||||
private boolean nav_options;
|
private boolean nav_options;
|
||||||
private int colorDrawerScrim;
|
private int colorDrawerScrim;
|
||||||
|
|
||||||
|
@ -190,8 +190,8 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||||
|
|
||||||
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
startup = prefs.getString("startup", "unified");
|
startup = prefs.getString("startup", "unified");
|
||||||
|
nav_expanded = getDrawerExpanded();
|
||||||
nav_pinned = getDrawerPinned();
|
nav_pinned = getDrawerPinned();
|
||||||
nav_expanded = prefs.getBoolean("nav_expanded", true);
|
|
||||||
nav_options = prefs.getBoolean("nav_options", true);
|
nav_options = prefs.getBoolean("nav_options", true);
|
||||||
|
|
||||||
Configuration config = getResources().getConfiguration();
|
Configuration config = getResources().getConfiguration();
|
||||||
|
@ -303,7 +303,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
nav_expanded = !nav_expanded;
|
nav_expanded = !nav_expanded;
|
||||||
prefs.edit().putBoolean("nav_expanded", nav_expanded).apply();
|
setDrawerExpanded(nav_expanded);
|
||||||
|
|
||||||
ViewGroup.LayoutParams lparam = drawerContainer.getLayoutParams();
|
ViewGroup.LayoutParams lparam = drawerContainer.getLayoutParams();
|
||||||
lparam.width = getDrawerWidth();
|
lparam.width = getDrawerWidth();
|
||||||
|
@ -329,10 +329,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
nav_pinned = !nav_pinned;
|
nav_pinned = !nav_pinned;
|
||||||
if (config.orientation == ORIENTATION_PORTRAIT)
|
setDrawerPinned(nav_pinned);
|
||||||
prefs.edit().putBoolean("portrait3", nav_pinned).apply();
|
|
||||||
else
|
|
||||||
prefs.edit().putBoolean("landscape3", nav_pinned).apply();
|
|
||||||
|
|
||||||
drawerLayout.setDrawerLockMode(nav_pinned ? LOCK_MODE_LOCKED_OPEN : LOCK_MODE_UNLOCKED);
|
drawerLayout.setDrawerLockMode(nav_pinned ? LOCK_MODE_LOCKED_OPEN : LOCK_MODE_UNLOCKED);
|
||||||
drawerLayout.setScrimColor(nav_pinned ? Color.TRANSPARENT : colorDrawerScrim);
|
drawerLayout.setScrimColor(nav_pinned ? Color.TRANSPARENT : colorDrawerScrim);
|
||||||
|
@ -872,12 +869,43 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean getDrawerExpanded() {
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
|
boolean legacy = prefs.getBoolean("nav_expanded", true);
|
||||||
|
return prefs.getBoolean("nav_expanded_" + getOrientation(), legacy);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setDrawerExpanded(boolean value) {
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
|
prefs.edit()
|
||||||
|
.remove("nav_expanded") // legacy
|
||||||
|
.putBoolean("nav_expanded_" + getOrientation(), value)
|
||||||
|
.apply();
|
||||||
|
}
|
||||||
|
|
||||||
private boolean getDrawerPinned() {
|
private boolean getDrawerPinned() {
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
boolean portrait3 = prefs.getBoolean("portrait3", false);
|
|
||||||
boolean landscape3 = prefs.getBoolean("landscape3", true);
|
|
||||||
Configuration config = getResources().getConfiguration();
|
Configuration config = getResources().getConfiguration();
|
||||||
return (config.orientation == ORIENTATION_PORTRAIT ? portrait3 : landscape3);
|
boolean legacy;
|
||||||
|
if (config.orientation == ORIENTATION_PORTRAIT)
|
||||||
|
legacy = prefs.getBoolean("portrait3", false);
|
||||||
|
else
|
||||||
|
legacy = prefs.getBoolean("landscape3", true);
|
||||||
|
return prefs.getBoolean("nav_pinned_" + getOrientation(), legacy);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setDrawerPinned(boolean value) {
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
|
prefs.edit()
|
||||||
|
.remove("portrait3") // legacy
|
||||||
|
.remove("landscape3") // legacy
|
||||||
|
.putBoolean("nav_pinned_" + getOrientation(), value)
|
||||||
|
.apply();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getOrientation() {
|
||||||
|
Configuration config = getResources().getConfiguration();
|
||||||
|
return (config.orientation == ORIENTATION_PORTRAIT ? "portrait" : "landscape");
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getDrawerWidth() {
|
private int getDrawerWidth() {
|
||||||
|
|
Loading…
Reference in New Issue