Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Senliast/xposed-modules
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: Updates-Manager-Extended-v1.1
Choose a base ref
...
head repository: Senliast/xposed-modules
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
  • 7 commits
  • 10 files changed
  • 1 contributor

Commits on Jul 19, 2024

  1. Fix target package detection

    Senliast committed Jul 19, 2024
    Copy the full SHA
    3e17a91 View commit details
  2. Copy the full SHA
    ed7f006 View commit details

Commits on Jul 22, 2024

  1. Copy the full SHA
    a2673c2 View commit details
  2. Update README.md

    Senliast authored Jul 22, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    8468cdf View commit details

Commits on Nov 3, 2024

  1. Copy the full SHA
    17eae8c View commit details

Commits on Nov 5, 2024

  1. Improve reliability

    Senliast committed Nov 5, 2024
    Copy the full SHA
    b2e3e7e View commit details
  2. Update README.md

    Senliast authored Nov 5, 2024

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
    Copy the full SHA
    54963c6 View commit details
4 changes: 2 additions & 2 deletions Disable_fingerprint_when_screen_off/README.md
Original file line number Diff line number Diff line change
@@ -3,10 +3,10 @@
This module disables the recognizing of fingeprint, when the screen is off (including AOD), preventing unwanted unlocks or failed attempts, that leads to biometric lockout. Works for physical and under-display fingerpint sensors. The module doesnt have UI, it just works once enabled.

## Compatibility
Tested on AOSP Android 13 with LSPosed.
Tested on AOSP Android 13, 14 with LSPosed.

## Download
You can download latest release from: https://github.com/Senliast/xposed-modules/releases/tag/Disable-fingerprint-when-screen-off-v1.0.
You can download latest release from: https://github.com/Senliast/xposed-modules/releases/tag/Disable-fingerprint-when-screen-off-v4.0.

## Installation
1. Install the APK.
4 changes: 2 additions & 2 deletions Disable_fingerprint_when_screen_off/app/build.gradle
Original file line number Diff line number Diff line change
@@ -22,8 +22,8 @@ android {
applicationId "com.senliast.disablefingerprintwhenscreenoff"
minSdk 24
targetSdk 34
versionCode 1
versionName "2.0"
versionCode 4
versionName '4.0'

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package com.senliast.disablefingerprintwhenscreenoff;

import androidx.annotation.NonNull;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XC_MethodReplacement;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XC_MethodReplacement;

import static de.robv.android.xposed.XposedBridge.hookAllMethods;
import static de.robv.android.xposed.XposedHelpers.findClass;
@@ -20,19 +19,17 @@ public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Th
if (!lpparam.packageName.equals(listenPackage)) return;

Class<?> KeyguardUpdateMonitorClass = findClass("com.android.keyguard.KeyguardUpdateMonitor", lpparam.classLoader);
Class<?> LockIconViewControllerClass = findClass("com.android.keyguard.LockIconViewController", lpparam.classLoader);

hookAllMethods(KeyguardUpdateMonitorClass,
"shouldListenForFingerprint", new XC_MethodHook() {
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
if(!getBooleanField(param.thisObject, "mDeviceInteractive"))
{
if (!getBooleanField(param.thisObject, "mDeviceInteractive")) {
param.setResult(false);
}
}
});

Class<?> LockIconViewControllerClass = findClass("com.android.keyguard.LockIconViewController", lpparam.classLoader);

hookAllMethods(LockIconViewControllerClass,
"inLockIconArea", new XC_MethodHook() {
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
@@ -53,5 +50,29 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
param.setResult(false);
}
});

XposedHelpers.findAndHookMethod(
"com.android.keyguard.LockIconViewController",
lpparam.classLoader,
"onLongPress",
XC_MethodReplacement.DO_NOTHING
);

XposedHelpers.findAndHookMethod("com.android.systemui.doze.DozeTriggers",
lpparam.classLoader,
"onSensor",
int.class,
float.class,
float.class,
float[].class,
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
Object wakeReason = param.args[0];
if ((int) wakeReason == 10) {
param.setResult(null);
}
}
});
}
}
4 changes: 2 additions & 2 deletions Updates_Manager_Extended/README.md
Original file line number Diff line number Diff line change
@@ -18,12 +18,12 @@ The main reason for creating this module was aggressive auto-update policy of Go
## Compatibility
App stores: ALL
CPUs: arm, arm64, x86, x64
Android versions: guaranted to work on AOSP Android 12-14. It will NOT work on Android 11 and below. It will probably work on OEM skins (Samsung, MIUI), as long as the Android version matches, but no guaranty.
Android versions: guaranted to work on AOSP Android 13-14. Should work on Android 12. Will NOT work on Android 11 and below. Will probably work on OEM skins (Samsung, MIUI), as long as the Android version matches, but no guaranty.



