From 408b93f093582745e9a5ee7748ce1aa5ea90c36b Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Sun, 21 Mar 2021 18:33:56 +0800 Subject: [PATCH] [app] Add more checks for play publishing (#390) * [app] Add more checks for play publishing * [app] Fix shortcuts --- .../java/org/lsposed/manager/ConfigManager.java | 7 +++++++ .../manager/ui/activity/MainActivity.java | 7 ++----- .../manager/ui/activity/ModulesActivity.java | 16 ++++++++++------ .../manager/ui/activity/RepoActivity.java | 15 +++++++++++---- app/src/main/res/xml/shortcuts.xml | 12 ++++++------ 5 files changed, 36 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/ConfigManager.java b/app/src/main/java/org/lsposed/manager/ConfigManager.java index 67ee39e0..b7494301 100644 --- a/app/src/main/java/org/lsposed/manager/ConfigManager.java +++ b/app/src/main/java/org/lsposed/manager/ConfigManager.java @@ -25,7 +25,9 @@ import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.util.Log; +import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -236,4 +238,9 @@ public class ConfigManager { return false; } } + + public static boolean isMagiskInstalled() { + return Arrays.stream(System.getenv("PATH").split(File.pathSeparator)) + .anyMatch(str -> new File(str, "magisk").exists()); + } } diff --git a/app/src/main/java/org/lsposed/manager/ui/activity/MainActivity.java b/app/src/main/java/org/lsposed/manager/ui/activity/MainActivity.java index 8ae0dedf..c7dc5ba0 100644 --- a/app/src/main/java/org/lsposed/manager/ui/activity/MainActivity.java +++ b/app/src/main/java/org/lsposed/manager/ui/activity/MainActivity.java @@ -44,8 +44,6 @@ import org.lsposed.manager.util.ModuleUtil; import org.lsposed.manager.util.NavUtil; import org.lsposed.manager.util.chrome.LinkTransformationMethod; -import java.io.File; -import java.util.Arrays; import java.util.Locale; import name.mikanoshi.customiuizer.holidays.HolidayHelper; @@ -117,8 +115,7 @@ public class MainActivity extends BaseActivity { } } else { cardBackgroundColor = ResourcesKt.resolveColor(getTheme(), R.attr.colorInstall); - boolean isMagiskInstalled = Arrays.stream(System.getenv("PATH").split(File.pathSeparator)) - .anyMatch(str -> new File(str, "magisk").exists()); + boolean isMagiskInstalled = ConfigManager.isMagiskInstalled(); binding.statusTitle.setText(isMagiskInstalled ? R.string.Install : R.string.NotInstall); binding.statusSummary.setText(isMagiskInstalled ? R.string.InstallDetail : R.string.NotInstallDetail); if (!isMagiskInstalled) { @@ -126,7 +123,7 @@ public class MainActivity extends BaseActivity { binding.download.setVisibility(View.GONE); } binding.statusIcon.setImageResource(R.drawable.ic_error); - Snackbar.make(binding.snackbar, R.string.lsposed_not_active, Snackbar.LENGTH_LONG).show(); + Snackbar.make(binding.snackbar, R.string.lsposed_not_active, Snackbar.LENGTH_INDEFINITE).show(); } binding.status.setCardBackgroundColor(cardBackgroundColor); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { diff --git a/app/src/main/java/org/lsposed/manager/ui/activity/ModulesActivity.java b/app/src/main/java/org/lsposed/manager/ui/activity/ModulesActivity.java index abd21522..13db2945 100644 --- a/app/src/main/java/org/lsposed/manager/ui/activity/ModulesActivity.java +++ b/app/src/main/java/org/lsposed/manager/ui/activity/ModulesActivity.java @@ -20,6 +20,8 @@ package org.lsposed.manager.ui.activity; +import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS; + import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; @@ -57,11 +59,6 @@ import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition; import com.google.android.material.snackbar.Snackbar; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - import org.lsposed.manager.ConfigManager; import org.lsposed.manager.R; import org.lsposed.manager.adapters.AppHelper; @@ -70,7 +67,10 @@ import org.lsposed.manager.ui.activity.base.ListActivity; import org.lsposed.manager.util.GlideApp; import org.lsposed.manager.util.ModuleUtil; -import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; public class ModulesActivity extends ListActivity implements ModuleUtil.ModuleListener { @@ -92,6 +92,10 @@ public class ModulesActivity extends ListActivity implements ModuleUtil.ModuleLi pm = getPackageManager(); moduleUtil.addListener(this); super.onCreate(savedInstanceState); + if (ConfigManager.getXposedVersionName() == null) { + Toast.makeText(this, R.string.lsposed_not_active, Toast.LENGTH_LONG).show(); + finish(); + } } @Override diff --git a/app/src/main/java/org/lsposed/manager/ui/activity/RepoActivity.java b/app/src/main/java/org/lsposed/manager/ui/activity/RepoActivity.java index fd663513..345588f0 100644 --- a/app/src/main/java/org/lsposed/manager/ui/activity/RepoActivity.java +++ b/app/src/main/java/org/lsposed/manager/ui/activity/RepoActivity.java @@ -31,6 +31,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Filter; import android.widget.TextView; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -39,6 +40,12 @@ import androidx.recyclerview.widget.RecyclerView; import com.google.android.material.snackbar.Snackbar; +import org.lsposed.manager.ConfigManager; +import org.lsposed.manager.R; +import org.lsposed.manager.repo.RepoLoader; +import org.lsposed.manager.repo.model.OnlineModule; +import org.lsposed.manager.ui.activity.base.ListActivity; + import java.time.Instant; import java.util.ArrayList; import java.util.Collection; @@ -47,10 +54,6 @@ import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; -import org.lsposed.manager.R; -import org.lsposed.manager.repo.RepoLoader; -import org.lsposed.manager.repo.model.OnlineModule; -import org.lsposed.manager.ui.activity.base.ListActivity; import rikka.core.util.LabelComparator; public class RepoActivity extends ListActivity implements RepoLoader.Listener { @@ -61,6 +64,10 @@ public class RepoActivity extends ListActivity implements RepoLoader.Listener { public void onCreate(@Nullable Bundle savedInstanceState) { repoLoader.addListener(this); super.onCreate(savedInstanceState); + if (!ConfigManager.isMagiskInstalled()) { + Toast.makeText(this, R.string.lsposed_not_active, Toast.LENGTH_LONG).show(); + finish(); + } } @Override diff --git a/app/src/main/res/xml/shortcuts.xml b/app/src/main/res/xml/shortcuts.xml index 205a8668..e2017971 100644 --- a/app/src/main/res/xml/shortcuts.xml +++ b/app/src/main/res/xml/shortcuts.xml @@ -28,8 +28,8 @@ android:shortcutShortLabel="@string/Modules"> + android:targetClass="org.lsposed.manager.ui.activity.ModulesActivity" + android:targetPackage="org.lsposed.manager" /> + android:targetClass="org.lsposed.manager.ui.activity.LogsActivity" + android:targetPackage="org.lsposed.manager" /> + android:targetClass="org.lsposed.manager.ui.activity.RepoActivity" + android:targetPackage="org.lsposed.manager" />