diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-14 11:57:19 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-14 11:57:19 -0300 |
| commit | 0b416057aaab143963bfa68224f4dc611f3314c4 (patch) | |
| tree | 1e6574f968ff082a4d0d269bb10379cbb17abe8c | |
| parent | 1b1603d8e4cef3dcf76b22b9a21ee79ac3670bad (diff) | |
| parent | 59c03a4cf5967c073a17346ddcd6a36687ce6f3d (diff) | |
| download | mullvadvpn-0b416057aaab143963bfa68224f4dc611f3314c4.tar.xz mullvadvpn-0b416057aaab143963bfa68224f4dc611f3314c4.zip | |
Merge branch 'settings-screen'
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt | 5 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt | 14 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt | 30 | ||||
| -rw-r--r-- | android/src/main/res/drawable/icon_settings.xml | 13 | ||||
| -rw-r--r-- | android/src/main/res/drawable/red_button_background.xml | 16 | ||||
| -rw-r--r-- | android/src/main/res/layout/connect.xml | 14 | ||||
| -rw-r--r-- | android/src/main/res/layout/settings.xml | 38 | ||||
| -rw-r--r-- | android/src/main/res/values/colors.xml | 1 | ||||
| -rw-r--r-- | android/src/main/res/values/strings.xml | 3 | ||||
| -rw-r--r-- | android/src/main/res/values/styles.xml | 4 |
10 files changed, 138 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt index c4b5fdb5cd..9c1804ce68 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt @@ -19,6 +19,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Button +import android.widget.ImageButton import net.mullvad.mullvadvpn.model.GeoIpLocation import net.mullvad.mullvadvpn.model.TunnelStateTransition @@ -59,6 +60,10 @@ class ConnectFragment : Fragment() { ): View { val view = inflater.inflate(R.layout.connect, container, false) + view.findViewById<ImageButton>(R.id.settings).setOnClickListener { + parentActivity.openSettings() + } + view.findViewById<Button>(R.id.switch_location).setOnClickListener { openSwitchLocationScreen() } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt index 927a6ba05e..fb2a5d6d77 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt @@ -90,6 +90,20 @@ class MainActivity : FragmentActivity() { super.onDestroy() } + fun openSettings() { + supportFragmentManager?.beginTransaction()?.apply { + setCustomAnimations( + R.anim.fragment_enter_from_bottom, + R.anim.do_nothing, + R.anim.do_nothing, + R.anim.fragment_exit_to_bottom + ) + replace(R.id.main_fragment, SettingsFragment()) + addToBackStack(null) + commit() + } + } + private fun addInitialFragment() { supportFragmentManager?.beginTransaction()?.apply { add(R.id.main_fragment, LaunchFragment()) diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt new file mode 100644 index 0000000000..a958978daa --- /dev/null +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt @@ -0,0 +1,30 @@ +package net.mullvad.mullvadvpn + +import android.content.Context +import android.os.Bundle +import android.support.v4.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.Button +import android.widget.ImageButton + +class SettingsFragment : Fragment() { + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + val view = inflater.inflate(R.layout.settings, container, false) + + view.findViewById<ImageButton>(R.id.close).setOnClickListener { + activity?.onBackPressed() + } + + view.findViewById<Button>(R.id.quit_button).setOnClickListener { + activity?.finishAndRemoveTask() + } + + return view + } +} diff --git a/android/src/main/res/drawable/icon_settings.xml b/android/src/main/res/drawable/icon_settings.xml new file mode 100644 index 0000000000..8c88a6d2b9 --- /dev/null +++ b/android/src/main/res/drawable/icon_settings.xml @@ -0,0 +1,13 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + <path + android:pathData="M21.2552,12C21.2552,12.408 21.2182,12.792 21.1688,13.176L23.7719,15.156C24.0063,15.336 24.068,15.66 23.9199,15.924L21.4526,20.076C21.3045,20.34 20.9838,20.448 20.7001,20.34L17.6282,19.14C16.9867,19.608 16.2959,20.016 15.5433,20.316L15.0745,23.496C15.0375,23.784 14.7785,24 14.4701,24L9.5354,24C9.227,24 8.9679,23.784 8.9309,23.496L8.4621,20.316C7.7096,20.016 7.0187,19.62 6.3772,19.14L3.3054,20.34C3.034,20.436 2.7009,20.34 2.5529,20.076L0.0855,15.924C-0.0625,15.66 -0.0008,15.336 0.2336,15.156L2.8366,13.176C2.7873,12.792 2.7502,12.396 2.7502,12C2.7502,11.604 2.7873,11.208 2.8366,10.824L0.2336,8.844C-0.0008,8.664 -0.0748,8.34 0.0855,8.076L2.5529,3.924C2.7009,3.66 3.0217,3.552 3.3054,3.66L6.3772,4.86C7.0187,4.392 7.7096,3.984 8.4621,3.684L8.9309,0.504C8.9679,0.216 9.227,0 9.5354,0L14.4701,0C14.7785,0 15.0375,0.216 15.0745,0.504L15.5433,3.684C16.2959,3.984 16.9867,4.38 17.6282,4.86L20.7001,3.66C20.9715,3.564 21.3046,3.66 21.4526,3.924L23.9199,8.076C24.068,8.34 24.0063,8.664 23.7719,8.844L21.1688,10.824C21.2182,11.208 21.2552,11.592 21.2552,12ZM12,17C14.7571,17 17,14.7571 17,12C17,9.2429 14.7571,7 12,7C9.2429,7 7,9.2429 7,12C7,14.7571 9.2429,17 12,17Z" + android:strokeWidth="1" + android:fillColor="#FFFFFF" + android:fillAlpha="0.6" + android:fillType="evenOdd" + android:strokeColor="#00000000"/> +</vector> diff --git a/android/src/main/res/drawable/red_button_background.xml b/android/src/main/res/drawable/red_button_background.xml new file mode 100644 index 0000000000..ebfefe776b --- /dev/null +++ b/android/src/main/res/drawable/red_button_background.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_pressed="false"> + <shape android:shape="rectangle"> + <corners android:radius="4dp"/> + <solid android:color="@color/red"/> + </shape> + </item> + + <item android:state_pressed="true"> + <shape android:shape="rectangle"> + <corners android:radius="4dp"/> + <solid android:color="@color/red95"/> + </shape> + </item> +</selector> diff --git a/android/src/main/res/layout/connect.xml b/android/src/main/res/layout/connect.xml index 19440b794f..5c2beb1e2e 100644 --- a/android/src/main/res/layout/connect.xml +++ b/android/src/main/res/layout/connect.xml @@ -19,6 +19,7 @@ android:layout_width="49dp" android:layout_height="50dp" android:src="@drawable/logo_icon" + android:layout_weight="0" /> <TextView android:layout_width="wrap_content" @@ -29,6 +30,19 @@ android:textStyle="bold" android:text="@string/app_name" android:textAllCaps="true" + android:layout_weight="0" + /> + <View + android:layout_width="0dp" + android:layout_height="0dp" + android:layout_weight="1" + /> + <ImageButton android:id="@+id/settings" + android:layout_width="24dp" + android:layout_height="24dp" + android:background="?android:attr/selectableItemBackground" + android:src="@drawable/icon_settings" + android:layout_weight="0" /> </LinearLayout> diff --git a/android/src/main/res/layout/settings.xml b/android/src/main/res/layout/settings.xml new file mode 100644 index 0000000000..0c98ad539e --- /dev/null +++ b/android/src/main/res/layout/settings.xml @@ -0,0 +1,38 @@ +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/darkBlue" + android:orientation="vertical" + android:gravity="left" + android:elevation="1dp" + > + <ImageButton android:id="@+id/close" + android:layout_width="24dp" + android:layout_height="24dp" + android:layout_marginTop="12dp" + android:layout_marginLeft="12dp" + android:layout_marginBottom="12dp" + android:background="?android:attr/selectableItemBackground" + android:src="@drawable/icon_close" + /> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="4dp" + android:layout_marginLeft="24dp" + android:layout_marginBottom="24dp" + android:textColor="@color/white" + android:textSize="32sp" + android:textStyle="bold" + android:text="@string/settings" + /> + <Button android:id="@+id/quit_button" + android:layout_marginTop="24dp" + android:layout_marginLeft="24dp" + android:layout_marginRight="24dp" + android:layout_marginBottom="24dp" + android:text="@string/quit" + style="@style/RedButton" + /> +</LinearLayout> diff --git a/android/src/main/res/values/colors.xml b/android/src/main/res/values/colors.xml index 905f1e497c..7d2ef85101 100644 --- a/android/src/main/res/values/colors.xml +++ b/android/src/main/res/values/colors.xml @@ -11,6 +11,7 @@ <color name="green">#44AD4D</color> <color name="green90">#E644AD4D</color> <color name="red">#D0021B</color> + <color name="red95">#C6021A</color> <color name="red45">#73021B</color> <color name="red40">#66021B</color> diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml index fc8ec8d0c7..18dea4cd12 100644 --- a/android/src/main/res/values/strings.xml +++ b/android/src/main/res/values/strings.xml @@ -12,6 +12,9 @@ <string name="login_fail_title">Login failed</string> <string name="login_fail_description">Invalid account number, try again</string> + <string name="settings">Settings</string> + <string name="quit">Quit</string> + <string name="unsecured_connection">Unsecured connection</string> <string name="creating_secure_connection">Creating secure connection</string> <string name="secure_connection">Secure connection</string> diff --git a/android/src/main/res/values/styles.xml b/android/src/main/res/values/styles.xml index 86401714f7..43c29dc1bb 100644 --- a/android/src/main/res/values/styles.xml +++ b/android/src/main/res/values/styles.xml @@ -17,6 +17,10 @@ <item name="android:background">@drawable/green_button_background</item> </style> + <style name="RedButton" parent="Button"> + <item name="android:background">@drawable/red_button_background</item> + </style> + <style name="White20Button" parent="Button"> <item name="android:background">@drawable/white20_button_background</item> </style> |
