Commit Graph

2762 Commits

Author SHA1 Message Date
topjohnwu 2089223690 Fix #3785 2021-01-30 11:51:15 -08:00
topjohnwu 52e1b84d41 Symlink pre API 21 2021-01-30 01:12:49 -08:00
topjohnwu f6126dd20e Support Shortcuts pre API 26
Close #3778
2021-01-29 23:16:09 -08:00
topjohnwu bec5edca84 Avoiding using shell I/O 2021-01-29 05:15:22 -08:00
topjohnwu 6fb20b3ee5 Proper proguard rules 2021-01-27 04:56:39 -08:00
topjohnwu eaf4d8064b Also download to external storage 2021-01-27 04:09:07 -08:00
topjohnwu 2a5f5b1bba Workaround zip extraction bug on older devices 2021-01-27 03:00:09 -08:00
topjohnwu c538a77937 Tweak build configs and scripts 2021-01-27 02:36:32 -08:00
sominn aa9e7b1ed1 Update strings.xml
CS string update
2021-01-27 01:00:10 -08:00
Arbri çoçka a3066eddab Fix string in values-sq 2021-01-27 00:59:49 -08:00
Arbri çoçka d1729fa787 Fix string in values-sq 2021-01-27 00:59:49 -08:00
topjohnwu 1024e68eb6 Remove class mapping in full APK 2021-01-26 07:27:35 -08:00
topjohnwu 6ae2c9387d Use stub APK hiding method for Android 5.0+
At the same time, disable app hiding on devices lower than 5.0
to simplify the logic in the app. By doing so, a hidden app always
implies running as stub.
2021-01-26 07:27:35 -08:00
topjohnwu dc61dfbde6 Cache update check results 2021-01-25 04:13:08 -08:00
topjohnwu 21466426da Some code cleanup 2021-01-25 03:44:38 -08:00
topjohnwu 3f0136362b Move nand flash handling into boot_patch.sh 2021-01-25 03:37:41 -08:00
topjohnwu e92d77bbec Some optimizations 2021-01-25 03:02:43 -08:00
topjohnwu 07bd36c94b Fix patching files
Fix #3765
2021-01-25 02:24:12 -08:00
vvb2060 4cc41eccb3 Skip download notes when loading notes url 2021-01-24 21:02:51 -08:00
vvb2060 8f08ae59ac Fix permission 2021-01-24 21:02:43 -08:00
vvb2060 e8d4e492d6 Fix CHANGELOG_URL 2021-01-24 21:02:37 -08:00
topjohnwu c609a01e55 Proper shortcut name 2021-01-24 08:00:17 -08:00
Wagg13 c97fb385cd New update values-pt-rBR
update brazilian strings.xml
2021-01-24 07:36:07 -08:00
LLZN da6c57750e correction czech translat
change and fix some strings after trying a new version of the application (v8.0.6)
2021-01-24 07:35:49 -08:00
topjohnwu 6951d926f7 Rename app name to just Magisk 2021-01-24 07:35:00 -08:00
topjohnwu ec31bb9a82 Rename scripts 2021-01-24 07:18:14 -08:00
vvb2060 8618cc383a Fix install modules
Fix #3759
2021-01-24 07:03:19 -08:00
vvb2060 4b01e3a3c7 Cleanup more kotlin stuffs 2021-01-24 07:03:06 -08:00
topjohnwu 657056e636 Cache changelog files 2021-01-24 06:55:43 -08:00
topjohnwu 9d5efea66e Remove ManagerJson
Everything is now Magisk
2021-01-24 05:14:46 -08:00
topjohnwu 658d74e026 Update home fragment 2021-01-24 00:02:49 -08:00
vvb2060 96405c26d0 writeTo has closed InputStream 2021-01-23 18:12:19 -08:00
vvb2060 4ea5f34bf3 Remove unused action 2021-01-23 18:11:08 -08:00
vvb2060 dbd13a2019 Clean code 2021-01-23 18:10:26 -08:00
vvb2060 e57556a8af Use ro.kernel.qemu to check emulator 2021-01-23 18:05:38 -08:00
vvb2060 b54b78c29d Fix prevent dot in the first position 2021-01-23 17:31:18 -08:00
topjohnwu b4e52f6135 Better development workflow 2021-01-23 16:50:55 -08:00
topjohnwu 1060dd2906 Random refactoring 2021-01-23 13:26:28 -08:00
topjohnwu 5798536559 Remove unnecessary hacks 2021-01-22 20:25:37 -08:00
topjohnwu ab9a83c82f Bump target SDK to 30 2021-01-22 05:03:33 -08:00
topjohnwu c87fdbea0f Fix erroneous stream close 2021-01-22 03:07:39 -08:00
topjohnwu ec8fffe61c Merge Magisk install zip into Magisk Manager
Distribute Magisk directly with Magisk Manager APK. The APK will
contain all required binaries and scripts for installation and
uninstallation. App versions will now align with Magisk releases.

