Fix issue where postponed transition would not start at the right time.

This commit is contained in:
Alex Hart 2022-07-28 10:07:40 -03:00 committed by Greyson Parrelli
parent 39d07c0081
commit 2674fd2df4
5 changed files with 25 additions and 25 deletions

View file

@ -61,6 +61,9 @@ class PhotoEditorFragment : Fragment(R.layout.avatar_photo_editor_fragment), Ima
Navigation.findNavController(requireView()).popBackStack()
}
override fun restoreState() {
}
override fun onMainImageLoaded() {
}

View file

@ -183,6 +183,10 @@ public class AvatarSelectionActivity extends AppCompatActivity implements Camera
}
@Override
public void restoreState() {
}
public boolean popToRoot() {
final int backStackCount = getSupportFragmentManager().getBackStackEntryCount();
if (backStackCount == 0) {

View file

@ -69,11 +69,6 @@ class MediaReviewImagePageFragment : Fragment(R.layout.fragment_container), Imag
}
}
override fun onViewStateRestored(savedInstanceState: Bundle?) {
super.onViewStateRestored(savedInstanceState)
restoreImageEditorState()
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
@ -84,7 +79,6 @@ class MediaReviewImagePageFragment : Fragment(R.layout.fragment_container), Imag
val fragmentInManager: ImageEditorFragment? = childFragmentManager.findFragmentByTag(IMAGE_EDITOR_TAG) as? ImageEditorFragment
return if (fragmentInManager != null) {
sharedViewModel.sendCommand(HudCommand.ResumeEntryTransition)
fragmentInManager
} else {
val imageEditorFragment = ImageEditorFragment.newInstance(
@ -131,7 +125,7 @@ class MediaReviewImagePageFragment : Fragment(R.layout.fragment_container), Imag
}
override fun onCancelEditing() {
restoreImageEditorState()
restoreState()
}
override fun onMainImageLoaded() {
@ -142,7 +136,7 @@ class MediaReviewImagePageFragment : Fragment(R.layout.fragment_container), Imag
sharedViewModel.sendCommand(HudCommand.ResumeEntryTransition)
}
private fun restoreImageEditorState() {
override fun restoreState() {
val data = sharedViewModel.getEditorState(requireUri()) as? ImageEditorFragment.Data
if (data != null) {

View file

@ -23,7 +23,6 @@ import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
import app.cash.exhaustive.Exhaustive
import io.reactivex.rxjava3.disposables.CompositeDisposable
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.contacts.paged.ContactSearchKey
import org.thoughtcrime.securesms.conversation.MessageSendType
@ -40,6 +39,7 @@ import org.thoughtcrime.securesms.mediasend.v2.MediaValidator
import org.thoughtcrime.securesms.mediasend.v2.stories.StoriesMultiselectForwardActivity
import org.thoughtcrime.securesms.mms.SentMediaQuality
import org.thoughtcrime.securesms.permissions.Permissions
import org.thoughtcrime.securesms.util.LifecycleDisposable
import org.thoughtcrime.securesms.util.MediaUtil
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.fragments.requireListener
@ -80,11 +80,13 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
)
private var animatorSet: AnimatorSet? = null
private var disposables: CompositeDisposable? = null
private var disposables: LifecycleDisposable = LifecycleDisposable()
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
postponeEnterTransition()
disposables.bindTo(viewLifecycleOwner)
callback = requireListener()
drawToolButton = view.findViewById(R.id.draw_tool)
@ -110,15 +112,12 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
val pagerAdapter = MediaReviewFragmentPagerAdapter(this)
disposables = CompositeDisposable()
disposables?.add(
sharedViewModel.hudCommands.subscribe {
disposables += sharedViewModel.hudCommands.subscribe {
when (it) {
HudCommand.ResumeEntryTransition -> startPostponedEnterTransition()
else -> Unit
}
}
)
pager.adapter = pagerAdapter
@ -251,11 +250,6 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) {
Permissions.onRequestPermissionsResult(this, requestCode, permissions, grantResults)
}
override fun onDestroyView() {
disposables?.dispose()
super.onDestroyView()
}
private fun handleMediaValidatorFilterError(error: MediaValidator.FilterError) {
@Exhaustive
when (error) {

View file

@ -220,6 +220,7 @@ public final class ImageEditorFragment extends Fragment implements ImageEditorHu
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
controller.restoreState();
Mode mode = Mode.getByCode(requireArguments().getString(KEY_MODE));
@ -588,9 +589,11 @@ public final class ImageEditorFragment extends Fragment implements ImageEditorHu
@Override
public void onClearAll() {
if (imageEditorView != null) {
imageEditorView.getModel().clearUndoStack();
updateHudDialRotation();
}
}
@Override
public void onCancel() {
@ -1050,6 +1053,8 @@ public final class ImageEditorFragment extends Fragment implements ImageEditorHu
void onMainImageLoaded();
void onMainImageFailedToLoad();
void restoreState();
}
private static class FaceDetectionResult {