diff --git a/app/src/main/java/com/fox2code/mmm/Constants.java b/app/src/main/java/com/fox2code/mmm/Constants.java index 18c21a0..5b48506 100644 --- a/app/src/main/java/com/fox2code/mmm/Constants.java +++ b/app/src/main/java/com/fox2code/mmm/Constants.java @@ -23,6 +23,8 @@ public class Constants { public static final String EXTRA_MARKDOWN_URL = "extra_markdown_url"; public static final String EXTRA_MARKDOWN_TITLE = "extra_markdown_title"; public static final String EXTRA_MARKDOWN_CONFIG = "extra_markdown_config"; + public static final String EXTRA_MARKDOWN_CHANGE_BOOT = "extra_markdown_change_boot"; + public static final String EXTRA_MARKDOWN_NEEDS_RAMDISK = "extra_markdown_needs_ramdisk"; public static final String EXTRA_FADE_OUT = "extra_fade_out"; public static final String EXTRA_FROM_MANAGER = "extra_from_manager"; } diff --git a/app/src/main/java/com/fox2code/mmm/MainApplication.java b/app/src/main/java/com/fox2code/mmm/MainApplication.java index 059fefe..ef926b6 100644 --- a/app/src/main/java/com/fox2code/mmm/MainApplication.java +++ b/app/src/main/java/com/fox2code/mmm/MainApplication.java @@ -120,6 +120,11 @@ public class MainApplication extends CompatApplication { getSharedPreferences().getBoolean("pref_enable_blur", false); } + public static boolean isChipsDisabled() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && + getSharedPreferences().getBoolean("pref_disable_chips", false); + } + public static boolean isDeveloper() { return BuildConfig.DEBUG || getSharedPreferences().getBoolean("developer", false); diff --git a/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java b/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java index 2adc362..43548bf 100644 --- a/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java +++ b/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java @@ -7,6 +7,7 @@ import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; +import android.widget.HorizontalScrollView; import android.widget.TextView; import android.widget.Toast; @@ -19,6 +20,7 @@ import com.fox2code.mmm.XHooks; import com.fox2code.mmm.compat.CompatActivity; import com.fox2code.mmm.utils.Http; import com.fox2code.mmm.utils.IntentHelper; +import com.google.android.material.chip.Chip; import com.topjohnwu.superuser.internal.UiThreadHandler; import java.io.IOException; @@ -51,7 +53,8 @@ public class MarkdownActivity extends CompatActivity { byte[] rawMarkdown = Http.doHttpGet(prefix + suffix, true); redirects.put(url, newUrl); // Avoid retries return rawMarkdown; - } catch (IOException ignored) {} + } catch (IOException ignored) { + } } } throw e; @@ -74,6 +77,10 @@ public class MarkdownActivity extends CompatActivity { .getString(Constants.EXTRA_MARKDOWN_TITLE); String config = intent.getExtras() .getString(Constants.EXTRA_MARKDOWN_CONFIG); + boolean change_boot = intent.getExtras() + .getBoolean(Constants.EXTRA_MARKDOWN_CHANGE_BOOT); + boolean needs_ramdisk = intent.getExtras() + .getBoolean(Constants.EXTRA_MARKDOWN_NEEDS_RAMDISK); if (title != null && !title.isEmpty()) { this.setTitle(title); } @@ -98,9 +105,26 @@ public class MarkdownActivity extends CompatActivity { setContentView(R.layout.markdown_view); final ViewGroup markdownBackground = findViewById(R.id.markdownBackground); final TextView textView = findViewById(R.id.markdownView); + final Chip chip_can_change_boot = findViewById(R.id.chip_change_boot); + final Chip chip_needs_ramdisk = findViewById(R.id.chip_needs_ramdisk); + final HorizontalScrollView chip_holder = findViewById(R.id.chip_holder); + final Chip min_magisk = findViewById(R.id.chip_min_magisk); final TextView footer = findViewById(R.id.markdownFooter); UiThreadHandler.handler.postDelayed(() -> // Fix footer height footer.setMinHeight(this.getNavigationBarHeight()), 1L); + + // Really bad created + if (MainApplication.isChipsDisabled()) { + chip_holder.setVisibility(View.GONE); + } else { + if (change_boot) { + chip_can_change_boot.setVisibility(View.VISIBLE); + } + if (needs_ramdisk) { + chip_needs_ramdisk.setVisibility(View.VISIBLE); + } + } + new Thread(() -> { try { Log.d(TAG, "Downloading"); diff --git a/app/src/main/java/com/fox2code/mmm/module/ActionButtonType.java b/app/src/main/java/com/fox2code/mmm/module/ActionButtonType.java index 7f7b215..1c08978 100644 --- a/app/src/main/java/com/fox2code/mmm/module/ActionButtonType.java +++ b/app/src/main/java/com/fox2code/mmm/module/ActionButtonType.java @@ -39,7 +39,9 @@ public enum ActionButtonType { } else { IntentHelper.openMarkdown(button.getContext(), notesUrl, moduleHolder.repoModule.moduleInfo.name, - moduleHolder.getMainModuleConfig()); + moduleHolder.getMainModuleConfig(), + moduleHolder.repoModule.moduleInfo.changeBoot, + moduleHolder.repoModule.moduleInfo.needRamdisk); } } diff --git a/app/src/main/java/com/fox2code/mmm/utils/IntentHelper.java b/app/src/main/java/com/fox2code/mmm/utils/IntentHelper.java index 0026fd1..65989e3 100644 --- a/app/src/main/java/com/fox2code/mmm/utils/IntentHelper.java +++ b/app/src/main/java/com/fox2code/mmm/utils/IntentHelper.java @@ -165,12 +165,14 @@ public class IntentHelper { } } - public static void openMarkdown(Context context, String url, String title, String config) { + public static void openMarkdown(Context context, String url, String title, String config, Boolean changeBoot, Boolean needsRamdisk) { try { Intent intent = new Intent(context, MarkdownActivity.class); MainApplication.addSecret(intent); intent.putExtra(Constants.EXTRA_MARKDOWN_URL, url); intent.putExtra(Constants.EXTRA_MARKDOWN_TITLE, title); + intent.putExtra(Constants.EXTRA_MARKDOWN_CHANGE_BOOT, changeBoot); + intent.putExtra(Constants.EXTRA_MARKDOWN_NEEDS_RAMDISK, needsRamdisk); if (config != null && !config.isEmpty()) intent.putExtra(Constants.EXTRA_MARKDOWN_CONFIG, config); startActivity(context, intent, true); diff --git a/app/src/main/res/drawable/ic_baseline_chip_24.xml b/app/src/main/res/drawable/ic_baseline_chip_24.xml new file mode 100644 index 0000000..f6f82d3 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_chip_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/markdown_view.xml b/app/src/main/res/layout/markdown_view.xml index 81e1391..b3fc949 100644 --- a/app/src/main/res/layout/markdown_view.xml +++ b/app/src/main/res/layout/markdown_view.xml @@ -1,23 +1,32 @@ + + android:layout_height="0dp" + android:layout_weight="1" + tools:ignore="UselessParent"> + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 045038e..c31e9a7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -34,6 +34,8 @@ by Downloads: Stars: + Needs ramdisk + Can change boot @@ -100,6 +102,7 @@ all text on the same line when installing a module. Blur + Disable chips in description Repo on Repo off Add Repo diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml index f658a6f..1f09259 100644 --- a/app/src/main/res/xml/root_preferences.xml +++ b/app/src/main/res/xml/root_preferences.xml @@ -64,6 +64,13 @@ app:title="@string/force_dark_terminal_title" app:singleLineTitle="false" /> + +