Extra effort is spent to make the APK itself also a flashable zip that
can be used in custom recoveries, so those still prefer to install
Magisk with recoveries will not be affected with this change.

As a bonus, this makes the whole installation and uninstallation
process 100% offline. The existing Magisk Manager was not really
functional without an Internet connection, as the installation process
was highly tied to zips hosted on the server.

An additional bonus: since all binaries are now shipped as "native
libraries" of the APK, we can finally bump the target SDK version
higher than 28. The target SDK version was stuck at 28 for a long time
because newer SELinux restricts running executables from internal
storage. More details can be found here: https://github.com/termux/termux-app/issues/1072
The target SDK bump will be addressed in a future commit.

Co-authored with @vvb2060
2021-01-22 02:29:54 -08:00
topjohnwu 9100186dce Make emulator direct install env fix 2021-01-18 13:32:10 -08:00
topjohnwu 5a71998b4e Stop embedding magisk in magiskinit 2021-01-18 04:25:26 -08:00
topjohnwu a27e30cf54 Update release notes 2021-01-17 06:08:15 -08:00
topjohnwu b5b62e03af Fix copySepolicyRules logic 2021-01-16 21:45:45 -08:00
topjohnwu 0cd80f2556 Update app changelog 2021-01-16 04:42:14 -08:00
Mspy1 109363ebf6 Fixed typo 2021-01-15 21:31:58 -08:00
LLZN 716c4fa386 new update values-cs
update czech strings.xml
2021-01-15 21:31:17 -08:00
Arbri çoçka 9a09b4eb20
fix strings-sq 2021-01-15 21:29:53 -08:00
Rikka 95a5b57265
Remove "Flashing" overlay
Fix #3579, fix #3250
2021-01-15 21:28:59 -08:00
vvb2060 20be99ec8a Restore mistakenly deleted codes 2021-01-15 19:59:55 -08:00
topjohnwu 79dfdb29e7 Minor tweaks for patching tar files 2021-01-11 19:47:36 -08:00
Hen Ry fe8997efae Fix 2021-01-10 20:17:20 -08:00
Arbri çoçka 23455c722c fix in Values-sq 2021-01-10 20:16:57 -08:00
topjohnwu 5ce29c30d2 Fix sepolicy copying 2021-01-10 20:16:02 -08:00
Björn Engel 872ab2e99b Change translation for next
Nächste sounds a little bit strange.
2020-12-30 16:41:22 -08:00
kubalav 90b8813bb7 Fixed typo 2020-12-30 16:41:01 -08:00
Arbri çoçka 88d0f63294 Fix text in strings_sq 2020-12-30 16:40:47 -08:00
topjohnwu 79fa0d3a90 Hide selection improvements 2020-12-30 16:40:22 -08:00
topjohnwu 8e61080a4a Preparation for hiding isolated processes 2020-12-30 15:55:53 -08:00
topjohnwu b6144ae582 Add v21.2 release notes 2020-12-28 15:35:09 -08:00
Arbri çoçka afe17c73b4 Update strings.xml
Fix same text in Values-sq
2020-12-28 15:29:27 -08:00
dark-basic 107a2a6682
Update String-es 2020-12-27 22:08:34 -08:00
Arbri çoçka 56b4ab6672 Fix any text in strings sq 2020-12-27 22:07:44 -08:00
topjohnwu f983bfc883 Embed keys into dex files 2020-12-26 21:33:30 -08:00
topjohnwu 45cdb3fdb0 Update dependencies 2020-12-26 17:05:12 -08:00
topjohnwu 9a707236b8 Move signing code into main app sources 2020-12-26 17:03:10 -08:00
topjohnwu 8a2a6d9232 Make versionCode unconfigurable 2020-12-25 05:34:15 -08:00
topjohnwu 12aa6d86e4 Make config.prop optional 2020-12-24 04:46:31 -08:00
topjohnwu 7d08969d28 Fix strings 2020-12-23 01:33:46 -08:00
Fs00 dda4aa8488 Translate missing Italian strings 2020-12-22 23:33:20 -08:00
Arbri çoçka dc0882e043 fixing some errors in sq strings 2020-12-22 23:31:40 -08:00
amninder singh c811f015ef Added Punjabi Translation
- Written in Gurmukhi Script containing different foreign punctuations both inscript and Phonetic
2020-12-22 23:31:12 -08:00
topjohnwu d089698475 Don't use root for logging getprop
Might contain sensitive info that shouldn't be shared
2020-12-19 23:09:36 -08:00
vvb2060 8ed2dd6687 Skip query for log files and patched boot file 2020-12-19 22:26:10 -08:00
vvb2060 50305ca1fe Support save manager log 2020-12-19 22:25:44 -08:00
vvb2060 3e91567636 Add a suffix to magisk_patched.img
prevent it from being used as input file
2020-12-19 21:53:16 -08:00
vvb2060 6ce9225f52 Check block dev ro status
magisk is shared object, use static busybox instead
2020-12-19 14:12:12 -08:00
vvb2060 984f32f994 Move copy_sepolicy_rules to manager
We don’t need it when patch boot
2020-12-19 13:58:53 -08:00
topjohnwu 1232113772 Update preference migration implementation
Only try to read preference through content provider when the app
is fresh install and a previous package ID is set. Also catch all
Exceptions to prevent crashing the app.

