Search in sources :

Example 1 with CategoryWithNotesCount

use of it.niedermann.owncloud.notes.persistence.entity.CategoryWithNotesCount in project nextcloud-notes by stefan-niedermann.

the class MainViewModelTest method fromCategoriesWithNotesCount_only_deep_category_without_favorites.

@Test
public void fromCategoriesWithNotesCount_only_deep_category_without_favorites() throws InvocationTargetException, IllegalAccessException {
    // noinspection unchecked
    final var navigationItems = (List<NavigationItem>) fromCategoriesWithNotesCount.invoke(null, context, "Bar/abc", List.of(new CategoryWithNotesCount(1, "Bar/abc/def", 5)), 0, 0);
    assertNotNull(navigationItems);
    assertEquals(3, navigationItems.size());
    assertEquals(ENavigationCategoryType.RECENT, navigationItems.get(0).type);
    assertEquals(ENavigationCategoryType.FAVORITES, navigationItems.get(1).type);
    assertEquals("Bar", navigationItems.get(2).label);
}
Also used : CategoryWithNotesCount(it.niedermann.owncloud.notes.persistence.entity.CategoryWithNotesCount) List(java.util.List) Test(org.junit.Test)

Example 2 with CategoryWithNotesCount

use of it.niedermann.owncloud.notes.persistence.entity.CategoryWithNotesCount in project nextcloud-notes by stefan-niedermann.

the class DisplayUtils method convertToCategoryNavigationItem.

public static NavigationItem.CategoryNavigationItem convertToCategoryNavigationItem(@NonNull Context context, @NonNull CategoryWithNotesCount counter) {
    final var res = context.getResources();
    final var englishRes = getEnglishResources(context);
    final String category = counter.getCategory().replaceAll("\\s+", "");
    int icon = NavigationAdapter.ICON_FOLDER;
    for (Map.Entry<Integer, Collection<Integer>> replacement : SPECIAL_CATEGORY_REPLACEMENTS.entrySet()) {
        if (Stream.concat(replacement.getValue().stream().map(res::getString), replacement.getValue().stream().map(englishRes::getString)).map(str -> str.replaceAll("\\s+", "")).anyMatch(r -> r.equalsIgnoreCase(category))) {
            icon = replacement.getKey();
            break;
        }
    }
    return new NavigationItem.CategoryNavigationItem("category:" + counter.getCategory(), counter.getCategory(), counter.getTotalNotes(), icon, counter.getAccountId(), counter.getCategory());
}
Also used : ViewCompat(androidx.core.view.ViewCompat) NavigationAdapter(it.niedermann.owncloud.notes.main.navigation.NavigationAdapter) Context(android.content.Context) Rect(android.graphics.Rect) NonNull(androidx.annotation.NonNull) R(it.niedermann.owncloud.notes.R) Collection(java.util.Collection) NavigationItem(it.niedermann.owncloud.notes.main.navigation.NavigationItem) Collectors(java.util.stream.Collectors) Collections.singletonList(java.util.Collections.singletonList) SuppressLint(android.annotation.SuppressLint) List(java.util.List) CategoryWithNotesCount(it.niedermann.owncloud.notes.persistence.entity.CategoryWithNotesCount) Stream(java.util.stream.Stream) TypedValue(android.util.TypedValue) Arrays.asList(java.util.Arrays.asList) Locale(java.util.Locale) Configuration(android.content.res.Configuration) WindowInsets(android.view.WindowInsets) Map(java.util.Map) View(android.view.View) Build(android.os.Build) Resources(android.content.res.Resources) Collection(java.util.Collection) Map(java.util.Map) SuppressLint(android.annotation.SuppressLint)

Aggregations

CategoryWithNotesCount (it.niedermann.owncloud.notes.persistence.entity.CategoryWithNotesCount)2 List (java.util.List)2 SuppressLint (android.annotation.SuppressLint)1 Context (android.content.Context)1 Configuration (android.content.res.Configuration)1 Resources (android.content.res.Resources)1 Rect (android.graphics.Rect)1 Build (android.os.Build)1 TypedValue (android.util.TypedValue)1 View (android.view.View)1 WindowInsets (android.view.WindowInsets)1 NonNull (androidx.annotation.NonNull)1 ViewCompat (androidx.core.view.ViewCompat)1 R (it.niedermann.owncloud.notes.R)1 NavigationAdapter (it.niedermann.owncloud.notes.main.navigation.NavigationAdapter)1 NavigationItem (it.niedermann.owncloud.notes.main.navigation.NavigationItem)1 Arrays.asList (java.util.Arrays.asList)1 Collection (java.util.Collection)1 Collections.singletonList (java.util.Collections.singletonList)1 Locale (java.util.Locale)1