From 5e82c45278390297b7a050db1f89cc0dcee90228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Sun, 6 Oct 2019 16:07:48 +0200 Subject: [PATCH] Finish Android Regist Form --- .../metallic/chiaki/regist/RegistActivity.kt | 33 ++++++++++ android/app/src/main/res/drawable/ic_host.xml | 9 +++ android/app/src/main/res/drawable/ic_pin.xml | 9 +++ .../app/src/main/res/drawable/ic_psn_id.xml | 9 +++ .../src/main/res/layout/activity_regist.xml | 66 ++++++++++++++----- android/app/src/main/res/values/strings.xml | 9 +++ android/app/src/main/res/values/styles.xml | 1 + 7 files changed, 118 insertions(+), 18 deletions(-) create mode 100644 android/app/src/main/res/drawable/ic_host.xml create mode 100644 android/app/src/main/res/drawable/ic_pin.xml create mode 100644 android/app/src/main/res/drawable/ic_psn_id.xml diff --git a/android/app/src/main/java/com/metallic/chiaki/regist/RegistActivity.kt b/android/app/src/main/java/com/metallic/chiaki/regist/RegistActivity.kt index fa1f2df..128251d 100644 --- a/android/app/src/main/java/com/metallic/chiaki/regist/RegistActivity.kt +++ b/android/app/src/main/java/com/metallic/chiaki/regist/RegistActivity.kt @@ -28,6 +28,14 @@ import kotlinx.android.synthetic.main.activity_regist.* class RegistActivity: AppCompatActivity(), RevealActivity { + companion object + { + const val EXTRA_HOST = "regist_host" + const val EXTRA_BROADCAST = "regist_broadcast" + + private const val PIN_LENGTH = 8 + } + override val revealWindow: Window get() = window override val revealIntent: Intent get() = intent override val revealRootLayout: View get() = rootLayout @@ -37,5 +45,30 @@ class RegistActivity: AppCompatActivity(), RevealActivity super.onCreate(savedInstanceState) setContentView(R.layout.activity_regist) handleReveal() + + hostEditText.setText(intent.getStringExtra(EXTRA_HOST) ?: "255.255.255.255") + broadcastCheckBox.isChecked = intent.getBooleanExtra(EXTRA_BROADCAST, true) + + registButton.setOnClickListener { doRegist() } + } + + private fun doRegist() + { + val host = hostEditText.text.toString().trim() + val hostValid = host.isNotEmpty() + val broadcast = broadcastCheckBox.isChecked + val psnId = psnIdEditText.text.toString().trim() + val psnIdValid = psnId.isNotEmpty() + val pin = pinEditText.text.toString() + val pinValid = pin.length == PIN_LENGTH + + hostEditText.error = if(!hostValid) "Please enter a valid host name" else null + psnIdEditText.error = if(!psnIdValid) "Please enter a valid PSN ID" else null + pinEditText.error = if(!pinValid) "Please enter a valid 8-digit PIN" else null + + if(!hostValid || !psnIdValid || ! pinValid) + return + + // TODO } } \ No newline at end of file diff --git a/android/app/src/main/res/drawable/ic_host.xml b/android/app/src/main/res/drawable/ic_host.xml new file mode 100644 index 0000000..fa79931 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_host.xml @@ -0,0 +1,9 @@ + + + diff --git a/android/app/src/main/res/drawable/ic_pin.xml b/android/app/src/main/res/drawable/ic_pin.xml new file mode 100644 index 0000000..a77ef95 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_pin.xml @@ -0,0 +1,9 @@ + + + diff --git a/android/app/src/main/res/drawable/ic_psn_id.xml b/android/app/src/main/res/drawable/ic_psn_id.xml new file mode 100644 index 0000000..b2cb337 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_psn_id.xml @@ -0,0 +1,9 @@ + + + diff --git a/android/app/src/main/res/layout/activity_regist.xml b/android/app/src/main/res/layout/activity_regist.xml index 097c892..c0eeaa6 100644 --- a/android/app/src/main/res/layout/activity_regist.xml +++ b/android/app/src/main/res/layout/activity_regist.xml @@ -30,8 +30,8 @@ android:id="@+id/titleTextView" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="Register Console" - android:textSize="32dp" + android:text="@string/title_regist" + android:textSize="32sp" android:gravity="center" android:layout_marginTop="16dp" app:layout_constraintTop_toBottomOf="@id/iconImageView" @@ -41,13 +41,16 @@ android:id="@+id/hostTextInputLayout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:hint="Host" - app:startIconDrawable="@drawable/ic_register" + android:hint="@string/hint_regist_host" + app:startIconDrawable="@drawable/ic_host" app:layout_constraintTop_toBottomOf="@id/titleTextView" android:layout_marginTop="32dp"> + android:layout_height="wrap_content" + android:inputType="textNoSuggestions|textVisiblePassword" + android:maxLines="1"/> + android:text="@string/regist_broadcast"/> + android:layout_height="wrap_content" + android:inputType="textNoSuggestions|textVisiblePassword" + android:maxLines="1"/> + android:layout_marginTop="32dp" + android:alpha="0.6"/> + + + + android:layout_height="wrap_content" + android:inputType="number" + android:maxLength="8" /> - diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index a90d7e4..477f86d 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -14,4 +14,13 @@ ID: %s Register Console Add Console Manually + On the PS4, navigate to + Settings →\nRemote Play Connection Settings →\nAdd Device + to obtain the PIN + Register Console + Host + Broadcast + PSN ID (username, case-sensitive) + PIN + Register diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml index d73477c..a5e4046 100644 --- a/android/app/src/main/res/values/styles.xml +++ b/android/app/src/main/res/values/styles.xml @@ -59,6 +59,7 @@ 16dp 16dp @color/mage_text_input_box_stroke + ?attr/colorPrimaryDark