;
15 | }
16 |
17 | -repackageclasses
18 | -allowaccessmodification
19 | -overloadaggressively
20 |
21 | # Gson uses generic type information stored in a class file when working with fields. Proguard
22 | # removes such information by default, so configure it to keep all of it.
23 | -keepattributes Signature,InnerClasses,EnclosingMethod
24 |
25 | -dontwarn org.jetbrains.annotations.NotNull
26 | -dontwarn org.jetbrains.annotations.Nullable
27 | -dontwarn org.bouncycastle.jsse.BCSSLParameters
28 | -dontwarn org.bouncycastle.jsse.BCSSLSocket
29 | -dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
30 | -dontwarn org.conscrypt.Conscrypt*
31 | -dontwarn org.conscrypt.ConscryptHostnameVerifier
32 | -dontwarn org.openjsse.javax.net.ssl.SSLParameters
33 | -dontwarn org.openjsse.javax.net.ssl.SSLSocket
34 | -dontwarn org.openjsse.net.ssl.OpenJSSE
35 |
36 | -keepclassmembers class * implements android.os.Parcelable {
37 | public static final ** CREATOR;
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_settings_backup_restore_24.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
26 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
21 | -
22 |
23 |
24 |
27 |
28 |
29 | -
32 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_outline_speaker_notes_24.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
27 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_round_check_circle_24.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
26 |
29 |
30 |
--------------------------------------------------------------------------------
/core/src/main/java/org/lsposed/lspd/util/Hookers.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of LSPosed.
3 | *
4 | * LSPosed is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * LSPosed is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with LSPosed. If not, see .
16 | *
17 | * Copyright (C) 2020 EdXposed Contributors
18 | * Copyright (C) 2021 LSPosed Contributors
19 | */
20 |
21 | package org.lsposed.lspd.util;
22 |
23 | import android.app.ActivityThread;
24 |
25 | public class Hookers {
26 |
27 | public static void logD(String prefix) {
28 | Utils.logD(String.format("%s: pkg=%s, prc=%s", prefix, ActivityThread.currentPackageName(),
29 | ActivityThread.currentProcessName()));
30 | }
31 |
32 | public static void logE(String prefix, Throwable throwable) {
33 | Utils.logE(String.format("%s: pkg=%s, prc=%s", prefix, ActivityThread.currentPackageName(),
34 | ActivityThread.currentProcessName()), throwable);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/scrollable_dialog.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
23 |
24 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/magisk-loader/magisk_module/daemon:
--------------------------------------------------------------------------------
1 | #!/system/bin/sh
2 |
3 | dir=${0%/*}
4 | tmpLspdApk="/data/local/tmp/daemon.apk"
5 | debug=@DEBUG@
6 | flavor=@FLAVOR@
7 |
8 | if [ -r $tmpLspdApk ]; then
9 | java_options="-Djava.class.path=$tmpLspdApk"
10 | debug="true"
11 | else
12 | java_options="-Djava.class.path=$dir/daemon.apk"
13 | fi
14 |
15 | if [ $debug = "true" ]; then
16 | os_version=$(getprop ro.build.version.sdk)
17 | if [ "$os_version" -eq "27" ]; then
18 | java_options="$java_options -Xrunjdwp:transport=dt_android_adb,suspend=n,server=y -Xcompiler-option --debuggable"
19 | elif [ "$os_version" -eq "28" ]; then
20 | java_options="$java_options -XjdwpProvider:adbconnection -XjdwpOptions:suspend=n,server=y -Xcompiler-option --debuggable"
21 | else
22 | java_options="$java_options -XjdwpProvider:adbconnection -XjdwpOptions:suspend=n,server=y"
23 | fi
24 | fi
25 |
26 | mount tmpfs -t tmpfs /data/resource-cache
27 |
28 | if [ ! -S "/dev/socket/zygote" ]; then
29 | timeout 0.5 inotifyd - /dev/socket:near | while read -r line; do
30 | $debug && log -p v -t "ReLSPosed" "inotify: $line"
31 | if [ -S "/dev/socket/zygote" ]; then
32 | $debug && log -p v -t "ReLSPosed" "zygote started"
33 | touch /dev/socket&
34 | exit
35 | fi
36 | done
37 | fi
38 | $debug && log -p d -t "ReLSPosed" "start $flavor daemon $*"
39 |
40 | # shellcheck disable=SC2086
41 | exec /system/bin/app_process $java_options /system/bin --nice-name=lspd org.lsposed.lspd.Main "$@" >/dev/null 2>&1
42 |
--------------------------------------------------------------------------------
/hiddenapi/stubs/src/main/java/android/annotation/NonNull.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package android.annotation;
17 |
18 | import java.lang.annotation.Retention;
19 | import java.lang.annotation.Target;
20 |
21 | import static java.lang.annotation.ElementType.FIELD;
22 | import static java.lang.annotation.ElementType.METHOD;
23 | import static java.lang.annotation.ElementType.PARAMETER;
24 | import static java.lang.annotation.RetentionPolicy.SOURCE;
25 |
26 | /**
27 | * Denotes that a parameter, field or method return value can never be null.
28 | *
29 | * This is a marker annotation and it has no specific attributes.
30 | *
31 | * @paramDoc This value must never be {@code null}.
32 | * @returnDoc This value will never be {@code null}.
33 | * @hide
34 | */
35 | @Retention(SOURCE)
36 | @Target({METHOD, PARAMETER, FIELD})
37 | public @interface NonNull {
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/lsposed/manager/util/chrome/CustomTabsURLSpan.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of LSPosed.
3 | *
4 | * LSPosed is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 | *
9 | * LSPosed is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with LSPosed. If not, see .
16 | *
17 | * Copyright (C) 2020 EdXposed Contributors
18 | * Copyright (C) 2021 LSPosed Contributors
19 | */
20 |
21 | package org.lsposed.manager.util.chrome;
22 |
23 | import android.app.Activity;
24 | import android.text.style.URLSpan;
25 | import android.view.View;
26 |
27 | import org.lsposed.manager.util.NavUtil;
28 |
29 | public class CustomTabsURLSpan extends URLSpan {
30 |
31 | private final Activity activity;
32 |
33 | public CustomTabsURLSpan(Activity activity, String url) {
34 | super(url);
35 | this.activity = activity;
36 | }
37 |
38 | @Override
39 | public void onClick(View widget) {
40 | String url = getURL();
41 | NavUtil.startURL(activity, url);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_outline_format_color_fill_24.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
26 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_home.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_assignment_24.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
27 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_baseline_extension_24.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
26 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_attach_file.xml:
--------------------------------------------------------------------------------
1 |
20 |
21 |
27 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_outline_translate_24.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
26 |
29 |
30 |
--------------------------------------------------------------------------------