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 @@
+