toggles redirect

This commit is contained in:
gdlbo
2022-06-27 19:45:51 +03:00
parent e8753831b6
commit b58a918f27
3 changed files with 137 additions and 23 deletions
@@ -9,6 +9,127 @@ import com.vk.toggle.FeatureManager;
import com.vk.toggle.Features;
public class Toggles{
public static boolean shouldPatch(Features.Type feature) {
switch (feature) {
case FEATURE_GQUIC_INTEGRATION:
case FEATURE_GQUIC_BETA_TEST:
case AB_IM_LONGPOLL_MSG_BATCHING:
case AB_IM_LP_ATTACHES:
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_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_DISCOVER_IN_MENU:
case FEATURE_MILKSHAKE_FEED_BLUE_TITLE:
case FEATURE_MILKSHAKE_NEWS_HEADER_HIDE:
case FEATURE_MILKSHAKE_NEWS_HEADER_HIDE_SNAP:
case FEATURE_MILKSHAKE_NEWS_SCROLL_ON_BACK:
case FEATURE_MILKSHAKE_NOTIFICATIONS_RETURN:
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_MOZJPEG:
case FEATURE_MUSIC_ARTIST_CATALOG:
case FEATURE_MUSIC_AUDIO_SERVICE:
case FEATURE_MUSIC_LIKE_IN_PLAYER:
case FEATURE_MUSIC_NEW_CATALOG:
case FEATURE_MUSIC_STOP_PLAYER_ON_TASK_REMOVAL:
case FEATURE_MUS_PUSH_RES_COUNT:
case FEATURE_NARRATIVE_SNIPPET_TYPE:
case FEATURE_NEWS_GAMES_IN_DISCOVER:
case FEATURE_NEWS_HEADER_SCROLL:
case FEATURE_NEW_FORMAT_SHOW_WPB:
case FEATURE_NOTIFICATION_ANIM:
case FEATURE_PODCASTS_PAGE:
case FEATURE_PURCHASE_MANAGER_RETRIES_ENABLED:
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_PAY_WITH_QR:
case FEATURE_VKPAY_WIDGET:
case FEATURE_VKUI_INTERNAL_TO_MINI_APPS:
case FEATURE_VKUI_TOKEN_CACHE:
case FEATURE_VK_APPS_SEARCH:
case FEATURE_VOIP_PREALLOCATE:
case FEATURE_VOTES_BALANCE:
case FEATURE_WEBVIEW_TOKEN_ACTIVE:
case FEATURE_WISHLIST_ENTRY_POINT:
case FEATURE_WISHLIST_MY_PROFILE:
return true;
default:
return false;
}
}
public static boolean redirect(Features.Type feature){
switch(feature) {
case EXPERIMENT_NEWS_DISABLE_CACHE:
@@ -19,26 +140,6 @@ public class Toggles{
return milkshake();
case FEATURE_MILKSHAKE_NOTIFICATIONS_RETURN:
return returnnorifs();
case FEATURE_SEAMLESS_CACHE:
case FEATURE_APP_ABOUT_MOBILEHELP:
case FEATURE_INAPP_UPDATES:
case FEATURE_APP_STATISTIC_FTR:
case FEATURE_APP_STATISTIC_BENCHMARK:
case FEATURE_APP_STATISTIC_PRODUCT:
case FEATURE_APP_STATISTIC_MEDIA:
case FEATURE_MUSIC_BG_OFF:
case FEATURE_GQUIC_METRICS_ENABLE:
case FEATURE_VIDEO_ADS:
case FEATURE_DEBUG_CRASH_INFO:
case FEATURE_DEBUG_FULL_MSG_LOGS:
case FEATURE_DEBUG_CYCLE_CALLS:
case FEATURE_DEBUG_STAT_NAVIGATION:
case FEATURE_DEBUG_VIDEO_RENDERER:
case FEATURE_DEBUG_LOG_CONFIG:
case FEATURE_VIDEO_RESTRICTION:
return false;
default:
return true;
}
@@ -558,11 +558,22 @@
.method public static final declared-synchronized b(Lcom/vk/toggle/Features$Type;)Z
.locals 2
## invoke-static {p0}, Lru/vtosters/lite/utils/Toggles;->redirect(Lcom/vk/toggle/Features$Type;)Z
invoke-static {p0}, Lru/vtosters/lite/utils/Toggles;->shouldPatch(Lcom/vk/toggle/Features$Type;)Z
## move-result v0
move-result v0
## return v0
if-eqz v0, :cond_b
invoke-static {p0}, Lru/vtosters/lite/utils/Toggles;->redirect(Lcom/vk/toggle/Features$Type;)Z
move-result p0
return p0
:cond_b
const p0, 0x0
return p0
const-class v0, Lcom/vk/toggle/FeatureManager;
@@ -342,6 +342,8 @@
move-result v0
const v0, 0x0
if-eqz v0, :cond_0
.line 22