This prevents malicious settings injection and crashes when multiple
manager is installed.

Fix #3542
2020-12-09 02:07:58 -08:00
vvb2060 039d4936cb Disable superuser fragment properly 2020-12-09 01:16:30 -08:00
topjohnwu 784dd80965 Update MediaStoreUtils 2020-12-09 01:15:56 -08:00
vvb2060 1ffe9bd83b Fix update channel without description on release build 2020-12-09 00:40:33 -08:00
vvb2060 ec1af9dc1e Delete useless arrays 2020-12-09 00:17:58 -08:00
vvb2060 ff4cea229a Check environment on emulator
We need to test modules on emulator.
2020-12-09 00:16:27 -08:00
vvb2060 3f81f9371f Disable installation while downloading metadata 2020-12-09 00:16:13 -08:00
vvb2060 60e89a7d22 Ignore manager not installed state 2020-12-09 00:15:58 -08:00
vvb2060 c50daa5c9e Allow restore boot when no network 2020-12-09 00:15:41 -08:00
topjohnwu 58d00ab863 Remove some warnings 2020-12-07 00:06:02 -08:00
topjohnwu ce916459c5 Fix strings 2020-12-07 00:04:41 -08:00
Antikruk 4094d560ab
Belarusian update 2020-12-06 23:50:33 -08:00
RikkaW 4dbf7eb04b Fix spacing in module filter list 2020-12-06 23:49:23 -08:00
RikkaW a39577c44d Fix extra spacing in module list 2020-12-06 23:49:23 -08:00
Hafitz Setya a687d1347b Tidying up IN 2020-12-06 23:48:01 -08:00
Arbri çoçka 6d9db20614 Create strings.xml 2020-12-06 23:46:18 -08:00
topjohnwu a848f10bba Update Kotlin 2020-11-23 12:35:24 -08:00
topjohnwu 1385d2a4f4 Fix strings 2020-11-19 23:34:02 -08:00
RikkaW 3b5c9abf7a Remove filterTouchesWhenObscured in Magisk dialog
Fix #3363
2020-11-19 23:32:23 -08:00
tzagim e0fa032bd3
Update HE strings and fix typos 2020-11-19 23:29:47 -08:00
omerakgoz34 7b69650fcd
app: Update Turkish translations 2020-11-19 23:27:54 -08:00
kubalav 08a8df489f Slovak language formating 2020-11-19 23:27:07 -08:00
cristisilaghi 9f35a8a520 Update Romanian 2020-11-19 23:26:38 -08:00
RikkaW 0df891b336 Handle window insets with a new way
For example, switching pages in home should only have scale and alpha animations, but a "translate y" animation shows. This is because Data Binding is triggered later (like "in the next frame"), causing the animation runs before view attribute changes.

