@@ -4,14 +4,13 @@ import android.content.Intent
4
4
import android.os.Bundle
5
5
import android.view.MenuItem
6
6
import android.view.View
7
- import android.view.ViewGroup.MarginLayoutParams
8
- import androidx.core.view.isVisible
9
- import androidx.core.view.updateLayoutParams
7
+ import androidx.recyclerview.widget.RecyclerView
10
8
import dagger.hilt.android.AndroidEntryPoint
11
9
import org.wordpress.android.R
12
10
import org.wordpress.android.databinding.ActivityLogListActivityBinding
13
11
import org.wordpress.android.ui.LocaleAwareActivity
14
12
import org.wordpress.android.ui.RequestCodes
13
+ import org.wordpress.android.ui.ScrollableViewInitializedListener
15
14
import org.wordpress.android.ui.activitylog.detail.ActivityLogDetailActivity
16
15
import org.wordpress.android.ui.jetpack.backup.download.KEY_BACKUP_DOWNLOAD_ACTION_STATE_ID
17
16
import org.wordpress.android.ui.jetpack.backup.download.KEY_BACKUP_DOWNLOAD_DOWNLOAD_ID
@@ -26,29 +25,42 @@ import org.wordpress.android.viewmodel.activitylog.ACTIVITY_LOG_REWINDABLE_ONLY_
26
25
import javax.inject.Inject
27
26
28
27
@AndroidEntryPoint
29
- class ActivityLogListActivity : LocaleAwareActivity () {
28
+ class ActivityLogListActivity : LocaleAwareActivity (), ScrollableViewInitializedListener {
30
29
@Inject lateinit var jetpackBrandingUtils: JetpackBrandingUtils
30
+ private var binding: ActivityLogListActivityBinding ? = null
31
31
32
32
override fun onCreate (savedInstanceState : Bundle ? ) {
33
33
super .onCreate(savedInstanceState)
34
34
with (ActivityLogListActivityBinding .inflate(layoutInflater)) {
35
35
setContentView(root)
36
+ binding = this
36
37
checkAndUpdateUiToBackupScreen()
37
38
38
39
setSupportActionBar(toolbarMain)
40
+ }
41
+ supportActionBar?.let {
42
+ it.setHomeButtonEnabled(true )
43
+ it.setDisplayHomeAsUpEnabled(true )
44
+ }
45
+ }
39
46
40
- if (jetpackBrandingUtils.shouldShowJetpackBranding() ) {
41
- jetpackBanner.root.isVisible = true
42
- jetpackBrandingUtils.setNavigationBarColorForBanner(window)
47
+ override fun onScrollableViewInitialized ( containerId : Int ) {
48
+ initJetpackBanner(containerId)
49
+ }
43
50
44
- // Add bottom margin to content.
45
- val fragment = supportFragmentManager.findFragmentById(R .id.fragment_container)
46
- fragment?.view?.updateLayoutParams<MarginLayoutParams > {
47
- bottomMargin = resources.getDimensionPixelSize(R .dimen.jetpack_banner_height)
48
- }
51
+ private fun initJetpackBanner (scrollableContainerId : Int ) {
52
+ if (jetpackBrandingUtils.shouldShowJetpackBranding()) {
53
+ binding?.root?.post {
54
+ val jetpackBannerView = binding?.jetpackBanner?.root ? : return @post
55
+ val scrollableView = binding?.root?.findViewById<View >(scrollableContainerId) as ? RecyclerView
56
+ ? : return @post
57
+
58
+ jetpackBrandingUtils.showJetpackBannerIfScrolledToTop(jetpackBannerView, scrollableView)
59
+ window?.let { jetpackBrandingUtils.setNavigationBarColorForBanner(it) }
60
+ jetpackBrandingUtils.initJetpackBannerAnimation(jetpackBannerView, scrollableView)
49
61
50
62
if (jetpackBrandingUtils.shouldShowJetpackPoweredBottomSheet()) {
51
- jetpackBanner.root.setOnClickListener {
63
+ binding?. jetpackBanner? .root? .setOnClickListener {
52
64
jetpackBrandingUtils.trackBannerTapped(ACTIVITY_LOG )
53
65
JetpackPoweredBottomSheetFragment
54
66
.newInstance()
@@ -57,10 +69,6 @@ class ActivityLogListActivity : LocaleAwareActivity() {
57
69
}
58
70
}
59
71
}
60
- supportActionBar?.let {
61
- it.setHomeButtonEnabled(true )
62
- it.setDisplayHomeAsUpEnabled(true )
63
- }
64
72
}
65
73
66
74
/* *
0 commit comments