## Download
You can download latest release from: https://github.com/Senliast/xposed-modules/releases/tag/Updates-Manager-Extended-v1.1.
You can download latest release from: https://github.com/Senliast/xposed-modules/releases/tag/Updates-Manager-Extended-v1.4.



4 changes: 2 additions & 2 deletions Updates_Manager_Extended/app/build.gradle
Original file line number Diff line number Diff line change
@@ -22,8 +22,8 @@ android {
applicationId "com.senliast.updatesmanagerextended"
minSdk 24
targetSdk 34
versionCode 2
versionName '1.1'
versionCode 5
versionName '1.4'

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
4 changes: 2 additions & 2 deletions Updates_Manager_Extended/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@
android:exported="false" />
<activity
android:name=".MainActivity"
android:exported="true">
android:exported="false">
<intent-filter>
<action android:name="com.senliast.updatesmanagerextended.BROADCAST" />
</intent-filter>
@@ -37,7 +37,7 @@
<receiver
android:name=".BootReceiver"
android:enabled="true"
android:exported="true">
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@@ -98,7 +99,11 @@ public void onClick(View v) {
viewAppList.setLayoutManager(new LinearLayoutManager(this));
viewAppList.setAdapter(appListItemAdapter);
switchBlockedFirst = findViewById(R.id.switchBlockedFirst);
registerReceiver(mReceiver, mFilter);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
registerReceiver(mReceiver, mFilter, Context.RECEIVER_NOT_EXPORTED);
} else {
registerReceiver(mReceiver, mFilter);
}
switchShowSystemApps = findViewById(R.id.switchShowSystemApps);
switchBlockedFirst = findViewById(R.id.switchBlockedFirst);
colorStatesForSwitch = new int[][] {
Original file line number Diff line number Diff line change
@@ -4,8 +4,10 @@
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;

import android.view.LayoutInflater;
@@ -87,7 +89,11 @@ protected void onCreate(Bundle savedInstanceState) {
MaterialColors.getColor(MyApplication.getAppContext(), android.R.attr.colorBackground, Color.WHITE)
};
trackColorStateListForSwitch = new ColorStateList(colorStatesForSwitch, trackColorsForSwitch);
registerReceiver(mReceiver, mFilter);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
registerReceiver(mReceiver, mFilter, Context.RECEIVER_NOT_EXPORTED);
} else {
registerReceiver(mReceiver, mFilter);
}

switchModuleEnabled.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
@@ -149,7 +155,8 @@ public void onClick(View v) {
// Check if Xposed is active, read settings or create settings file, if not yet, and set GUI state.
public void updateGui() {
if (myPreferencesManager.testPreferences()) {
if (myPreferencesManager.getBooleanPreference("preferencesCreated", false)) {
SharedPreferences preferences = myPreferencesManager.getSharedPreferences();
if (!preferences.contains("preferencesCreated")) {
myPreferencesManager.setBooleanPreference("preferencesCreated", true);
myPreferencesManager.setBooleanPreference("moduleEnabled", true);
myPreferencesManager.setBooleanPreference("isUpdatesManagerExtendedPreferencesFile", true);
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@

public class XposedMain implements IXposedHookLoadPackage {

private static final String listenPackage = "com.android.server.pm";
private static final String listenPackage = "android";
public String appAboutToUpdate = "";
public String appsToBlockUpdates = "";

Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@
<string name="import_settings">Import settings</string>
<string name="export_settings">Export settings</string>
<string name="about_app">About this app</string>
<string name="about_app_part_1" translatable="false">Updates Manager Extended v1.1</string>
<string name="about_app_part_1" translatable="false">Updates Manager Extended v1.4</string>
<string name="about_app_part_2">This is an Xposed module, that allows you to block app updates (including automatic updates) for specific apps, no matter from which app store they were installed. After selecting apps, that should be blocked from updates, the app store will still detect updates for these apps, but will be unable to install these. Do note, it will as well not be possible to update selected apps with an APK.</string>
<string name="about_app_part_3">Created by Senliast,</string>
<string name="about_app_part_4" translatable="false">https://github.com/Senliast/xposed-modules/tree/main/Updates_Manager_Extended</string>