This commit introduces WindowInsetsHelper class and use it to handle all window insets. With the help of LayoutInflaterFactory from the previous commit, we can control insets behavior by adding our attributes to the XML and anything is done by WindowInsetsHelper class.

As changes are highly coupling, this commit also contains new ItemDecoration for lists, replacing the random combination of padding and empty drawable. And "fixEdgeEffect" extension for RecyclerView, making edge effects respect padding.
2020-11-19 23:24:39 -08:00
RikkaW 385853a290 Introduce LayoutInflaterFactory
This add the ability touch layout XML instantiates process. And most importantly, we can access AttributeSet, making custom view attribute possible.

Some other changes requires this.
2020-11-19 23:24:39 -08:00
RikkaW fa3ef8a1c1 Significantly simplify MagiskDialog layout
The goal of original implementation, wrap view again and again, seems to be use the shadow and customizable round corners from MaterialCardView. But this can be done with use MaterialShapeDrawable which used in MaterialCardView directly. This will significantly simplify the layout and MagiskDialog class.
2020-11-19 23:21:36 -08:00
RikkaW c93ada03c7 Implement Edge-to-edge with newer APIs
The implementation adds a "Base" family styles, making creating themes across multiple API versions more clearer and easier.
2020-11-19 23:21:36 -08:00
topjohnwu 2d5cf8a6fe Push release notes 2020-11-13 04:32:20 -08:00
topjohnwu 290959f74c Fix strings resources 2020-11-13 04:22:06 -08:00
Ilya Kushnir 4d9f58ee72
Update RU strings & tidying up EN 2020-11-13 03:03:35 -08:00
topjohnwu 9241246de6 Only use MediaStore APIs on Android 11+
Fix #3428
2020-11-13 02:53:30 -08:00
Heimen Stoffels 58a5d52b78
Updated Dutch translation 2020-11-13 02:34:49 -08:00
Rom 2906178ac3
Update French translation 2020-11-13 02:34:21 -08:00
topjohnwu 50be50cf6a Update dependencies 2020-11-13 00:58:41 -08:00
topjohnwu 2739d3cb67 Update PayPal link 2020-11-07 15:10:10 -08:00
vvb2060 e9759a5868 Update HideViewModel 2020-11-07 14:47:44 -08:00
AdiityaAndre e7ab802498 Update Indonesian translation 2020-11-07 14:43:46 -08:00
kubalav 42672c2e27 Update Slovak translation 2020-11-07 14:43:21 -08:00
孟武.尼德霍格.龍 e65d61d313 更新繁體中文字串
更新繁體中文字串
2020-11-07 14:42:48 -08:00
Taras 076da5c7c4
Update Ukrainian translation 2020-11-07 14:42:11 -08:00
vvb2060 9deaf2507c Update zh-rCN translation 2020-11-07 14:41:32 -08:00
kam821 5c114c67de Update Polish translation
- Add missing strings
- Small corrections.
- Changed "Magisk Manager" translation to form which better reflects the original meaning in Polish.
2020-11-07 14:40:56 -08:00
programminghoch10 d904cb0441 Updated german translations 2020-11-07 14:40:02 -08:00
topjohnwu 16e4c67992 Significantly broaden sepolicy.rule compatibility
Previously, Magisk uses persist or cache for storing modules' custom
sepolicy rules. In this commit, we significantly broaden its
compatibility and also prevent mounting errors.

