docs: public void onScrollChanged(int scrollY, Scrollable s) {
          FlexibleSpaceWithImageBaseFragment fragment =
                  (FlexibleSpaceWithImageBaseFragment) mPagerAdapter.getItemAt(mPager.getCurrentItem());
          if (fragment == null) {
              return;
          }
          View view = fragment.getView();
          if (view == null) {
              return;
          }
          Scrollable scrollable = (Scrollable) view.findViewById(R.id.scroll);
          if (scrollable == null) {
              return;
          }
          if (scrollable == s) {
              // This method is called by not only the current fragment but also other fragments
              // when their scrollY is changed.
              // So we need to check the caller(S) is the current fragment.
              int adjustedScrollY = Math.min(scrollY, mFlexibleSpaceHeight - mTabHeight);
              translateTab(adjustedScrollY, false);
              propagateScroll(adjustedScrollY);
          }
      }