From b065cf0accb9c9bb3cf7d00b19c839c2422cb323 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 5 Nov 2018 13:57:42 +0100 Subject: [PATCH] Implement new welcome screen --- .gitignore | 1 + Habitica/AndroidManifest.xml | 4 +- Habitica/build.gradle | 7 +- .../res/drawable-hdpi/hello_onboarding.png | Bin 0 -> 14925 bytes .../drawable-hdpi/veteranpets2018_promo.png | Bin 0 -> 14388 bytes .../res/drawable-mdpi/hello_onboarding.png | Bin 0 -> 9426 bytes .../drawable-mdpi/veteranpets2018_promo.png | Bin 0 -> 3477 bytes .../res/drawable-xhdpi/hello_onboarding.png | Bin 0 -> 20905 bytes .../drawable-xhdpi/veteranpets2018_promo.png | Bin 0 -> 4887 bytes .../res/drawable-xxhdpi/hello_onboarding.png | Bin 0 -> 33507 bytes .../drawable-xxhdpi/veteranpets2018_promo.png | Bin 0 -> 5412 bytes .../res/drawable/rounded_border_white.xml | 8 + .../res/layout/activity_verify_username.xml | 17 ++ Habitica/res/layout/fragment_welcome.xml | 164 ++++++++++++------ Habitica/res/layout/preference_category.xml | 2 +- .../res/layout/preference_child_summary.xml | 6 +- Habitica/res/values/strings.constants.xml | 2 +- Habitica/res/values/strings.xml | 5 +- .../habitica/ui/activities/MainActivity.kt | 2 - .../habitica/ui/activities/SetupActivity.kt | 50 +++++- .../ui/activities/VerifyUsernameActivity.kt | 8 +- .../ui/fragments/setup/WelcomeFragment.kt | 107 ++++++++++-- build.gradle | 2 +- gradle.properties | 3 +- 24 files changed, 298 insertions(+), 90 deletions(-) create mode 100644 Habitica/res/drawable-hdpi/hello_onboarding.png create mode 100644 Habitica/res/drawable-hdpi/veteranpets2018_promo.png create mode 100644 Habitica/res/drawable-mdpi/hello_onboarding.png create mode 100644 Habitica/res/drawable-mdpi/veteranpets2018_promo.png create mode 100644 Habitica/res/drawable-xhdpi/hello_onboarding.png create mode 100644 Habitica/res/drawable-xhdpi/veteranpets2018_promo.png create mode 100644 Habitica/res/drawable-xxhdpi/hello_onboarding.png create mode 100644 Habitica/res/drawable-xxhdpi/veteranpets2018_promo.png create mode 100644 Habitica/res/drawable/rounded_border_white.xml diff --git a/.gitignore b/.gitignore index dff36d0fd..26c1fa60d 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ captures /Habitica/prod /Habitica/release /fastlane/secret-key.json +/fastlane/report.xml diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index d1feb14c8..7c64dc2ae 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -2,8 +2,6 @@ @@ -66,7 +64,7 @@ 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 literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-hdpi/veteranpets2018_promo.png b/Habitica/res/drawable-hdpi/veteranpets2018_promo.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6694baa5359a3c15987d6bf30d3c56e4900345 GIT binary patch literal 14388 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 literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-xhdpi/veteranpets2018_promo.png b/Habitica/res/drawable-xhdpi/veteranpets2018_promo.png new file mode 100644 index 0000000000000000000000000000000000000000..6166e4ac408b27e25ced4070a29556f44bc8cc8b GIT binary patch literal 4887 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 literal 0 HcmV?d00001 diff --git a/Habitica/res/drawable-xxhdpi/veteranpets2018_promo.png b/Habitica/res/drawable-xxhdpi/veteranpets2018_promo.png new file mode 100644 index 0000000000000000000000000000000000000000..16a0a5a5d927680c412f037ed0ea4b2243d270f5 GIT binary patch literal 5412 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 + + + + diff --git a/Habitica/res/layout/activity_verify_username.xml b/Habitica/res/layout/activity_verify_username.xml index 70b161460..93fc44b8c 100644 --- a/Habitica/res/layout/activity_verify_username.xml +++ b/Habitica/res/layout/activity_verify_username.xml @@ -130,6 +130,23 @@ android:textColor="@color/white" android:text="@string/confirm_username" android:layout_marginTop="@dimen/spacing_large"/> + + + - + - - + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:namePlate="Justin" + app:npcDrawable="@drawable/justin_textbox" + android:layout_marginTop="@dimen/spacing_large"/> + + \ No newline at end of file diff --git a/Habitica/res/layout/preference_category.xml b/Habitica/res/layout/preference_category.xml index 6a0517c13..067b3ff8f 100644 --- a/Habitica/res/layout/preference_category.xml +++ b/Habitica/res/layout/preference_category.xml @@ -12,7 +12,7 @@ --> - APIToken Username E-mail - https://habitica.com + https://habitrpg-delta.herokuapp.com ACCEPT_PARTY_INVITE diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 0c23e4e0f..0730902f6 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -561,7 +561,7 @@ Login with Facebook Login with Google Back - Oh, you must be new here. I’m Justin, I’ll be your guide in Habitica.\n\nTo start, you’ll need to create an avatar. + Oh, you must be new here. I’m Justin, I’ll be your guide in Habitica.\n\nFirst, what should we call you? Feel free to change what I picked. When you’re all set, let’s create your avatar! Randomize Extras Skin Color @@ -830,4 +830,7 @@ %s ・Lvl %d Enter a Recipient\'s username Username copied to clipboard + One of these Veteran Pets will be waiting for you after you’ve finished confirming! + What should we call you? + Display names must be between 1 and 30 characters diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt index 15910705e..33faf08ca 100755 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt @@ -172,7 +172,6 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { @SuppressLint("ObsoleteSdkInt") public override fun onCreate(savedInstanceState: Bundle?) { - Trace.beginSection("MainActivity.launch") super.onCreate(savedInstanceState) val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this) @@ -315,7 +314,6 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { AmplitudeManager.sendEvent("open notification", AmplitudeManager.EVENT_CATEGORY_BEHAVIOUR, AmplitudeManager.EVENT_HITTYPE_EVENT, additionalData) NotificationOpenHandler.handleOpenedByNotification(identifier, intent, this, user) } - Trace.endSection() } override fun onPause() { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.kt index c797078f5..b51b12876 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.kt @@ -1,5 +1,6 @@ package com.habitrpg.android.habitica.ui.activities +import android.content.Context import android.content.Intent import android.graphics.drawable.Drawable import android.os.Build @@ -12,6 +13,7 @@ import android.support.v4.view.ViewPager import android.support.v7.content.res.AppCompatResources import android.support.v7.preference.PreferenceManager import android.view.View +import android.view.inputmethod.InputMethodManager import android.widget.Button import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.api.HostConfig @@ -33,9 +35,9 @@ import com.habitrpg.android.habitica.ui.helpers.bindView import com.habitrpg.android.habitica.ui.views.FadingViewPager import com.viewpagerindicator.IconPageIndicator import com.viewpagerindicator.IconPagerAdapter +import io.reactivex.BackpressureStrategy import io.reactivex.functions.Consumer import org.greenrobot.eventbus.Subscribe -import org.solovyev.android.checkout.Inventory import java.util.* import javax.inject.Inject @@ -57,6 +59,7 @@ class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener { private val previousButton: Button by bindView(R.id.previousButton) private val indicator: IconPageIndicator by bindView(R.id.view_pager_indicator) + internal var welcomeFragment: WelcomeFragment? = null internal var avatarSetupFragment: AvatarSetupFragment? = null internal var taskSetupFragment: TaskSetupFragment? = null internal var user: User? = null @@ -81,8 +84,8 @@ class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener { val currentDeviceLanguage = Locale.getDefault().language for (language in resources.getStringArray(R.array.LanguageValues)) { if (language == currentDeviceLanguage) { - apiClient.registrationLanguage(currentDeviceLanguage) - .subscribe(Consumer { }, RxErrorHandler.handleEmptyError()) + compositeSubscription.add(apiClient.registrationLanguage(currentDeviceLanguage) + .subscribe(Consumer { }, RxErrorHandler.handleEmptyError())) } } @@ -123,14 +126,14 @@ class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener { @Subscribe fun onEvent(event: UpdateUserCommand) { - this.userRepository.updateUser(user, event.updateData) - .subscribe(Consumer { this.onUserReceived(it) }, RxErrorHandler.handleEmptyError()) + compositeSubscription.add(this.userRepository.updateUser(user, event.updateData) + .subscribe(Consumer { this.onUserReceived(it) }, RxErrorHandler.handleEmptyError())) } @Subscribe fun onEvent(event: EquipCommand) { - this.inventoryRepository.equip(user, event.type, event.key) - .subscribe(Consumer { }, RxErrorHandler.handleEmptyError()) + compositeSubscription.add(this.inventoryRepository.equip(user, event.type, event.key) + .subscribe(Consumer { }, RxErrorHandler.handleEmptyError())) } private fun nextClicked() { @@ -147,6 +150,11 @@ class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener { newTasks.notNull { this.taskRepository.createTasks(it).subscribe(Consumer { onUserReceived(user) }, RxErrorHandler.handleEmptyError()) } + } else if (pager.currentItem == 0) { + confirmNames(welcomeFragment?.displayName ?: "", welcomeFragment?.username ?: "") + + val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager + imm?.hideSoftInputFromWindow(currentFocus?.windowToken, 0) } this.pager.currentItem = this.pager.currentItem + 1 } @@ -167,6 +175,19 @@ class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener { previousButton.setCompoundDrawablesWithIntrinsicBounds(leftDrawable, null, null, null) } + private fun setNextButtonEnabled(enabled: Boolean) { + nextButton.isEnabled = enabled + val rightDrawable = AppCompatResources.getDrawable(this, R.drawable.forward_arrow_enabled) + if (enabled) { + nextButton.setTextColor(ContextCompat.getColor(this, R.color.white)) + rightDrawable?.alpha = 255 + } else { + nextButton.setTextColor(ContextCompat.getColor(this, R.color.white_50_alpha)) + rightDrawable?.alpha = 127 + } + nextButton.setCompoundDrawablesWithIntrinsicBounds(null, null, rightDrawable, null) + } + override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { } @@ -220,6 +241,12 @@ class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener { finish() } + private fun confirmNames(displayName: String, username: String) { + compositeSubscription.add(userRepository.updateUser(null, "profile.name", displayName) + .flatMap { userRepository.updateLoginName(username).toFlowable() } + .subscribe(Consumer { }, RxErrorHandler.handleEmptyError())) + } + private inner class ViewPageAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm), IconPagerAdapter { override fun getItem(position: Int): Fragment { @@ -238,7 +265,14 @@ class SetupActivity : BaseActivity(), ViewPager.OnPageChangeListener { taskSetupFragment = fragment fragment } - else -> { WelcomeFragment() } + else -> { + val fragment = WelcomeFragment() + welcomeFragment = fragment + welcomeFragment?.nameValidEvents?.toFlowable(BackpressureStrategy.DROP)?.subscribe { + setNextButtonEnabled(it) + } + fragment + } } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/VerifyUsernameActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/VerifyUsernameActivity.kt index 8bf398d8f..52b39072e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/VerifyUsernameActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/VerifyUsernameActivity.kt @@ -76,10 +76,10 @@ class VerifyUsernameActivity: BaseActivity() { } }) - verificationEvents.toFlowable(BackpressureStrategy.DROP) + compositeSubscription.add(verificationEvents.toFlowable(BackpressureStrategy.DROP) .throttleLast(1, TimeUnit.SECONDS) .flatMap { userRepository.verifyUsername(usernameEditText.text.toString()) } - .subscribe(Consumer { + .subscribe { if (it.isUsable) { usernameEditText.setCompoundDrawablesWithIntrinsicBounds(null, null, checkmarkIcon, null) issuesTextView.visibility = View.GONE @@ -94,11 +94,11 @@ class VerifyUsernameActivity: BaseActivity() { private fun confirmNames() { confirmUsernameButton.isEnabled = false - userRepository.updateUser(null, "profile.name", displayNameEditText.text.toString()) + compositeSubscription.add(userRepository.updateUser(null, "profile.name", displayNameEditText.text.toString()) .flatMap { userRepository.updateLoginName(usernameEditText.text.toString()).toFlowable() } .doOnComplete { showConfirmationAndFinish() } .doOnEach { confirmUsernameButton.isEnabled = true } - .subscribe(Consumer { }, RxErrorHandler.handleEmptyError()) + .subscribe(Consumer { }, RxErrorHandler.handleEmptyError())) } private fun showConfirmationAndFinish() { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.kt index d3239d5d8..b9ba4dd16 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/setup/WelcomeFragment.kt @@ -1,29 +1,59 @@ package com.habitrpg.android.habitica.ui.fragments.setup +import android.graphics.drawable.BitmapDrawable +import android.graphics.drawable.Drawable import android.os.Bundle +import android.support.v4.content.ContextCompat +import android.text.Editable +import android.text.TextWatcher import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.ImageView +import android.widget.EditText +import android.widget.TextView import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.AppComponent +import com.habitrpg.android.habitica.data.UserRepository import com.habitrpg.android.habitica.extensions.inflate import com.habitrpg.android.habitica.helpers.AmplitudeManager +import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.ui.SpeechBubbleView import com.habitrpg.android.habitica.ui.fragments.BaseFragment import com.habitrpg.android.habitica.ui.helpers.bindView import com.habitrpg.android.habitica.ui.helpers.resetViews import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper -import java.util.HashMap +import io.reactivex.BackpressureStrategy +import io.reactivex.functions.Consumer +import io.reactivex.subjects.PublishSubject +import java.util.* +import java.util.concurrent.TimeUnit +import javax.inject.Inject class WelcomeFragment : BaseFragment() { + val nameValidEvents = PublishSubject.create() + + @Inject + lateinit var userRepository: UserRepository + private val speechBubbleView: SpeechBubbleView? by bindView(R.id.speech_bubble) - private val heartIconView: ImageView? by bindView(R.id.heart_icon) - private val magicIconView: ImageView? by bindView(R.id.magic_icon) - private val expIconView: ImageView? by bindView(R.id.exp_icon) - private val goldIconView: ImageView? by bindView(R.id.gold_icon) - private val gemIconView: ImageView? by bindView(R.id.gem_icon) + private val displayNameEditText: EditText by bindView(R.id.display_name_edit_text) + private val usernameEditText: EditText by bindView(R.id.username_edit_text) + private val issuesTextView: TextView by bindView(R.id.issues_text_view) + + private val displayNameVerificationEvents = PublishSubject.create() + private val usernameVerificationEvents = PublishSubject.create() + + private val checkmarkIcon: Drawable by lazy { + BitmapDrawable(resources, HabiticaIconsHelper.imageOfCheckmark(ContextCompat.getColor(context!!, R.color.green_50), 1f)) + } + private val alertIcon: Drawable by lazy { + BitmapDrawable(resources, HabiticaIconsHelper.imageOfAlertIcon()) + } + val username: String + get() = usernameEditText.text.toString() + val displayName: String + get() = displayNameEditText.text.toString() override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { super.onCreateView(inflater, container, savedInstanceState) @@ -42,11 +72,64 @@ class WelcomeFragment : BaseFragment() { speechBubbleView?.animateText(context?.getString(R.string.welcome_text) ?: "") - heartIconView?.setImageBitmap(HabiticaIconsHelper.imageOfHeartLightBg()) - expIconView?.setImageBitmap(HabiticaIconsHelper.imageOfExperience()) - magicIconView?.setImageBitmap(HabiticaIconsHelper.imageOfMagic()) - goldIconView?.setImageBitmap(HabiticaIconsHelper.imageOfGold()) - gemIconView?.setImageBitmap(HabiticaIconsHelper.imageOfGem()) + super.onCreate(savedInstanceState) + + displayNameEditText.addTextChangedListener(object: TextWatcher { + override fun afterTextChanged(p0: Editable?) { + } + + override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { + } + + override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { + displayNameVerificationEvents.onNext(p0.toString()) + } + }) + usernameEditText.addTextChangedListener(object: TextWatcher { + override fun afterTextChanged(p0: Editable?) { + } + + override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { + } + + override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) { + usernameVerificationEvents.onNext(p0.toString()) + } + }) + + compositeSubscription.add(displayNameVerificationEvents.toFlowable(BackpressureStrategy.DROP) + .map { it.length in 1..30 } + .subscribe { + if (it) { + displayNameEditText.setCompoundDrawablesWithIntrinsicBounds(null, null, checkmarkIcon, null) + issuesTextView.visibility = View.GONE + } else { + displayNameEditText.setCompoundDrawablesWithIntrinsicBounds(null, null, alertIcon, null) + issuesTextView.visibility = View.VISIBLE + issuesTextView.text = context?.getString(R.string.display_name_length_error) + } + }) + compositeSubscription.add(usernameVerificationEvents.toFlowable(BackpressureStrategy.DROP) + .throttleLast(1, TimeUnit.SECONDS) + .flatMap { userRepository.verifyUsername(usernameEditText.text.toString()) } + .subscribe { + if (it.isUsable) { + usernameEditText.setCompoundDrawablesWithIntrinsicBounds(null, null, checkmarkIcon, null) + issuesTextView.visibility = View.GONE + } else { + usernameEditText.setCompoundDrawablesWithIntrinsicBounds(null, null, alertIcon, null) + issuesTextView.visibility = View.VISIBLE + issuesTextView.text = it.issues.joinToString("\n") + } + nameValidEvents.onNext(it.isUsable) + }) + + compositeSubscription.add(userRepository.getUser().firstElement().subscribe { + displayNameEditText.setText(it.profile?.name) + displayNameVerificationEvents.onNext(it.profile?.name ?: "") + usernameEditText.setText(it.username) + usernameVerificationEvents.onNext(it.username ?: "") + }) } override fun injectFragment(component: AppComponent) { diff --git a/build.gradle b/build.gradle index b64d9f9e3..ca9c682a9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.2.71' + ext.kotlin_version = '1.3.0' ext.build_tools_version = '28.0.3' ext.sdk_version = 28 diff --git a/gradle.properties b/gradle.properties index 6c5180d38..52d65d23c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,4 @@ org.gradle.configureondemand=true org.gradle.daemon=true -org.gradle.jvmargs=-Xmx6656M \ No newline at end of file +org.gradle.jvmargs=-Xmx6656M +org.gradle.warning.mode=all \ No newline at end of file