Skip to content

Commit 159f018

Browse files
committed
Init banner animation in onCreateView to get rid of ScrollableViewInitializedListener
1 parent 172e452 commit 159f018

2 files changed

Lines changed: 17 additions & 45 deletions

File tree

WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostListFragment.java

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@
7272
import org.wordpress.android.ui.EmptyViewMessageType;
7373
import org.wordpress.android.ui.FilteredRecyclerView;
7474
import org.wordpress.android.ui.RequestCodes;
75-
import org.wordpress.android.ui.ScrollableViewInitializedListener;
7675
import org.wordpress.android.ui.ViewPagerFragment;
7776
import org.wordpress.android.ui.main.BottomNavController;
7877
import org.wordpress.android.ui.main.SitePickerActivity;
@@ -529,21 +528,11 @@ private void showJetpackBanner() {
529528
mJetpackBrandingUtils.setNavigationBarColorForBanner(requireActivity().getWindow());
530529
mJetpackBanner.setVisibility(View.VISIBLE);
531530

532-
if (mJetpackBrandingUtils.shouldShowJetpackPoweredBottomSheet()) {
533-
mJetpackBanner.setOnClickListener(v -> {
534-
mJetpackBrandingUtils.trackBannerTapped(Screen.READER_SEARCH);
535-
new JetpackPoweredBottomSheetFragment()
536-
.show(getChildFragmentManager(), JetpackPoweredBottomSheetFragment.TAG);
537-
});
538-
}
539-
540-
if (!isSearching()) {
541-
// Add bottom margin to search suggestions post list and empty view.
542-
int jetpackBannerHeight = getResources().getDimensionPixelSize(R.dimen.jetpack_banner_height);
543-
((MarginLayoutParams) mRecyclerView.getSearchSuggestionsRecyclerView().getLayoutParams()).bottomMargin
544-
= jetpackBannerHeight;
545-
((MarginLayoutParams) mActionableEmptyView.getLayoutParams()).bottomMargin = jetpackBannerHeight;
546-
}
531+
// Add bottom margin to search suggestions list and empty view.
532+
int jetpackBannerHeight = getResources().getDimensionPixelSize(R.dimen.jetpack_banner_height);
533+
((MarginLayoutParams) mRecyclerView.getSearchSuggestionsRecyclerView().getLayoutParams()).bottomMargin
534+
= jetpackBannerHeight;
535+
((MarginLayoutParams) mActionableEmptyView.getLayoutParams()).bottomMargin = jetpackBannerHeight;
547536
}
548537

549538
private void hideJetpackBanner() {
@@ -791,11 +780,6 @@ public void onResume() {
791780
showEmptyView();
792781
}
793782

794-
if (getActivity() instanceof ScrollableViewInitializedListener) {
795-
((ScrollableViewInitializedListener) getActivity())
796-
.onScrollableViewInitialized(mRecyclerView.getInternalRecyclerView().getId());
797-
}
798-
799783
mViewModel.onFragmentResume(mIsTopLevel, isSearching(), isFilterableScreen(),
800784
isFilterableScreen() ? mSubFilterViewModel.getCurrentSubfilterValue() : null);
801785
}
@@ -1162,6 +1146,17 @@ public void onShowCustomEmptyView(EmptyViewMessageType emptyViewMsgType) {
11621146
mProgress.setVisibility(View.GONE);
11631147

11641148
mJetpackBanner = rootView.findViewById(R.id.jetpack_banner);
1149+
if (mJetpackBrandingUtils.shouldShowJetpackBranding()) {
1150+
mJetpackBrandingUtils.initJetpackBannerAnimation(mJetpackBanner, mRecyclerView.getInternalRecyclerView());
1151+
1152+
if (mJetpackBrandingUtils.shouldShowJetpackPoweredBottomSheet()) {
1153+
mJetpackBanner.setOnClickListener(v -> {
1154+
mJetpackBrandingUtils.trackBannerTapped(Screen.READER_SEARCH);
1155+
new JetpackPoweredBottomSheetFragment()
1156+
.show(getChildFragmentManager(), JetpackPoweredBottomSheetFragment.TAG);
1157+
});
1158+
}
1159+
}
11651160

11661161
if (savedInstanceState != null && savedInstanceState.getBoolean(ReaderConstants.KEY_IS_REFRESHING)) {
11671162
mIsUpdating = true;
Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
package org.wordpress.android.ui.reader
22

33
import android.os.Bundle
4-
import android.view.View
5-
import androidx.recyclerview.widget.RecyclerView
64
import dagger.hilt.android.AndroidEntryPoint
75
import org.wordpress.android.R
86
import org.wordpress.android.WordPress
97
import org.wordpress.android.ui.LocaleAwareActivity
10-
import org.wordpress.android.ui.ScrollableViewInitializedListener
118
import org.wordpress.android.ui.reader.tracker.ReaderTracker
129
import org.wordpress.android.ui.reader.tracker.ReaderTrackerType.MAIN_READER
1310
import org.wordpress.android.util.JetpackBrandingUtils
@@ -19,8 +16,7 @@ import javax.inject.Inject
1916
* into new tested classes without requiring us to change the search behavior.
2017
*/
2118
@AndroidEntryPoint
22-
class ReaderSearchActivity : LocaleAwareActivity(),
23-
ScrollableViewInitializedListener {
19+
class ReaderSearchActivity : LocaleAwareActivity() {
2420
@Inject lateinit var readerTracker: ReaderTracker
2521
@Inject lateinit var jetpackBrandingUtils: JetpackBrandingUtils
2622

@@ -47,23 +43,4 @@ class ReaderSearchActivity : LocaleAwareActivity(),
4743
super.onPause()
4844
readerTracker.stop(MAIN_READER)
4945
}
50-
51-
override fun onScrollableViewInitialized(containerId: Int) {
52-
val fragmentContainer = supportFragmentManager.findFragmentById(R.id.fragment_container)
53-
54-
if (fragmentContainer is ReaderPostListFragment) {
55-
val fragmentView = fragmentContainer.view ?: return
56-
57-
fragmentView.post {
58-
// post is used to create a minimal delay here. containerId changes just before
59-
// onScrollableViewInitialized is called, and findViewById can't find the new id before the delay.
60-
val jetpackBannerView = fragmentView.findViewById<View>(R.id.jetpack_banner)
61-
val scrollableView = fragmentView.findViewById<View>(containerId) as RecyclerView
62-
63-
if (jetpackBrandingUtils.shouldShowJetpackBranding()) {
64-
jetpackBrandingUtils.initJetpackBannerAnimation(jetpackBannerView, scrollableView)
65-
}
66-
}
67-
}
68-
}
6946
}

0 commit comments

Comments
 (0)