From e576fa0be59f6794f0f986813de32a27d59acd6d Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 15 Sep 2022 18:05:31 +0300 Subject: [PATCH] powersave flex --- .../java/ru/vtosters/lite/hooks/NewsfeedHook.java | 10 ++++++++++ smali/res/xml/preferences_feed.xml | 5 +++++ .../com/vk/core/util/DeviceState.smali | 12 ++++++++---- .../com/vk/libvideo/ui/VideoView.smali | 10 +++++++--- 4 files changed, 30 insertions(+), 7 deletions(-) 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 08aa2eabc..9a1a48806 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -2,6 +2,7 @@ package ru.vtosters.lite.hooks; import static java.lang.Long.MAX_VALUE; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; +import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; import static ru.vtosters.lite.utils.Preferences.ads; import static ru.vtosters.lite.utils.Preferences.adsslider; @@ -10,6 +11,9 @@ import static ru.vtosters.lite.utils.Preferences.friendsrecomm; import static ru.vtosters.lite.utils.Preferences.getBoolValue; import static ru.vtosters.lite.utils.Preferences.vkme; +import android.content.Context; +import android.os.PowerManager; + import com.vk.core.preference.Preference; import com.vtosters.lite.api.ExtendedCommunityProfile; @@ -122,4 +126,10 @@ public class NewsfeedHook { hashSet.add("ads_post_pretty_cards"); hashSet.add("ads_post_snippet_video"); } + + public static boolean isPowerSaveMode() { + var pw = (PowerManager) getGlobalContext().getSystemService(Context.POWER_SERVICE); + + return !getBoolValue("force_disable_psm", false) && pw.isPowerSaveMode(); + } } diff --git a/smali/res/xml/preferences_feed.xml b/smali/res/xml/preferences_feed.xml index 294074004..57d107451 100644 --- a/smali/res/xml/preferences_feed.xml +++ b/smali/res/xml/preferences_feed.xml @@ -136,5 +136,10 @@ android:key="donotgetads" android:summary="Не запрашивать рекламу и рекомендации\n\nМогуть быть проблемы" android:title="Не пытаться получать рекламу" /> + diff --git a/smali/smali_classes2/com/vk/core/util/DeviceState.smali b/smali/smali_classes2/com/vk/core/util/DeviceState.smali index 8f27b1945..9d0072dca 100644 --- a/smali/smali_classes2/com/vk/core/util/DeviceState.smali +++ b/smali/smali_classes2/com/vk/core/util/DeviceState.smali @@ -1072,12 +1072,16 @@ value = 0x15 .end annotation - .line 1 - invoke-direct {p0}, Lcom/vk/core/util/DeviceState;->M()Landroid/os/PowerManager; + # .line 1 + # invoke-direct {p0}, Lcom/vk/core/util/DeviceState;->M()Landroid/os/PowerManager; - move-result-object v0 + # move-result-object v0 - invoke-virtual {v0}, Landroid/os/PowerManager;->isPowerSaveMode()Z + # invoke-virtual {v0}, Landroid/os/PowerManager;->isPowerSaveMode()Z + + # move-result v0 + + invoke-static {}, Lru/vtosters/lite/hooks/NewsfeedHook;->isPowerSaveMode()Z move-result v0 diff --git a/smali/smali_classes3/com/vk/libvideo/ui/VideoView.smali b/smali/smali_classes3/com/vk/libvideo/ui/VideoView.smali index 43da23b43..2980e9200 100644 --- a/smali/smali_classes3/com/vk/libvideo/ui/VideoView.smali +++ b/smali/smali_classes3/com/vk/libvideo/ui/VideoView.smali @@ -7272,10 +7272,14 @@ .method public final setUIVisibility(Z)V .locals 7 - .line 1 - iget-object v0, p0, Lcom/vk/libvideo/ui/VideoView;->n0:Landroid/os/PowerManager; + # .line 1 + # iget-object v0, p0, Lcom/vk/libvideo/ui/VideoView;->n0:Landroid/os/PowerManager; - invoke-virtual {v0}, Landroid/os/PowerManager;->isPowerSaveMode()Z + # invoke-virtual {v0}, Landroid/os/PowerManager;->isPowerSaveMode()Z + + # move-result v0 + + invoke-static {}, Lru/vtosters/lite/hooks/NewsfeedHook;->isPowerSaveMode()Z move-result v0