Commit Graph

511 Commits

Author SHA1 Message Date
ShirkNeko
04db01cdbc Fix the problem of disappearing background in dark color mode 2025-03-23 00:26:58 +08:00
ShirkNeko
7265d5aacd - Manger: Fix the device model acquisition logic
- Manger: Update card default shadow and transparency settings, optimize theme color scheme

- Manger: Optimize dark color mode style

Signed-off-by:ShirkNeko<ShirkNeko@2773800761@qq.com>
2025-03-23 00:06:03 +08:00
ShirkNeko
ff99ab8e62 Changing the custom background expand more options logic
Co-authored-by:ShirkNeko <ShirkNeko@alone2832165@gmail.com>
2025-03-22 16:37:30 +08:00
ShirkNeko
192f36fb3c Changing the custom background expand more options logic
Co-authored-by:Shirkneko <ShirkNeko@alone2832165@gmail.com>
2025-03-22 16:35:56 +08:00
ShirkNeko
7b7fff91a6 Upload source files to complete submission of history changes
Co-authored-by:Shirkneko <Shirkneko@2773800761@qq.com>
2025-03-22 15:20:51 +08:00
Rifat Azad
3121eb0f9a manager: add susfs status and sus_su toggle
userspace: add susfsd
ci: build susfsd
ksud_overlayfs: update aarch64 bin  BusyBox v1.36.1.1 topjohnwu (2024-10-06 01:38:43 PDT)

