Improves account picker menu
This commit is contained in:
parent
4b1ec378d5
commit
7c057156f7
|
@ -733,9 +733,6 @@ public class Helper {
|
|||
if( currrentUserId == null)
|
||||
return;
|
||||
|
||||
MenuItem menu_account = navigationView.getMenu().findItem(R.id.nav_account_list);
|
||||
MenuItem nav_main_com = navigationView.getMenu().findItem(R.id.nav_main_com);
|
||||
MenuItem nav_main_opt= navigationView.getMenu().findItem(R.id.nav_main_opt);
|
||||
final SharedPreferences sharedpreferences = activity.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
int theme = sharedpreferences.getInt(Helper.SET_THEME, Helper.THEME_DARK);
|
||||
if( theme == Helper.THEME_DARK){
|
||||
|
@ -749,19 +746,25 @@ public class Helper {
|
|||
}
|
||||
|
||||
if( !menuAccountsOpened ){
|
||||
|
||||
arrow.setImageResource(R.drawable.ic_arrow_drop_up);
|
||||
|
||||
SQLiteDatabase db = Sqlite.getInstance(activity, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||
menu_account.setVisible(true);
|
||||
nav_main_com.setVisible(false);
|
||||
nav_main_opt.setVisible(false);
|
||||
final List<Account> accounts = new AccountDAO(activity, db).getAllAccount();
|
||||
SubMenu navigationViewSub = navigationView.getMenu().findItem(R.id.nav_account_list).getSubMenu();
|
||||
navigationViewSub.clear();
|
||||
String lastInstance = "";
|
||||
navigationView.getMenu().clear();
|
||||
navigationView.inflateMenu(R.menu.menu_accounts);
|
||||
Menu mainMenu = navigationView.getMenu();
|
||||
SubMenu currentSubmenu = null;
|
||||
int i = 0;
|
||||
for(final Account account: accounts) {
|
||||
if( !currrentUserId.equals(account.getId()) ) {
|
||||
final MenuItem item = navigationViewSub.add("@" + account.getAcct() + "@" + account.getInstance());
|
||||
if( !lastInstance.equals(account.getInstance())){
|
||||
currentSubmenu = mainMenu.addSubMenu(0, i, i,account.getInstance().toUpperCase());
|
||||
i++;
|
||||
}
|
||||
if( currentSubmenu == null)
|
||||
continue;
|
||||
final MenuItem item = currentSubmenu.add("@" + account.getAcct());
|
||||
//final MenuItem item = mainMenu.addSubMenu("@" + account.getAcct()).add("@" + account.getAcct());
|
||||
ImageLoader imageLoader;
|
||||
DisplayImageOptions options = new DisplayImageOptions.Builder().displayer(new SimpleBitmapDisplayer()).cacheInMemory(false)
|
||||
.cacheOnDisk(true).resetViewBeforeLoading(true).build();
|
||||
|
@ -832,7 +835,9 @@ public class Helper {
|
|||
|
||||
}
|
||||
}
|
||||
MenuItem addItem = navigationViewSub.add(R.string.add_account);
|
||||
i++;
|
||||
currentSubmenu = mainMenu.addSubMenu(0, i, i,"");
|
||||
MenuItem addItem = currentSubmenu.add(R.string.add_account);
|
||||
addItem.setIcon(R.drawable.ic_person_add);
|
||||
addItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
|
@ -844,9 +849,8 @@ public class Helper {
|
|||
}
|
||||
});
|
||||
}else{
|
||||
menu_account.setVisible(false);
|
||||
nav_main_com.setVisible(true);
|
||||
nav_main_opt.setVisible(true);
|
||||
navigationView.getMenu().clear();
|
||||
navigationView.inflateMenu(R.menu.activity_main_drawer);
|
||||
arrow.setImageResource(R.drawable.ic_arrow_drop_down);
|
||||
SQLiteDatabase db = Sqlite.getInstance(activity, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||
String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
|
||||
|
|
|
@ -155,7 +155,7 @@ public class AccountDAO {
|
|||
public List<Account> getAllAccount(){
|
||||
|
||||
try {
|
||||
Cursor c = db.query(Sqlite.TABLE_USER_ACCOUNT, null, null, null, null, null, null, null);
|
||||
Cursor c = db.query(Sqlite.TABLE_USER_ACCOUNT, null, null, null, null, null, Sqlite.COL_INSTANCE + " ASC", null);
|
||||
return cursorToListUser(c);
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
|
|
|
@ -1,13 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
|
||||
<group android:checkableBehavior="single">
|
||||
<item android:id="@+id/nav_account_list"
|
||||
android:visible="false"
|
||||
android:title="@string/accounts">
|
||||
<menu /></item>
|
||||
</group>
|
||||
<group>
|
||||
<item
|
||||
android:title="@string/communication_menu_title"
|
||||
|
|
Loading…
Reference in New Issue