Moved nav folders into nav accounts

This commit is contained in:
M66B
2021-09-17 11:18:05 +02:00
parent 66cf900bfe
commit 8b8b5288c0
7 changed files with 308 additions and 424 deletions

View File

@@ -118,17 +118,14 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
private RecyclerView rvAccount;
private ImageButton ibExpanderUnified;
private RecyclerView rvUnified;
private ImageButton ibExpanderFolder;
private RecyclerView rvFolder;
private ImageButton ibExpanderMenu;
private RecyclerView rvMenu;
private ImageButton ibExpanderExtra;
private RecyclerView rvMenuExtra;
private Group grpOptions;
private AdapterNavAccount adapterNavAccount;
private AdapterNavAccountFolder adapterNavAccount;
private AdapterNavUnified adapterNavUnified;
private AdapterNavFolder adapterNavFolder;
private AdapterNavMenu adapterNavMenu;
private AdapterNavMenu adapterNavMenuExtra;
@@ -297,8 +294,6 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
rvAccount = drawerContainer.findViewById(R.id.rvAccount);
ibExpanderUnified = drawerContainer.findViewById(R.id.ibExpanderUnified);
rvUnified = drawerContainer.findViewById(R.id.rvUnified);
ibExpanderFolder = drawerContainer.findViewById(R.id.ibExpanderFolder);
rvFolder = drawerContainer.findViewById(R.id.rvFolder);
ibExpanderMenu = drawerContainer.findViewById(R.id.ibExpanderMenu);
rvMenu = drawerContainer.findViewById(R.id.rvMenu);
ibExpanderExtra = drawerContainer.findViewById(R.id.ibExpanderExtra);
@@ -418,18 +413,24 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
// Accounts
rvAccount.setLayoutManager(new LinearLayoutManager(this));
adapterNavAccount = new AdapterNavAccount(this, this);
adapterNavAccount = new AdapterNavAccountFolder(this, this);
rvAccount.setAdapter(adapterNavAccount);
boolean nav_account = prefs.getBoolean("nav_account", true);
ibExpanderAccount.setImageLevel(nav_account ? 0 /* less */ : 1 /* more */);
rvAccount.setVisibility(nav_account ? View.VISIBLE : View.GONE);
boolean nav_folder = prefs.getBoolean("nav_folder", true);
ibExpanderAccount.setImageLevel(nav_account || nav_folder ? 0 /* less */ : 1 /* more */);
rvAccount.setVisibility(nav_account || nav_folder ? View.VISIBLE : View.GONE);
ibExpanderAccount.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean nav_account = !prefs.getBoolean("nav_account", true);
prefs.edit().putBoolean("nav_account", nav_account).apply();
boolean nav_account = prefs.getBoolean("nav_account", true);
boolean nav_folder = prefs.getBoolean("nav_folder", true);
nav_account = !(nav_account || nav_folder);
prefs.edit()
.putBoolean("nav_account", nav_account)
.putBoolean("nav_folder", false)
.apply();
ibExpanderAccount.setImageLevel(nav_account ? 0 /* less */ : 1 /* more */);
rvAccount.setVisibility(nav_account ? View.VISIBLE : View.GONE);
}
@@ -454,25 +455,6 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
}
});
// Navigation folders
rvFolder.setLayoutManager(new LinearLayoutManager(this));
adapterNavFolder = new AdapterNavFolder(this, this);
rvFolder.setAdapter(adapterNavFolder);
boolean nav_folder = prefs.getBoolean("nav_folder", true);
ibExpanderFolder.setImageLevel(nav_folder ? 0 /* less */ : 1 /* more */);
rvFolder.setVisibility(nav_folder ? View.VISIBLE : View.GONE);
ibExpanderFolder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean nav_folder = !prefs.getBoolean("nav_folder", true);
prefs.edit().putBoolean("nav_folder", nav_folder).apply();
ibExpanderFolder.setImageLevel(nav_folder ? 0 /* less */ : 1 /* more */);
rvFolder.setVisibility(nav_folder ? View.VISIBLE : View.GONE);
}
});
// Menus
rvMenu.setLayoutManager(new LinearLayoutManager(this));
adapterNavMenu = new AdapterNavMenu(this, this);
@@ -754,9 +736,9 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
DB db = DB.getInstance(this);
db.account().liveAccountsEx(false).observe(owner, new Observer<List<TupleAccountEx>>() {
db.account().liveAccountFolder().observe(owner, new Observer<List<TupleAccountFolder>>() {
@Override
public void onChanged(@Nullable List<TupleAccountEx> accounts) {
public void onChanged(@Nullable List<TupleAccountFolder> accounts) {
if (accounts == null)
accounts = new ArrayList<>();
adapterNavAccount.set(accounts, nav_expanded);
@@ -772,17 +754,6 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
}
});
ibExpanderFolder.setVisibility(View.GONE);
db.folder().liveNavigation().observe(owner, new Observer<List<TupleFolderNav>>() {
@Override
public void onChanged(List<TupleFolderNav> folders) {
if (folders == null)
folders = new ArrayList<>();
ibExpanderFolder.setVisibility(folders.size() > 0 ? View.VISIBLE : View.GONE);
adapterNavFolder.set(folders, nav_expanded);
}
});
db.operation().liveStats().observe(owner, new Observer<TupleOperationStats>() {
@Override
public void onChanged(TupleOperationStats stats) {
@@ -904,7 +875,6 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
adapterNavAccount.setExpanded(nav_expanded);
adapterNavUnified.setExpanded(nav_expanded);
adapterNavFolder.setExpanded(nav_expanded);
adapterNavMenu.setExpanded(nav_expanded);
adapterNavMenuExtra.setExpanded(nav_expanded);
}