3

The method setEnterSharedElementCallback is not working on android 10 after onPause (start new activity, home press), if onPause is not call, everything is work fine. I tested on S10 and Google pixel 2, pixel 4. Below android 10, all device work good.

@Override
public void finishAfterTransition() {
    onFinish();
    super.finishAfterTransition();
}

 private void onFinish() {
    setEnterSharedElementCallback(new SharedElementCallback() {
        @Override
        public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) {
            super.onMapSharedElements(names, sharedElements);
            Fragment fragment = getCurrentFragment();
            if (fragment == null) {
                return;
            }
            View view = ((BaseMediaFragment) fragment).getTransitionView();
            if (view == null) {
                return;
            }
            view.setTransitionName(mMedias.get(mViewPager.getCurrentItem()).getId());
            names.clear();
            sharedElements.clear();

            Media media = getCurrentMedia();
            String transitionName = view.getTransitionName();
            names.add(transitionName);
            sharedElements.put(transitionName, view);
            setExitSharedElementCallback((SharedElementCallback) null);
            Intent intent = new Intent();
            intent.putExtra(Constants.ExtraKey.EXTRA_ID_SELECTED, media.getId());
            intent.putExtra(Constants.ExtraKey.EXTRA_ALBUM, mAlbum);
            setResult(Activity.RESULT_OK, intent);
        }
    });
}
RedT
  • 31
  • 1
  • 2

0 Answers0