1625 Commits

Author SHA1 Message Date
topjohnwu
0ac19e3a4e Fix app running without root 2022-05-07 01:16:55 -07:00
topjohnwu
2793d209a4 Allow requesting root from non app process 2022-05-07 00:46:23 -07:00
Kazurin Nanako
42e5f5150a Fix "double install" caused by config changes
Configuration changes in FlashFragment may cause the installation process to be triggered twice. The simplest way to reproduce this behavior is to choose a module ZIP file in landscape mode (which is the default on some tablets).

This commit fixes the problem by ensuring `savedInstanceState == null` before starting installation.
2022-05-06 01:47:02 -07:00
vvb2060
cffd024e9e Ignore the response until showDialog done 2022-05-06 01:04:28 -07:00
RikkaW
9581ae8245 Use Locale.ROOT in JcaX509v3CertificateBuilder (X509v3CertificateBuilder)
Or in languages like Arabic, an "IllegalArgumentException: invalid date string" will be thrown.

Since JcaX509v3CertificateBuilder does not accepts Locales, we must switch to its super class, X509v3CertificateBuilder.
2022-05-06 00:03:01 -07:00
topjohnwu
cc79a96fa3 Update libsu 2022-05-03 01:25:26 -07:00
vvb2060
f0fbd9214a Remove test key 2022-04-07 21:49:15 -07:00
vvb2060
9a11412719 Fix superuser snackbar text 2022-04-02 04:26:21 -07:00
topjohnwu
efb3239cbd Drop package_name column 2022-03-28 02:05:09 -07:00
vvb2060
5512917ec1 Hide incorrect "Factory data reset" message 2022-03-26 13:46:01 -07:00
vvb2060
cd1edc5d56 Use svc for reboot to recovery 2022-03-26 13:46:01 -07:00
topjohnwu
4f52587586 Support ADB shell if app shares its UID 2022-03-26 13:43:43 -07:00
topjohnwu
d7ee4ef5f5 Fix SQL command syntax 2022-03-26 00:36:01 -07:00
topjohnwu
31f88e0f05 Update UI for sharedUID support 2022-03-25 16:56:21 -07:00
topjohnwu
9f1740cc4f Add preliminary shared UID app support 2022-03-25 13:08:13 -07:00
topjohnwu
f2c15c7701 Ensure RootService is launched 2022-03-23 18:44:05 -07:00
topjohnwu
e67d0678f9 Use viewModelScope instead of GlobalScope 2022-03-23 18:03:41 -07:00
vvb2060
237794b05c Add root install back 2022-03-09 20:44:11 -08:00
canyie
24505cd111 Prevent destroyed activities from being reused
The adapter will cache a LayoutInflater which refers the current activity, and the ViewModel object will keep alive until activity finished. After activity recreates (e.g. split-screen), it will use the cached LayoutInflater which refers a destroyed activity and crashes. This also is a memory-leak, according to Google's official document, ViewModel shouldn't refer activity. See https://developer.android.com/topic/libraries/architecture/viewmodel

Fix topjohnwu#5413
2022-03-07 01:54:02 -08:00
vvb2060
d11038f3de Directly stream apk into install session 2022-03-01 23:05:06 -08:00
vvb2060
6df42a4be7 Handle install failure 2022-03-01 23:05:06 -08:00
topjohnwu
71e37345b4 Update libsu 2022-02-28 20:14:58 -08:00
vvb2060
02bf7dca01 Check apk before patch 2022-02-16 23:04:39 -08:00
vvb2060
8cc76b1d86 Fix restore dialog 2022-02-16 23:04:19 -08:00
vvb2060
77a275cbcd Show notification when stub is updated to full 2022-02-16 23:04:03 -08:00
vvb2060
3956cbe2d2 ActivityTracker ignore SuRequestActivity 2022-02-16 23:03:42 -08:00
topjohnwu
5a39f7cdde Reduce duplicate initialization 2022-02-14 02:28:48 -08:00
topjohnwu
5d400fbe90 Check REQUEST_INSTALL_PACKAGES before actions 2022-02-14 02:15:50 -08:00
topjohnwu
e36596470c Minor adjustments 2022-02-13 20:16:23 -08:00
topjohnwu
668e549208 Refactor APKInstall 2022-02-13 19:54:59 -08:00
topjohnwu
256ff31d11 Show notification after app upgrade 2022-02-13 18:35:35 -08:00
topjohnwu
8f0ea5925a Relaunch process without second process 2022-02-13 02:58:55 -08:00
南宫雪珊
936ad1aa20
Handle download fail
Co-authored-by: topjohnwu <topjohnwu@gmail.com>
2022-02-13 02:30:09 -08:00
topjohnwu
084e0a73dc Cleanup DownloadService 2022-02-03 03:50:52 -08:00
topjohnwu
10f991b8d0 Directly stream APK into install session 2022-02-03 03:50:52 -08:00
topjohnwu
c1fc3f373c Proper app relaunch for stub 2022-02-02 04:44:22 -08:00
topjohnwu
f4cf5dc0cd Rename class 2022-02-02 02:50:27 -08:00
canyie
c921964938 Make sure busybox can be executed recursively
Busybox will execute itself. On some older Samsung devices, when it is located in /data, it will not have rights to execute other programs including itself. We should also relocate busybox in this case to workaround Samsung bullshit.
See topjohnwu/ndk-busybox@bdc8655
Fix the "app doesn't detect installed Magisk" issue in topjohnwu#4174
2022-01-30 08:24:32 -08:00
LoveSy
3c7e792167
Catch PendingIntent.CanceledException thrown from send 2022-01-27 05:29:32 -08:00
LoveSy
0ad66875ab
Fix crash when zip is malformat
Co-authored-by: 南宫雪珊 <vvb2060@gmail.com>
Co-authored-by: 残页 <31466456+canyie@users.noreply.github.com>
2022-01-27 05:26:31 -08:00
topjohnwu
928b3425e3 Embed module installer in APK 2022-01-27 05:24:05 -08:00
topjohnwu
0726a00e3b Fix download notifications 2022-01-27 05:17:52 -08:00
LoveSy
5a88984d34 Guard synchronizedList's iteration
It's needed to guard a synchronizedList when iterating it
2022-01-27 02:01:30 -08:00
LoveSy
18de60f68c Fix NPE of SuRequestViewModel
countdown timer may have not initialized when backpressed
2022-01-27 02:01:04 -08:00
LoveSy
1893359142
Fix crash when fragment is detached from activity 2022-01-27 01:54:24 -08:00
topjohnwu
f5e5ab2436 Update Android Studio 2022-01-27 01:46:00 -08:00
topjohnwu
d742cfa48f Label Zygisk as beta 2022-01-25 01:41:51 -08:00
topjohnwu
95353ce9eb Fix language settings 2022-01-25 01:31:15 -08:00
topjohnwu
ab2cc72814 Remove unnecessary root service connection wait 2022-01-25 01:21:21 -08:00
topjohnwu
5c54a2c008 Update version check logic 2022-01-25 01:10:17 -08:00