Fix issue where postponed transition would not start at the right time.
This commit is contained in:
parent
39d07c0081
commit
2674fd2df4
5 changed files with 25 additions and 25 deletions
|
@ -61,6 +61,9 @@ class PhotoEditorFragment : Fragment(R.layout.avatar_photo_editor_fragment), Ima
|
|||
Navigation.findNavController(requireView()).popBackStack()
|
||||
}
|
||||
|
||||
override fun restoreState() {
|
||||
}
|
||||
|
||||
override fun onMainImageLoaded() {
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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 {
|
||||
when (it) {
|
||||
HudCommand.ResumeEntryTransition -> startPostponedEnterTransition()
|
||||
else -> Unit
|
||||
}
|
||||
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) {
|
||||
|
|
|
@ -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,8 +589,10 @@ public final class ImageEditorFragment extends Fragment implements ImageEditorHu
|
|||
|
||||
@Override
|
||||
public void onClearAll() {
|
||||
imageEditorView.getModel().clearUndoStack();
|
||||
updateHudDialRotation();
|
||||
if (imageEditorView != null) {
|
||||
imageEditorView.getModel().clearUndoStack();
|
||||
updateHudDialRotation();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1050,6 +1053,8 @@ public final class ImageEditorFragment extends Fragment implements ImageEditorHu
|
|||
void onMainImageLoaded();
|
||||
|
||||
void onMainImageFailedToLoad();
|
||||
|
||||
void restoreState();
|
||||
}
|
||||
|
||||
private static class FaceDetectionResult {
|
||||
|
|
Loading…
Add table
Reference in a new issue