Commit Graph

49 Commits

Author SHA1 Message Date
C3C0 1e8a94e490 XSharedPreferences: properly handle reg/unreg of change listeners
Throw exception in case file watcher feature is disabled.
2021-01-15 21:27:58 +08:00
C3C0 f8aa9d0e11 Optimized preference file changes detection mechanism
Optimizations on top of original idea by @XspeedPL.

- introduced new manifest parameter: xposedsharedprefswatcher
- file watcher daemon starts only in case there is at least one module in the hooked process that requested file watcher feature either by specification in the
manifest or using new constructor XSharedPreferences(file, enableWatcher)
- XSharedPreferences instance registers watcher events only when it has support for watcher enabled so even if watcher daemon is already running
due to request by other module, it won't watch for events on files that belong to XSharedPreferences instance that has watcher disabled
- reduced log ouput in case of release builds
2021-01-15 21:27:58 +08:00
Xspeed c52b4c5496 Preference file changes detection mechanism 2021-01-07 20:31:13 +08:00
LoveSy 4a310e82de
new way of getting current thread 2021-01-04 21:41:05 +08:00
LoveSy 17bf424d93 Optimize cold luanch speed 2020-12-24 21:36:54 +08:00
LoveSy 6ea5186edd Fix #753 2020-12-23 19:51:32 +08:00
Jim Wu 2c90990625 Fix potential exception when reading xposedminversion 2020-12-20 17:54:53 +08:00
LoveSy 43c4c92365 Use AXML instead of Apkparser 2020-12-20 15:36:27 +08:00
LoveSy 76f438f959 Fixed the hook of 64 bit getOatHeader 2020-12-20 15:08:08 +08:00
kotori0 389138f455 close resources properly 2020-12-18 00:57:38 +08:00
LoveSy 57f15c1fc1 Fix XSharedPreference permission 2020-12-15 15:35:19 +08:00
kotori0 f2f0a298c7 Delete unused functions 2020-12-11 00:23:04 +08:00
LoveSy 314315180f Fix some bootloop 2020-12-07 19:13:05 +08:00
LoveSy 64953220de Refine some codes & fix logcat version 2020-12-06 23:30:49 +08:00
LoveSy 7362dbf921 API 93 2020-12-06 21:13:52 +08:00
LoveSy 70f967944c New XSharedPreferences 2020-12-06 21:13:52 +08:00
LoveSy 8bde89c04c Const ConfigManger 2020-12-06 21:13:52 +08:00
LoveSy df3d710f6b Update API to 92 2020-11-24 23:25:01 +08:00
LoveSy 0ece9b141d Better Hidden 2020-11-24 23:25:01 +08:00
solohsu e12c40b408 Add an annotation to remind compatibility checking 2020-08-02 18:29:16 +08:00
Jim Wu 7b638a706d XC_MethodReplacement log throwable 2020-04-18 20:49:08 +08:00
Jim Wu ffa7ced044 Fix SELinuxHelper
May still not work at some devices.............
2020-04-04 11:57:06 +08:00
Jim Wu 1979856752 Announced XSharedPreferences as deprecated on Android Pie or above 2020-04-04 11:54:33 +08:00
Jim Wu 3ce99eba18 Bump to 91: multi-user support 2020-03-26 00:02:03 +08:00
Victor Tseng efe0869390 use paths in native ConfigManager
instead of duplicating them all over native and managed space...
there are many of them and most of them are quite inconsistent...
2020-03-24 12:31:45 +08:00
Victor Tseng 5446571664 drop support for really old Blacklist App
remove the support of really old `com.flarejune.xposedblacklist`.
use the module blacklist function within EdXposed Manager instead.
2020-03-24 12:31:45 +08:00
binarynoise 05178a7182 Also log filename when loadFromDiskLocked failed
This would help to resolve the issue: now the user can look into that file and see what's inside an try to resolve the issue or fixing/cleaning up that file.
2020-03-14 11:37:07 +08:00
Wang Han d4aeddf5bc XposedBridge: Remove useless log(2) method
This is not used by any modules as they all use original Xposed
API, so this method is not defined. Furthermore, this is uselss
as we can always do getStackTraceString(new Throwable()) to
convert throwable to string.
2020-03-04 13:24:50 +08:00
Jim Wu 3a5e54669c Remove useless log method 2020-02-29 23:55:27 +08:00
Jim Wu ebdcdf703f Fix log clear failed 2020-02-29 23:55:27 +08:00
Jim Wu 2c5c5f8cc8 Add interface to disable modules log
New method:
XposedBridge.log(String name, String text)
XposedBridge.log(String name, Throwable t)
2020-02-29 23:55:27 +08:00
solohsu a26990ec99 Fix dummy resources classes not found when resources hook is disabled 2019-06-27 16:28:53 +08:00
solohsu 1df3d88c13 Instant modules: update module list in zygote before child process forked 2019-06-26 13:18:48 +08:00
solohsu ee2a3f5d02 Fix crash when hooked static method invokes class initialization 2019-06-20 21:42:13 +08:00
solohsu f6d2e3b62f Optimize module loading under dynamic-modules mode
by only loading newly added or updated modules
2019-06-19 16:35:20 +08:00
solohsu 661a675a09 Black/White mode: postpone initZygote callbacks
in case some modules hook methods in zygote, which would be
propagated into blacklisted processes
2019-06-17 16:13:21 +08:00
solohsu c5791951db Fix exceptions when hooking pending methods 2019-06-16 00:54:11 +08:00
solohsu 18bd0a8c0f Wait to hook static methods once their trampolines are fixed up 2019-06-05 00:09:59 +08:00
solohsu 83ecd3ae97 Deoptimize resources hook related methods only if needed
For now deoptimization is only done on MIUI with resources hooking enabled.
2019-05-16 21:45:15 +08:00
solohsu 50444072b0 Fix dummyClassLoader being detached when replacing app classloader
Fix #236.
2019-05-09 00:20:01 +08:00
solohsu 66eac2d320 Clean up unused codes
Fix #229.
2019-05-02 12:02:12 +08:00
solohsu 7d5a72b683 Dynamically create XResourcesSuperClass and XTypedArraySuperClass
To support ROMs using custom Resources subclasses.
2019-04-30 00:23:56 +08:00
solohsu 20c83e4db7 Postpone XResources native methods registering 2019-04-29 20:20:56 +08:00
solohsu 3930799086 Disable resources hooking when initialization failed 2019-04-22 22:55:48 +08:00
solohsu 711c589088 Add support for resources hooking. (1/2) 2019-04-21 11:46:58 +08:00
solohsu b8228e1da9 Merge asLody/Whale@e589299bbd 2019-04-03 11:05:32 +08:00
solohsu d0b1d7c52b Introduce Whale hook for Android 2019-03-20 10:29:51 +08:00
solohsu e858ebd70b Introduce SandHook 2019-03-20 00:32:33 +08:00
solohsu 53d0dbd120 Refactor project structure 2019-03-19 14:32:44 +08:00