Просмотр исходного кода

Fix ui when not using account choose

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 7 лет назад
Родитель
Сommit
d0692f72f4
1 измененных файлов с 23 добавлено и 15 удалено
  1. 23 15
      src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

+ 23 - 15
src/main/java/com/owncloud/android/ui/activity/DrawerActivity.java

@@ -255,19 +255,25 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
      * initializes and sets up the drawer header.
      */
     private void setupDrawerHeader() {
-        mAccountChooserToggle = (ImageView) findNavigationViewChildById(R.id.drawer_account_chooser_toogle);
-        mAccountChooserToggle.setImageResource(R.drawable.ic_down);
         mIsAccountChooserActive = false;
         mAccountMiddleAccountAvatar = (ImageView) findNavigationViewChildById(R.id.drawer_account_middle);
         mAccountEndAccountAvatar = (ImageView) findNavigationViewChildById(R.id.drawer_account_end);
 
-        findNavigationViewChildById(R.id.drawer_active_user)
-                .setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        toggleAccountList();
-                    }
-                });
+        mAccountChooserToggle = (ImageView) findNavigationViewChildById(R.id.drawer_account_chooser_toogle);
+
+        if (getResources().getBoolean(R.bool.allow_profile_click)) {
+            mAccountChooserToggle.setImageResource(R.drawable.ic_down);
+
+            findNavigationViewChildById(R.id.drawer_active_user)
+                    .setOnClickListener(new View.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            toggleAccountList();
+                        }
+                    });
+        } else {
+            mAccountChooserToggle.setVisibility(View.GONE);
+        }
     }
 
     /**
@@ -758,10 +764,8 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
      * Toggle between standard menu and account list including saving the state.
      */
     private void toggleAccountList() {
-        if (getResources().getBoolean(R.bool.allow_profile_click)) {
-            mIsAccountChooserActive = !mIsAccountChooserActive;
-            showMenu();
-        }
+        mIsAccountChooserActive = !mIsAccountChooserActive;
+        showMenu();
     }
 
     /**
@@ -770,7 +774,9 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
     private void showMenu() {
         if (mNavigationView != null) {
             if (mIsAccountChooserActive) {
-                mAccountChooserToggle.setImageResource(R.drawable.ic_up);
+                if (mAccountChooserToggle != null) {
+                    mAccountChooserToggle.setImageResource(R.drawable.ic_up);
+                }
                 mNavigationView.getMenu().setGroupVisible(R.id.drawer_menu_accounts, true);
 
                 if (!getResources().getBoolean(R.bool.multiaccount_support) &&
@@ -782,7 +788,9 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
                 mNavigationView.getMenu().setGroupVisible(R.id.drawer_menu_external_links, false);
                 mNavigationView.getMenu().setGroupVisible(R.id.drawer_menu_bottom, false);
             } else {
-                mAccountChooserToggle.setImageResource(R.drawable.ic_down);
+                if (mAccountChooserToggle != null) {
+                    mAccountChooserToggle.setImageResource(R.drawable.ic_down);
+                }
                 mNavigationView.getMenu().setGroupVisible(R.id.drawer_menu_accounts, false);
                 mNavigationView.getMenu().setGroupVisible(R.id.drawer_menu_standard, true);
                 mNavigationView.getMenu().setGroupVisible(R.id.drawer_menu_external_links, true);