From 4d6435b007945040a0ea1b7310a2cd5dce544e98 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Fri, 3 Apr 2020 15:36:37 +0200 Subject: [PATCH] Support screen tweaks --- .../res/drawable/support_info_lower_bg.xml | 4 +- Habitica/res/layout/fragment_faq_detail.xml | 36 +++++++++ Habitica/res/layout/fragment_faq_overview.xml | 2 +- Habitica/res/layout/fragment_support_main.xml | 73 ++++++++++--------- .../layout/support_collapsible_section.xml | 5 +- Habitica/res/navigation/navigation.xml | 11 +++ Habitica/res/values/strings.xml | 1 + .../habitica/components/UserComponent.java | 3 + .../ui/fragments/support/FAQDetailFragment.kt | 53 ++++++++++++++ .../fragments/support/FAQOverviewFragment.kt | 8 +- 10 files changed, 147 insertions(+), 49 deletions(-) create mode 100644 Habitica/res/layout/fragment_faq_detail.xml create mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQDetailFragment.kt diff --git a/Habitica/res/drawable/support_info_lower_bg.xml b/Habitica/res/drawable/support_info_lower_bg.xml index 709e8e69d..26a2c3030 100644 --- a/Habitica/res/drawable/support_info_lower_bg.xml +++ b/Habitica/res/drawable/support_info_lower_bg.xml @@ -5,11 +5,11 @@ + android:color="@color/brand_400" > - + \ No newline at end of file diff --git a/Habitica/res/layout/fragment_faq_detail.xml b/Habitica/res/layout/fragment_faq_detail.xml new file mode 100644 index 000000000..a2a2f46de --- /dev/null +++ b/Habitica/res/layout/fragment_faq_detail.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Habitica/res/layout/fragment_faq_overview.xml b/Habitica/res/layout/fragment_faq_overview.xml index 025f232fe..94ec908d9 100644 --- a/Habitica/res/layout/fragment_faq_overview.xml +++ b/Habitica/res/layout/fragment_faq_overview.xml @@ -66,7 +66,7 @@ android:layout_height="wrap_content" app:subtitle="@string/premium_currency" app:title="@string/gems" - app:titleColor="@color/teal_100" + app:titleColor="@color/green_10" android:layout_marginStart="@dimen/spacing_medium" android:layout_marginEnd="@dimen/spacing_medium" android:layout_marginBottom="@dimen/spacing_medium" diff --git a/Habitica/res/layout/fragment_support_main.xml b/Habitica/res/layout/fragment_support_main.xml index dcce5be30..aa87da7f2 100644 --- a/Habitica/res/layout/fragment_support_main.xml +++ b/Habitica/res/layout/fragment_support_main.xml @@ -25,36 +25,36 @@ @@ -76,33 +76,33 @@ android:text="@string/bugs_fixes" android:layout_marginStart="@dimen/spacing_large" android:layout_marginEnd="@dimen/spacing_large" - android:textSize="16sp" - android:textStyle="bold" - android:textColor="@color/brand_300" + style="@style/Subheader2" + android:textColor="@color/black" /> @@ -124,34 +124,34 @@ android:text="@string/suggestions_feedback" android:layout_marginStart="@dimen/spacing_large" android:layout_marginEnd="@dimen/spacing_large" - android:textSize="16sp" - android:textStyle="bold" - android:textColor="@color/brand_300" + style="@style/Subheader2" + android:textColor="@color/black" /> @@ -164,7 +164,8 @@ android:id="@+id/reset_tutorial_button" android:layout_width="match_parent" android:layout_height="wrap_content" - style="@style/HabiticaButton.Blue" + style="@style/HabiticaButton.Gray.600" + android:textColor="@color/gray_50" android:text="@string/reset_walkthrough" android:layout_margin="@dimen/spacing_large"/> \ No newline at end of file diff --git a/Habitica/res/layout/support_collapsible_section.xml b/Habitica/res/layout/support_collapsible_section.xml index d2a0216aa..db70187a9 100644 --- a/Habitica/res/layout/support_collapsible_section.xml +++ b/Habitica/res/layout/support_collapsible_section.xml @@ -26,15 +26,14 @@ android:id="@+id/title_view" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textSize="14sp" - android:textStyle="bold" + style="@style/Body1" tools:text="Title"/> + + + + Headband Accent Buy All + Read More diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/components/UserComponent.java b/Habitica/src/main/java/com/habitrpg/android/habitica/components/UserComponent.java index 125a3a599..92774ceee 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/components/UserComponent.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/components/UserComponent.java @@ -93,6 +93,7 @@ import com.habitrpg.android.habitica.ui.fragments.social.party.PartyDetailFragme import com.habitrpg.android.habitica.ui.fragments.social.party.PartyFragment; import com.habitrpg.android.habitica.ui.fragments.social.party.PartyInviteFragment; import com.habitrpg.android.habitica.ui.fragments.support.BugFixFragment; +import com.habitrpg.android.habitica.ui.fragments.support.FAQDetailFragment; import com.habitrpg.android.habitica.ui.fragments.support.FAQOverviewFragment; import com.habitrpg.android.habitica.ui.fragments.support.SupportMainFragment; import com.habitrpg.android.habitica.ui.fragments.tasks.TaskRecyclerViewFragment; @@ -337,4 +338,6 @@ public interface UserComponent { void inject(@NotNull BugFixFragment bugFixFragment); void inject(@NotNull AvatarEquipmentFragment avatarEquipmentFragment); + + void inject(@NotNull FAQDetailFragment faqDetailFragment); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQDetailFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQDetailFragment.kt new file mode 100644 index 000000000..e73f034d9 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQDetailFragment.kt @@ -0,0 +1,53 @@ +package com.habitrpg.android.habitica.ui.fragments.support + +import android.os.Bundle +import android.text.method.LinkMovementMethod +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import com.habitrpg.android.habitica.R +import com.habitrpg.android.habitica.components.UserComponent +import com.habitrpg.android.habitica.data.FAQRepository +import com.habitrpg.android.habitica.extensions.inflate +import com.habitrpg.android.habitica.helpers.RxErrorHandler +import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment +import com.habitrpg.android.habitica.ui.helpers.MarkdownParser +import com.habitrpg.android.habitica.ui.helpers.bindOptionalView +import com.habitrpg.android.habitica.ui.helpers.resetViews +import io.reactivex.functions.Consumer +import javax.inject.Inject + +class FAQDetailFragment : BaseMainFragment() { + @Inject + lateinit var faqRepository: FAQRepository + + private val questionTextView: TextView? by bindOptionalView(R.id.questionTextView) + private val answerTextView: TextView? by bindOptionalView(R.id.answerTextView) + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + hidesToolbar = true + super.onCreateView(inflater, container, savedInstanceState) + return container?.inflate(R.layout.fragment_faq_detail) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + resetViews() + + arguments?.let { + val args = FAQDetailFragmentArgs.fromBundle(it) + compositeSubscription.add(faqRepository.getArticle(args.position).subscribe(Consumer { faq -> + this.questionTextView?.text = faq.question + this.answerTextView?.text = MarkdownParser.parseMarkdown(faq.answer) + }, RxErrorHandler.handleEmptyError())) + } + + this.answerTextView?.movementMethod = LinkMovementMethod.getInstance() + } + + override fun injectFragment(component: UserComponent) { + component.inject(this) + } +} \ No newline at end of file diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQOverviewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQOverviewFragment.kt index d2e9171e1..cdfa5d49b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQOverviewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/support/FAQOverviewFragment.kt @@ -12,14 +12,12 @@ import com.habitrpg.android.habitica.components.UserComponent import com.habitrpg.android.habitica.data.FAQRepository import com.habitrpg.android.habitica.databinding.FragmentFaqOverviewBinding import com.habitrpg.android.habitica.databinding.SupportFaqItemBinding -import com.habitrpg.android.habitica.extensions.addCloseButton import com.habitrpg.android.habitica.extensions.layoutInflater import com.habitrpg.android.habitica.helpers.MainNavigationController import com.habitrpg.android.habitica.helpers.RxErrorHandler import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment import com.habitrpg.android.habitica.ui.helpers.setMarkdown import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper -import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog import io.reactivex.functions.Consumer import javax.inject.Inject @@ -71,11 +69,7 @@ class FAQOverviewFragment : BaseMainFragment() { val binding = SupportFaqItemBinding.inflate(context.layoutInflater, binding.faqLinearLayout, true) binding.textView.text = article.question binding.root.setOnClickListener { - val dialog = HabiticaAlertDialog(binding.root.context) - dialog.setTitle(article.question) - dialog.setMessage(article.answer) - dialog.addCloseButton() - dialog.show() + MainNavigationController.navigate(FAQOverviewFragmentDirections.openFAQDetail(article.position ?: 0)) } } }, RxErrorHandler.handleEmptyError()))