@@ -4,14 +4,13 @@ import android.content.Intent
44import android.os.Bundle
55import android.view.MenuItem
66import 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
108import dagger.hilt.android.AndroidEntryPoint
119import org.wordpress.android.R
1210import org.wordpress.android.databinding.ActivityLogListActivityBinding
1311import org.wordpress.android.ui.LocaleAwareActivity
1412import org.wordpress.android.ui.RequestCodes
13+ import org.wordpress.android.ui.ScrollableViewInitializedListener
1514import org.wordpress.android.ui.activitylog.detail.ActivityLogDetailActivity
1615import org.wordpress.android.ui.jetpack.backup.download.KEY_BACKUP_DOWNLOAD_ACTION_STATE_ID
1716import 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_
2625import javax.inject.Inject
2726
2827@AndroidEntryPoint
29- class ActivityLogListActivity : LocaleAwareActivity () {
28+ class ActivityLogListActivity : LocaleAwareActivity (), ScrollableViewInitializedListener {
3029 @Inject lateinit var jetpackBrandingUtils: JetpackBrandingUtils
30+ private var binding: ActivityLogListActivityBinding ? = null
3131
3232 override fun onCreate (savedInstanceState : Bundle ? ) {
3333 super .onCreate(savedInstanceState)
3434 with (ActivityLogListActivityBinding .inflate(layoutInflater)) {
3535 setContentView(root)
36+ binding = this
3637 checkAndUpdateUiToBackupScreen()
3738
3839 setSupportActionBar(toolbarMain)
40+ }
41+ supportActionBar?.let {
42+ it.setHomeButtonEnabled(true )
43+ it.setDisplayHomeAsUpEnabled(true )
44+ }
45+ }
3946
40- if (jetpackBrandingUtils.shouldShowJetpackBranding() ) {
41- jetpackBanner.root.isVisible = true
42- jetpackBrandingUtils.setNavigationBarColorForBanner(window)
47+ override fun onScrollableViewInitialized ( containerId : Int ) {
48+ initJetpackBanner(containerId)
49+ }
4350
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)
4961
5062 if (jetpackBrandingUtils.shouldShowJetpackPoweredBottomSheet()) {
51- jetpackBanner.root.setOnClickListener {
63+ binding?. jetpackBanner? .root? .setOnClickListener {
5264 jetpackBrandingUtils.trackBannerTapped(ACTIVITY_LOG )
5365 JetpackPoweredBottomSheetFragment
5466 .newInstance()
@@ -57,10 +69,6 @@ class ActivityLogListActivity : LocaleAwareActivity() {
5769 }
5870 }
5971 }
60- supportActionBar?.let {
61- it.setHomeButtonEnabled(true )
62- it.setDisplayHomeAsUpEnabled(true )
63- }
6472 }
6573
6674 /* *
0 commit comments