Skip to content

Commit 274782a

Browse files
committed
Update bottom sheet fragment for RTL
1 parent a3b53bb commit 274782a

1 file changed

Lines changed: 43 additions & 21 deletions

File tree

WordPress/src/main/java/org/wordpress/android/ui/mysite/jetpackbadge/JetpackPoweredBottomSheetFragment.kt

Lines changed: 43 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
package org.wordpress.android.ui.mysite.jetpackbadge
22

3+
import android.content.res.Configuration
34
import android.content.res.Resources
45
import android.os.Bundle
56
import android.view.LayoutInflater
67
import android.view.View
78
import android.view.ViewGroup
89
import android.widget.FrameLayout
10+
import androidx.core.view.ViewCompat.LAYOUT_DIRECTION_RTL
911
import androidx.fragment.app.viewModels
1012
import com.google.android.material.bottomsheet.BottomSheetBehavior
1113
import com.google.android.material.bottomsheet.BottomSheetDialog
1214
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
1315
import dagger.hilt.android.AndroidEntryPoint
1416
import org.wordpress.android.R
17+
import org.wordpress.android.R.raw
18+
import org.wordpress.android.R.string
1519
import org.wordpress.android.databinding.JetpackPoweredBottomSheetBinding
1620
import org.wordpress.android.databinding.JetpackPoweredExpandedBottomSheetBinding
1721
import 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

Comments
 (0)