11package org.wordpress.android.ui.mysite.jetpackbadge
22
3+ import android.content.res.Configuration
34import android.content.res.Resources
45import android.os.Bundle
56import android.view.LayoutInflater
67import android.view.View
78import android.view.ViewGroup
89import android.widget.FrameLayout
10+ import androidx.core.view.ViewCompat.LAYOUT_DIRECTION_RTL
911import androidx.fragment.app.viewModels
1012import com.google.android.material.bottomsheet.BottomSheetBehavior
1113import com.google.android.material.bottomsheet.BottomSheetDialog
1214import com.google.android.material.bottomsheet.BottomSheetDialogFragment
1315import dagger.hilt.android.AndroidEntryPoint
1416import org.wordpress.android.R
17+ import org.wordpress.android.R.raw
18+ import org.wordpress.android.R.string
1519import org.wordpress.android.databinding.JetpackPoweredBottomSheetBinding
1620import org.wordpress.android.databinding.JetpackPoweredExpandedBottomSheetBinding
1721import org.wordpress.android.ui.ActivityLauncherWrapper
@@ -54,29 +58,10 @@ class JetpackPoweredBottomSheetFragment : BottomSheetDialogFragment() {
5458 super .onViewCreated(view, savedInstanceState)
5559
5660 if (fullScreen) {
57- with (JetpackPoweredExpandedBottomSheetBinding .bind(view)) {
58- when (arguments?.getSerializable(KEY_SITE_SCREEN ) as ? PageType ? : MY_SITE ) {
59- MY_SITE -> {
60- title.text = getString(R .string.wp_jetpack_powered_stats_powered_by_jetpack)
61- caption.text = getString(R .string.wp_jetpack_powered_stats_powered_by_jetpack_caption)
62- secondaryButton.text = getString(R .string.wp_jetpack_continue_to_stats)
63- }
64- READER -> {
65- title.text = getString(R .string.wp_jetpack_powered_reader_powered_by_jetpack)
66- caption.text = getString(R .string.wp_jetpack_powered_reader_powered_by_jetpack_caption)
67- secondaryButton.text = getString(R .string.wp_jetpack_continue_to_reader)
68- }
69- NOTIFS -> {
70- title.text = getString(R .string.wp_jetpack_powered_notifications_powered_by_jetpack)
71- caption.text = getString(R .string.wp_jetpack_powered_notifications_powered_by_jetpack_caption)
72- secondaryButton.text = getString(R .string.wp_jetpack_continue_to_notifications)
73- }
74- }
75- primaryButton.setOnClickListener { viewModel.openJetpackAppDownloadLink() }
76- secondaryButton.setOnClickListener { viewModel.dismissBottomSheet() }
77- }
61+ setupFullScreenViews(view)
7862 } else {
7963 with (JetpackPoweredBottomSheetBinding .bind(view)) {
64+ if (rtlLayout(view)) illustrationView.setAnimation(R .raw.wp2jp_rtl)
8065 primaryButton.setOnClickListener { viewModel.openJetpackAppDownloadLink() }
8166 }
8267 }
@@ -97,6 +82,43 @@ class JetpackPoweredBottomSheetFragment : BottomSheetDialogFragment() {
9782 setupObservers()
9883 }
9984
85+ private fun setupFullScreenViews (view : View ) {
86+ with (JetpackPoweredExpandedBottomSheetBinding .bind(view)) {
87+ when (arguments?.getSerializable(KEY_SITE_SCREEN ) as ? PageType ? : MY_SITE ) {
88+ MY_SITE -> {
89+ val animRes = if (rtlLayout(view)) raw.jp_stats_rtl else raw.jp_stats_left
90+ illustrationView.setAnimation(animRes)
91+ title.text = getString(string.wp_jetpack_powered_stats_powered_by_jetpack)
92+ caption.text = getString(string.wp_jetpack_powered_stats_powered_by_jetpack_caption)
93+ secondaryButton.text = getString(string.wp_jetpack_continue_to_stats)
94+ }
95+ READER -> {
96+ val animRes = if (rtlLayout(view)) raw.jp_reader_rtl else raw.jp_reader_left
97+ illustrationView.setAnimation(animRes)
98+ title.text = getString(string.wp_jetpack_powered_reader_powered_by_jetpack)
99+ caption.text = getString(string.wp_jetpack_powered_reader_powered_by_jetpack_caption)
100+ secondaryButton.text = getString(string.wp_jetpack_continue_to_reader)
101+ }
102+ NOTIFS -> {
103+ val animRes = if (rtlLayout(view)) raw.jp_notifications_rtl else raw.jp_notifications_left
104+ illustrationView.setAnimation(animRes)
105+ title.text = getString(string.wp_jetpack_powered_notifications_powered_by_jetpack)
106+ caption.text = getString(string.wp_jetpack_powered_notifications_powered_by_jetpack_caption)
107+ secondaryButton.text = getString(string.wp_jetpack_continue_to_notifications)
108+ }
109+ }
110+ primaryButton.setOnClickListener { viewModel.openJetpackAppDownloadLink() }
111+ secondaryButton.setOnClickListener { viewModel.dismissBottomSheet() }
112+ }
113+ }
114+
115+ private fun rtlLayout (view : View ): Boolean {
116+ val config: Configuration = resources.configuration
117+ view.layoutDirection = config.layoutDirection
118+
119+ return view.layoutDirection == LAYOUT_DIRECTION_RTL
120+ }
121+
100122 private fun setupObservers () {
101123 viewModel.action.observe(viewLifecycleOwner) { action ->
102124 when (action) {
0 commit comments