From 876478f2c6804d39d23071b2a165086e5279d644 Mon Sep 17 00:00:00 2001 From: Vologhat <47892605+Vologhat@users.noreply.github.com> Date: Sat, 25 Feb 2023 18:27:05 +0300 Subject: [PATCH] add implementation of https://developer.android.com/reference/android/content/Intent#ACTION_APPLICATION_PREFERENCES --- .../ru/vtosters/lite/hooks/MainActivityInjector.java | 10 ++++++---- .../java/ru/vtosters/lite/utils/NavigatorUtils.java | 11 +++++++++++ smali/AndroidManifest.xml | 1 + 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java index 76d3d1fe8..cc566a100 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java @@ -1,6 +1,7 @@ package ru.vtosters.lite.hooks; import android.app.Activity; +import android.content.Intent; import android.os.Build; import b.h.g.k.VKProgressDialog; import com.vk.core.dialogs.alert.VkAlertDialog; @@ -13,10 +14,7 @@ import ru.vtosters.lite.ui.dialogs.DisableBattery; import ru.vtosters.lite.ui.dialogs.InstallGMS; import ru.vtosters.lite.ui.dialogs.OTADialog; import ru.vtosters.lite.ui.dialogs.Start; -import ru.vtosters.lite.utils.DeletedMessagesHandler; -import ru.vtosters.lite.utils.LifecycleUtils; -import ru.vtosters.lite.utils.Preferences; -import ru.vtosters.lite.utils.ThemesUtils; +import ru.vtosters.lite.utils.*; import static ru.vtosters.lite.ui.dialogs.ServerDialog.sendRequest; import static ru.vtosters.lite.utils.CacheUtils.getInstance; @@ -27,6 +25,10 @@ import static ru.vtosters.lite.utils.ThemesUtils.setNeededTheme; public class MainActivityInjector { public static void inject(Activity activity) { setNeededTheme(activity); + if(activity.getIntent().getAction() != null && Intent.ACTION_APPLICATION_PREFERENCES.equals(activity.getIntent().getAction())) { + NavigatorUtils.switchToSettings(activity); + return; + } sendRequest(); UsersList.getUsersList(); if (checkupdates()) OTADialog.checkUpdates(activity); diff --git a/app/src/main/java/ru/vtosters/lite/utils/NavigatorUtils.java b/app/src/main/java/ru/vtosters/lite/utils/NavigatorUtils.java index 7e7206b06..00c2d6434 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/NavigatorUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/NavigatorUtils.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.Intent; import com.vk.core.fragments.FragmentImpl; import com.vk.navigation.Navigator; +import ru.vtosters.lite.ui.fragments.VTSettings; public class NavigatorUtils { @@ -13,4 +14,14 @@ public class NavigatorUtils { .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } + + /** + * switch to settings for {@link Intent.ACTION_APPLICATION_PREFERENCES}*/ + public static void switchToSettings(Context context) { + var intent = new Navigator(VTSettings.class) + .b(context) + .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); + context.startActivity(intent); + } + } diff --git a/smali/AndroidManifest.xml b/smali/AndroidManifest.xml index 9f8882c40..25661a1d1 100644 --- a/smali/AndroidManifest.xml +++ b/smali/AndroidManifest.xml @@ -207,6 +207,7 @@ +