Add deploy optimizations tip for module developers (#2674)
This commit is contained in:
parent
bb8b8bfab5
commit
8d80428d94
|
|
@ -23,6 +23,9 @@ import android.app.Activity;
|
|||
import android.app.Dialog;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.system.ErrnoException;
|
||||
import android.system.Os;
|
||||
import android.system.OsConstants;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
|
|
@ -51,8 +54,12 @@ import org.lsposed.manager.util.Telemetry;
|
|||
import org.lsposed.manager.util.UpdateUtil;
|
||||
import org.lsposed.manager.util.chrome.LinkTransformationMethod;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import rikka.core.util.ClipboardUtils;
|
||||
import rikka.material.app.LocaleDelegate;
|
||||
|
|
@ -146,6 +153,7 @@ public class HomeFragment extends BaseFragment implements MenuProvider {
|
|||
}
|
||||
binding.statusSummary.setText(String.format(LocaleDelegate.getDefaultLocale(), "%s (%d) - %s",
|
||||
ConfigManager.getXposedVersionName(), ConfigManager.getXposedVersionCode(), ConfigManager.getApi()));
|
||||
binding.developerWarningCard.setVisibility(isDeveloper() ? View.VISIBLE : View.GONE);
|
||||
} else {
|
||||
boolean isMagiskInstalled = ConfigManager.isMagiskInstalled();
|
||||
if (isMagiskInstalled) {
|
||||
|
|
@ -254,6 +262,27 @@ public class HomeFragment extends BaseFragment implements MenuProvider {
|
|||
return manufacturer;
|
||||
}
|
||||
|
||||
private boolean isDeveloper() {
|
||||
var developer = new AtomicBoolean(false);
|
||||
var pids = Paths.get("/data/local/tmp/.studio/ipids");
|
||||
try (var dir = Files.list(pids)) {
|
||||
dir.findFirst().ifPresent(name -> {
|
||||
var pid = Integer.parseInt(name.getFileName().toString());
|
||||
try {
|
||||
Os.kill(pid, 0);
|
||||
developer.set(true);
|
||||
} catch (ErrnoException e) {
|
||||
if (e.errno != OsConstants.ESRCH) {
|
||||
developer.set(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (IOException e) {
|
||||
return false;
|
||||
}
|
||||
return developer.get();
|
||||
}
|
||||
|
||||
public static class AboutDialog extends DialogFragment {
|
||||
@NonNull
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -215,6 +215,38 @@
|
|||
</LinearLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/developer_warning_card"
|
||||
style="@style/Widget.Material3.CardView.Outlined"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:visibility="gone"
|
||||
app:cardBackgroundColor="?colorSecondaryContainer">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="?dialogPreferredPadding">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/developer_warning_title"
|
||||
android:textAppearance="?textAppearanceTitleMedium"
|
||||
android:textColor="?colorOnSecondaryContainer" />
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/developer_warning_summary"
|
||||
android:textAppearance="?textAppearanceBodyMedium"
|
||||
android:textColor="?colorOnSecondaryContainer" />
|
||||
|
||||
</LinearLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/info_card"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
|||
|
|
@ -55,6 +55,8 @@
|
|||
<string name="system_prop_incorrect"><![CDATA[Some necessary system properties deleted or modified.<br/>Modules may invalidate occasionally.]]></string>
|
||||
<string name="need_update">Need to update</string>
|
||||
<string name="please_update_summary">Please install the latest version of LSPosed</string>
|
||||
<string name="developer_warning_title">Tips for module developer</string>
|
||||
<string name="developer_warning_summary">Please disable deploy optimizations on Android Studio, or use `gradlew installDebug` command to install. Otherwise the module apk will not be updated.</string>
|
||||
<string name="info_api_version">API version</string>
|
||||
<string name="info_framework_version">Framework version</string>
|
||||
<string name="info_manager_package_name">Manager package name</string>
|
||||
|
|
|
|||
Loading…
Reference in New Issue