summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-07-21 16:39:39 +0200
committerAlbin <albin@mullvad.net>2023-07-21 16:39:39 +0200
commit7087c16fa8ff4b6256498d4dc71fc34156fd6d15 (patch)
tree36d26413f7efd8b7f3f5ce3700a1b864b9ed4e36 /android
parentaa808580fc11b04c8f8a647aad31d87a239fd02f (diff)
parenta40408f5a0b7d625b6f42f8342ce365ec1c371f5 (diff)
downloadmullvadvpn-7087c16fa8ff4b6256498d4dc71fc34156fd6d15.tar.xz
mullvadvpn-7087c16fa8ff4b6256498d4dc71fc34156fd6d15.zip
Merge branch 'fix-baselined-lint-issues-droid-66'
Diffstat (limited to 'android')
-rw-r--r--android/app/lint-baseline.xml935
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/BackButton.kt2
-rw-r--r--android/app/src/main/res/anim/fade_in.xml6
-rw-r--r--android/app/src/main/res/drawable/transparent_red_button_background.xml23
-rw-r--r--android/app/src/main/res/layout/account.xml2
-rw-r--r--android/app/src/main/res/layout/account_history_entry.xml2
-rw-r--r--android/app/src/main/res/layout/account_login_border.xml20
-rw-r--r--android/app/src/main/res/layout/button.xml4
-rw-r--r--android/app/src/main/res/layout/confirm_no_email.xml2
-rw-r--r--android/app/src/main/res/layout/missing_service.xml3
-rw-r--r--android/app/src/main/res/layout/notification_banner.xml18
-rw-r--r--android/app/src/main/res/layout/problem_report.xml2
-rw-r--r--android/app/src/main/res/layout/redeem_voucher.xml2
-rw-r--r--android/app/src/main/res/layout/settings_back_button.xml2
-rw-r--r--android/app/src/main/res/layout/split_tunneling.xml34
-rw-r--r--android/app/src/main/res/layout/split_tunneling_header.xml58
-rw-r--r--android/app/src/main/res/layout/view_logs.xml2
-rw-r--r--android/app/src/main/res/values/colors.xml3
-rw-r--r--android/app/src/main/res/values/strings_non_translatable.xml1
19 files changed, 29 insertions, 1092 deletions
diff --git a/android/app/lint-baseline.xml b/android/app/lint-baseline.xml
index f458d4087e..4f0c6b33e5 100644
--- a/android/app/lint-baseline.xml
+++ b/android/app/lint-baseline.xml
@@ -48,17 +48,6 @@
<issue
id="ScrollViewSize"
message="This LinearLayout should use `android:layout_height=&quot;wrap_content&quot;`"
- errorLine1=" android:layout_height=&quot;match_parent&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/connect.xml"
- line="23"
- column="27"/>
- </issue>
-
- <issue
- id="ScrollViewSize"
- message="This LinearLayout should use `android:layout_height=&quot;wrap_content&quot;`"
errorLine1=" android:layout_height=&quot;match_parent&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -312,28 +301,6 @@
<issue
id="UseCompatLoadingForDrawables"
message="Use `ResourcesCompat.getDrawable()`"
- errorLine1=" private val greenBackground = resources.getDrawable(R.drawable.green_button_background, null)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectActionButton.kt"
- line="16"
- column="35"/>
- </issue>
-
- <issue
- id="UseCompatLoadingForDrawables"
- message="Use `ResourcesCompat.getDrawable()`"
- errorLine1=" resources.getDrawable(R.drawable.transparent_red_left_half_button_background, null)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectActionButton.kt"
- line="18"
- column="9"/>
- </issue>
-
- <issue
- id="UseCompatLoadingForDrawables"
- message="Use `ResourcesCompat.getDrawable()`"
errorLine1=" private val errorImage = resources.getDrawable(R.drawable.icon_notification_error, null)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -355,28 +322,6 @@
<issue
id="UseCompatLoadingForDrawables"
- message="Use `ResourcesCompat.getDrawable()`"
- errorLine1=" val activeRelayIcon = resources.getDrawable(R.drawable.icon_relay_active, null)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt"
- line="17"
- column="27"/>
- </issue>
-
- <issue
- id="UseCompatLoadingForDrawables"
- message="Use `ResourcesCompat.getDrawable()`"
- errorLine1=" val inactiveRelayIcon = resources.getDrawable(R.drawable.icon_relay_inactive, null)"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt"
- line="18"
- column="29"/>
- </issue>
-
- <issue
- id="UseCompatLoadingForDrawables"
message="Use `AppCompatResources.getDrawable()`"
errorLine1=" super.detailImage = context.getDrawable(R.drawable.icon_extlink)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
@@ -772,17 +717,6 @@
</issue>
<issue
- id="NotifyDataSetChanged"
- message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
- errorLine1=" notifyDataSetChanged()"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/relaylist/RelayListAdapter.kt"
- line="64"
- column="13"/>
- </issue>
-
- <issue
id="ObsoleteSdkInt"
message="This folder configuration (`v26`) is unnecessary; `minSdkVersion` is 26. Merge all the resources in this folder into `mipmap-anydpi`.">
<location
@@ -790,17 +724,6 @@
</issue>
<issue
- id="UseCompoundDrawables"
- message="This tag and its children can be replaced by one `&lt;TextView/>` and a compound drawable"
- errorLine1=" &lt;LinearLayout android:layout_width=&quot;wrap_content&quot;"
- errorLine2=" ~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/connect.xml"
- line="79"
- column="26"/>
- </issue>
-
- <issue
id="VectorPath"
message="Very long vector path (917 characters), which is bad for performance. Considering reducing precision, removing minor details or rasterizing vector."
errorLine1=" &lt;path android:fillColor=&quot;#66294D73&quot;"
@@ -880,17 +803,6 @@
<issue
id="InefficientWeight"
message="Use a `layout_height` of `0dp` instead of `wrap_content` for better performance"
- errorLine1=" android:layout_height=&quot;wrap_content&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/connect.xml"
- line="71"
- column="35"/>
- </issue>
-
- <issue
- id="InefficientWeight"
- message="Use a `layout_height` of `0dp` instead of `wrap_content` for better performance"
errorLine1=" android:layout_height=&quot;wrap_content&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -911,39 +823,6 @@
</issue>
<issue
- id="InefficientWeight"
- message="Use a `layout_height` of `0dp` instead of `wrap_content` for better performance"
- errorLine1=" android:layout_height=&quot;wrap_content&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="9"
- column="15"/>
- </issue>
-
- <issue
- id="InefficientWeight"
- message="Use a `layout_width` of `0dp` instead of `wrap_content` for better performance"
- errorLine1=" &lt;TextView android:layout_width=&quot;wrap_content&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="38"
- column="19"/>
- </issue>
-
- <issue
- id="NestedWeights"
- message="Nested weights are bad for performance"
- errorLine1=" android:layout_weight=&quot;0&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/connect.xml"
- line="72"
- column="35"/>
- </issue>
-
- <issue
id="NestedWeights"
message="Nested weights are bad for performance"
errorLine1=" android:layout_weight=&quot;1&quot; />"
@@ -990,39 +869,6 @@
<issue
id="Overdraw"
message="Possible overdraw: Root element paints background `@color/darkBlue` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
- errorLine1=" android:background=&quot;@color/darkBlue&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/select_location.xml"
- line="4"
- column="14"/>
- </issue>
-
- <issue
- id="Overdraw"
- message="Possible overdraw: Root element paints background `@color/darkBlue` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
- errorLine1=" android:background=&quot;@color/darkBlue&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/settings.xml"
- line="5"
- column="14"/>
- </issue>
-
- <issue
- id="Overdraw"
- message="Possible overdraw: Root element paints background `@color/darkBlue` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
- errorLine1=" android:background=&quot;@color/darkBlue&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/split_tunneling.xml"
- line="5"
- column="14"/>
- </issue>
-
- <issue
- id="Overdraw"
- message="Possible overdraw: Root element paints background `@color/darkBlue` with a theme that also paints a background (inferred theme is `@style/AppTheme`)"
errorLine1=" android:background=&quot;@color/darkBlue&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -1032,105 +878,6 @@
</issue>
<issue
- id="UnusedResources"
- message="The resource `R.color.red45` appears to be unused"
- errorLine1=" &lt;color name=&quot;red45&quot;>#72E34039&lt;/color>"
- errorLine2=" ~~~~~~~~~~~~">
- <location
- file="src/main/res/values/colors.xml"
- line="21"
- column="12"/>
- </issue>
-
- <issue
- id="UnusedResources"
- message="The resource `R.color.red40` appears to be unused"
- errorLine1=" &lt;color name=&quot;red40&quot;>#66E34039&lt;/color>"
- errorLine2=" ~~~~~~~~~~~~">
- <location
- file="src/main/res/values/colors.xml"
- line="22"
- column="12"/>
- </issue>
-
- <issue
- id="UnusedResources"
- message="The resource `R.color.textInputBorder` appears to be unused"
- errorLine1=" &lt;color name=&quot;textInputBorder&quot;>#234161&lt;/color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/values/colors.xml"
- line="24"
- column="12"/>
- </issue>
-
- <issue
- id="UnusedResources"
- message="The resource `R.anim.fade_in` appears to be unused"
- errorLine1="&lt;set xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
- errorLine2="^">
- <location
- file="src/main/res/anim/fade_in.xml"
- line="2"
- column="1"/>
- </issue>
-
- <issue
- id="UnusedResources"
- message="The resource `R.layout.missing_service` appears to be unused"
- errorLine1="&lt;FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
- errorLine2="^">
- <location
- file="src/main/res/layout/missing_service.xml"
- line="1"
- column="1"/>
- </issue>
-
- <issue
- id="UnusedResources"
- message="The resource `R.layout.split_tunneling` appears to be unused"
- errorLine1="&lt;FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
- errorLine2="^">
- <location
- file="src/main/res/layout/split_tunneling.xml"
- line="1"
- column="1"/>
- </issue>
-
- <issue
- id="UnusedResources"
- message="The resource `R.layout.split_tunneling_header` appears to be unused"
- errorLine1="&lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
- errorLine2="^">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="1"
- column="1"/>
- </issue>
-
- <issue
- id="UnusedResources"
- message="The resource `R.string.wg_key_url` appears to be unused"
- errorLine1=" &lt;string name=&quot;wg_key_url&quot; translatable=&quot;false&quot;>https://mullvad.net/account/ports&lt;/string>"
- errorLine2=" ~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/values/strings_non_translatable.xml"
- line="6"
- column="13"/>
- </issue>
-
- <issue
- id="UnusedResources"
- message="The resource `R.drawable.transparent_red_button_background` appears to be unused"
- errorLine1="&lt;selector xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;>"
- errorLine2="^">
- <location
- file="src/main/res/drawable/transparent_red_button_background.xml"
- line="2"
- column="1"/>
- </issue>
-
- <issue
id="RedundantNamespace"
message="This namespace declaration is redundant"
errorLine1=" &lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;"
@@ -1407,28 +1154,6 @@
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
- errorLine1=" &lt;ImageView android:id=&quot;@+id/chevron&quot;"
- errorLine2=" ~~~~~~~~~">
- <location
- file="src/main/res/layout/connect.xml"
- line="89"
- column="30"/>
- </issue>
-
- <issue
- id="ContentDescription"
- message="Missing `contentDescription` attribute on image"
- errorLine1=" &lt;ImageButton android:id=&quot;@+id/reconnect_button&quot;"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/res/layout/connect.xml"
- line="137"
- column="26"/>
- </issue>
-
- <issue
- id="ContentDescription"
- message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView android:id=&quot;@+id/appIcon&quot;"
errorLine2=" ~~~~~~~~~">
<location
@@ -1528,61 +1253,6 @@
<issue
id="ContentDescription"
message="Missing `contentDescription` attribute on image"
- errorLine1=" &lt;ImageView android:id=&quot;@+id/relay_active&quot;"
- errorLine2=" ~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="23"
- column="14"/>
- </issue>
-
- <issue
- id="ContentDescription"
- message="Missing `contentDescription` attribute on image"
- errorLine1=" &lt;ImageView android:id=&quot;@+id/selected&quot;"
- errorLine2=" ~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="28"
- column="14"/>
- </issue>
-
- <issue
- id="ContentDescription"
- message="Missing `contentDescription` attribute on image"
- errorLine1=" &lt;ImageButton android:id=&quot;@+id/chevron&quot;"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="46"
- column="6"/>
- </issue>
-
- <issue
- id="ContentDescription"
- message="Missing `contentDescription` attribute on image"
- errorLine1=" &lt;ImageButton android:id=&quot;@+id/close&quot;"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/res/layout/select_location.xml"
- line="16"
- column="14"/>
- </issue>
-
- <issue
- id="ContentDescription"
- message="Missing `contentDescription` attribute on image"
- errorLine1=" &lt;ImageButton android:id=&quot;@+id/close&quot;"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="src/main/res/layout/settings.xml"
- line="17"
- column="14"/>
- </issue>
-
- <issue
- id="ContentDescription"
- message="Missing `contentDescription` attribute on image"
errorLine1=" &lt;ImageView android:layout_width=&quot;24dp&quot;"
errorLine2=" ~~~~~~~~~">
<location
@@ -1614,611 +1284,6 @@
</issue>
<issue
- id="SetTextI18n"
- message="Do not concatenate text displayed with `setText`. Use resource string with placeholders."
- errorLine1=" inAddress.text = context.getString(R.string.in_address) + &quot; $host:$port $protocol&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/LocationInfo.kt"
- line="119"
- column="30"/>
- </issue>
-
- <issue
- id="SetTextI18n"
- message="Do not concatenate text displayed with `setText`. Use resource string with placeholders."
- errorLine1=" inAddress.text = context.getString(R.string.in_address) + &quot; $host:$port $protocol&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/LocationInfo.kt"
- line="119"
- column="71"/>
- </issue>
-
- <issue
- id="SetTextI18n"
- message="Do not concatenate text displayed with `setText`. Use resource string with placeholders."
- errorLine1=" outAddress.text = context.getString(R.string.out_address) + &quot; $ipAddress&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/LocationInfo.kt"
- line="141"
- column="31"/>
- </issue>
-
- <issue
- id="SetTextI18n"
- message="Do not concatenate text displayed with `setText`. Use resource string with placeholders."
- errorLine1=" outAddress.text = context.getString(R.string.out_address) + &quot; $ipAddress&quot;"
- errorLine2=" ~~~~~~~~~~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/LocationInfo.kt"
- line="141"
- column="73"/>
- </issue>
-
- <issue
- id="RtlSymmetry"
- message="When you define `paddingRight` you should probably also define `paddingLeft` for right-to-left symmetry"
- errorLine1=" android:paddingRight=&quot;@dimen/cell_inner_spacing&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="41"
- column="19"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`Gravity.END`&quot; instead of &quot;`Gravity.RIGHT`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" gravity = Gravity.RIGHT"
- errorLine2=" ~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AppVersionCell.kt"
- line="31"
- column="31"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`Gravity.END`&quot; instead of &quot;`Gravity.RIGHT`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" gravity = Gravity.RIGHT"
- errorLine2=" ~~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AppVersionCell.kt"
- line="31"
- column="31"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`Gravity.START`&quot; instead of &quot;`Gravity.LEFT`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT"
- errorLine2=" ~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/BackButton.kt"
- line="48"
- column="54"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`Gravity.START`&quot; instead of &quot;`Gravity.LEFT`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT"
- errorLine2=" ~~~~">
- <location
- file="src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/BackButton.kt"
- line="48"
- column="54"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/account.xml"
- line="6"
- column="31"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:layout_gravity=&quot;right&quot;"
- errorLine2=" ~~~~~">
- <location
- file="src/main/res/layout/account_history_entry.xml"
- line="18"
- column="42"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentLeft` with `android:layout_alignParentStart=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentLeft=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="7"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentRight` with `android:layout_alignParentEnd=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentRight=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="13"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentRight` with `android:layout_alignParentEnd=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentRight=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="20"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentLeft` with `android:layout_alignParentStart=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentLeft=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="27"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentLeft` with `android:layout_alignParentStart=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentLeft=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="34"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentRight` with `android:layout_alignParentEnd=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentRight=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="41"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_toLeftOf` with `android:layout_toStartOf=&quot;@id/top_right_corner&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_toLeftOf=&quot;@id/top_right_corner&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="48"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_toRightOf` with `android:layout_toEndOf=&quot;@id/top_left_corner&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_toRightOf=&quot;@id/top_left_corner&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="49"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_toLeftOf` with `android:layout_toStartOf=&quot;@id/bottom_right_corner&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_toLeftOf=&quot;@id/bottom_right_corner&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="55"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_toRightOf` with `android:layout_toEndOf=&quot;@id/bottom_left_corner&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_toRightOf=&quot;@id/bottom_left_corner&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/account_login_border.xml"
- line="56"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:layout_gravity=&quot;right|center_vertical&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/button.xml"
- line="10"
- column="42"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`end`&quot; instead of &quot;`right`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:layout_gravity=&quot;right|center_vertical&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/button.xml"
- line="20"
- column="40"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/confirm_no_email.xml"
- line="10"
- column="36"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;1dp&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_marginLeft=&quot;1dp&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/connect.xml"
- line="140"
- column="38"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;16dp&quot;` to better support right-to-left layouts"
- errorLine1=" android:paddingLeft=&quot;16dp&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="5"
- column="17"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;12dp&quot;` to better support right-to-left layouts"
- errorLine1=" android:paddingRight=&quot;12dp&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="6"
- column="17"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentLeft` with `android:layout_alignParentStart=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentLeft=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="13"
- column="21"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_toLeftOf` with `android:layout_toStartOf=&quot;@id/notification_icon&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_toLeftOf=&quot;@id/notification_icon&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="25"
- column="15"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_toRightOf` with `android:layout_toEndOf=&quot;@id/notification_status_container&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_toRightOf=&quot;@id/notification_status_container&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="26"
- column="15"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;7dp&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_marginLeft=&quot;7dp&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="27"
- column="15"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_toLeftOf` with `android:layout_toStartOf=&quot;@id/notification_icon&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_toLeftOf=&quot;@id/notification_icon&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="36"
- column="15"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignLeft` with `android:layout_alignStart=&quot;@id/notification_title&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignLeft=&quot;@id/notification_title&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="37"
- column="15"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentRight` with `android:layout_alignParentEnd=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentRight=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/notification_banner.xml"
- line="46"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/problem_report.xml"
- line="6"
- column="31"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/redeem_voucher.xml"
- line="11"
- column="36"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentLeft` with `android:layout_alignParentStart=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentLeft=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="12"
- column="15"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentRight` with `android:layout_alignParentEnd=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentRight=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="13"
- column="15"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentLeft` with `android:layout_alignParentStart=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentLeft=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="20"
- column="22"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/country_row_padding&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_marginLeft=&quot;@dimen/country_row_padding&quot;>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="22"
- column="22"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_alignParentRight` with `android:layout_alignParentEnd=&quot;true&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_alignParentRight=&quot;true&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="39"
- column="19"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_toRightOf` with `android:layout_toEndOf=&quot;@id/status&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_toRightOf=&quot;@id/status&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/relay_list_item.xml"
- line="40"
- column="19"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/select_location.xml"
- line="5"
- column="31"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/select_location_header.xml"
- line="5"
- column="32"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/settings.xml"
- line="6"
- column="31"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/side_margin&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_marginLeft=&quot;@dimen/side_margin&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/settings.xml"
- line="42"
- column="27"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_marginRight` with `android:layout_marginEnd=&quot;8dp&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_marginRight=&quot;8dp&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/settings_back_button.xml"
- line="4"
- column="16"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/split_tunneling.xml"
- line="6"
- column="31"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;>"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="6"
- column="32"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;@dimen/side_margin&quot;` to better support right-to-left layouts"
- errorLine1=" android:layout_marginLeft=&quot;@dimen/side_margin&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="11"
- column="15"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:paddingLeft` with `android:paddingStart=&quot;@dimen/cell_left_padding&quot;` to better support right-to-left layouts"
- errorLine1=" android:paddingLeft=&quot;@dimen/cell_left_padding&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="33"
- column="19"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/cell_right_padding&quot;` to better support right-to-left layouts"
- errorLine1=" android:paddingRight=&quot;@dimen/cell_right_padding&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="34"
- column="19"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:paddingRight` with `android:paddingEnd=&quot;@dimen/cell_inner_spacing&quot;` to better support right-to-left layouts"
- errorLine1=" android:paddingRight=&quot;@dimen/cell_inner_spacing&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/split_tunneling_header.xml"
- line="41"
- column="19"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Consider replacing `android:drawableRight` with `android:drawableEnd=&quot;@drawable/icon_chevron&quot;` to better support right-to-left layouts"
- errorLine1=" android:drawableRight=&quot;@drawable/icon_chevron&quot;"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="src/main/res/layout/switch_location_button.xml"
- line="11"
- column="13"/>
- </issue>
-
- <issue
- id="RtlHardcoded"
- message="Use &quot;`start`&quot; instead of &quot;`left`&quot; to ensure correct behavior in right-to-left locales"
- errorLine1=" android:gravity=&quot;left&quot;"
- errorLine2=" ~~~~">
- <location
- file="src/main/res/layout/view_logs.xml"
- line="6"
- column="32"/>
- </issue>
-
- <issue
id="RtlEnabled"
message="The project references RTL attributes, but does not explicitly enable or disable RTL support with `android:supportsRtl` in the manifest">
<location
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/BackButton.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/BackButton.kt
index 2bc4579c11..7cb3626084 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/BackButton.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/BackButton.kt
@@ -45,7 +45,7 @@ class BackButton : LinearLayout {
init {
setFocusable(true)
isClickable = true
- gravity = Gravity.CENTER_VERTICAL or Gravity.LEFT
+ gravity = Gravity.CENTER_VERTICAL or Gravity.START
orientation = HORIZONTAL
resources.getDimensionPixelSize(R.dimen.settings_back_button_padding).let { padding ->
diff --git a/android/app/src/main/res/anim/fade_in.xml b/android/app/src/main/res/anim/fade_in.xml
deleted file mode 100644
index d9b78f9197..0000000000
--- a/android/app/src/main/res/anim/fade_in.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<set xmlns:android="http://schemas.android.com/apk/res/android">
- <alpha android:fromAlpha="0.0"
- android:toAlpha="1.0"
- android:duration="@integer/transition_animation_duration" />
-</set>
diff --git a/android/app/src/main/res/drawable/transparent_red_button_background.xml b/android/app/src/main/res/drawable/transparent_red_button_background.xml
deleted file mode 100644
index 84a3a77c38..0000000000
--- a/android/app/src/main/res/drawable/transparent_red_button_background.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_pressed="false"
- android:state_focused="false">
- <shape android:shape="rectangle">
- <corners android:radius="4dp" />
- <solid android:color="@color/red60" />
- </shape>
- </item>
- <item android:state_pressed="false"
- android:state_focused="true">
- <shape android:shape="rectangle">
- <corners android:radius="4dp" />
- <solid android:color="@color/red95" />
- </shape>
- </item>
- <item android:state_pressed="true">
- <shape android:shape="rectangle">
- <corners android:radius="4dp" />
- <solid android:color="@color/red80" />
- </shape>
- </item>
-</selector>
diff --git a/android/app/src/main/res/layout/account.xml b/android/app/src/main/res/layout/account.xml
index 86af11c504..8d896b2223 100644
--- a/android/app/src/main/res/layout/account.xml
+++ b/android/app/src/main/res/layout/account.xml
@@ -3,7 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/darkBlue"
- android:gravity="left">
+ android:gravity="start">
<TextView android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/android/app/src/main/res/layout/account_history_entry.xml b/android/app/src/main/res/layout/account_history_entry.xml
index c31782c0bd..19ae478349 100644
--- a/android/app/src/main/res/layout/account_history_entry.xml
+++ b/android/app/src/main/res/layout/account_history_entry.xml
@@ -15,7 +15,7 @@
<ImageButton android:id="@+id/remove"
android:layout_width="@dimen/account_history_entry_height"
android:layout_height="@dimen/account_history_entry_height"
- android:layout_gravity="right"
+ android:layout_gravity="end"
android:nextFocusLeft="@id/remove"
android:background="?android:attr/selectableItemBackground"
android:src="@drawable/account_history_remove" />
diff --git a/android/app/src/main/res/layout/account_login_border.xml b/android/app/src/main/res/layout/account_login_border.xml
index 73f17980e3..dab613ca57 100644
--- a/android/app/src/main/res/layout/account_login_border.xml
+++ b/android/app/src/main/res/layout/account_login_border.xml
@@ -4,56 +4,56 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
- android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
android:src="@drawable/account_login_corner" />
<ImageView android:id="@+id/top_right_corner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
- android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
android:rotation="90"
android:src="@drawable/account_login_corner" />
<ImageView android:id="@+id/bottom_right_corner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
- android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
android:rotation="180"
android:src="@drawable/account_login_corner" />
<ImageView android:id="@+id/bottom_left_corner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
android:rotation="270"
android:src="@drawable/account_login_corner" />
<!-- sides -->
<ImageView android:id="@+id/left_border"
android:layout_width="@dimen/account_login_border_width"
android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
android:layout_below="@id/top_left_corner"
android:layout_above="@id/bottom_left_corner"
android:src="@drawable/account_login_border" />
<ImageView android:id="@+id/right_border"
android:layout_width="@dimen/account_login_border_width"
android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
android:layout_below="@id/top_right_corner"
android:layout_above="@id/bottom_right_corner"
android:src="@drawable/account_login_border" />
<ImageView android:id="@+id/top_border"
android:layout_width="wrap_content"
android:layout_height="@dimen/account_login_border_width"
- android:layout_toLeftOf="@id/top_right_corner"
- android:layout_toRightOf="@id/top_left_corner"
+ android:layout_toStartOf="@id/top_right_corner"
+ android:layout_toEndOf="@id/top_left_corner"
android:layout_alignParentTop="true"
android:src="@drawable/account_login_border" />
<ImageView android:id="@+id/bottom_border"
android:layout_width="wrap_content"
android:layout_height="@dimen/account_login_border_width"
- android:layout_toLeftOf="@id/bottom_right_corner"
- android:layout_toRightOf="@id/bottom_left_corner"
+ android:layout_toStartOf="@id/bottom_right_corner"
+ android:layout_toEndOf="@id/bottom_left_corner"
android:layout_alignParentBottom="true"
android:src="@drawable/account_login_border" />
</merge>
diff --git a/android/app/src/main/res/layout/button.xml b/android/app/src/main/res/layout/button.xml
index 51d273af97..5db4501a46 100644
--- a/android/app/src/main/res/layout/button.xml
+++ b/android/app/src/main/res/layout/button.xml
@@ -7,7 +7,7 @@
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginHorizontal="9dp"
- android:layout_gravity="right|center_vertical"
+ android:layout_gravity="end|center_vertical"
android:indeterminate="true"
android:indeterminateOnly="true"
android:indeterminateDuration="600"
@@ -17,7 +17,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="9dp"
- android:layout_gravity="right|center_vertical"
+ android:layout_gravity="end|center_vertical"
android:src="@android:color/transparent"
android:visibility="gone" />
</merge>
diff --git a/android/app/src/main/res/layout/confirm_no_email.xml b/android/app/src/main/res/layout/confirm_no_email.xml
index ff538ff28b..bd6be5f4a4 100644
--- a/android/app/src/main/res/layout/confirm_no_email.xml
+++ b/android/app/src/main/res/layout/confirm_no_email.xml
@@ -7,7 +7,7 @@
android:padding="30dp"
android:background="@drawable/dialog_background"
android:orientation="vertical"
- android:gravity="left">
+ android:gravity="start">
<ImageView android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginTop="8dp"
diff --git a/android/app/src/main/res/layout/missing_service.xml b/android/app/src/main/res/layout/missing_service.xml
deleted file mode 100644
index 9e3f21fde7..0000000000
--- a/android/app/src/main/res/layout/missing_service.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"></FrameLayout>
diff --git a/android/app/src/main/res/layout/notification_banner.xml b/android/app/src/main/res/layout/notification_banner.xml
index 3fb5ef4d10..fda78b3ef8 100644
--- a/android/app/src/main/res/layout/notification_banner.xml
+++ b/android/app/src/main/res/layout/notification_banner.xml
@@ -2,15 +2,15 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="8dp"
- android:paddingLeft="16dp"
- android:paddingRight="12dp"
+ android:paddingStart="16dp"
+ android:paddingEnd="12dp"
android:focusable="true"
android:background="?android:attr/selectableItemBackground">
<RelativeLayout android:id="@+id/notification_status_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
- android:layout_alignParentLeft="true"
+ android:layout_alignParentEnd="true"
android:layout_alignBottom="@id/notification_title">
<ImageView android:id="@+id/notification_status"
android:layout_width="wrap_content"
@@ -22,9 +22,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
- android:layout_toLeftOf="@id/notification_icon"
- android:layout_toRightOf="@id/notification_status_container"
- android:layout_marginLeft="7dp"
+ android:layout_toStartOf="@id/notification_icon"
+ android:layout_toEndOf="@id/notification_status_container"
+ android:layout_marginStart="7dp"
android:textSize="@dimen/text_small"
android:textStyle="bold"
android:text="@string/blocking_internet"
@@ -33,8 +33,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
- android:layout_toLeftOf="@id/notification_icon"
- android:layout_alignLeft="@id/notification_title"
+ android:layout_toStartOf="@id/notification_icon"
+ android:layout_alignStart="@id/notification_title"
android:layout_below="@id/notification_title"
android:textSize="@dimen/text_small"
android:textColor="@color/white60"
@@ -43,7 +43,7 @@
<ImageView android:id="@+id/notification_icon"
android:layout_width="20dp"
android:layout_height="20dp"
- android:layout_alignParentRight="true"
+ android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:alpha="0.6"
android:padding="4dp"
diff --git a/android/app/src/main/res/layout/problem_report.xml b/android/app/src/main/res/layout/problem_report.xml
index 614003054a..5832b1a893 100644
--- a/android/app/src/main/res/layout/problem_report.xml
+++ b/android/app/src/main/res/layout/problem_report.xml
@@ -3,7 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/darkBlue"
- android:gravity="left">
+ android:gravity="start">
<TextView android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/android/app/src/main/res/layout/redeem_voucher.xml b/android/app/src/main/res/layout/redeem_voucher.xml
index c3e081196e..3f6d91d183 100644
--- a/android/app/src/main/res/layout/redeem_voucher.xml
+++ b/android/app/src/main/res/layout/redeem_voucher.xml
@@ -8,7 +8,7 @@
android:padding="30dp"
android:background="@drawable/dialog_background"
android:orientation="vertical"
- android:gravity="left">
+ android:gravity="start">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
diff --git a/android/app/src/main/res/layout/settings_back_button.xml b/android/app/src/main/res/layout/settings_back_button.xml
index fc750132ac..442437fca8 100644
--- a/android/app/src/main/res/layout/settings_back_button.xml
+++ b/android/app/src/main/res/layout/settings_back_button.xml
@@ -1,7 +1,7 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView android:layout_width="24dp"
android:layout_height="24dp"
- android:layout_marginRight="8dp"
+ android:layout_marginEnd="8dp"
android:src="@drawable/icon_back" />
<TextView android:id="@+id/label"
android:layout_width="wrap_content"
diff --git a/android/app/src/main/res/layout/split_tunneling.xml b/android/app/src/main/res/layout/split_tunneling.xml
deleted file mode 100644
index 33a6419400..0000000000
--- a/android/app/src/main/res/layout/split_tunneling.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:mullvad="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/darkBlue"
- android:gravity="left">
- <TextView android:id="@+id/title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/split_tunneling"
- style="@style/SettingsCollapsedHeader" />
- <LinearLayout android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <FrameLayout android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <net.mullvad.mullvadvpn.ui.widget.BackButton android:id="@+id/back"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- mullvad:text="@string/settings_vpn" />
- <TextView android:id="@+id/collapsed_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginHorizontal="4dp"
- android:layout_gravity="center"
- android:text="@string/split_tunneling"
- style="@style/SettingsCollapsedHeader" />
- </FrameLayout>
- <net.mullvad.mullvadvpn.ui.widget.CustomRecyclerView android:id="@+id/app_list"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:scrollbars="vertical" />
- </LinearLayout>
-</FrameLayout>
diff --git a/android/app/src/main/res/layout/split_tunneling_header.xml b/android/app/src/main/res/layout/split_tunneling_header.xml
deleted file mode 100644
index 2f8bc681ce..0000000000
--- a/android/app/src/main/res/layout/split_tunneling_header.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:mullvad="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:gravity="left">
- <TextView android:id="@+id/expanded_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:layout_marginLeft="@dimen/side_margin"
- android:layout_marginTop="2dp"
- android:layout_marginBottom="12dp"
- android:lines="1"
- android:text="@string/split_tunneling"
- style="@style/SettingsExpandedHeader" />
- <TextView android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="8dp"
- android:paddingHorizontal="@dimen/side_margin"
- android:text="@string/split_tunneling_description"
- android:textColor="@color/white"
- android:textSize="@dimen/text_small" />
- <net.mullvad.mullvadvpn.ui.widget.ToggleCell android:id="@+id/enabled"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/vertical_space"
- mullvad:text="@string/enable" />
- <LinearLayout android:id="@+id/exclude_applications"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/vertical_space"
- android:paddingLeft="@dimen/cell_left_padding"
- android:paddingRight="@dimen/cell_right_padding"
- android:background="@drawable/cell_button_background"
- android:visibility="gone"
- android:gravity="center">
- <TextView android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:paddingRight="@dimen/cell_inner_spacing"
- android:paddingVertical="@dimen/cell_label_vertical_padding"
- android:textColor="@color/white"
- android:textSize="@dimen/text_medium"
- android:textStyle="bold"
- android:text="@string/exclude_applications" />
- </LinearLayout>
- <ProgressBar android:id="@+id/loading_spinner"
- android:layout_width="60dp"
- android:layout_height="60dp"
- android:layout_gravity="center"
- android:layout_marginTop="@dimen/vertical_space"
- android:indeterminate="true"
- android:indeterminateOnly="true"
- android:indeterminateDuration="600"
- android:indeterminateDrawable="@drawable/icon_spinner"
- android:visibility="gone" />
-</LinearLayout>
diff --git a/android/app/src/main/res/layout/view_logs.xml b/android/app/src/main/res/layout/view_logs.xml
index 3bf9e615fc..2011c8b5c9 100644
--- a/android/app/src/main/res/layout/view_logs.xml
+++ b/android/app/src/main/res/layout/view_logs.xml
@@ -3,7 +3,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/darkBlue"
- android:gravity="left"
+ android:gravity="start"
android:orientation="vertical">
<net.mullvad.mullvadvpn.ui.widget.BackButton android:id="@+id/back"
android:layout_width="wrap_content"
diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml
index 77a20b7922..1bcfd3d010 100644
--- a/android/app/src/main/res/values/colors.xml
+++ b/android/app/src/main/res/values/colors.xml
@@ -18,10 +18,7 @@
<color name="red95">#F2E34039</color>
<color name="red80">#CCE34039</color>
<color name="red60">#99E34039</color>
- <color name="red45">#72E34039</color>
- <color name="red40">#66E34039</color>
<color name="yellow">#FFD323</color>
- <color name="textInputBorder">#234161</color>
<color name="icon_background">@color/darkBlue</color>
<!-- Switch Colors -->
<color name="switch_thumb_fill_checked">@color/green</color>
diff --git a/android/app/src/main/res/values/strings_non_translatable.xml b/android/app/src/main/res/values/strings_non_translatable.xml
index 7c8b868059..1e11bda6db 100644
--- a/android/app/src/main/res/values/strings_non_translatable.xml
+++ b/android/app/src/main/res/values/strings_non_translatable.xml
@@ -3,7 +3,6 @@
<string name="login_hint" translatable="false">0000 0000 0000 0000</string>
<string name="voucher_hint" translatable="false">XXXX-XXXX-XXXX-XXXX</string>
<string name="account_url" translatable="false">https://mullvad.net/account</string>
- <string name="wg_key_url" translatable="false">https://mullvad.net/account/ports</string>
<string name="download_url" translatable="false">https://mullvad.net/download</string>
<string name="faqs_and_guides_url" translatable="false">https://mullvad.net/help/tag/mullvad-app/</string>
<string name="privacy_policy_url" translatable="false">https://mullvad.net/help/privacy-policy/</string>