summaryrefslogtreecommitdiff
path: root/app/src/main/res
diff options
context:
space:
mode:
authorcyberta <cyberta@riseup.net>2021-11-12 00:46:35 +0000
committercyberta <cyberta@riseup.net>2021-11-12 00:46:35 +0000
commitc5d722f555b952407dade3abb1ffd537e6747317 (patch)
treea9ebb8b33438589a33ed9ce54ade50371c9fe147 /app/src/main/res
parent571c0479f7400e56cfdb27408160d8a816cc8610 (diff)
parent8aeb4791b6e024de9aa9c61b574d8c798a3c0a2c (diff)
Merge branch 'tor-snowflake' into 'master'
tor-over-snowflake Closes #9045 See merge request leap/bitmask_android!138
Diffstat (limited to 'app/src/main/res')
-rw-r--r--app/src/main/res/drawable/ic_snowflake.pngbin0 -> 2653 bytes
-rw-r--r--app/src/main/res/drawable/ic_tor.pngbin0 -> 10221 bytes
-rw-r--r--app/src/main/res/drawable/v_vertical_gradient.xml8
-rw-r--r--app/src/main/res/layout-xlarge/v_loading_screen.xml176
-rw-r--r--app/src/main/res/layout/v_add_provider.xml41
-rw-r--r--app/src/main/res/layout/v_loading_screen.xml175
-rw-r--r--app/src/main/res/layout/v_log_item.xml29
-rw-r--r--app/src/main/res/values/strings.xml27
8 files changed, 411 insertions, 45 deletions
diff --git a/app/src/main/res/drawable/ic_snowflake.png b/app/src/main/res/drawable/ic_snowflake.png
new file mode 100644
index 00000000..992662ee
--- /dev/null
+++ b/app/src/main/res/drawable/ic_snowflake.png
Binary files differ
diff --git a/app/src/main/res/drawable/ic_tor.png b/app/src/main/res/drawable/ic_tor.png
new file mode 100644
index 00000000..a5f9ae89
--- /dev/null
+++ b/app/src/main/res/drawable/ic_tor.png
Binary files differ
diff --git a/app/src/main/res/drawable/v_vertical_gradient.xml b/app/src/main/res/drawable/v_vertical_gradient.xml
new file mode 100644
index 00000000..877634b5
--- /dev/null
+++ b/app/src/main/res/drawable/v_vertical_gradient.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <gradient
+ android:angle="270"
+ android:startColor="#00FFFFFF"
+ android:endColor="#FFFFFFFF"
+ android:type="linear" />
+</shape>
diff --git a/app/src/main/res/layout-xlarge/v_loading_screen.xml b/app/src/main/res/layout-xlarge/v_loading_screen.xml
index a002665f..24b44f9a 100644
--- a/app/src/main/res/layout-xlarge/v_loading_screen.xml
+++ b/app/src/main/res/layout-xlarge/v_loading_screen.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/loading_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- android:visibility="gone">
+ android:visibility="gone"
+ tools:visibility="visible"
+ >
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="32dp"
@@ -18,7 +21,7 @@
/>
<androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/progressbar_description"
+ android:id="@+id/progressbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fadingEdge="horizontal"
@@ -29,6 +32,21 @@
android:layout_marginBottom="@dimen/standard_margin"
/>
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/progressbar_description"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fadingEdge="horizontal"
+ android:maxLines="2"
+ android:text="@string/configuring_provider"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
+ android:layout_marginTop="@dimen/standard_margin"
+ android:layout_marginBottom="@dimen/standard_margin"
+ tools:text="test"
+ tools:visibility="visible"
+
+ />
+
<ProgressBar
android:id="@+id/progressbar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
@@ -38,4 +56,158 @@
android:layout_marginTop="@dimen/standard_margin"
/>
+ <RelativeLayout
+ android:id="@+id/connection_detail_header_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/stdpadding"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/btn_connection_detail"
+ android:layout_marginTop="@dimen/stdpadding"
+ android:paddingLeft="@dimen/stdpadding"
+ android:paddingStart="@dimen/stdpadding"
+ android:paddingEnd="@dimen/stdpadding"
+ android:paddingRight="@dimen/stdpadding"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:text="@string/show_connection_details"
+ android:textColor="@color/colorPrimaryDark"
+ android:maxLines="1"
+ android:ellipsize="end"
+ android:visibility="visible"
+ tools:text="@string/hide_connection_details"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/connection_details_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignBaseline="@id/btn_connection_detail"
+ android:text="@string/connection_details"
+ android:gravity="start"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
+ android:paddingBottom="@dimen/stdpadding"
+ android:paddingStart="4dp"
+ android:paddingLeft="4dp"
+ android:paddingEnd="4dp"
+ android:paddingRight="4dp"
+ tools:visibility="visible"
+ android:visibility="gone"
+ />
+ </RelativeLayout>
+ <RelativeLayout
+ android:id="@+id/connection_detail_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ tools:visibility="visible"
+ >
+
+
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/tor_icon"
+ android:layout_width="35dp"
+ android:layout_height="35dp"
+ android:src="@drawable/ic_tor"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_marginBottom="@dimen/stdpadding"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tor_state"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fadingEdge="horizontal"
+ android:maxLines="2"
+ android:text="@string/configuring_provider"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
+ android:layout_alignBottom="@id/tor_icon"
+ android:layout_toEndOf="@id/tor_icon"
+ android:layout_toRightOf="@+id/tor_icon"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:gravity="bottom"
+ tools:text="test 12321 123 \n sdf,sdf,m\nn 123 "
+ android:ellipsize="end"
+ tools:visibility="visible"
+ />
+
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/snowflake_icon"
+ android:layout_width="35dp"
+ android:layout_height="35dp"
+ android:src="@drawable/ic_snowflake"
+ android:layout_below="@id/tor_icon"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_marginBottom="@dimen/stdpadding"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/snowflake_state"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/tor_state"
+ android:fadingEdge="horizontal"
+ android:maxLines="2"
+ android:text="@string/configuring_provider"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
+ android:layout_alignTop="@id/snowflake_icon"
+ android:layout_alignBottom="@+id/snowflake_icon"
+ android:layout_toEndOf="@+id/snowflake_icon"
+ android:layout_toRightOf="@+id/snowflake_icon"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:paddingBottom="1dp"
+ android:gravity="bottom"
+ tools:text="test \n another \n and a third \n blkud"
+ android:ellipsize="end"
+ tools:visibility="visible"
+ />
+ </RelativeLayout>
+ <RelativeLayout
+ android:id="@+id/log_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ tools:visibility="visible"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/connection_detail_logs_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/log_fragment_title"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
+ android:layout_alignParentTop="true"
+ android:paddingStart="4dp"
+ android:paddingLeft="4dp"
+ android:paddingEnd="4dp"
+ android:paddingRight="4dp"
+ android:paddingTop="@dimen/stdpadding"
+ android:paddingBottom="@dimen/stdpadding"
+ />
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/connection_detail_logs"
+ android:layout_below="@+id/connection_detail_logs_title"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:listitem="@layout/v_log_item"
+ android:isScrollContainer="false"
+ />
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignBottom="@+id/connection_detail_logs"
+ android:layout_alignTop="@id/connection_detail_logs"
+ android:src="@drawable/v_vertical_gradient"
+ android:layout_marginTop="200dp"
+ android:importantForAccessibility="no"
+ />
+ </RelativeLayout>
+
</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/v_add_provider.xml b/app/src/main/res/layout/v_add_provider.xml
deleted file mode 100644
index afcae4af..00000000
--- a/app/src/main/res/layout/v_add_provider.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:id="@+id/loading_screen"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:visibility="gone">
-
- <androidx.appcompat.widget.AppCompatImageView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:adjustViewBounds="true"
- app:tint="@color/colorPrimary"
- app:srcCompat="@drawable/action_history"
- android:layout_marginTop="@dimen/loading_screen_icon_vertical_margin"
- android:layout_marginBottom="@dimen/loading_screen_icon_vertical_margin"
- />
-
- <androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/progressbar_description"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:fadingEdge="horizontal"
- android:singleLine="true"
- android:text="@string/introduce_new_provider"
- android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
- android:layout_marginTop="@dimen/standard_margin"
- android:layout_marginBottom="@dimen/standard_margin"
- />
-
- <ProgressBar
- android:id="@+id/progressbar"
- style="@style/Widget.AppCompat.ProgressBar.Horizontal"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:indeterminate="true"
- android:layout_marginTop="@dimen/standard_margin"
- />
-
-</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/v_loading_screen.xml b/app/src/main/res/layout/v_loading_screen.xml
index a3498e97..26ab25cc 100644
--- a/app/src/main/res/layout/v_loading_screen.xml
+++ b/app/src/main/res/layout/v_loading_screen.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/loading_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
- android:visibility="gone">
+ android:visibility="gone"
+ tools:visibility="visible"
+ >
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
@@ -18,7 +21,7 @@
/>
<androidx.appcompat.widget.AppCompatTextView
- android:id="@+id/progressbar_description"
+ android:id="@+id/progressbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fadingEdge="horizontal"
@@ -29,6 +32,20 @@
android:layout_marginBottom="@dimen/standard_margin"
/>
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/progressbar_description"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fadingEdge="horizontal"
+ android:maxLines="2"
+ android:text="@string/configuring_provider"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
+ android:layout_marginTop="@dimen/standard_margin"
+ android:layout_marginBottom="@dimen/standard_margin"
+ tools:text="test"
+ tools:visibility="visible"
+ />
+
<ProgressBar
android:id="@+id/progressbar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
@@ -38,4 +55,158 @@
android:layout_marginTop="@dimen/standard_margin"
/>
+
+ <RelativeLayout
+ android:id="@+id/connection_detail_header_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/stdpadding"
+ >
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/btn_connection_detail"
+ android:layout_marginTop="@dimen/stdpadding"
+ android:paddingLeft="@dimen/stdpadding"
+ android:paddingStart="@dimen/stdpadding"
+ android:paddingEnd="@dimen/stdpadding"
+ android:paddingRight="@dimen/stdpadding"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:text="@string/show_connection_details"
+ android:textColor="@color/colorPrimaryDark"
+ android:maxLines="1"
+ android:ellipsize="end"
+ android:visibility="visible"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/connection_details_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignBaseline="@id/btn_connection_detail"
+ android:text="@string/connection_details"
+ android:gravity="start"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
+ android:paddingBottom="@dimen/stdpadding"
+ android:paddingStart="4dp"
+ android:paddingLeft="4dp"
+ android:paddingEnd="4dp"
+ android:paddingRight="4dp"
+ android:visibility="gone"
+ />
+ </RelativeLayout>
+
+ <RelativeLayout
+ android:id="@+id/connection_detail_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ tools:visibility="visible"
+ >
+
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/tor_icon"
+ android:layout_width="35dp"
+ android:layout_height="35dp"
+ android:src="@drawable/ic_tor"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_marginBottom="@dimen/stdpadding"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/tor_state"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fadingEdge="horizontal"
+ android:maxLines="2"
+ android:text="@string/configuring_provider"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
+ android:layout_alignBottom="@id/tor_icon"
+ android:layout_toEndOf="@id/tor_icon"
+ android:layout_toRightOf="@+id/tor_icon"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:gravity="bottom"
+ tools:text="test 12321 123 \n sdf,sdf,m\nn 123 "
+ android:ellipsize="end"
+
+ tools:visibility="visible"
+ />
+
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/snowflake_icon"
+ android:layout_width="35dp"
+ android:layout_height="35dp"
+ android:src="@drawable/ic_snowflake"
+ android:layout_below="@id/tor_icon"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_marginBottom="@dimen/stdpadding"
+ />
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/snowflake_state"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/tor_state"
+ android:fadingEdge="horizontal"
+ android:maxLines="2"
+ android:text="@string/configuring_provider"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
+ android:layout_alignTop="@id/snowflake_icon"
+ android:layout_alignBottom="@+id/snowflake_icon"
+ android:layout_toEndOf="@+id/snowflake_icon"
+ android:layout_toRightOf="@+id/snowflake_icon"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:paddingBottom="1dp"
+ android:gravity="bottom"
+ tools:text="test \n another \n and a third \n blkud"
+ android:ellipsize="end"
+ tools:visibility="visible"
+ />
+ </RelativeLayout>
+ <RelativeLayout
+ android:id="@+id/log_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ tools:visibility="visible"
+ >
+ <androidx.appcompat.widget.AppCompatTextView
+ android:id="@+id/connection_detail_logs_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/log_fragment_title"
+ android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
+ android:layout_alignParentTop="true"
+ android:paddingStart="4dp"
+ android:paddingLeft="4dp"
+ android:paddingEnd="4dp"
+ android:paddingRight="4dp"
+ android:paddingTop="@dimen/stdpadding"
+ android:paddingBottom="@dimen/stdpadding"
+ />
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/connection_detail_logs"
+ android:layout_below="@+id/connection_detail_logs_title"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:listitem="@layout/v_log_item"
+ android:isScrollContainer="false"
+ />
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignBottom="@+id/connection_detail_logs"
+ android:layout_alignTop="@id/connection_detail_logs"
+ android:src="@drawable/v_vertical_gradient"
+ android:layout_marginTop="200dp"
+ android:importantForAccessibility="no"
+ />
+ </RelativeLayout>
+
</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/v_log_item.xml b/app/src/main/res/layout/v_log_item.xml
new file mode 100644
index 00000000..713c3b1f
--- /dev/null
+++ b/app/src/main/res/layout/v_log_item.xml
@@ -0,0 +1,29 @@
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:orientation="vertical"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ >
+ <TextView
+ android:id="@android:id/text1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:layout_gravity="center_vertical"
+ tools:text="test"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:paddingRight="?android:attr/listPreferredItemPaddingRight"
+ android:background="?android:attr/activatedBackgroundIndicator"
+ android:paddingTop="3dp"
+ android:paddingBottom="3dp"
+ android:minHeight="10dp"
+ />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@color/black800_high_transparent"
+ />
+
+</LinearLayout>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e883b974..22696c12 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -7,6 +7,7 @@
<string name="switch_provider_menu_option">Switch provider</string>
<string name="info">info</string>
<string name="show_connection_details">Show connection details</string>
+ <string name="connection_details">Connection details</string>
<string name="routes_info">Routes: %s</string>
<string name="routes_info6">IPv6 routes: %s</string>
<string name="error_empty_username">The username must not be empty.</string>
@@ -155,4 +156,30 @@
<string name="gateway_selection_automatic">Automatic</string>
<string name="gateway_selection_current_location">Your traffic is currently routed through: </string>
+ <string name="tor_starting">Starting bridges for censorship circumvention…</string>
+ <string name="tor_stopping">Stopping bridges.</string>
+ <string name="tor_started">Using bridges for censorship circumvention.</string>
+ <string name="log_conn_done_pt">Connected to pluggable transport</string>
+ <string name="log_conn_pt">Connecting to pluggable transport</string>
+ <string name="log_conn_done">Connected to a relay</string>
+ <string name="log_handshake">Handshaking with a relay</string>
+ <string name="log_handshake_done">Handshake with a relay done</string>
+ <string name="log_onehop_create">Establishing an encrypted directory connection</string>
+ <string name="log_requesting_status">Asking for networkstatus consensus</string>
+ <string name="log_loading_status">Loading networkstatus consensus</string>
+ <string name="log_loading_keys">Loading authority key certs</string>
+ <string name="log_requesting_desccriptors">Asking for relay descriptors</string>
+ <string name="log_loading_descriptors">Loading relay descriptors</string>
+ <string name="log_enough_dirinfo">Loaded enough directory info to build circuits</string>
+ <string name="log_ap_handshake_done">Handshake finished with a relay to build circuits</string>
+ <string name="log_circuit_create">Establishing a Tor circuit</string>
+ <string name="log_done">Running</string>
+ <string name="channel_name_tor_service">%s Bridges Service</string>
+ <string name="channel_description_tor_service">Informs about usage of bridges while configuring %s.</string>
+ <string name="error_tor_timeout">Starting bridges failed. Do you want to retry or continue with an unobfuscated secure connection to configure %s?</string>
+ <string name="retry_unobfuscated">Retry unobfuscated</string>
+ <string name="hide_connection_details">Hide connection details</string>
+ <string name="error_network_connection">%s has no internet connection. Please check your WiFi and cellular data settings.</string>
+
+
</resources>