diff --git a/app/src/main/java/com/trianguloy/urlchecker/modules/list/DebugModule.java b/app/src/main/java/com/trianguloy/urlchecker/modules/list/DebugModule.java index 70017a3..909d7f2 100644 --- a/app/src/main/java/com/trianguloy/urlchecker/modules/list/DebugModule.java +++ b/app/src/main/java/com/trianguloy/urlchecker/modules/list/DebugModule.java @@ -3,6 +3,7 @@ package com.trianguloy.urlchecker.modules.list; import static java.util.Objects.requireNonNullElse; import android.view.View; +import android.widget.Button; import android.widget.TextView; import com.trianguloy.urlchecker.R; @@ -22,7 +23,6 @@ import java.util.List; /** * This modules marks the insertion point of new modules * If enabled, shows a textview with debug info. - * Currently shows the original intent (as uri) * Allows also to enable/disable ctabs toasts */ public class DebugModule extends AModuleData { @@ -57,11 +57,9 @@ public class DebugModule extends AModuleData { class DebugDialog extends AModuleDialog { public static final String SEPARATOR = ""; - private TextView textView; - - // cached - private String intentUri; - private String referrer; + private Button showData; + private TextView data; + private UrlData urlData; public DebugDialog(MainDialog dialog) { super(dialog); @@ -74,29 +72,24 @@ class DebugDialog extends AModuleDialog { @Override public void onInitialize(View views) { - textView = views.findViewById(R.id.data); + showData = views.findViewById(R.id.showData); + data = views.findViewById(R.id.data); - // expand when touched (not only clicked, to avoid a double-click-required bug and because it feels better) - textView.setOnTouchListener((v, event) -> { - if (textView.getMaxHeight() != Integer.MAX_VALUE) textView.setMaxHeight(Integer.MAX_VALUE); - return false; - }); - - // cached values - intentUri = getActivity().getIntent().toUri(0); - referrer = requireNonNullElse(AndroidUtils.getReferrer(getActivity()), "null"); + showData.setOnClickListener(v -> showData()); } - @Override - public void onDisplayUrl(UrlData urlData) { - // collapse module to show exactly 5 lines and a half (to indicate there is more data) - var fontMetrics = textView.getPaint().getFontMetrics(); - textView.setMaxHeight(Math.round((fontMetrics.bottom - fontMetrics.top) * 5.5f)); - + private void showData() { + showData.setVisibility(View.GONE); + data.setVisibility(View.VISIBLE); // data to display - textView.setText(String.join("\n", List.of( + data.setText(String.join("\n", List.of( "Intent:", - intentUri, + getActivity().getIntent().toUri(0), + + SEPARATOR, + + "queryIntentActivityOptions:", + IntentApp.getOtherPackages(UrlUtils.getViewIntent(urlData.url, null), getActivity()).toString(), SEPARATOR, @@ -111,14 +104,20 @@ class DebugDialog extends AModuleDialog { SEPARATOR, "Referrer:", - referrer, - - SEPARATOR, - - "queryIntentActivityOptions:", - IntentApp.getOtherPackages(UrlUtils.getViewIntent(urlData.url, null), getActivity()).toString() + requireNonNullElse(AndroidUtils.getReferrer(getActivity()), "null") ))); } + + @Override + public void onPrepareUrl(UrlData urlData) { + data.setVisibility(View.GONE); + showData.setVisibility(View.VISIBLE); + } + + @Override + public void onDisplayUrl(UrlData urlData) { + this.urlData = urlData; + } } class DebugConfig extends AModuleConfig { diff --git a/app/src/main/res/layout/dialog_debug.xml b/app/src/main/res/layout/dialog_debug.xml index b2d0942..196a1c2 100644 --- a/app/src/main/res/layout/dialog_debug.xml +++ b/app/src/main/res/layout/dialog_debug.xml @@ -1,9 +1,19 @@ - + android:orientation="vertical"> - \ No newline at end of file +