Co-authored-by: rifsxd <rifat.44.azad.rifs@gmail.com>
2025-03-22 15:20:02 +08:00
ShirkNeko
3208a916e2 Cherry-pick commit 00ae4f9 2025-03-22 14:12:36 +08:00
ShirkNeko
ba26677cfc Merge some files and rewrite the update history 2025-03-22 14:09:21 +08:00
5ec1cff
ec383ed661 allow restore uninstalled module 2025-03-09 00:05:23 +08:00
5ec1cff
7b39c295aa use module dir name as real id 2025-03-08 23:56:24 +08:00
5ec1cff
35bf2f1dca manager: remove shrink image 2025-03-08 23:56:24 +08:00
5ec1cff
bb8c9ffac5 manager: no need to check overlayfs 2025-03-08 23:56:20 +08:00
Wang Han
fcfe038532 Avoid popping back stack right after navigation (#2477)
This fixes https://github.com/tiann/KernelSU/issues/2462.
2025-02-27 09:47:50 +08:00
Weblate (bot)
985cd1f015 Translations update from Hosted Weblate (#2425)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for
[KernelSU/Manager](https://hosted.weblate.org/projects/kernelsu/manager/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/kernelsu/manager/horizontal-auto.svg)

---------

Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Kazuki Nakashima <flukfik41@gmail.com>
Co-authored-by: dabao1955 <dabao1955@163.com>
Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Co-authored-by: weishu tian <twsxtd@gmail.com>
Co-authored-by: yuztass <inkognito0901@gmail.com>
Co-authored-by: I g o r <igormczampola1@gmail.com>
2025-02-24 12:20:40 +08:00
Rifat Azad
7a6ec8b284 manager: allow multiple modules to be installed sequentially (#2459)
It's now okay to merge
2025-02-23 12:10:58 +08:00
Js0n
6936520515 fix: crash #2463 (#2465)
my bad
2025-02-22 18:30:13 +08:00
Js0n
1f2f4136e6 feat: properly set OkHttp header (#2463)
properly send `User-Agent` and `Accept-Language` to `updateJson` server,
module developers can check `User-Agent` whether to send update to user
and set user preferred language for changelog.

also added cache to reduce update server load
2025-02-22 15:18:00 +08:00
Wang Han
f33b12cd52 Provide TMPDIR for boot image repacking (#2458)
/data/local/tmp is never writable for normal apps, why previously it
works is that Rust's temp_dir() gets path from env, and since A13,
TMPDIR is set to app's cache dir. This is not the case for A12, so it
breaks. Fix it by set TMPDIR ourselves.
2025-02-21 11:09:02 +08:00
weishu
107a34789e manager: refine flashing module utilities 2025-02-20 20:56:21 +08:00
Wang Han
eeffecbd1b Allow toggling unmount setting for all apps (#2450)
This fixes https://github.com/tiann/KernelSU/issues/2416.
2025-02-18 11:07:52 +08:00
weishu
4593ae81c7 kernel: Allow to re-enable sucompat 2025-02-16 21:33:26 +08:00
weishu
9bb39ff760 manager: Add support to disable sucompat mode. 2025-02-16 19:35:35 +08:00
Wang Han
32f84dcb1f Hide namespace config in app profiles (#2426)
This is never implemented in kernel (and likely never will be), so let's
remove it from UI for now to avoid misleading users.
2025-02-09 21:26:04 +08:00
weishu
de2100e1e9 manager: Create a new root shell for action.sh to avoid blocking the global root shell. 2025-02-06 19:28:01 +08:00
Weblate (bot)
7b0876d7e8 Translations update from Hosted Weblate (#2376)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for
[KernelSU/Manager](https://hosted.weblate.org/projects/kernelsu/manager/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/kernelsu/manager/horizontal-auto.svg)

---------

Co-authored-by: Astoritin Ambrosius <TakasugiMerlan@outlook.com>
Co-authored-by: yuztass <inkognito0901@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: 김강민 <bookwormkkm00@gmail.com>
Co-authored-by: 淡い夏 <93428659+lightsummer233@users.noreply.github.com>
Co-authored-by: I g o r <igormczampola1@gmail.com>
Co-authored-by: Kazuki Nakashima <flukfik41@gmail.com>
Co-authored-by: dabao1955 <dabao1955@163.com>
Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Co-authored-by: Pang YS <devbx@proton.me>
Co-authored-by: NEURAX <1603528439@qq.com>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Co-authored-by: weishu tian <twsxtd@gmail.com>
2025-02-05 13:43:13 +08:00
changhuapeng
1728c6dc61 manager: Disable interactions for uninstalled & disabled module (#2380)
Uninstalled module has no enabled interactions (e.g. run action script,
open webui, update).
Disabled module cannot run action script or open webui.
2025-01-25 20:01:18 +08:00
Weblate (bot)
fa8b3bf29c Translations update from Hosted Weblate (#2341)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for
[KernelSU/Manager](https://hosted.weblate.org/projects/kernelsu/manager/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/kernelsu/manager/horizontal-auto.svg)

---------

Co-authored-by: Astoritin Ambrosius <TakasugiMerlan@outlook.com>
Co-authored-by: yuztass <inkognito0901@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: 김강민 <bookwormkkm00@gmail.com>
Co-authored-by: 淡い夏 <93428659+lightsummer233@users.noreply.github.com>
Co-authored-by: I g o r <igormczampola1@gmail.com>
Co-authored-by: Kazuki Nakashima <flukfik41@gmail.com>
Co-authored-by: dabao1955 <dabao1955@163.com>
Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Co-authored-by: Pang YS <devbx@proton.me>
2025-01-24 19:29:51 +08:00
Weblate (bot)
0da9b123fa Translations update from Hosted Weblate (#2174)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for
[KernelSU/Manager](https://hosted.weblate.org/projects/kernelsu/manager/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/kernelsu/manager/horizontal-auto.svg)

---------

Co-authored-by: 孟武尼德霍格龍 <7708801314520.tony@gmail.com>
Co-authored-by: I g o r <igormczampola1@gmail.com>
Co-authored-by: Kazuki Nakashima <flukfik41@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: yuztass <inkognito0901@gmail.com>
Co-authored-by: dabao1955 <dabao1955@163.com>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: Caner Karaca <canerkaraca_23@hotmail.com>
Co-authored-by: hsfg6 <hsfg6@proton.me>
Co-authored-by: Krisztián Molnár <krisztian.molnar94@gmail.com>
Co-authored-by: Kanbi Dungaitj <genshoopen+public@gmail.com>
Co-authored-by: Rene Schimmelpfennig <r.schimmelpfennig@gmail.com>
Co-authored-by: Rem01Gamingf3be1ce80d8a4e1b <wisnugunawan2008@gmail.com>
Co-authored-by: Inches Hwang <me@coldified.dev>
Co-authored-by: magisk-for-arm <lin666_666@outlook.com>
Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
2025-01-07 13:53:32 +08:00
5ec1cff
0a617959f9 manager: support search module list (#2331) 2024-12-31 16:30:58 +08:00
bryanyee33
d3ed55f1eb manager: module: refresh after webui usage (#2317)
- This commit fixes issue tiann#2250


https://github.com/user-attachments/assets/19dcca12-cb34-4e6e-88b4-72c26c2773f3

Tested by: backslashxx <118538522+backslashxx@users.noreply.github.com>
2024-12-26 16:10:16 +08:00
Michelle Rodriguez
2e2d9b9c04 manager: Add sort options on module's appbar (#2308)
module list will be sorted by options when these are enabled:

![83d5cd3d23b8f6c36b52e731f5e21a97](https://github.com/user-attachments/assets/eaadc1a3-21c6-4b73-a55f-206b6faa7d2d)
It will be very friendly and convenient  when manager has many modules.
2024-12-25 19:48:28 +08:00
bryanyee33
18ba8cc719 Imitate terminal clear command in manager (#2307)
The current implementation of KSU manager's output screen simply prints
`[H[J` when the `clear` command is used (in both the flashing module &
action button screen) instead of clearing the screen:
<img
src="https://github.com/user-attachments/assets/c30ceb87-13ac-4ba6-a7c5-045564e83181"
width="300" />

This limits the ability of shell scripts to purely textual & linear
outputs, and prevents more flexible outputs such as a refreshing
progress bar or even a progress circle for long running scripts. The
current implementation moreover limits the output to 65536 bytes for the
String `text`, causing the app to hang once this limit has been reached
for scripts with more verbose outputs.

This PR fixes these issues by allowing for usage of the `clear` command
in shell scripts to clear the screen. It works by checking if the
current output line starts with "", which is the default output of
the `clear` command in KSU's busybox, and clears the previous outputs if
there is a match. This should work universally since the `clear` command
defaults to this implementation when ran in KSU manager.

A working example can be seen below, where the `clear` command is
heavily used (24 times a second) to test for performance & reliability
of the code:


https://github.com/user-attachments/assets/c45fb6f1-1b40-4b67-8837-4d9a00429715

Tested-by: backslashxx
2024-12-25 10:26:34 +08:00
silvzr
29e2b9fac7 Minor UI improvements (#2305)
**Changes**
1. With the addition of the Action button the module card feels pretty
bloated when all of them are present at the same time.

![Screenshot_20241220-221644_KernelSU](https://github.com/user-attachments/assets/c8d7ce07-0cb2-43a0-aea2-95864d2bd018)
To improve it we can use icons only instead of text since they take less
space; this also means adding an icon for Update and Uninstall buttons.

![Screenshot_20241220-220450_KernelSU](https://github.com/user-attachments/assets/2991f7fa-71f8-49b9-872c-ca0d9a8bf373)
Below are displayed other possible behaviors when not all of them are
present:

![Screenshot_20241220-221227_KernelSU](https://github.com/user-attachments/assets/b61374e6-00c4-4216-9c0f-21c60301b22b)

![Screenshot_20241220-221214_KernelSU](https://github.com/user-attachments/assets/6df3535f-b451-4053-9b86-928a282a943f)

![Screenshot_20241220-220428_KernelSU](https://github.com/user-attachments/assets/6eebd4d3-956b-46b3-a402-9e09954a46c8)
Since the Update button appears less frequently than the others, make it
always display its text unless both Action and WebUI are present.

![Screenshot_20241220-221401_KernelSU](https://github.com/user-attachments/assets/3ff8ce6d-80b9-4bdd-b66a-04dd6a5e44ca)

2. Minor change to avoid possible missclicks caused by smaller buttons.
Enabling and disabling modules is pretty rare by itself and considering
overlayfs isn't as fast as magic mount a missclick often feels pretty
punishing.

3. The commit 7b3e732 readded transitions to all sections but I noticed
they were missing from Home. With the help of @rifsxd I found out it was
cause of the lag generated by the install function, which is called
everytime you go to Home. Since installing magiskboot multiple times
isn't needed, moving it to MainActivity ensures it's executed on app
launch only avoiding unnecessary lag.

Tested-by: backslashxx 118538522+backslashxx@users.noreply.github.com

---------

Co-authored-by: changhuapeng <9205678+changhuapeng@users.noreply.github.com>
Co-authored-by: Rifat Azad <33044977+rifsxd@users.noreply.github.com>
2024-12-22 21:45:29 +08:00
silvzr
e4e34df9ca manager: Reset search filter after moving from SuperUser destination (#2204)
By default there's an annoying behaviour for which the manager leaves
the search filter after changing destination without even showing the
search bar anymore. Fix that and reset the list to the top instead of
leaving it at the searched app's height


https://github.com/user-attachments/assets/268672af-ced9-4293-81df-4e1c7ef33489
original behaviour



https://github.com/user-attachments/assets/b9b318cf-273a-4130-b199-712e99f6ed72
changed behaviour

Tested-by: backslashxx
[118538522+backslashxx@users.noreply.github.com](mailto:118538522+backslashxx@users.noreply.github.com)
2024-11-11 20:51:13 +08:00
Rissu
0f81c41537 manager: Fix not refreshing after action button was pressed (#2201)
- This commit fix issue #2171


Tested-by: backslashxx <118538522+backslashxx@users.noreply.github.com>

---------

Signed-off-by: rsuntk <rissu.ntk@gmail.com>
2024-11-11 19:11:34 +08:00
Light_summer
b7b704ede7 manager: Fix save log (#2170)
https://github.com/user-attachments/assets/69467e00-0af9-4d46-add8-e24e767462bd

Use `ContextCompat` in `DownloadListener`
Bump ksp to `2.0.21-1.0.26`
Misc changes (See the
[commit](1fb49d918a)
directly)
2024-10-31 18:06:11 +08:00
Weblate (bot)
deb2f5cfe2 Translations update from Hosted Weblate (#2065)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for
[KernelSU/Manager](https://hosted.weblate.org/projects/kernelsu/manager/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/kernelsu/manager/horizontal-auto.svg)

---------

Co-authored-by: yuztass <inkognito0901@gmail.com>
Co-authored-by: dabao1955 <dabao1955@163.com>
Co-authored-by: SchweGELBin <abramjannikmichael06@gmail.com>
Co-authored-by: Karl Schrader <pokemetti@gmail.com>
Co-authored-by: Dawid2849 <dawid2849@gmail.com>
Co-authored-by: Iker García Calviño <72529208+ikergcalvino@users.noreply.github.com>
Co-authored-by: Madis Otenurm <robotkoer@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: I g o r <igormczampola1@gmail.com>
Co-authored-by: rehork <cooky@e.email>
2024-10-29 14:00:29 +08:00
铃柒柒
aefb1aaed2 manager: Add action.sh for user to manually trigger modules' functionality from manager (#2156)
Commits:
- manager: Add `action.sh` for user to manually trigger modules'
functionality from manager
- manager: Optimize ModuleItem
- manager: uninstall button: TextButton -> FilledTonalButton
- Optimize `run_action` function

Commit Author & Thank:
- @lightsummer233
- @lingqiqi5211
- [APatch](https://github.com/bmax121/APatch)

Demo Show:

![image](https://github.com/user-attachments/assets/a5778a86-fa60-485f-ac49-2b581711f60e)

---------

Co-authored-by: Light summer <93428659+lightsummer233@users.noreply.github.com>
2024-10-27 10:07:13 +01:00
Light_summer
7b3e732404 manager: Bump dependencies, Adjust pull refresh UI, Add transitions back (#2139)
Bump dependencies


| Add transitions back for predictive back | Fix SnackBar overlap on FAB
& Make SnackBar can dismiss
| :-- | :-- |
|
![Screenshot_20241016-235706](https://github.com/user-attachments/assets/f2718523-9800-42ff-ad2f-ad8583c56be7)
|
![Screenshot_20241018-220552](https://github.com/user-attachments/assets/ed53338b-1ac4-4d0a-a5fb-7056f81cac18)
|

Use `androidx.compose.material3.pulltorefresh.PullToRefreshBox` instead
of `androidx.compose.material.pullrefresh.*`
| Before | After |
| --: | --: |
|
![Screenshot_20241016-234930](https://github.com/user-attachments/assets/6b9dbb87-627b-4a02-8f77-9f9f81ae1b4a)
|
![Screenshot_20241016-235336](https://github.com/user-attachments/assets/9134dde4-93c8-4f85-8540-56a7c5a1b0af)
|

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-19 08:40:02 +08:00
Shatyuka
05a90542c6 manager: detect init_boot with Android version in uname (#2142)
Redmi Note 12 Turbo (marble) comes shipped with Android 13, but the
baseline/kernel target version is Android 12.

```
# getprop | grep api_level
[ro.board.api_level]: [31]
[ro.board.first_api_level]: [31]
[ro.product.first_api_level]: [33]
[ro.vendor.api_level]: [31]
# uname -a
Linux localhost 5.10.198-android12-9-00085-g226a9632f13d-ab11136126 #1 SMP PREEMPT Wed Nov 22 14:16:37 UTC 2023 aarch64 Toybox
```

Maybe we should use `ro.board.first_api_level` instead of
`ro.product.first_api_level`, or the minimum value. But anyway, it's
better to be consistent with ksud.

2f9210b2e7/userspace/ksud/src/boot_patch.rs (L407)
2024-10-17 19:46:25 +08:00
Light_summer
60fcd27b84 manager: Refactor the click logic of ModuleItem (#2105)
Drop `com.google.accompanist` that we needn't it

Remove unused metadata, abi

Optimize app icon (No visual changes)

Update Gradle to 8.10.2

Enable per app language support

Optimize `SwitchItem`


https://github.com/user-attachments/assets/777729e6-5108-4060-91a7-28b5b9d98441

Refactor the click logic of `ModuleItem`


https://github.com/user-attachments/assets/e61da54a-6c1c-45d7-bf27-52b452134b7e

Use compose's Text in AboutCard to support dynamicColor


![Screenshot_20241001-094116](https://github.com/user-attachments/assets/9882a4c1-719d-4622-a316-063cf349a753)

Add scroll behavior for TopAppBar


![Screenshot_20241001-133657.png](https://github.com/user-attachments/assets/1a884648-bc91-4f8a-9940-f2a5f0b8f6da)

![Screenshot_20241001-133645.png](https://github.com/user-attachments/assets/cd4712d3-a2c7-47f1-bba4-4312b779f6b1)

Fix padding for BottomNavigationBar
2024-10-01 20:40:16 +08:00
Light_summer
fbf3d3945b manager: Insets stuffs for Android 15 (#2100)
Fix insets on Android 15
Bump dependencies
Migrate Compose Destination to v2

Ready for review now
2024-09-29 15:45:52 +08:00
Whale Choi
f65aaff4e3 api: spawn CallbackList use UiThreadHandler::runAndWait executor (#2096)
![jsexception](https://github.com/user-attachments/assets/e8a4744d-bd0a-40bf-869c-def915b66075)

Because the exit callback in js cleans up the ChildProcess, when the
last callback of stdout is executed after the exit callback, an error
like “emitData ReferenceError: spawn_callback_1727358276092_68 is not
defined” will occur.
2024-09-29 13:31:06 +08:00
sus
ac20b76eaf js: add moduleInfo method (#2057)
Add a `ksu.moduleInfo()` in JS.
resolves https://github.com/tiann/KernelSU/issues/1571

test module's index.html

![image](https://github.com/user-attachments/assets/39920606-452c-4b19-abca-967c25146d6a)

The test module:

[moduleInfo_test.zip](https://github.com/user-attachments/files/17001977/moduleInfo_test.zip)

test module's result:

![image](https://github.com/user-attachments/assets/9dbbd2e8-f7ea-418f-b545-66d33ce1b3ae)
2024-09-14 21:52:11 +08:00
Weblate (bot)
bf54114f9f Translations update from Hosted Weblate (#2008)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for
[KernelSU/Manager](https://hosted.weblate.org/projects/kernelsu/manager/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/kernelsu/manager/horizontal-auto.svg)

---------

Co-authored-by: I g o r <igormczampola1@gmail.com>
Co-authored-by: yuztass <inkognito0901@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: dabao1955 <dabao1955@163.com>
Co-authored-by: charlotte <charlotterose@duck.com>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: Peter Noël Muller <pm563838@gmail.com>
Co-authored-by: Rex_sa <rex.sa@pm.me>
Co-authored-by: Fede2782 <78815152+Fede2782@users.noreply.github.com>
Co-authored-by: _wais <cikomo.game@gmail.com>
Co-authored-by: Shadow <duxing130@gmail.com>
Co-authored-by: Kazuki Nakashima <flukfik41@gmail.com>
Co-authored-by: Karl Schrader <pokemetti@gmail.com>
Co-authored-by: crusader1328 <Crusader1328@users.noreply.hosted.weblate.org>
Co-authored-by: SchweGELBin <abramjannikmichael06@gmail.com>
2024-09-14 09:51:54 +08:00
LoveSy
0106628da1 Upgrade gradle (#1866) 2024-07-08 22:49:18 +08:00
Weblate (bot)
f8fb134708 Translations update from Hosted Weblate (#1734)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for
[KernelSU/Manager](https://hosted.weblate.org/projects/kernelsu/manager/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/kernelsu/manager/horizontal-auto.svg)

---------

Co-authored-by: Pierre GRASSER <pierre.grasser@proton.me>
Co-authored-by: dabao1955 <dabao1955@163.com>
Co-authored-by: WikiBayer <Software@florian-rossmann.de>
Co-authored-by: weishu <twsxtd@gmail.com>
2024-06-17 13:43:13 +08:00
igor
197d168e4d manager: improve grammar in english (#1814)
Improved the grammar and fixed some typos. Feel free to let me know if
there are any mistakes.

A question. Why is the Profile App not translatable? Would it be
possible to make it translatable?
2024-06-17 10:36:15 +08:00
TinyHai
71937f5379 manager: fix update no response when changelog is empty (#1786) 2024-06-05 01:14:40 +08:00
WenHao2130
51337ee7ee manager: fix translation errors in zh_CN (#1790) 2024-06-01 22:07:16 +08:00