Add scary warning
This commit is contained in:
parent
467fdb2328
commit
c1a04bee83
4 changed files with 65 additions and 8 deletions
|
|
@ -62,6 +62,7 @@ class TrustedCertificateFragment : DialogFragment() {
|
|||
|
||||
// Page 2 views
|
||||
private lateinit var page2Layout: LinearLayout
|
||||
private lateinit var securityWarningLayout: LinearLayout
|
||||
private lateinit var descriptionText: TextView
|
||||
private lateinit var warningText: TextView
|
||||
private lateinit var baseUrlValueLabel: TextView
|
||||
|
|
@ -174,6 +175,7 @@ class TrustedCertificateFragment : DialogFragment() {
|
|||
|
||||
// Page 2 views
|
||||
page2Layout = view.findViewById(R.id.trusted_certificate_page2)
|
||||
securityWarningLayout = view.findViewById(R.id.trusted_certificate_security_warning)
|
||||
descriptionText = view.findViewById(R.id.trusted_certificate_description)
|
||||
warningText = view.findViewById(R.id.trusted_certificate_warning)
|
||||
baseUrlValueLabel = view.findViewById(R.id.trusted_certificate_base_url_value_label)
|
||||
|
|
@ -196,7 +198,7 @@ class TrustedCertificateFragment : DialogFragment() {
|
|||
}
|
||||
|
||||
private fun setupUnknownMode() {
|
||||
// Go directly to page 2 with details
|
||||
// Go directly to page 2 with details and security warning
|
||||
toolbar.setTitle(R.string.trusted_certificate_dialog_title_unknown)
|
||||
toolbar.setNavigationIcon(R.drawable.ic_close_white_24dp)
|
||||
page1Layout.isVisible = false
|
||||
|
|
@ -205,8 +207,9 @@ class TrustedCertificateFragment : DialogFragment() {
|
|||
trustMenuItem.isVisible = true
|
||||
deleteMenuItem.isVisible = false
|
||||
|
||||
descriptionText.setText(R.string.trusted_certificate_dialog_description_unknown)
|
||||
descriptionText.isVisible = true
|
||||
// Show security warning banner instead of description
|
||||
securityWarningLayout.isVisible = true
|
||||
descriptionText.isVisible = false
|
||||
baseUrlValueLabel.isVisible = true
|
||||
baseUrlValueText.isVisible = true
|
||||
baseUrlValueText.text = baseUrl
|
||||
|
|
|
|||
10
app/src/main/res/drawable/ic_warning_amber_24dp.xml
Normal file
10
app/src/main/res/drawable/ic_warning_amber_24dp.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FF8C00"
|
||||
android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z"/>
|
||||
</vector>
|
||||
|
||||
|
|
@ -96,7 +96,50 @@
|
|||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
|
||||
<!-- Description (shown in ADD and UNKNOWN modes) -->
|
||||
<!-- Security warning banner (UNKNOWN mode only) -->
|
||||
<LinearLayout
|
||||
android:id="@+id/trusted_certificate_security_warning"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_horizontal"
|
||||
android:paddingTop="24dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:src="@drawable/ic_warning_amber_24dp"
|
||||
android:importantForAccessibility="no" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/trusted_certificate_security_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/trusted_certificate_dialog_security_title"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@android:color/holo_orange_dark"
|
||||
android:gravity="center"
|
||||
android:paddingStart="4dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:layout_marginTop="12dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/trusted_certificate_security_description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/trusted_certificate_dialog_security_description"
|
||||
android:textSize="14sp"
|
||||
android:gravity="center"
|
||||
android:paddingStart="4dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:layout_marginTop="8dp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- Description (shown in ADD mode) -->
|
||||
<TextView
|
||||
android:id="@+id/trusted_certificate_description"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
|||
|
|
@ -431,7 +431,7 @@
|
|||
<string name="settings_advanced_certificates_trusted_item_summary">%1$s, expires %2$s</string>
|
||||
<string name="settings_advanced_certificates_trusted_item_summary_expired">%1$s, expired</string>
|
||||
<string name="settings_advanced_certificates_trusted_add_title">Add a trusted certificate</string>
|
||||
<string name="settings_advanced_certificates_trusted_add_summary">Import a certificate into the trust store (PEM). HTTPS and WebSocket connections will trust this certificate.</string>
|
||||
<string name="settings_advanced_certificates_trusted_add_summary">Import a certificate into the trust store (PEM). When connecting to the specified ntfy server, this certificate will be trusted.</string>
|
||||
<string name="settings_advanced_certificates_client_header">Client certificates (mTLS)</string>
|
||||
<string name="settings_advanced_certificates_client_item_summary">Client certificate, issued by %1$s\nExpires %2$s, used by %3$s</string>
|
||||
<string name="settings_advanced_certificates_client_item_summary_expired">Client certificate, issued by %1$s\nExpired, used by %2$s</string>
|
||||
|
|
@ -501,11 +501,12 @@
|
|||
|
||||
<!-- Trusted certificate dialog (TrustedCertificateFragment) -->
|
||||
<string name="trusted_certificate_dialog_title">Certificate details</string>
|
||||
<string name="trusted_certificate_dialog_title_unknown">Unknown certificate</string>
|
||||
<string name="trusted_certificate_dialog_title_unknown">Security warning</string>
|
||||
<string name="trusted_certificate_dialog_title_add">Add trusted certificate</string>
|
||||
<string name="trusted_certificate_dialog_description">The server\'s certificate could not be verified. Review the details below before trusting.</string>
|
||||
<string name="trusted_certificate_dialog_description_unknown">The server\'s certificate could not be verified. Review the details below before trusting.</string>
|
||||
<string name="trusted_certificate_dialog_description_add">You\'ve selected a certificate file. Please review the details below before adding it to your trusted certificates.</string>
|
||||
<string name="trusted_certificate_dialog_security_title">Your connection is not private</string>
|
||||
<string name="trusted_certificate_dialog_security_description">Attackers might be trying to steal your information. You should not proceed unless you know why this certificate is not trusted.</string>
|
||||
<string name="trusted_certificate_dialog_description_add">You\'ve selected a certificate file. Review the details below before adding it to your trusted certificates.</string>
|
||||
<string name="trusted_certificate_dialog_description_page1">Enter the service URL that this certificate should be pinned to. The certificate will only be trusted for this URL.</string>
|
||||
<string name="trusted_certificate_dialog_base_url_hint">Service URL</string>
|
||||
<string name="trusted_certificate_dialog_base_url_placeholder">https://ntfy.example.com</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue