@@ -327,12 +327,10 @@ private void themeBottomNavigationMenu() {
327327
328328 @ SuppressFBWarnings ("RV" )
329329 private void checkAssistantBottomNavigationMenu () {
330- final var capability = getCapabilities ();
331- boolean isAssistantAvailable ;
332- if (capability == null ) {
333- isAssistantAvailable = false ;
334- } else {
335- isAssistantAvailable = capability .getAssistant ().isTrue ();
330+ final var optionalCapabilities = getCapabilities ();
331+ boolean isAssistantAvailable = false ;
332+ if (optionalCapabilities .isPresent ()) {
333+ isAssistantAvailable = optionalCapabilities .get ().getAssistant ().isTrue ();
336334 }
337335
338336 bottomNavigationView
@@ -415,26 +413,28 @@ private void setupQuotaElement() {
415413 public void updateHeader () {
416414 final var account = getAccount ();
417415 boolean isClientBranded = getResources ().getBoolean (R .bool .is_branded_client );
418- final OCCapability capability = getCapabilities ();
419-
420- if (capability != null && account != null && capability .getServerBackground () != null && !isClientBranded ) {
421- int primaryColor = themeColorUtils .unchangedPrimaryColor (account , this );
422- String serverLogoURL = capability .getServerLogo ();
423-
424- // set background to primary color
425- LinearLayout drawerHeader = mNavigationViewHeader .findViewById (R .id .drawer_header_view );
426- drawerHeader .setBackgroundColor (primaryColor );
427-
428- if (!TextUtils .isEmpty (serverLogoURL ) && URLUtil .isValidUrl (serverLogoURL )) {
429- Target <Drawable > target = createSVGLogoTarget (primaryColor , capability );
430- getClientRepository ().getNextcloudClient (nextcloudClient -> {
431- GlideHelper .INSTANCE .loadIntoTarget (DrawerActivity .this ,
432- nextcloudClient ,
433- serverLogoURL ,
434- target ,
435- R .drawable .background );
436- return Unit .INSTANCE ;
437- });
416+ final var optionalCapability = getCapabilities ();
417+ if (optionalCapability .isPresent ()) {
418+ final var capability = optionalCapability .get ();
419+ if (account != null && capability .getServerBackground () != null && !isClientBranded ) {
420+ int primaryColor = themeColorUtils .unchangedPrimaryColor (account , this );
421+ String serverLogoURL = capability .getServerLogo ();
422+
423+ // set background to primary color
424+ LinearLayout drawerHeader = mNavigationViewHeader .findViewById (R .id .drawer_header_view );
425+ drawerHeader .setBackgroundColor (primaryColor );
426+
427+ if (!TextUtils .isEmpty (serverLogoURL ) && URLUtil .isValidUrl (serverLogoURL )) {
428+ Target <Drawable > target = createSVGLogoTarget (primaryColor , capability );
429+ getClientRepository ().getNextcloudClient (nextcloudClient -> {
430+ GlideHelper .INSTANCE .loadIntoTarget (DrawerActivity .this ,
431+ nextcloudClient ,
432+ serverLogoURL ,
433+ target ,
434+ R .drawable .background );
435+ return Unit .INSTANCE ;
436+ });
437+ }
438438 }
439439 }
440440
@@ -514,8 +514,14 @@ private void showTopBanner(ConstraintLayout banner) {
514514
515515 moreView .setOnClickListener (v -> LinkHelper .INSTANCE .openAppStore ("Nextcloud" , true , this ));
516516 assistantView .setOnClickListener (v -> startAssistantScreen ());
517- if (getCapabilities () != null && getCapabilities ().getAssistant ().isTrue ()) {
518- assistantView .setVisibility (View .VISIBLE );
517+ final var optionalCapabilities = getCapabilities ();
518+ if (optionalCapabilities .isPresent ()) {
519+ final var capabilities = optionalCapabilities .get ();
520+ if (capabilities .getAssistant ().isTrue ()) {
521+ assistantView .setVisibility (View .VISIBLE );
522+ } else {
523+ assistantView .setVisibility (View .GONE );
524+ }
519525 } else {
520526 assistantView .setVisibility (View .GONE );
521527 }
@@ -582,13 +588,16 @@ private void setupDrawerMenu(NavigationView navigationView) {
582588 }
583589
584590 private void filterDrawerMenu (final Menu menu , @ NonNull final User user ) {
585- OCCapability capability = getCapabilities ();
591+ final var optionalCapability = getCapabilities ();
592+ if (optionalCapability .isPresent ()) {
593+ final var capability = optionalCapability .get ();
594+ DrawerMenuUtil .filterTrashbinMenuItem (menu , capability );
595+ DrawerMenuUtil .filterActivityMenuItem (menu , capability );
596+ DrawerMenuUtil .filterGroupfoldersMenuItem (menu , capability );
597+ DrawerMenuUtil .filterAssistantMenuItem (menu , capability , getResources ());
598+ }
586599
587600 DrawerMenuUtil .filterSearchMenuItems (menu , user , getResources ());
588- DrawerMenuUtil .filterTrashbinMenuItem (menu , capability );
589- DrawerMenuUtil .filterActivityMenuItem (menu , capability );
590- DrawerMenuUtil .filterGroupfoldersMenuItem (menu , capability );
591- DrawerMenuUtil .filterAssistantMenuItem (menu , capability , getResources ());
592601 DrawerMenuUtil .setupHomeMenuItem (menu , getResources ());
593602 DrawerMenuUtil .removeMenuItem (menu , R .id .nav_community , !getResources ().getBoolean (R .bool .participate_enabled ));
594603 DrawerMenuUtil .removeMenuItem (menu , R .id .nav_shared , !getResources ().getBoolean (R .bool .shared_enabled ));
@@ -1371,11 +1380,13 @@ public void fetchExternalLinks(final boolean force) {
13711380
13721381 Thread t = new Thread (() -> {
13731382 // fetch capabilities as early as possible
1374- final OCCapability capability = getCapabilities ();
1375- if ((capability == null || capability .getAccountName () == null || !capability .getAccountName ().isEmpty ())
1376- && getStorageManager () != null ) {
1377- GetCapabilitiesOperation getCapabilities = new GetCapabilitiesOperation (getStorageManager ());
1378- getCapabilities .execute (getBaseContext ());
1383+ final var optionalCapability = getCapabilities ();
1384+ if (optionalCapability .isPresent ()) {
1385+ final var capability = optionalCapability .get ();
1386+ if ((capability .getAccountName () == null || !capability .getAccountName ().isEmpty ()) && getStorageManager () != null ) {
1387+ GetCapabilitiesOperation getCapabilities = new GetCapabilitiesOperation (getStorageManager ());
1388+ getCapabilities .execute (getBaseContext ());
1389+ }
13791390 }
13801391
13811392 if (getStorageManager () != null && CapabilityUtils .getCapability (user , this )
0 commit comments