diff --git a/app/src/main/java/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/VhBindArgs.java b/app/src/main/java/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/VhBindArgs.java index 38152465e..9c9086865 100644 --- a/app/src/main/java/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/VhBindArgs.java +++ b/app/src/main/java/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/VhBindArgs.java @@ -458,15 +458,10 @@ public class VhBindArgs { public boolean s() { if(this.C != null) - switch (this.C) - { - case LOCAL_ID: - return this.D == this.b.c.getLocalId(); - case VK_ID: - return this.D == this.b.c.C1(); - default: - return false; - } + return switch (this.C) { + case LOCAL_ID -> this.D == this.b.c.getLocalId(); + case VK_ID -> this.D == this.b.c.C1(); + }; return false; } diff --git a/app/src/main/java/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/vh/VhMsg.java b/app/src/main/java/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/vh/VhMsg.java index ad3d3db6a..f372dd668 100644 --- a/app/src/main/java/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/vh/VhMsg.java +++ b/app/src/main/java/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/vh/VhMsg.java @@ -701,18 +701,11 @@ public class VhMsg extends VhBase implements SwipeToReplyItemTouchCallback.b { var9 = Screen.a(-4); } else { Style var11 = this.a(args.b); - switch (this.a(args.b)) - { - case IMAGE: - var10 = Screen.a(12); - break; - case SNIPPET: - var10 = Screen.a(9); - break; - default: - var10 = Screen.a(6); - break; - } + var10 = switch (this.a(args.b)) { + case IMAGE -> Screen.a(12); + case SNIPPET -> Screen.a(9); + default -> Screen.a(6); + }; } ViewExtKt.a(this.P, var9, 0, 0, var10); 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 7c46de916..f6b32da39 100644 --- a/app/src/main/java/com/vk/stickers/details/StickerDetailsAdapter.java +++ b/app/src/main/java/com/vk/stickers/details/StickerDetailsAdapter.java @@ -36,16 +36,12 @@ public final class StickerDetailsAdapter extends RecyclerView.Adapter new c(viewGroup); + case 1 -> new d(viewGroup); + case 2 -> new b(viewGroup); + default -> throw new IllegalArgumentException("Unknown viewType: " + i); + }; } @Override diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/messages/HtmlDialogDownloaderFormatProvider.java b/app/src/main/java/ru/vtosters/lite/downloaders/messages/HtmlDialogDownloaderFormatProvider.java index f524a66e0..8b19a69da 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/messages/HtmlDialogDownloaderFormatProvider.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/messages/HtmlDialogDownloaderFormatProvider.java @@ -180,32 +180,28 @@ public class HtmlDialogDownloaderFormatProvider extends DialogDownloaderFormatPr StringBuilder htmlAction = new StringBuilder("

"); switch (type) { - case "chat_photo_update": - htmlAction.append(AndroidUtils.getString(R.string.chat_export_avatar_update)); - break; - case "chat_photo_remove": - htmlAction.append(AndroidUtils.getString(R.string.chat_export_avatar_remove)); - break; - case "chat_create": + case "chat_photo_update" -> htmlAction.append(AndroidUtils.getString(R.string.chat_export_avatar_update)); + case "chat_photo_remove" -> htmlAction.append(AndroidUtils.getString(R.string.chat_export_avatar_remove)); + case "chat_create" -> { htmlAction.append(AndroidUtils.getString(R.string.chat_export_chat_created)); var name = action.optString("text"); if (!name.isEmpty()) htmlAction.append(" \"").append(name).append("\""); - break; - case "chat_title_update": + } + case "chat_title_update" -> { var newName = action.optString("text"); htmlAction.append(AndroidUtils.getString(R.string.chat_export_name_changed)); if (!newName.isEmpty()) htmlAction.append(" ") - .append(AndroidUtils.getString(R.string.chat_export_to)) - .append(" \"") - .append(newName) - .append("\""); - break; - case "chat_invite_user": + .append(AndroidUtils.getString(R.string.chat_export_to)) + .append(" \"") + .append(newName) + .append("\""); + } + case "chat_invite_user" -> { var newMemberId = action.optInt("member_id"); htmlAction.append(AndroidUtils.getString(R.string.chat_export_user_added)) - .append(" "); + .append(" "); if (newMemberId != 0) { int id; String endpoint; @@ -217,14 +213,14 @@ public class HtmlDialogDownloaderFormatProvider extends DialogDownloaderFormatPr endpoint = "club" + -newMemberId; } htmlAction.append(AndroidUtils.getString(id)) - .append(" @") - .append(endpoint) - .append(""); + .append(" @") + .append(endpoint) + .append(""); } - break; - case "chat_kick_user": + } + case "chat_kick_user" -> { var removedMemberId = action.optInt("member_id"); htmlAction.append(AndroidUtils.getString(R.string.chat_export_user_kicked)) .append(" "); @@ -245,27 +241,19 @@ public class HtmlDialogDownloaderFormatProvider extends DialogDownloaderFormatPr .append(endpoint) .append(""); } - break; - case "chat_pin_message": + } + case "chat_pin_message" -> { var message = action.optString("message"); htmlAction.append(AndroidUtils.getString(R.string.chat_export_msg_pinned)); if (!message.isEmpty()) htmlAction.append(" \"").append(message).append("\""); - break; - case "chat_unpin_message": - htmlAction.append(AndroidUtils.getString(R.string.chat_export_msg_unpinned)); - break; - case "chat_invite_user_by_link": - htmlAction.append(AndroidUtils.getString(R.string.chat_export_join_by_link)); - break; - case "chat_screenshot": - htmlAction.append(AndroidUtils.getString(R.string.chat_export_chat_screenshot)); - break; - case "custom": - htmlAction.append(action.optString("message")); - break; - default: - htmlAction.append(AndroidUtils.getString(R.string.vkim_msg_unsupported)).append(" (").append(type).append(")"); - break; + } + case "chat_unpin_message" -> htmlAction.append(AndroidUtils.getString(R.string.chat_export_msg_unpinned)); + case "chat_invite_user_by_link" -> + htmlAction.append(AndroidUtils.getString(R.string.chat_export_join_by_link)); + case "chat_screenshot" -> htmlAction.append(AndroidUtils.getString(R.string.chat_export_chat_screenshot)); + case "custom" -> htmlAction.append(action.optString("message")); + default -> + htmlAction.append(AndroidUtils.getString(R.string.vkim_msg_unsupported)).append(" (").append(type).append(")"); } return htmlAction.append("

").toString(); @@ -281,150 +269,129 @@ public class HtmlDialogDownloaderFormatProvider extends DialogDownloaderFormatPr if (item == null) continue; switch (type) { // market_album is not supported - case "photo": + case "photo" -> { var sizes = item.getJSONArray("sizes"); rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_photo)) - .append(""); - break; - case "doc": - rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_doc)) - .append(""); - break; - case "link": - rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_link)) - .append(""); - break; - case "wall": - rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_wallpost)) - .append(""); - break; - case "sticker": - rs.append(""); - break; - case "audio_message": - rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_audiomsg)) - .append(""); - break; - case "audio": - rs.append(AndroidUtils.getString(R.string.chat_export_type_audio)) - .append(" (") - .append(item.optString("artist")) - .append(" — ") - .append(item.optString("title")) - .append(")"); - break; - case "video": - rs.append(AndroidUtils.getString(R.string.chat_export_type_video)) - .append(" (") - .append(MessagesDownloader.getVideoHtml(item.optJSONObject("files"))) - .append(")"); - break; - case "wall_reply": + .append(sizes.getJSONObject(sizes.length() - 1).getString("url")) + .append("\" class=\"msg-attach-link\">") + .append(AndroidUtils.getString(R.string.chat_export_type_photo)) + .append(""); + } + case "doc" -> rs.append("") + .append(AndroidUtils.getString(R.string.chat_export_type_doc)) + .append(""); + case "link" -> rs.append("") + .append(AndroidUtils.getString(R.string.chat_export_type_link)) + .append(""); + case "wall" -> rs.append("") + .append(AndroidUtils.getString(R.string.chat_export_type_wallpost)) + .append(""); + case "sticker" -> rs.append(""); + case "audio_message" -> rs.append("") + .append(AndroidUtils.getString(R.string.chat_export_type_audiomsg)) + .append(""); + case "audio" -> rs.append(AndroidUtils.getString(R.string.chat_export_type_audio)) + .append(" (") + .append(item.optString("artist")) + .append(" — ") + .append(item.optString("title")) + .append(")"); + case "video" -> rs.append(AndroidUtils.getString(R.string.chat_export_type_video)) + .append(" (") + .append(MessagesDownloader.getVideoHtml(item.optJSONObject("files"))) + .append(")"); + case "wall_reply" -> { var link = String.format("https://" + Constants.VK_DOMAIN + "/wall%s_%s?reply=%s", - item.optString("owner_id"), - item.optString("post_id"), - item.optString("id")); + item.optString("owner_id"), + item.optString("post_id"), + item.optString("id")); rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_wallreply)) - .append(""); - break; - case "story": + .append(link).append("\">") + .append(AndroidUtils.getString(R.string.chat_export_type_wallreply)) + .append(""); + } + case "story" -> { var story_link = String.format("https://" + Constants.VK_DOMAIN + "/story%s_%s", - item.optString("owner_id"), - item.optString("id")); + item.optString("owner_id"), + item.optString("id")); rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_story)) - .append(""); - break; - case "podcast": + .append(story_link) + .append("\">") + .append(AndroidUtils.getString(R.string.chat_export_type_story)) + .append(""); + } + case "podcast" -> { var podcast_link = String.format("https://" + Constants.VK_DOMAIN + "/podcast%s_%s", - item.optString("owner_id"), - item.optString("id")); + item.optString("owner_id"), + item.optString("id")); rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_podcast)) - .append(""); - break; - case "gift": - rs.append(""); - break; - case "mini_app": + .append(podcast_link) + .append("\">") + .append(AndroidUtils.getString(R.string.chat_export_type_podcast)) + .append(""); + } + case "gift" -> rs.append(""); + case "mini_app" -> { var app = item.optJSONObject("app"); - if (app != null) { var miniapp_link = String.format("https://" + Constants.VK_DOMAIN + "/app%s", app.optString("id")); rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_miniapp)) - .append(""); + .append(miniapp_link) + .append("\">") + .append(AndroidUtils.getString(R.string.chat_export_type_miniapp)) + .append(""); break; } - rs.append(AndroidUtils.getString(R.string.chat_export_error)); - break; - case "audio_playlist": + } + case "audio_playlist" -> { var playlist_link = String.format("https://" + Constants.VK_DOMAIN + "/music/album/%s_%s_%s", - item.optString("owner_id"), - item.optString("id"), - item.optString("access_key")); + item.optString("owner_id"), + item.optString("id"), + item.optString("access_key")); rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_playlist)) - .append(" (") - .append(item.optString("title")) - .append(")"); - break; - case "poll": - rs.append(AndroidUtils.getString(item.optBoolean("anonymous") ? R.string.chat_export_poll_anon : R.string.chat_export_poll_publ)) - .append(" ") - .append(AndroidUtils.getString(R.string.chat_export_type_poll)) - .append(" ") - .append(MessagesDownloader.getPollHtml(item)); - break; - case "market": + .append(playlist_link) + .append("\">") + .append(AndroidUtils.getString(R.string.chat_export_type_playlist)) + .append(" (") + .append(item.optString("title")) + .append(")"); + } + case "poll" -> + rs.append(AndroidUtils.getString(item.optBoolean("anonymous") ? R.string.chat_export_poll_anon : R.string.chat_export_poll_publ)) + .append(" ") + .append(AndroidUtils.getString(R.string.chat_export_type_poll)) + .append(" ") + .append(MessagesDownloader.getPollHtml(item)); + case "market" -> { var market_item_link = String.format("https://" + Constants.VK_DOMAIN + "/market%s_%s", - item.optString("owner_id"), - item.optString("id")); + item.optString("owner_id"), + item.optString("id")); rs.append("") - .append(AndroidUtils.getString(R.string.chat_export_type_market)) - .append(""); - break; - default: - rs.append(AndroidUtils.getString(R.string.vkim_msg_unsupported)) - .append(" (") - .append(type) - .append(")"); - break; + .append(market_item_link) + .append("\">") + .append(AndroidUtils.getString(R.string.chat_export_type_market)) + .append(""); + } + default -> rs.append(AndroidUtils.getString(R.string.vkim_msg_unsupported)) + .append(" (") + .append(type) + .append(")"); } rs.append(" "); diff --git a/app/src/main/java/ru/vtosters/lite/hooks/DateHook.java b/app/src/main/java/ru/vtosters/lite/hooks/DateHook.java index 5e70be11a..edf3c405d 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/DateHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/DateHook.java @@ -19,14 +19,11 @@ public class DateHook { } public static String getDateFormat() { - switch (getPrefsValue("dateformat")) { - case "noyear": - return AndroidUtils.getString(R.string.fulltime2); - case "full": - return AndroidUtils.getString(R.string.fulltime); - default: - return AndroidUtils.getString(R.string.fulltime3); - } + return switch (getPrefsValue("dateformat")) { + case "noyear" -> AndroidUtils.getString(R.string.fulltime2); + case "full" -> AndroidUtils.getString(R.string.fulltime); + default -> AndroidUtils.getString(R.string.fulltime3); + }; } @SuppressLint("SimpleDateFormat") diff --git a/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java index a004f91db..6bb75f308 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java @@ -191,36 +191,24 @@ public class DockBarInjector { int val = 0; switch (tabId) { - case tab_messages: - val = MenuCountersState.j(); - break; - case menu_groups: - val = MenuCountersState.h(); - break; - case menu_fave: - val = MenuCountersState.c(); - break; - case menu_games: - val = MenuCountersState.a(); - break; - case menu_photos: - val = MenuCountersState.l(); - break; - case menu_videos: - val = MenuCountersState.n(); - break; - case tab_feedback: + case tab_messages -> val = MenuCountersState.j(); + case menu_groups -> val = MenuCountersState.h(); + case menu_fave -> val = MenuCountersState.c(); + case menu_games -> val = MenuCountersState.a(); + case menu_photos -> val = MenuCountersState.l(); + case menu_videos -> val = MenuCountersState.n(); + case tab_feedback -> { if (milkshake()) val = MenuCountersState.k(); - break; - case tab_news: + } + case tab_news -> { if (milkshake() && getBoolValue("newsfeed_notif", true)) val = MenuCountersState.k(); - break; - case menu_friends: + } + case menu_friends -> { if (!milkshake()) val = MenuCountersState.k(); - break; + } } // // val = MenuCountersState.g(); // friends ?????? menu_friends diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MessagesHook.java b/app/src/main/java/ru/vtosters/lite/hooks/MessagesHook.java index 1094dca61..01e0f224d 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MessagesHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MessagesHook.java @@ -99,19 +99,13 @@ public class MessagesHook { } private static int expireTime() { - switch (bombCount) { - case "15s": - return 15; - case "1m": - return 60; - case "5m": - return 300; - case "1h": - return 3600; - case "24h": - return 86400; - default: - return 0; - } + return switch (bombCount) { + case "15s" -> 15; + case "1m" -> 60; + case "5m" -> 300; + case "1h" -> 3600; + case "24h" -> 86400; + default -> 0; + }; } } diff --git a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java index 228a6e544..a2ce9a9f9 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -29,14 +29,12 @@ public class NewsfeedHook { if (vkme()) { return MAX_VALUE; } - switch (getPrefsValue("newsupdate")) { - case "no_update": - return MAX_VALUE; - case "imd_update": - return 10000L; - default: - return Preference.b().getLong(refresh_timeout ? "refresh_timeout_top" : "refresh_timeout_recent", 600000L); - } + return switch (getPrefsValue("newsupdate")) { + case "no_update" -> MAX_VALUE; + case "imd_update" -> 10000L; + default -> + Preference.b().getLong(refresh_timeout ? "refresh_timeout_top" : "refresh_timeout_recent", 600000L); + }; } public static List hideElement(ArrayList list) { diff --git a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java index 680ff3574..82e7b4273 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java @@ -29,117 +29,61 @@ public class OnlineFormatterHook { public static String getAppName(int appid) { // thanks to egormetlitsky (vk mp3 mod) for helping with online ids if (appid <= 3 || !getBoolValue("onlineformatter", true)) return null; - switch (appid) { - case 2274003: - return "Android"; - case 6328039: - case 6328868: - case 6820516: - return "VK mp3 mod"; - case 5910839: - return "DarkVK"; - case 3140623: - return "iPhone"; - case 3087106: - return "iPhone (Dev)"; - case 3682744: - return "iPad"; - case 4083558: - case 5316500: - return "VFeed (iPhone)"; - case 4385266: - return "VFeed Pro (iPhone)"; - case 3502557: - case 3502561: - return "Windows Phone"; - case 3697615: - return "Windows"; - case 2685278: - return "Kate Mobile"; - case 3469984: - return "Lynt"; - case 6121396: - return "VK Admin (Android)"; - case 5776857: - return "VK Admin (iPhone)"; - case 5027722: - return "VK Messenger (Desktop)"; - case 6146827: - return AndroidUtils.getString(R.string.vk_messenger) + " (Android)"; // VK Мессенджер (Android) - case 6482950: - return AndroidUtils.getString(R.string.vk_messenger) + " (iPhone)"; // VK Мессенджер (iPhone) - case 6481715: - return AndroidUtils.getString(R.string.vk_messenger) + " Dev (iPhone)"; // VK Мессенджер Dev (iPhone) - case 7799655: - return AndroidUtils.getString(R.string.vk_mail_online); // VK Почта - case 7598572: - return AndroidUtils.getString(R.string.sferum_online) + " (Android)"; // Сферум (Android) - case 7571751: - return AndroidUtils.getString(R.string.sferum_online) + " (iPhone)"; // Сферум (iPhone) - case 7556576: - return AndroidUtils.getString(R.string.sferum_online); // Сферум - case 7497650: - return "VK ID"; - case 8094476: - return AndroidUtils.getString(R.string.vk_calls_online) + " (Android)"; // VK Звонки (Android) - case 8093730: - return AndroidUtils.getString(R.string.vk_calls_online) + " (iPhone)"; // VK Звонки (iPhone) - case 7793118: - return AndroidUtils.getString(R.string.vk_calls_online) + " (Desktop)"; // VK Звонки (Desktop) - case 6767438: - return AndroidUtils.getString(R.string.vk_music_online) + " (Android)"; // VK Музыка (Android) - case 8113297: - return AndroidUtils.getString(R.string.vk_clips_online) + " (Android)"; // VK Клипы (Android) - case 8106428: - return AndroidUtils.getString(R.string.vk_clips_online) + " (iPhone)"; // VK Клипы (iPhone) - case 5044491: - return "Candy"; - case 8114066: - return AndroidUtils.getString(R.string.vk_video_online); // VK Видео - case 4894723: - return "Phoenix Lite"; - case 4994316: - return "Phoenix for VK"; - case 3032107: - return "Vika"; - case 3698024: - return "Instagram"; - case 4580399: - return "Snapster (Android)"; - case 4986954: - return "Snapster (iPhone)"; - case 3900098: - case 5353544: - return "Домофон"; - case 5462895: - return "Fast Messenger"; - case 6964679: - return "Fast"; - case 6030003: - return "Juno Messenger"; - case 5955265: - return "VK Mobile"; - case 6614620: - return "Laney"; - case 5632485: - return "SpaceVK"; - case 6287487: - return "vk.com"; - case 4542624: - return "Black VK"; - case 3917910: - return "Miranda NG (bridge)"; - case 8043814: - return "Quise"; - case 7221936: - return "Вечный Online"; - case 6892935: - return "VK Helper"; - case 6248661: - return "MemeVoices for VK"; - default: - return getAppNameFromOnline(appid); - } + return switch (appid) { + case 2274003 -> "Android"; + case 6328039, 6328868, 6820516 -> "VK mp3 mod"; + case 5910839 -> "DarkVK"; + case 3140623 -> "iPhone"; + case 3087106 -> "iPhone (Dev)"; + case 3682744 -> "iPad"; + case 4083558, 5316500 -> "VFeed (iPhone)"; + case 4385266 -> "VFeed Pro (iPhone)"; + case 3502557, 3502561 -> "Windows Phone"; + case 3697615 -> "Windows"; + case 2685278 -> "Kate Mobile"; + case 3469984 -> "Lynt"; + case 6121396 -> "VK Admin (Android)"; + case 5776857 -> "VK Admin (iPhone)"; + case 5027722 -> "VK Messenger (Desktop)"; + case 6146827 -> AndroidUtils.getString(R.string.vk_messenger) + " (Android)"; // VK Мессенджер (Android) + case 6482950 -> AndroidUtils.getString(R.string.vk_messenger) + " (iPhone)"; // VK Мессенджер (iPhone) + case 6481715 -> + AndroidUtils.getString(R.string.vk_messenger) + " Dev (iPhone)"; // VK Мессенджер Dev (iPhone) + case 7799655 -> AndroidUtils.getString(R.string.vk_mail_online); // VK Почта + case 7598572 -> AndroidUtils.getString(R.string.sferum_online) + " (Android)"; // Сферум (Android) + case 7571751 -> AndroidUtils.getString(R.string.sferum_online) + " (iPhone)"; // Сферум (iPhone) + case 7556576 -> AndroidUtils.getString(R.string.sferum_online); // Сферум + case 7497650 -> "VK ID"; + case 8094476 -> AndroidUtils.getString(R.string.vk_calls_online) + " (Android)"; // VK Звонки (Android) + case 8093730 -> AndroidUtils.getString(R.string.vk_calls_online) + " (iPhone)"; // VK Звонки (iPhone) + case 7793118 -> AndroidUtils.getString(R.string.vk_calls_online) + " (Desktop)"; // VK Звонки (Desktop) + case 6767438 -> AndroidUtils.getString(R.string.vk_music_online) + " (Android)"; // VK Музыка (Android) + case 8113297 -> AndroidUtils.getString(R.string.vk_clips_online) + " (Android)"; // VK Клипы (Android) + case 8106428 -> AndroidUtils.getString(R.string.vk_clips_online) + " (iPhone)"; // VK Клипы (iPhone) + case 5044491 -> "Candy"; + case 8114066 -> AndroidUtils.getString(R.string.vk_video_online); // VK Видео + case 4894723 -> "Phoenix Lite"; + case 4994316 -> "Phoenix for VK"; + case 3032107 -> "Vika"; + case 3698024 -> "Instagram"; + case 4580399 -> "Snapster (Android)"; + case 4986954 -> "Snapster (iPhone)"; + case 3900098, 5353544 -> "Домофон"; + case 5462895 -> "Fast Messenger"; + case 6964679 -> "Fast"; + case 6030003 -> "Juno Messenger"; + case 5955265 -> "VK Mobile"; + case 6614620 -> "Laney"; + case 5632485 -> "SpaceVK"; + case 6287487 -> "vk.com"; + case 4542624 -> "Black VK"; + case 3917910 -> "Miranda NG (bridge)"; + case 8043814 -> "Quise"; + case 7221936 -> "Вечный Online"; + case 6892935 -> "VK Helper"; + case 6248661 -> "MemeVoices for VK"; + default -> getAppNameFromOnline(appid); + }; } diff --git a/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java b/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java index 3d0696f5b..653f9b112 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java @@ -213,24 +213,12 @@ public class PhotoViewer { } switch (i) { - case 1: - searchWithYandex(url); - break; - case 2: - searchWithGoogle(url); - break; - case 3: - searchWithBing(url); - break; - case 4: - searchWithTraceMoe(url); - break; - case 5: - searchWithAscii2d(url); - break; - case 6: - searchWithSaucenao(url); - break; + case 1 -> searchWithYandex(url); + case 2 -> searchWithGoogle(url); + case 3 -> searchWithBing(url); + case 4 -> searchWithTraceMoe(url); + case 5 -> searchWithAscii2d(url); + case 6 -> searchWithSaucenao(url); } } diff --git a/app/src/main/java/ru/vtosters/lite/hooks/StartFragmentHook.java b/app/src/main/java/ru/vtosters/lite/hooks/StartFragmentHook.java index 2fb19bde7..19aed89c9 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/StartFragmentHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/StartFragmentHook.java @@ -35,47 +35,28 @@ public class StartFragmentHook { if (vkme()) { return DialogsFragment.class; } - switch (getPrefsValue("start_values")) { - case "newsfeed": - return milkshake() ? HomeFragment.class : NewsfeedFragment.class; - case "messenger": - return DialogsFragment.class; - case "groups": - return milkshake() ? CommunitiesCatalogFragment.class : GroupsFragment1.class; - case "music": - return MusicCatalogFragment1.class; - case "friends": - return FriendsFragment.class; - case "photos": - return PhotosFragment.class; - case "videos": - return VideoCatalogFragment.class; - case "settings": - return useNewSettings(); - case "apps": - return AppsFragment.class; - case "discover": - return DiscoverFragment.class; - case "notifications": - return NotificationsContainerFragment.class; - case "money": - return MoneyTransfersFragment.class; - case "games": - return GamesFragment.class; - case "liked": - return FaveTabFragment.class; - case "menu": - return milkshake() ? (superapp() ? SuperAppFragment.class : SearchMenuFragment.class) : MenuFragment.class; - case "profile": - return ProfileFragment.class; - case "lives": - return LivesTabsFragment.class; - case "docs": - return DocumentsViewFragment.class; - case "brtd": - return BirthdaysFragment.class; - default: - return getInstance().getSelectedTabs().get(0).fragmentClass; - } + return switch (getPrefsValue("start_values")) { + case "newsfeed" -> milkshake() ? HomeFragment.class : NewsfeedFragment.class; + case "messenger" -> DialogsFragment.class; + case "groups" -> milkshake() ? CommunitiesCatalogFragment.class : GroupsFragment1.class; + case "music" -> MusicCatalogFragment1.class; + case "friends" -> FriendsFragment.class; + case "photos" -> PhotosFragment.class; + case "videos" -> VideoCatalogFragment.class; + case "settings" -> useNewSettings(); + case "apps" -> AppsFragment.class; + case "discover" -> DiscoverFragment.class; + case "notifications" -> NotificationsContainerFragment.class; + case "money" -> MoneyTransfersFragment.class; + case "games" -> GamesFragment.class; + case "liked" -> FaveTabFragment.class; + case "menu" -> + milkshake() ? (superapp() ? SuperAppFragment.class : SearchMenuFragment.class) : MenuFragment.class; + case "profile" -> ProfileFragment.class; + case "lives" -> LivesTabsFragment.class; + case "docs" -> DocumentsViewFragment.class; + case "brtd" -> BirthdaysFragment.class; + default -> getInstance().getSelectedTabs().get(0).fragmentClass; + }; } } diff --git a/app/src/main/java/ru/vtosters/lite/hooks/TogglesHook.java b/app/src/main/java/ru/vtosters/lite/hooks/TogglesHook.java index 8be6f95a4..934945a02 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/TogglesHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/TogglesHook.java @@ -12,134 +12,25 @@ import com.vk.toggle.Features; public class TogglesHook { public static boolean shouldPatch(Features.Type feature) { - switch (feature) { - case AB_IM_LONGPOLL_MSG_BATCHING: - case AB_IM_VIEW_POOL: - case AB_MULTI_GIFTS: - case AB_NEWS_VIDEO_LAYOUT_TEXT: - case AB_STICKERS_DISCOVER: - case AB_GIFTS_FROM_KEYBOARD: - case FEATURE_FEED_DEFAULT_LIST_ALWAYS: - case EXPERIMENT_NEWS_VIDEO_LAYOUT_TEXT: - case FEATURE_MILKSHAKE_DISCOVER_IN_MENU: - case FEATURE_DISCOVER_CATEGORIES: - case FEATURE_FAVE_PERF_IMPROVE: - case FEATURE_GROUP_ADMIN_MESSAGES: - case FEATURE_GROUP_MSG_PUSH_PARAM: - case FEATURE_IMAGE_QUALITY_UPGRADE: - case FEATURE_IM_AUDIO_MSG_TRANSCRIPT: - case FEATURE_IM_CASPER_MSGS: - case FEATURE_IM_DISABLE_FORCE_OPEN_VK_ME: - case FEATURE_IM_GIF_AUTOPLAY: - case FEATURE_IM_MR_IN_VKAPP: - case FEATURE_MEMORIES_ENABLED: - case FEATURE_MENU_GAMES_CAROUSEL: - case FEATURE_MILKSHAKE: - case FEATURE_MILKSHAKE_CHANGE_FEED_BY_TIMEOUT: - case FEATURE_MILKSHAKE_NEWS_SCROLL_ON_BACK: - case FEATURE_MILKSHAKE_SWITCH_THEME_ON_TAP: - case FEATURE_ML_BRANDS: - case FEATURE_ML_FEATURES: - case FEATURE_ML_MODELS_LOADING: - case FEATURE_MONEY_TRANSFERS_VKPAY: - case FEATURE_MUSIC_ARTIST_CATALOG: - case FEATURE_MUSIC_NEW_CATALOG: - case FEATURE_NARRATIVE_SNIPPET_TYPE: - case FEATURE_NEWS_GAMES_IN_DISCOVER: - case FEATURE_NEWS_HEADER_SCROLL: - case FEATURE_NEW_FORMAT_SHOW_WPB: - case FEATURE_PODCASTS_PAGE: - case FEATURE_QR_CREATE_QR: - case FEATURE_QR_DYNAMIC_FRAME: - case FEATURE_QR_SCAN_FROM_PHOTO: - case FEATURE_QR_VISION_DECODER: - case FEATURE_QUEUE_COUNTERS: - case FEATURE_REEF: - case FEATURE_ROAMING_AUTOPLAY: - case FEATURE_SHARE_MSGS_ON_INVITE: - case FEATURE_STICKERS_BOT_LINK: - case FEATURE_STICKERS_NEW_CATALOG: - case FEATURE_STORIES_AVATAR: - case FEATURE_STORIES_FEED_TYPE: - case FEATURE_STORIES_SHOW_ALWAYS: - case FEATURE_STORY_ANSWER_PUBLIC: - case FEATURE_STORY_APP_STICKER: - case FEATURE_STORY_ARCHIVE: - case FEATURE_STORY_ARCHIVE_POST: - case FEATURE_STORY_BAKGROUND_ALL: - case FEATURE_STORY_BOX: - case FEATURE_STORY_CADRE: - case FEATURE_STORY_CAMERA_TOOLTIP: - case FEATURE_STORY_EDITOR_GALLERY: - case FEATURE_STORY_EDITOR_TYPE: - case FEATURE_STORY_ENDLESS_VIDEO: - case FEATURE_STORY_FAST_REACTIONS: - case FEATURE_STORY_GIF: - case FEATURE_STORY_GROUPED: - case FEATURE_STORY_HIGH_QUALITY: - case FEATURE_STORY_MASKS_FRONTAL: - case FEATURE_STORY_MENTION_ICON: - case FEATURE_STORY_MODERN_PUBLISH: - case FEATURE_STORY_MUSIC_EDITOR: - case FEATURE_STORY_MUSIC_REPLIES: - case FEATURE_STORY_MUSIC_REPLIES_2: - case FEATURE_STORY_NEW_FRAME: - case FEATURE_STORY_ONE_TIME: - case FEATURE_STORY_PHOTO_SHARING: - case FEATURE_STORY_PHOTO_STICKER: - case FEATURE_STORY_POLLS: - case FEATURE_STORY_POST_REPOST: - case FEATURE_STORY_PRELOADING: - case FEATURE_STORY_QUESTION: - case FEATURE_STORY_QUESTION_STYLE: - case FEATURE_STORY_RLOTTIE: - case FEATURE_STORY_RLOTTIE_CACHE: - case FEATURE_STORY_SAVE_DEFAULT_ON: - case FEATURE_STORY_SEND_DIALOG_LIST: - case FEATURE_STORY_STICKER_PACK: - case FEATURE_STORY_TIME: - case FEATURE_STORY_VIEWER_CAMERA: - case FEATURE_STORY_VOICE_ANSWER: - case FEATURE_STORY_WITH_CONTEXT: - case FEATURE_SUPERAPP_MENU: - case FEATURE_TRAFFIC_SAVER: - case FEATURE_VKPAY_WIDGET: - case FEATURE_VKUI_INTERNAL_TO_MINI_APPS: - case FEATURE_VKUI_TOKEN_CACHE: - case FEATURE_VK_APPS_SEARCH: - case FEATURE_VOTES_BALANCE: - case FEATURE_WEBVIEW_TOKEN_ACTIVE: - case FEATURE_MILKSHAKE_FORCE_DISABLED: - case FEATURE_MILKSHAKE_ACTIVATION_DISABLED: - case EXPERIMENT_NEWS_DISABLE_CACHE: - return true; - default: - return false; - } + return switch (feature) { + case AB_IM_LONGPOLL_MSG_BATCHING, AB_IM_VIEW_POOL, AB_MULTI_GIFTS, AB_NEWS_VIDEO_LAYOUT_TEXT, AB_STICKERS_DISCOVER, AB_GIFTS_FROM_KEYBOARD, FEATURE_FEED_DEFAULT_LIST_ALWAYS, EXPERIMENT_NEWS_VIDEO_LAYOUT_TEXT, FEATURE_MILKSHAKE_DISCOVER_IN_MENU, FEATURE_DISCOVER_CATEGORIES, FEATURE_FAVE_PERF_IMPROVE, FEATURE_GROUP_ADMIN_MESSAGES, FEATURE_GROUP_MSG_PUSH_PARAM, FEATURE_IMAGE_QUALITY_UPGRADE, FEATURE_IM_AUDIO_MSG_TRANSCRIPT, FEATURE_IM_CASPER_MSGS, FEATURE_IM_DISABLE_FORCE_OPEN_VK_ME, FEATURE_IM_GIF_AUTOPLAY, FEATURE_IM_MR_IN_VKAPP, FEATURE_MEMORIES_ENABLED, FEATURE_MENU_GAMES_CAROUSEL, FEATURE_MILKSHAKE, FEATURE_MILKSHAKE_CHANGE_FEED_BY_TIMEOUT, FEATURE_MILKSHAKE_NEWS_SCROLL_ON_BACK, FEATURE_MILKSHAKE_SWITCH_THEME_ON_TAP, FEATURE_ML_BRANDS, FEATURE_ML_FEATURES, FEATURE_ML_MODELS_LOADING, FEATURE_MONEY_TRANSFERS_VKPAY, FEATURE_MUSIC_ARTIST_CATALOG, FEATURE_MUSIC_NEW_CATALOG, FEATURE_NARRATIVE_SNIPPET_TYPE, FEATURE_NEWS_GAMES_IN_DISCOVER, FEATURE_NEWS_HEADER_SCROLL, FEATURE_NEW_FORMAT_SHOW_WPB, FEATURE_PODCASTS_PAGE, FEATURE_QR_CREATE_QR, FEATURE_QR_DYNAMIC_FRAME, FEATURE_QR_SCAN_FROM_PHOTO, FEATURE_QR_VISION_DECODER, FEATURE_QUEUE_COUNTERS, FEATURE_REEF, FEATURE_ROAMING_AUTOPLAY, FEATURE_SHARE_MSGS_ON_INVITE, FEATURE_STICKERS_BOT_LINK, FEATURE_STICKERS_NEW_CATALOG, FEATURE_STORIES_AVATAR, FEATURE_STORIES_FEED_TYPE, FEATURE_STORIES_SHOW_ALWAYS, FEATURE_STORY_ANSWER_PUBLIC, FEATURE_STORY_APP_STICKER, FEATURE_STORY_ARCHIVE, FEATURE_STORY_ARCHIVE_POST, FEATURE_STORY_BAKGROUND_ALL, FEATURE_STORY_BOX, FEATURE_STORY_CADRE, FEATURE_STORY_CAMERA_TOOLTIP, FEATURE_STORY_EDITOR_GALLERY, FEATURE_STORY_EDITOR_TYPE, FEATURE_STORY_ENDLESS_VIDEO, FEATURE_STORY_FAST_REACTIONS, FEATURE_STORY_GIF, FEATURE_STORY_GROUPED, FEATURE_STORY_HIGH_QUALITY, FEATURE_STORY_MASKS_FRONTAL, FEATURE_STORY_MENTION_ICON, FEATURE_STORY_MODERN_PUBLISH, FEATURE_STORY_MUSIC_EDITOR, FEATURE_STORY_MUSIC_REPLIES, FEATURE_STORY_MUSIC_REPLIES_2, FEATURE_STORY_NEW_FRAME, FEATURE_STORY_ONE_TIME, FEATURE_STORY_PHOTO_SHARING, FEATURE_STORY_PHOTO_STICKER, FEATURE_STORY_POLLS, FEATURE_STORY_POST_REPOST, FEATURE_STORY_PRELOADING, FEATURE_STORY_QUESTION, FEATURE_STORY_QUESTION_STYLE, FEATURE_STORY_RLOTTIE, FEATURE_STORY_RLOTTIE_CACHE, FEATURE_STORY_SAVE_DEFAULT_ON, FEATURE_STORY_SEND_DIALOG_LIST, FEATURE_STORY_STICKER_PACK, FEATURE_STORY_TIME, FEATURE_STORY_VIEWER_CAMERA, FEATURE_STORY_VOICE_ANSWER, FEATURE_STORY_WITH_CONTEXT, FEATURE_SUPERAPP_MENU, FEATURE_TRAFFIC_SAVER, FEATURE_VKPAY_WIDGET, FEATURE_VKUI_INTERNAL_TO_MINI_APPS, FEATURE_VKUI_TOKEN_CACHE, FEATURE_VK_APPS_SEARCH, FEATURE_VOTES_BALANCE, FEATURE_WEBVIEW_TOKEN_ACTIVE, FEATURE_MILKSHAKE_FORCE_DISABLED, FEATURE_MILKSHAKE_ACTIVATION_DISABLED, EXPERIMENT_NEWS_DISABLE_CACHE -> + true; + default -> false; + }; } public static boolean redirect(Features.Type feature) { - switch (feature) { - case EXPERIMENT_NEWS_DISABLE_CACHE: - return !feedcache(); - case FEATURE_SUPERAPP_MENU: - return superapp(); - case FEATURE_MILKSHAKE: - return milkshake(); - case FEATURE_MILKSHAKE_FORCE_DISABLED: - case FEATURE_MILKSHAKE_ACTIVATION_DISABLED: - return !milkshake(); - case AB_NEWS_VIDEO_LAYOUT_TEXT: - case FEATURE_COMPACT_REPOST: - case EXPERIMENT_NEWS_VIDEO_LAYOUT_TEXT: - return postsredesign(); - case FEATURE_IMAGE_QUALITY_UPGRADE: - return !getBoolValue("compressPhotos", true); - case FEATURE_MENU_GAMES_CAROUSEL: - return miniapps(); - default: - return true; - } + return switch (feature) { + case EXPERIMENT_NEWS_DISABLE_CACHE -> !feedcache(); + case FEATURE_SUPERAPP_MENU -> superapp(); + case FEATURE_MILKSHAKE -> milkshake(); + case FEATURE_MILKSHAKE_FORCE_DISABLED, FEATURE_MILKSHAKE_ACTIVATION_DISABLED -> !milkshake(); + case AB_NEWS_VIDEO_LAYOUT_TEXT, FEATURE_COMPACT_REPOST, EXPERIMENT_NEWS_VIDEO_LAYOUT_TEXT -> + postsredesign(); + case FEATURE_IMAGE_QUALITY_UPGRADE -> !getBoolValue("compressPhotos", true); + case FEATURE_MENU_GAMES_CAROUSEL -> miniapps(); + default -> true; + }; } public static FeatureManager.b redirectStrings(Features.Type feature) { diff --git a/app/src/main/java/ru/vtosters/lite/net/NetClient.java b/app/src/main/java/ru/vtosters/lite/net/NetClient.java index d3a89961e..eb65749ab 100644 --- a/app/src/main/java/ru/vtosters/lite/net/NetClient.java +++ b/app/src/main/java/ru/vtosters/lite/net/NetClient.java @@ -45,27 +45,14 @@ public class NetClient { private PasswordAuthentication auth; public Builder connectTimeout(long l, TimeUnit unit) { - int m; - switch (unit) { - case SECONDS: - m = 1000; - break; - case MILLISECONDS: - m = 1; - break; - case HOURS: - m = 1000 * 60 * 60; - break; - case DAYS: - m = 1000 * 60 * 60 * 24; - break; - case MINUTES: - m = 1000 * 60; - break; - default: - m = 1; - break; - } + int m = switch (unit) { + case SECONDS -> 1000; + case MILLISECONDS -> 1; + case HOURS -> 1000 * 60 * 60; + case DAYS -> 1000 * 60 * 60 * 24; + case MINUTES -> 1000 * 60; + default -> 1; + }; timeout = l * m; return this; } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java index d60183e8c..9ec09a279 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java @@ -134,24 +134,12 @@ public class ProxyUtils { public static void setProxy() throws IOException { switch (getPrefsValue("proxy")) { - case "zaborona": - Zaborona.loadProxy(); - break; - case "randomproxy": - RandomProxy.loadProxy(); - break; - case "socks": - CustomSocks.loadProxy(); - break; - case "http": - CustomHttp.loadProxy(); - break; - case "https": - CustomHttps.loadProxy(); - break; - default: - resetProxy(); - break; + case "zaborona" -> Zaborona.loadProxy(); + case "randomproxy" -> RandomProxy.loadProxy(); + case "socks" -> CustomSocks.loadProxy(); + case "http" -> CustomHttp.loadProxy(); + case "https" -> CustomHttps.loadProxy(); + default -> resetProxy(); } } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/RandomProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/RandomProxy.java index e202519d1..358bee15f 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/RandomProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/RandomProxy.java @@ -24,18 +24,18 @@ public class RandomProxy { } switch (type) { - case "socks": + case "socks" -> { System.setProperty("socksProxyHost", host.split(":")[0]); System.setProperty("socksProxyPort", host.split(":")[1]); - break; - case "http": + } + case "http" -> { System.setProperty("http.proxyHost", host.split(":")[0]); System.setProperty("http.proxyPort", host.split(":")[1]); - break; - case "https": + } + case "https" -> { System.setProperty("https.proxyHost", host.split(":")[0]); System.setProperty("https.proxyPort", host.split(":")[1]); - break; + } } } @@ -54,30 +54,14 @@ public class RandomProxy { var random = new java.util.Random(); var randomInt = random.nextInt(8); switch (randomInt) { - case 0: - Hookzof.loadProxy(); - break; - case 1: - TheSpeedX.loadProxy(); - break; - case 2: - Jetkai.loadProxy(); - break; - case 3: - Roosterkid.loadProxy(); - break; - case 4: - ru.vtosters.lite.proxy.http.Jetkai.loadProxy(); - break; - case 5: - ru.vtosters.lite.proxy.http.TheSpeedX.loadProxy(); - break; - case 6: - ru.vtosters.lite.proxy.https.Jetkai.loadProxy(); - break; - case 7: - ru.vtosters.lite.proxy.https.Roosterkid.loadProxy(); - break; + case 0 -> Hookzof.loadProxy(); + case 1 -> TheSpeedX.loadProxy(); + case 2 -> Jetkai.loadProxy(); + case 3 -> Roosterkid.loadProxy(); + case 4 -> ru.vtosters.lite.proxy.http.Jetkai.loadProxy(); + case 5 -> ru.vtosters.lite.proxy.http.TheSpeedX.loadProxy(); + case 6 -> ru.vtosters.lite.proxy.https.Jetkai.loadProxy(); + case 7 -> ru.vtosters.lite.proxy.https.Roosterkid.loadProxy(); } return true; diff --git a/app/src/main/java/ru/vtosters/lite/tgs/TGRoot.java b/app/src/main/java/ru/vtosters/lite/tgs/TGRoot.java index d5576f1de..235cc0fed 100644 --- a/app/src/main/java/ru/vtosters/lite/tgs/TGRoot.java +++ b/app/src/main/java/ru/vtosters/lite/tgs/TGRoot.java @@ -29,14 +29,11 @@ public class TGRoot { private static final String TAG = "TGRoot"; public static String getSummary() { - switch (TGPref.getTGConnectMethod()) { - case 0: - return AndroidUtils.getString(R.string.ctypedirect); - case 2: - return AndroidUtils.getString(R.string.ctypesocks); - default: - return AndroidUtils.getString(R.string.ctypedisabled); - } + return switch (TGPref.getTGConnectMethod()) { + case 0 -> AndroidUtils.getString(R.string.ctypedirect); + case 2 -> AndroidUtils.getString(R.string.ctypesocks); + default -> AndroidUtils.getString(R.string.ctypedisabled); + }; } public static Attachment processSticker(StickerItem item) { diff --git a/app/src/main/java/ru/vtosters/lite/themes/ThemesCore.java b/app/src/main/java/ru/vtosters/lite/themes/ThemesCore.java index a9f280de6..f5c5df809 100644 --- a/app/src/main/java/ru/vtosters/lite/themes/ThemesCore.java +++ b/app/src/main/java/ru/vtosters/lite/themes/ThemesCore.java @@ -1,5 +1,6 @@ package ru.vtosters.lite.themes; +import android.annotation.SuppressLint; import android.content.Context; import android.util.SparseBooleanArray; import android.util.SparseIntArray; @@ -148,14 +149,13 @@ public class ThemesCore { themedColors.put(R.attr.im_bubble_outgoing_highlighted, accentColor); } + @SuppressLint("NonConstantResourceId") public static int getThemedAttr(Context context, @IdRes int attr) { - if (attr == R.attr.im_bubble_wallpaper_outgoing || attr == R.attr.im_bubble_outgoing) { - return outgoinging_msg; - } else if (attr == R.attr.im_bubble_outgoing_highlighted) { - return outgoinging_msg_highlight; - } - - return themedColors.get(attr); + return switch (attr) { + case R.attr.im_bubble_wallpaper_outgoing, R.attr.im_bubble_outgoing -> outgoinging_msg; + case R.attr.im_bubble_outgoing_highlighted -> outgoinging_msg_highlight; + default -> themedColors.get(attr); + }; } public static boolean hasThemedAttr(Context context, int attrID) { diff --git a/app/src/main/java/ru/vtosters/lite/translators/BaseTranslator.java b/app/src/main/java/ru/vtosters/lite/translators/BaseTranslator.java index 9d089e215..b220c526b 100644 --- a/app/src/main/java/ru/vtosters/lite/translators/BaseTranslator.java +++ b/app/src/main/java/ru/vtosters/lite/translators/BaseTranslator.java @@ -32,15 +32,12 @@ public abstract class BaseTranslator { } public static BaseTranslator getInstance() { - switch (AndroidUtils.getPreferences().getInt("translator", 0)) { - case YANDEX: - return YandexTranslator.getInstance(); - case GOOGLE: - return GoogleTranslator.getInstance(); - case DEEPL: - return DeepLTranslator.getInstance(); - } - return null; + return switch (AndroidUtils.getPreferences().getInt("translator", 0)) { + case YANDEX -> YandexTranslator.getInstance(); + case GOOGLE -> GoogleTranslator.getInstance(); + case DEEPL -> DeepLTranslator.getInstance(); + default -> null; + }; } @NonNull diff --git a/app/src/main/java/ru/vtosters/lite/ui/components/FragAnimationKit.java b/app/src/main/java/ru/vtosters/lite/ui/components/FragAnimationKit.java index 4b4c97334..101b8ce0c 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/components/FragAnimationKit.java +++ b/app/src/main/java/ru/vtosters/lite/ui/components/FragAnimationKit.java @@ -35,44 +35,32 @@ public class FragAnimationKit { public static void setAnimations(FragmentTransaction transaction) { if (transaction != null && !getPrefsValue("anim_rtrn_type").equals("noanim")) { switch (getPrefsValue("anim_rtrn_type")) { - case "q": - transaction.setCustomAnimations( - actOpenEnter, - actOpenExit, - actCloseEnter, - actCloseExit - ); - break; - case "slide": - transaction.setCustomAnimations( - SactOpenEnter, - SactOpenExit, - SactCloseEnter, - SactCloseExit - ); - break; - case "system": - transaction.setCustomAnimations( - SSactOpenEnter, - SSactOpenExit, - SSactCloseEnter, - SSactCloseExit - ); - break; - case "frag_enter": - transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); - break; - case "frag_fade": - transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); - break; - case "system_task": - transaction.setCustomAnimations( - SSTactOpenEnter, - SSTactOpenExit, - SSTactCloseEnter, - SSTactCloseExit - ); - break; + case "q" -> transaction.setCustomAnimations( + actOpenEnter, + actOpenExit, + actCloseEnter, + actCloseExit + ); + case "slide" -> transaction.setCustomAnimations( + SactOpenEnter, + SactOpenExit, + SactCloseEnter, + SactCloseExit + ); + case "system" -> transaction.setCustomAnimations( + SSactOpenEnter, + SSactOpenExit, + SSactCloseEnter, + SSactCloseExit + ); + case "frag_enter" -> transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); + case "frag_fade" -> transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); + case "system_task" -> transaction.setCustomAnimations( + SSTactOpenEnter, + SSTactOpenExit, + SSTactCloseEnter, + SSTactCloseExit + ); } } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/components/SuperAppEditorManager.java b/app/src/main/java/ru/vtosters/lite/ui/components/SuperAppEditorManager.java index 5793addd6..a20e57427 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/components/SuperAppEditorManager.java +++ b/app/src/main/java/ru/vtosters/lite/ui/components/SuperAppEditorManager.java @@ -81,37 +81,22 @@ public class SuperAppEditorManager { } private SuperAppItem getItemByTag(String tag) { - switch (tag) { - case "menu": - return SuperAppItem.valuesOf("menu", AndroidUtils.getString(R.string.superapp_menu)); - case "miniapps": - return SuperAppItem.valuesOf("miniapps", AndroidUtils.getString(R.string.superapp_miniapps)); - case "vkpay_slim": - return SuperAppItem.valuesOf("vkpay_slim", AndroidUtils.getString(R.string.superapp_vkpay)); - case "greeting": - return SuperAppItem.valuesOf("greeting", AndroidUtils.getString(R.string.superapp_greeting)); - case "promo": - return SuperAppItem.valuesOf("promo", AndroidUtils.getString(R.string.superapp_miniapps_promo)); - case "holiday": - return SuperAppItem.valuesOf("holiday", AndroidUtils.getString(R.string.superapp_holiday)); - case "weather": - return SuperAppItem.valuesOf("weather", AndroidUtils.getString(R.string.superapp_weather)); - case "sport": - return SuperAppItem.valuesOf("sport", AndroidUtils.getString(R.string.superapp_sport)); - case "games": - return SuperAppItem.valuesOf("games", AndroidUtils.getString(R.string.superapp_games)); - case "informer": - return SuperAppItem.valuesOf("informer", AndroidUtils.getString(R.string.superapp_informer)); - case "food": - return SuperAppItem.valuesOf("food", AndroidUtils.getString(R.string.superapp_food)); - case "event": - return SuperAppItem.valuesOf("event", AndroidUtils.getString(R.string.superapp_event)); - case "music": - return SuperAppItem.valuesOf("music", AndroidUtils.getString(R.string.superapp_music)); - case "vk_run": - return SuperAppItem.valuesOf("vk_run", AndroidUtils.getString(R.string.superapp_vk_run)); - default: - return null; - } + return switch (tag) { + case "menu" -> SuperAppItem.valuesOf("menu", AndroidUtils.getString(R.string.superapp_menu)); + case "miniapps" -> SuperAppItem.valuesOf("miniapps", AndroidUtils.getString(R.string.superapp_miniapps)); + case "vkpay_slim" -> SuperAppItem.valuesOf("vkpay_slim", AndroidUtils.getString(R.string.superapp_vkpay)); + case "greeting" -> SuperAppItem.valuesOf("greeting", AndroidUtils.getString(R.string.superapp_greeting)); + case "promo" -> SuperAppItem.valuesOf("promo", AndroidUtils.getString(R.string.superapp_miniapps_promo)); + case "holiday" -> SuperAppItem.valuesOf("holiday", AndroidUtils.getString(R.string.superapp_holiday)); + case "weather" -> SuperAppItem.valuesOf("weather", AndroidUtils.getString(R.string.superapp_weather)); + case "sport" -> SuperAppItem.valuesOf("sport", AndroidUtils.getString(R.string.superapp_sport)); + case "games" -> SuperAppItem.valuesOf("games", AndroidUtils.getString(R.string.superapp_games)); + case "informer" -> SuperAppItem.valuesOf("informer", AndroidUtils.getString(R.string.superapp_informer)); + case "food" -> SuperAppItem.valuesOf("food", AndroidUtils.getString(R.string.superapp_food)); + case "event" -> SuperAppItem.valuesOf("event", AndroidUtils.getString(R.string.superapp_event)); + case "music" -> SuperAppItem.valuesOf("music", AndroidUtils.getString(R.string.superapp_music)); + case "vk_run" -> SuperAppItem.valuesOf("vk_run", AndroidUtils.getString(R.string.superapp_vk_run)); + default -> null; + }; } } \ No newline at end of file diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/MessageSettings.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/MessageSettings.java index 04f15da50..06f827a92 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/MessageSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/MessageSettings.java @@ -66,24 +66,12 @@ public class MessageSettings { five.setTextColor(getTextAttr()); switch (bombCount) { - case "15s": - one.setChecked(true); - break; - case "1m": - two.setChecked(true); - break; - case "5m": - three.setChecked(true); - break; - case "1h": - four.setChecked(true); - break; - case "24h": - five.setChecked(true); - break; - default: - zero.setChecked(true); - break; + case "15s" -> one.setChecked(true); + case "1m" -> two.setChecked(true); + case "5m" -> three.setChecked(true); + case "1h" -> four.setChecked(true); + case "24h" -> five.setChecked(true); + default -> zero.setChecked(true); } @SuppressLint("UseSwitchCompatOrMaterialCode") diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java index 3e27167b0..5d235bf23 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java @@ -139,24 +139,15 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { var pref = getDefaultPrefs().getString("autoclearcache", "Default"); switch (pref) { - case "Default": - findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_disabled)); - break; - case "100mb": - findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_100mb)); - break; - case "500mb": - findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_500mb)); - break; - case "1gb": - findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_1gb)); - break; - case "2gb": - findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_2gb)); - break; - case "5gb": - findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_5gb)); - break; + case "Default" -> + findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_disabled)); + case "100mb" -> + findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_100mb)); + case "500mb" -> + findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_500mb)); + case "1gb" -> findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_1gb)); + case "2gb" -> findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_2gb)); + case "5gb" -> findPreference("autoclearcache").setSummary(requireContext().getString(R.string.cache_5gb)); } findPreference("deleteprefs").setOnPreferenceClickListener(preference -> { @@ -261,7 +252,7 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { .setTitle(requireContext().getString(R.string.select_which_clean)) .setItems(AndroidUtils.getArray(R.array.cache_cleaner), (dialog, which) -> { switch (which) { - case 0: { + case 0 -> { SharedPreferences prefs2 = getContext().getSharedPreferences("stickers_storage", Context.MODE_PRIVATE); prefs2.edit().clear().commit(); clearWebViewCache(); @@ -274,30 +265,26 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { ImEngineExt.a(ImEngine1.a()); AutoPlayCacheHolder.d.a(); MediaStorage.a(); - break; } - case 1: { + case 1 -> { SharedPreferences prefs2 = getContext().getSharedPreferences("stickers_storage", Context.MODE_PRIVATE); prefs2.edit().clear().commit(); Stickers.l.c(); - break; } - case 2: + case 2 -> { VKImageLoader.e(); ImEngineExt.a(ImEngine1.a()); - break; - case 3: + } + case 3 -> { AutoPlayCacheHolder.d.a(); MediaStorage.a(); - break; - case 4: + } + case 4 -> { ImEngineProvider.b().a(); ImAudioMsgPlayerProvider.b().e(PlayerActionSources.a); ImAudioMsgPlayerProvider.b().d(PlayerActionSources.a); - break; - case 5: - clearWebViewCache(); - break; + } + case 5 -> clearWebViewCache(); } Toast.makeText(getContext(), requireContext().getString(R.string.cache_cleaned), LENGTH_SHORT).show(); }) diff --git a/app/src/main/java/ru/vtosters/lite/ui/views/rarepebble/HueSatView.java b/app/src/main/java/ru/vtosters/lite/ui/views/rarepebble/HueSatView.java index 6a83f79a0..e2a0bf344 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/views/rarepebble/HueSatView.java +++ b/app/src/main/java/ru/vtosters/lite/ui/views/rarepebble/HueSatView.java @@ -98,15 +98,17 @@ public class HueSatView extends SquareView implements ColorObserver { public boolean onTouchEvent(MotionEvent event) { int action = event.getActionMasked(); switch (action) { - case MotionEvent.ACTION_DOWN: + case MotionEvent.ACTION_DOWN -> { boolean withinPicker = clamp(pointer, event.getX(), event.getY(), true); if (withinPicker) update(); return withinPicker; - case MotionEvent.ACTION_MOVE: + } + case MotionEvent.ACTION_MOVE -> { clamp(pointer, event.getX(), event.getY(), false); update(); getParent().requestDisallowInterceptTouchEvent(true); return true; + } } return super.onTouchEvent(event); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/views/rarepebble/SliderViewBase.java b/app/src/main/java/ru/vtosters/lite/ui/views/rarepebble/SliderViewBase.java index 90e28b064..56b4c1167 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/views/rarepebble/SliderViewBase.java +++ b/app/src/main/java/ru/vtosters/lite/ui/views/rarepebble/SliderViewBase.java @@ -67,14 +67,14 @@ public abstract class SliderViewBase extends View { public boolean onTouchEvent(MotionEvent event) { int action = event.getActionMasked(); switch (action) { - case MotionEvent.ACTION_DOWN: - case MotionEvent.ACTION_MOVE: + case MotionEvent.ACTION_DOWN, MotionEvent.ACTION_MOVE -> { currentPos = valueForTouchPos(event.getX(), event.getY()); optimisePointerColor(); notifyListener(currentPos); invalidate(); getParent().requestDisallowInterceptTouchEvent(true); return true; + } } return super.onTouchEvent(event); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java index 775850497..a41079e7c 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java @@ -85,14 +85,11 @@ public class ImageFilters { private static int getRadius() { String radius = getPreferences().getString("msg_blur_radius", "disabled"); - switch (radius) { - case "low": - return 8; - case "med": - return 14; - default: - return 20; - } + return switch (radius) { + case "low" -> 8; + case "med" -> 14; + default -> 20; + }; } public static Drawable getBlurredWallpaper(Drawable orig, int radius) { @@ -125,14 +122,9 @@ public class ImageFilters { String radius = getPreferences().getString("msg_mosaic", "disabled"); switch (radius) { - case "high": - scale = 25; - break; - case "med": - scale = 50; - break; - case "low": - scale = 75; + case "high" -> scale = 25; + case "med" -> scale = 50; + case "low" -> scale = 75; } Bitmap temp = Bitmap.createScaledBitmap(instance, scale, scale, false); diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 5e0e6c97a..80bbba440 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -138,42 +138,31 @@ public class WallpapersHooks { public static String getRadiusSummary() { String radius = getPreferences().getString("msg_blur_radius", "disabled"); - switch (radius) { - case "low": - return AndroidUtils.getString(R.string.wallpapers_low); - case "med": - return AndroidUtils.getString(R.string.wallpapers_med); - case "high": - return AndroidUtils.getString(R.string.wallpapers_high); - default: - return AndroidUtils.getString(R.string.wallpapers_disabled); - } + return switch (radius) { + case "low" -> AndroidUtils.getString(R.string.wallpapers_low); + case "med" -> AndroidUtils.getString(R.string.wallpapers_med); + case "high" -> AndroidUtils.getString(R.string.wallpapers_high); + default -> AndroidUtils.getString(R.string.wallpapers_disabled); + }; } public static String getDimmingSummary() { String radius = getPreferences().getString("msg_dim", "disabled"); - switch (radius) { - case "dim_black": - return AndroidUtils.getString(R.string.wallpapers_dim_black); - case "dim_white": - return AndroidUtils.getString(R.string.wallpapers_dim_white); - default: - return AndroidUtils.getString(R.string.wallpapers_disabled); - } + return switch (radius) { + case "dim_black" -> AndroidUtils.getString(R.string.wallpapers_dim_black); + case "dim_white" -> AndroidUtils.getString(R.string.wallpapers_dim_white); + default -> AndroidUtils.getString(R.string.wallpapers_disabled); + }; } public static String getMosaicSummary() { String radius = getPreferences().getString("msg_mosaic", "disabled"); - switch (radius) { - case "low": - return AndroidUtils.getString(R.string.wallpapers_low); - case "med": - return AndroidUtils.getString(R.string.wallpapers_med); - case "high": - return AndroidUtils.getString(R.string.wallpapers_high); - default: - return AndroidUtils.getString(R.string.wallpapers_disabled); - } + return switch (radius) { + case "low" -> AndroidUtils.getString(R.string.wallpapers_low); + case "med" -> AndroidUtils.getString(R.string.wallpapers_med); + case "high" -> AndroidUtils.getString(R.string.wallpapers_high); + default -> AndroidUtils.getString(R.string.wallpapers_disabled); + }; } diff --git a/app/src/main/java/ru/vtosters/lite/utils/NetworkUtils.java b/app/src/main/java/ru/vtosters/lite/utils/NetworkUtils.java index c23b5c9ba..fd055357b 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/NetworkUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/NetworkUtils.java @@ -42,16 +42,9 @@ public class NetworkUtils { if (info.getType() == ConnectivityManager.TYPE_MOBILE) { switch (info.getSubtype()) { - case TelephonyManager.NETWORK_TYPE_1xRTT: - case TelephonyManager.NETWORK_TYPE_EDGE: - case TelephonyManager.NETWORK_TYPE_CDMA: - case TelephonyManager.NETWORK_TYPE_EVDO_0: - case TelephonyManager.NETWORK_TYPE_EVDO_A: - case TelephonyManager.NETWORK_TYPE_GPRS: - case TelephonyManager.NETWORK_TYPE_HSDPA: - case TelephonyManager.NETWORK_TYPE_UMTS: - case TelephonyManager.NETWORK_TYPE_EHRPD: + case TelephonyManager.NETWORK_TYPE_1xRTT, TelephonyManager.NETWORK_TYPE_EDGE, TelephonyManager.NETWORK_TYPE_CDMA, TelephonyManager.NETWORK_TYPE_EVDO_0, TelephonyManager.NETWORK_TYPE_EVDO_A, TelephonyManager.NETWORK_TYPE_GPRS, TelephonyManager.NETWORK_TYPE_HSDPA, TelephonyManager.NETWORK_TYPE_UMTS, TelephonyManager.NETWORK_TYPE_EHRPD -> { return true; + } } } diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 4e7ebd8c2..6369d6098 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -313,20 +313,14 @@ public class Preferences { } public static long getSizeForDelete() { - switch (getPrefsValue("clearcache")) { - case "100mb": - return 104857600L; - case "500mb": - return 524288000L; - case "1gb": - return 1073741824L; - case "2gb": - return 2147483648L; - case "5gb": - return 5368709120L; - default: - return MAX_VALUE; - } + return switch (getPrefsValue("clearcache")) { + case "100mb" -> 104857600L; + case "500mb" -> 524288000L; + case "1gb" -> 1073741824L; + case "2gb" -> 2147483648L; + case "5gb" -> 5368709120L; + default -> MAX_VALUE; + }; } public static int compress(int origquality) { diff --git a/app/src/main/java/ru/vtosters/lite/utils/ThemesUtils.java b/app/src/main/java/ru/vtosters/lite/utils/ThemesUtils.java index 1eb6bfaa1..d86e03c46 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/ThemesUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/ThemesUtils.java @@ -189,7 +189,7 @@ public class ThemesUtils { } public static int getMutedColor(int color) { - return ColorUtils.blendARGB(color, (isDarkTheme() ? Color.BLACK : Color.WHITE), (isMilkshake() ? 0.5f : isDarkTheme() ? 0.32f : 0.2f)); + return ColorUtils.blendARGB(color, (isDarkTheme() ? Color.BLACK : Color.WHITE), (isMilkshake() ? 0.5f : isDarkTheme() ? 0.32f : 0.1f)); } public static void setCustomAccentColor(int newColor, boolean async) {