diff --git a/app/src/main/java/com/topjohnwu/magisk/App.java b/app/src/main/java/com/topjohnwu/magisk/App.java new file mode 100644 index 000000000..e69de29bb diff --git a/app/src/main/java/com/topjohnwu/magisk/model/adapters/ReposAdapter.java b/app/src/main/java/com/topjohnwu/magisk/model/adapters/ReposAdapter.java index 31a932188..268afac01 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/adapters/ReposAdapter.java +++ b/app/src/main/java/com/topjohnwu/magisk/model/adapters/ReposAdapter.java @@ -13,6 +13,8 @@ import android.widget.ImageView; import android.widget.SearchView; import android.widget.TextView; +import androidx.recyclerview.widget.RecyclerView; + import com.topjohnwu.magisk.App; import com.topjohnwu.magisk.ClassMap; import com.topjohnwu.magisk.R; @@ -31,7 +33,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import java9.util.stream.StreamSupport; diff --git a/app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.java b/app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.java index 87c6544ef..c51378d6b 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.java +++ b/app/src/main/java/com/topjohnwu/magisk/model/update/UpdateCheckService.java @@ -1,5 +1,8 @@ package com.topjohnwu.magisk.model.update; +import androidx.annotation.NonNull; +import androidx.work.ListenableWorker; + import com.topjohnwu.magisk.App; import com.topjohnwu.magisk.BuildConfig; import com.topjohnwu.magisk.Config; @@ -8,9 +11,6 @@ import com.topjohnwu.magisk.tasks.CheckUpdates; import com.topjohnwu.magisk.view.Notifications; import com.topjohnwu.superuser.Shell; -import androidx.annotation.NonNull; -import androidx.work.ListenableWorker; - public class UpdateCheckService extends DelegateWorker { @NonNull diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.java b/app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.java index ee0d8014d..09732bb8d 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.java +++ b/app/src/main/java/com/topjohnwu/magisk/ui/SplashActivity.java @@ -5,6 +5,8 @@ import android.content.pm.PackageManager; import android.os.Bundle; import android.text.TextUtils; +import androidx.appcompat.app.AlertDialog; + import com.topjohnwu.magisk.BuildConfig; import com.topjohnwu.magisk.ClassMap; import com.topjohnwu.magisk.Config; @@ -21,8 +23,6 @@ import com.topjohnwu.magisk.view.Shortcuts; import com.topjohnwu.net.Networking; import com.topjohnwu.superuser.Shell; -import androidx.appcompat.app.AlertDialog; - public class SplashActivity extends BaseActivity { public static boolean DONE = false; diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashActivity.java b/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashActivity.java index 741050e77..ba1c54aa1 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashActivity.java +++ b/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashActivity.java @@ -8,6 +8,11 @@ import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.widget.Toolbar; +import androidx.recyclerview.widget.RecyclerView; + import com.topjohnwu.magisk.Const; import com.topjohnwu.magisk.R; import com.topjohnwu.magisk.model.adapters.StringListAdapter; @@ -29,10 +34,6 @@ import java.util.Collections; import java.util.List; import java.util.Locale; -import androidx.annotation.NonNull; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.widget.Toolbar; -import androidx.recyclerview.widget.RecyclerView; import butterknife.BindColor; import butterknife.BindView; import butterknife.OnClick; diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.java b/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.java index 871563a0b..538a42d8e 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.java +++ b/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.java @@ -6,12 +6,13 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.viewpager.widget.ViewPager; + import com.google.android.material.tabs.TabLayout; import com.topjohnwu.magisk.R; import com.topjohnwu.magisk.model.adapters.TabFragmentAdapter; import com.topjohnwu.magisk.ui.base.BaseFragment; -import androidx.viewpager.widget.ViewPager; import butterknife.BindView; public class LogFragment extends BaseFragment { diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.java b/app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.java index 674f62c44..d7726bf85 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.java +++ b/app/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.java @@ -17,6 +17,9 @@ import android.widget.LinearLayout; import android.widget.Spinner; import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.appcompat.content.res.AppCompatResources; + import com.topjohnwu.magisk.App; import com.topjohnwu.magisk.BuildConfig; import com.topjohnwu.magisk.Config; @@ -31,8 +34,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import androidx.annotation.Nullable; -import androidx.appcompat.content.res.AppCompatResources; import butterknife.BindView; import java9.lang.Iterables; diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/ValueSortedMap.java b/app/src/main/java/com/topjohnwu/magisk/utils/ValueSortedMap.java index babd8ba79..ff19f1aa3 100644 --- a/app/src/main/java/com/topjohnwu/magisk/utils/ValueSortedMap.java +++ b/app/src/main/java/com/topjohnwu/magisk/utils/ValueSortedMap.java @@ -1,5 +1,7 @@ package com.topjohnwu.magisk.utils; +import androidx.annotation.NonNull; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -7,8 +9,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import androidx.annotation.NonNull; - public class ValueSortedMap> extends HashMap { private List sorted = new ArrayList<>(); diff --git a/app/src/main/java/com/topjohnwu/magisk/view/dialogs/ManagerInstallDialog.java b/app/src/main/java/com/topjohnwu/magisk/view/dialogs/ManagerInstallDialog.java index debb76719..4863f0daa 100644 --- a/app/src/main/java/com/topjohnwu/magisk/view/dialogs/ManagerInstallDialog.java +++ b/app/src/main/java/com/topjohnwu/magisk/view/dialogs/ManagerInstallDialog.java @@ -3,14 +3,14 @@ package com.topjohnwu.magisk.view.dialogs; import android.app.Activity; import android.text.TextUtils; +import androidx.annotation.NonNull; + import com.topjohnwu.magisk.Config; import com.topjohnwu.magisk.R; import com.topjohnwu.magisk.utils.DownloadApp; import com.topjohnwu.magisk.utils.Utils; import com.topjohnwu.magisk.view.MarkDownWindow; -import androidx.annotation.NonNull; - public class ManagerInstallDialog extends CustomAlertDialog { public ManagerInstallDialog(@NonNull Activity a) { diff --git a/build.gradle b/build.gradle index e7e0d303f..8840dd836 100644 --- a/build.gradle +++ b/build.gradle @@ -15,8 +15,9 @@ buildscript { } dependencies { classpath 'com.android.tools:r8:1.4.79' - classpath 'com.android.tools.build:gradle:3.3.2' - classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.30' + classpath 'com.android.tools.build:gradle:3.5.0-alpha10' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.30" + // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/native/jni/magiskhide/proc_monitor.cpp b/native/jni/magiskhide/proc_monitor.cpp index 437ed3241..be6b47a63 100644 --- a/native/jni/magiskhide/proc_monitor.cpp +++ b/native/jni/magiskhide/proc_monitor.cpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -44,8 +45,8 @@ static map> uid_proc_map; /* uid -> list of process */ pthread_mutex_t monitor_lock; #define PID_MAX 32768 -static vector attaches(PID_MAX); /* true if pid is monitored */ -static vector detaches(PID_MAX); /* true if tid should be detached */ +static bitset attaches; /* true if pid is monitored */ +static bitset detaches; /* true if tid should be detached */ /******** * Utils @@ -242,8 +243,8 @@ static void term_thread(int) { uid_proc_map.clear(); zygote_map.clear(); hide_set.clear(); - std::fill(attaches.begin(), attaches.end(), false); - std::fill(detaches.begin(), detaches.end(), false); + attaches.reset(); + detaches.reset(); // Misc hide_enabled = false; pthread_mutex_destroy(&monitor_lock);