public void setUserFolders(@Nullable List<Folder> folders) { clearUserFolders(); if (folders == null) { return; } long openedFolderDrawerId = -1; for (int i = folders.size() - 1; i >= 0; i--) { Folder folder = folders.get(i); long drawerId = folder.getId() << DRAWER_FOLDER_SHIFT; drawer.addItemAtPosition(new PrimaryDrawerItem() .withIcon(getFolderIcon(folder)) .withIdentifier(drawerId) .withTag(folder) .withName(getFolderDisplayName(folder)), headerItemCount); userFolderDrawerIds.add(drawerId); if (folder.getServerId().equals(openedFolderServerId)) { openedFolderDrawerId = drawerId; } } if (openedFolderDrawerId != -1) { drawer.setSelection(openedFolderDrawerId, false); } }
private PrimaryDrawerItem drawerItemForClass(AppCompatActivity activeActivity, Class<?> targetActivityClass, @StringRes int targetActivityTitleRessource, @DrawableRes int iconResource) { return new PrimaryDrawerItem() .withName(activeActivity.getString(targetActivityTitleRessource)) .withSelectable(false) .withSelectedTextColorRes(COLOR_ICON_PRIMARY_ACTIVE) .withIcon(iconResource) .withIconColorRes(COLOR_ICON_PRIMARY) .withIconTintingEnabled(true) .withSelectedIconColorRes(COLOR_ICON_PRIMARY_ACTIVE) .withTag(targetActivityClass) .withIdentifier(targetActivityClass.hashCode()); } private SecondaryDrawerItem secondaryDrawerItemForClass(AppCompatActivity activeActivity, Class<?> targetActivityClass, @StringRes int targetActivityTitleRessource, @DrawableRes int iconResource) {
.withIdentifier(playlist.getId()) .withName(playlist.getTitle()) .withTag(playlist) .withOnDrawerItemClickListener((view, position, drawerItem) -> { showPlaylistFragment(playlist);
.withIcon(R.drawable.ic_refresh) .withIdentifier(REFRESH_DRAWER_ITEM_ID) .withTag((Runnable) () -> SyncService.startSync(ListActivity.this)); .withIconTintingEnabled(true) .withSelectable(false) .withTag((Runnable) () -> { startDrawer.closeDrawer(); Intent settingsIntent = new Intent(ListActivity.this, SettingsActivity.class);