diff --git a/app/src/main/java/com/vk/stickers/details/StickerDetailsAdapter.java b/app/src/main/java/com/vk/stickers/details/StickerDetailsAdapter.java index f6b32da39..a2f830125 100644 --- a/app/src/main/java/com/vk/stickers/details/StickerDetailsAdapter.java +++ b/app/src/main/java/com/vk/stickers/details/StickerDetailsAdapter.java @@ -46,13 +46,9 @@ public final class StickerDetailsAdapter extends RecyclerView.Adapter ((c) viewHolder).a(this.mItem); + case 1 -> ((d) viewHolder).a(this.mItems.get(H(i))); } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/adapters/CategorizedAdapter.java b/app/src/main/java/ru/vtosters/lite/ui/adapters/CategorizedAdapter.java index 8ca192e33..e24e7bc0c 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/adapters/CategorizedAdapter.java +++ b/app/src/main/java/ru/vtosters/lite/ui/adapters/CategorizedAdapter.java @@ -176,22 +176,21 @@ public class CategorizedAdapter< T > extends RecyclerView.Adapter< CategorizedAd if(toPosition == 0 || isUnmovedItem(toPosition)) return false; - switch(getTabType(fromPosition)) { - case SELECTED_STATE: - if(getTabType(toPosition) == DISABLED_STATE + switch (getTabType(fromPosition)) { + case SELECTED_STATE -> { + if (getTabType(toPosition) == DISABLED_STATE && mSelectedItems.size() == mMinSelectedItems) return false; - if(getItemViewType(toPosition) == CATEGORY_TITLE) + if (getItemViewType(toPosition) == CATEGORY_TITLE) mDisabledItems.add(0, mSelectedItems.remove(fromPosition - 1)); else Collections.swap(mSelectedItems, fromPosition - 1, toPosition - 1); - break; - - case DISABLED_STATE: - if(getTabType(toPosition) == SELECTED_STATE + } + case DISABLED_STATE -> { + if (getTabType(toPosition) == SELECTED_STATE && mSelectedItems.size() == mMaxSelectedItems) return false; - if(getItemViewType(toPosition) == CATEGORY_TITLE) + if (getItemViewType(toPosition) == CATEGORY_TITLE) mSelectedItems.add(mDisabledItems.remove(fromPosition - mSelectedItems.size() - 2)); else Collections.swap( @@ -199,7 +198,7 @@ public class CategorizedAdapter< T > extends RecyclerView.Adapter< CategorizedAd fromPosition - mSelectedItems.size() - 2, toPosition - mSelectedItems.size() - 2 ); - break; + } } notifyItemMoved(fromPosition, toPosition); diff --git a/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java b/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java index 0169bd5de..db74867a0 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java +++ b/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java @@ -125,134 +125,115 @@ public class DockBarEditorManager { } private DockBarTab getTabByTag(String tag) { - switch(tag) { - case "tab_news": - return DockBarTab.valuesOf( - "tab_news", - R.drawable.ic_menu_newsfeed_outline_28, - R.string.newsfeed, - R.id.tab_news, - milkshake() ? HomeFragment.class : NewsfeedFragment.class); - case "tab_superapps": - return DockBarTab.valuesOf( - "tab_superapps", - milkshake() ? R.drawable.ic_services_outline_28 : R.drawable.ic_menu_search_outline_28, - milkshake() ? R.string.super_app_title : R.string.search, - R.id.tab_discover, - milkshake() ? (superapp() ? SuperAppFragment.class : SearchMenuFragment.class) : DiscoverFragment.class); - case "tab_messages": - return DockBarTab.valuesOf( - "tab_messages", - R.drawable.ic_message_outline_28, - R.string.messages, - R.id.tab_messages, - DialogsFragment.class); - case "tab_feedback": - return DockBarTab.valuesOf( - "tab_feedback", - !milkshake() ? R.drawable.ic_users_outline_28 : R.drawable.ic_menu_notification_outline_28, - !milkshake() ? R.string.friends : R.string.not_notifications, - R.id.tab_feedback, - !milkshake() ? FriendsFragment.class : NotificationsContainerFragment.class); - case "tab_profile": - return DockBarTab.valuesOf( - "tab_profile", - milkshake() ? R.drawable.ic_user_circle_outline_28 : R.drawable.ic_menu_more_outline_28, - milkshake() ? R.string.profile : R.string.menu, - R.id.tab_menu, - milkshake() ? ProfileFragment.class : MenuFragment.class); - case "tab_friends": - return DockBarTab.valuesOf( - "tab_friends", - milkshake() ? R.drawable.ic_users_outline_28 : R.drawable.ic_menu_notification_outline_28, - milkshake() ? R.string.friends : R.string.not_notifications, - R.id.menu_friends, - milkshake() ? FriendsCatalogFragment.class : NotificationsContainerFragment.class); - case "tab_groups": - return DockBarTab.valuesOf( - "tab_groups", - R.drawable.users_3_outline_28, - R.string.groups, - R.id.menu_groups, - milkshake() ? CommunitiesCatalogFragment.class : GroupsFragment1.class); - case "tab_photos": - return DockBarTab.valuesOf( - "tab_photos", - R.drawable.ic_camera_outline_28, - R.string.photos, - R.id.menu_photos, - PhotosFragment.class); - case "tab_audios": - return DockBarTab.valuesOf( - "tab_audios", - R.drawable.ic_music_outline_28, - R.string.music, - R.id.menu_audios, - MusicCatalogFragment1.class); - case "tab_videos": - return DockBarTab.valuesOf( - "tab_videos", - R.drawable.ic_video_outline_28, - R.string.videos, - R.id.menu_videos, - VideoCatalogFragment.class); - case "tab_lives": - return DockBarTab.valuesOf( - "tab_lives", - R.drawable.ic_live_outline_28, - R.string.sett_live, - R.id.menu_lives, - LivesTabsFragment.class); - case "tab_games": - return DockBarTab.valuesOf( - "tab_games", - R.drawable.ic_games_outline_36, - R.string.games, - R.id.menu_games, - GamesFragment.class); - case "tab_liked": - return DockBarTab.valuesOf( - "tab_liked", - R.drawable.ic_like_outline_28, - R.string.sett_likes, - R.id.menu_feed_likes, - FeedLikesFragment.class); - case "tab_fave": - return DockBarTab.valuesOf( - "tab_fave", - R.drawable.ic_favorite_outline_28, - R.string.fave_title, - R.id.menu_fave, - FaveTabFragment.class); - case "tab_documents": - return DockBarTab.valuesOf( - "tab_documents", - R.drawable.ic_document_outline_28, - R.string.docs, - R.id.menu_documents, - DocumentsViewFragment.class); - case "tab_payments": - return DockBarTab.valuesOf( - "tab_payments", - R.drawable.ic_money_transfer_outline_28, - R.string.money_transfer_money, - R.id.menu_payments, - MoneyTransfersFragment.class); - case "tab_vk_apps": - return DockBarTab.valuesOf( - "tab_vk_apps", - R.drawable.ic_services_outline_28, - R.string.menu_apps, - R.id.menu_vk_apps, - AppsFragment.class); - case "tab_settings": - default: - return DockBarTab.valuesOf( - "tab_settings", - R.drawable.ic_settings_outline_28, - R.string.menu_settings, - R.id.menu_settings, - useNewSettings()); - } + return switch (tag) { + case "tab_news" -> DockBarTab.valuesOf( + "tab_news", + R.drawable.ic_menu_newsfeed_outline_28, + R.string.newsfeed, + R.id.tab_news, + milkshake() ? HomeFragment.class : NewsfeedFragment.class); + case "tab_superapps" -> DockBarTab.valuesOf( + "tab_superapps", + milkshake() ? R.drawable.ic_services_outline_28 : R.drawable.ic_menu_search_outline_28, + milkshake() ? R.string.super_app_title : R.string.search, + R.id.tab_discover, + milkshake() ? (superapp() ? SuperAppFragment.class : SearchMenuFragment.class) : DiscoverFragment.class); + case "tab_messages" -> DockBarTab.valuesOf( + "tab_messages", + R.drawable.ic_message_outline_28, + R.string.messages, + R.id.tab_messages, + DialogsFragment.class); + case "tab_feedback" -> DockBarTab.valuesOf( + "tab_feedback", + !milkshake() ? R.drawable.ic_users_outline_28 : R.drawable.ic_menu_notification_outline_28, + !milkshake() ? R.string.friends : R.string.not_notifications, + R.id.tab_feedback, + !milkshake() ? FriendsFragment.class : NotificationsContainerFragment.class); + case "tab_profile" -> DockBarTab.valuesOf( + "tab_profile", + milkshake() ? R.drawable.ic_user_circle_outline_28 : R.drawable.ic_menu_more_outline_28, + milkshake() ? R.string.profile : R.string.menu, + R.id.tab_menu, + milkshake() ? ProfileFragment.class : MenuFragment.class); + case "tab_friends" -> DockBarTab.valuesOf( + "tab_friends", + milkshake() ? R.drawable.ic_users_outline_28 : R.drawable.ic_menu_notification_outline_28, + milkshake() ? R.string.friends : R.string.not_notifications, + R.id.menu_friends, + milkshake() ? FriendsCatalogFragment.class : NotificationsContainerFragment.class); + case "tab_groups" -> DockBarTab.valuesOf( + "tab_groups", + R.drawable.users_3_outline_28, + R.string.groups, + R.id.menu_groups, + milkshake() ? CommunitiesCatalogFragment.class : GroupsFragment1.class); + case "tab_photos" -> DockBarTab.valuesOf( + "tab_photos", + R.drawable.ic_camera_outline_28, + R.string.photos, + R.id.menu_photos, + PhotosFragment.class); + case "tab_audios" -> DockBarTab.valuesOf( + "tab_audios", + R.drawable.ic_music_outline_28, + R.string.music, + R.id.menu_audios, + MusicCatalogFragment1.class); + case "tab_videos" -> DockBarTab.valuesOf( + "tab_videos", + R.drawable.ic_video_outline_28, + R.string.videos, + R.id.menu_videos, + VideoCatalogFragment.class); + case "tab_lives" -> DockBarTab.valuesOf( + "tab_lives", + R.drawable.ic_live_outline_28, + R.string.sett_live, + R.id.menu_lives, + LivesTabsFragment.class); + case "tab_games" -> DockBarTab.valuesOf( + "tab_games", + R.drawable.ic_games_outline_36, + R.string.games, + R.id.menu_games, + GamesFragment.class); + case "tab_liked" -> DockBarTab.valuesOf( + "tab_liked", + R.drawable.ic_like_outline_28, + R.string.sett_likes, + R.id.menu_feed_likes, + FeedLikesFragment.class); + case "tab_fave" -> DockBarTab.valuesOf( + "tab_fave", + R.drawable.ic_favorite_outline_28, + R.string.fave_title, + R.id.menu_fave, + FaveTabFragment.class); + case "tab_documents" -> DockBarTab.valuesOf( + "tab_documents", + R.drawable.ic_document_outline_28, + R.string.docs, + R.id.menu_documents, + DocumentsViewFragment.class); + case "tab_payments" -> DockBarTab.valuesOf( + "tab_payments", + R.drawable.ic_money_transfer_outline_28, + R.string.money_transfer_money, + R.id.menu_payments, + MoneyTransfersFragment.class); + case "tab_vk_apps" -> DockBarTab.valuesOf( + "tab_vk_apps", + R.drawable.ic_services_outline_28, + R.string.menu_apps, + R.id.menu_vk_apps, + AppsFragment.class); + case "tab_settings", default -> DockBarTab.valuesOf( + "tab_settings", + R.drawable.ic_settings_outline_28, + R.string.menu_settings, + R.id.menu_settings, + useNewSettings()); + }; } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java index 31f7ca942..eab1fafe5 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java @@ -141,13 +141,9 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { new VkAlertDialog.Builder(requireContext()) .setTitle(AndroidUtils.getString("change_accent_color")) .setItems(titles, (dialog, which) -> { - switch(which) { - case 0: - showColorPicker(); - break; - case 1: - showPalettesDialog(); - break; + switch (which) { + case 0 -> showColorPicker(); + case 1 -> showPalettesDialog(); } }) .setNegativeButton(R.string.reset, (dialog, which) -> { diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index b459cbdc1..b107a043d 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -61,23 +61,14 @@ public class VTSettings extends MaterialPreferenceToolbarFragment implements Tel } public static String getThemesumm() { - String str; String[] themeTypeName = AndroidUtils.getArray("theme_type_name"); - switch(AndroidUtils.getPrefsValue("currsystemtheme")) { - default: - case "system": - str = themeTypeName[0]; - break; - case "dark": - str = themeTypeName[1]; - break; - case "light": - str = themeTypeName[2]; - break; - } - - return AndroidUtils.getString("current_theme") + ": " + str; + return AndroidUtils.getString("current_theme") + ": " + switch (AndroidUtils.getPrefsValue("currsystemtheme")) { + case "system" -> themeTypeName[0]; + case "dark" -> themeTypeName[1]; + case "light" -> themeTypeName[2]; + default -> ThemesUtils.isDarkTheme() ? themeTypeName[1] : themeTypeName[2]; + }; } private void switchTheme(boolean isDarkTheme) {