code: public void updateAppIndicator() {
  
          if (CmsAppWorkplaceUi.isOnlineProject()) {
              m_appIndicator.addStyleName(OpenCmsTheme.TOOLABER_APP_INDICATOR_ONLINE);
  
          } else {
              m_appIndicator.removeStyleName(OpenCmsTheme.TOOLABER_APP_INDICATOR_ONLINE);
          }
          CmsObject cms = A_CmsUI.getCmsObject();
          String siteRoot = cms.getRequestContext().getSiteRoot();
          CmsSite site = OpenCms.getSiteManager().getSiteForSiteRoot(siteRoot);
          String siteName = null;
          if (site != null) {
              siteName = site.getTitle();
          } else {
              try {
                  CmsResource folder = cms.readResource("/", CmsResourceFilter.ONLY_VISIBLE_NO_DELETED);
  
                  siteName = OpenCms.getSiteManager().getSiteTitle(cms, folder);
              } catch (CmsException e) {
                  LOG.warn("Error reading site title.", e);
              }
          }
          if (CmsStringUtil.isEmptyOrWhitespaceOnly(siteName)) {
              siteName = siteRoot;
          } else {
              siteName = CmsWorkplace.substituteSiteTitleStatic(siteName, UI.getCurrent().getLocale());
          }
          m_appIndicator.setDescription(
              CmsVaadinUtils.getMessageText(
                  Messages.GUI_TOOLBAR_PROJECT_SITE_INFO_2,
                  A_CmsUI.getCmsObject().getRequestContext().getCurrentProject().getName(),
                  siteName),
              ContentMode.HTML);
      }
docs: Updates the app indicator site and project info.<p>