The persist partition is non-standard and also critical for Snapdragon
devices, so we prefer not to use it by default.

We will go through the following logic to find the best suitable
non-volatile, writable location to store and load sepolicy.rule files:

Unencrypted data -> FBE data unencrypted dir -> cache -> metadata -> persist

This should cover almost all possible cases: very old devices have
cache partitions; newer devices will use FBE; latest devices will use
metadata FBE (which guarantees a metadata parition); and finally,
all Snapdragon devices have the persist partition (as a last resort).

Fix #3179
2020-11-02 23:20:38 -08:00
topjohnwu 0d11f73a1d Handle unexpected exceptions
Fix #3276
2020-10-22 03:09:05 -07:00
vvb2060 533cb8eb58 Tapjacking protection 2020-10-22 02:40:47 -07:00
loading 8ac1181e9a
Update Hindi translations 2020-10-21 00:43:15 -07:00
Ilya Kushnir 5ca1892eb0 Update RU strings 2020-10-21 00:42:09 -07:00
kubalav 82fff615d6 Update Slovak translation 2020-10-21 00:40:36 -07:00
Rom 24a8f0808d
Update French translation 2020-10-21 00:40:08 -07:00
vvb2060 4a7c3c06bc Disable hide/restore when no remote info 2020-10-20 23:56:44 -07:00
vvb2060 da93bbc1fe Fix network 2020-10-20 23:56:21 -07:00
topjohnwu fa2dbe981e Handle retrofit errors 2020-10-20 03:03:40 -07:00
topjohnwu 7b26e8b818 Update dependencies 2020-10-17 06:46:36 -07:00
topjohnwu a079966f97 Migrate to AGP 4.1.0 2020-10-17 06:32:49 -07:00
vvb2060 468796c23d Add option to show OS apps 2020-10-17 05:57:43 -07:00
vvb2060 5833aadef5 Silence kotlin warnings 2020-10-17 05:57:35 -07:00
vvb2060 eb261c8026 Fix antlr warning
https://issuetracker.google.com/issues/150106190
2020-10-17 05:57:20 -07:00
vvb2060 a4c48847d1 Cancel vibration to sync with notification channel 2020-10-17 05:56:07 -07:00
vvb2060 43288be091 Prevent dot in the first position 2020-10-17 05:55:58 -07:00
vvb2060 1ad7a6fe93 Update activity display when download fails 2020-10-17 05:54:34 -07:00
topjohnwu 4e0a3f5e72 Fix compile errors 2020-10-17 04:28:20 -07:00
Davy Defaud d7c33f647d Fix a typo and use the proper Unicode characters
- fix a French typo: raccourcis → raccourci
- French orthotypography: use a thin space before a question mark, and a true (non breaking) hyphen instead of a dash.
2020-10-17 04:18:00 -07:00
topjohnwu 9087207dc0 Minor changes 2020-10-17 04:14:12 -07:00
vvb2060 2760f37e6b Add userspace reboot 2020-10-17 03:54:51 -07:00
Miguel Cruces 3fa3426032 Spanish translations update 2020-10-17 03:54:17 -07:00
topjohnwu 2e4dc91b96 Better stub hiding experience 2020-10-17 03:40:43 -07:00
topjohnwu 735b65c50c Update DoH implementation 2020-10-11 15:19:19 -07:00
topjohnwu efb1eab327 Silence some warnings 2020-10-11 05:47:47 -07:00
topjohnwu 49d4785da0 Fix strings 2020-10-11 05:26:50 -07:00