Prevent direct execution of intentURLs with confirmation dialog

This commit is contained in:
Niko Diamadis
2023-10-03 11:12:33 +02:00
parent 6dd5fe4725
commit 8596e6ffdf
6 changed files with 104 additions and 3 deletions

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:maxWidth="560dp"
android:minWidth="280dp"
android:orientation="vertical"
android:padding="24dp">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/message_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/action_dialog_message"
android:textSize="18sp" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/url_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:textSize="18sp"
android:textStyle="italic"
tools:text="https://gotify.net" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="24dp">
<com.google.android.material.button.MaterialButton
style="@style/Widget.Material3.Button.TextButton.Dialog"
android:id="@+id/cancel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/action_dialog_button_cancel" />
<com.google.android.material.button.MaterialButton
style="@style/Widget.Material3.Button.TextButton.Dialog"
android:id="@+id/open_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/action_dialog_button_open" />
</LinearLayout>
</LinearLayout>

View File

@@ -96,6 +96,10 @@
<string name="push_missing_app_info">There are no applications available on the server to push a message to.</string>
<string name="message_copied_to_clipboard">Content copied to clipboard</string>
<string name="not_loggedin_share">Cannot share to Gotify, because you aren\'t logged in.</string>
<string name="action_dialog_missing">Missing URL</string>
<string name="action_dialog_message">You have received a message with an intent url:</string>
<string name="action_dialog_button_open">Open</string>
<string name="action_dialog_button_cancel">Cancel</string>
<string name="websocket_not_connected">Not connected</string>
<string name="websocket_reconnect">Trying to reconnect</string>

View File

@@ -39,6 +39,12 @@
<style name="AppTheme.PopupOverlay" parent="AppTheme" />
<style name="AppTheme.Dialog" parent="Theme.Material3.DayNight.Dialog">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="Preference.SwitchPreferenceCompat" parent="@style/Preference.SwitchPreferenceCompat.Material" tools:ignore="ResourceCycle">
<item name="widgetLayout">@layout/preference_switch</item>
</style>