1- package com.w2sv.autocrop.activities.cropping .fragments.cropping
1+ package com.w2sv.autocrop.activities.crop .fragments.cropping
22
33import android.content.Intent
44import android.os.Bundle
55import android.view.View
6+ import androidx.fragment.app.activityViewModels
67import androidx.fragment.app.viewModels
78import androidx.lifecycle.LifecycleOwner
89import androidx.lifecycle.lifecycleScope
910import androidx.lifecycle.viewModelScope
1011import com.blogspot.atifsoftwares.animatoolib.Animatoo
11- import com.w2sv.autocrop.CropBundle
12+ import com.w2sv.autocrop.cropping.cropbundle. CropBundle
1213import com.w2sv.autocrop.R
13- import com.w2sv.autocrop.Screenshot
14- import com.w2sv.autocrop.activities.cropping.CropActivity
15- import com.w2sv.autocrop.activities.cropping.cropping.cropEdgesCandidates
16- import com.w2sv.autocrop.activities.cropping.cropping.maxHeightEdges
17- import com.w2sv.autocrop.activities.cropping.fragments.CropActivityFragment
18- import com.w2sv.autocrop.activities.cropping.fragments.croppingfailed.CroppingFailedFragment
19- import com.w2sv.autocrop.activities.iodetermination.IODeterminationActivity
20- import com.w2sv.autocrop.activities.iodetermination.IODeterminationActivityViewModel
14+ import com.w2sv.autocrop.cropping.cropbundle.Screenshot
15+ import com.w2sv.autocrop.activities.crop.CropActivity
16+ import com.w2sv.autocrop.activities.crop.CropActivityViewModel
17+ import com.w2sv.autocrop.cropping.cropEdgesCandidates
18+ import com.w2sv.autocrop.cropping.maxHeightEdges
19+ import com.w2sv.autocrop.activities.crop.fragments.croppingfailed.CroppingFailedFragment
20+ import com.w2sv.autocrop.activities.cropexamination.CropExaminationActivity
21+ import com.w2sv.autocrop.activities.cropexamination.CropExaminationActivityViewModel
22+ import com.w2sv.autocrop.controller.ApplicationFragment
2123import com.w2sv.autocrop.databinding.FragmentCropBinding
2224import com.w2sv.autocrop.utils.android.BackPressListener
2325import com.w2sv.autocrop.utils.android.extensions.getLong
@@ -28,13 +30,14 @@ import com.w2sv.kotlinutils.extensions.launchDelayed
2830import kotlinx.coroutines.Job
2931
3032class CropFragment
31- : CropActivityFragment <FragmentCropBinding >(FragmentCropBinding ::class .java) {
33+ : ApplicationFragment <FragmentCropBinding >(FragmentCropBinding ::class .java) {
3234
3335 class ViewModel : androidx.lifecycle.ViewModel () {
3436 val backPressListener = BackPressListener (viewModelScope)
3537 }
3638
3739 private val viewModel by viewModels<ViewModel >()
40+ private val activityViewModel by activityViewModels<CropActivityViewModel >()
3841
3942 fun onBackPress () {
4043 viewModel.backPressListener(
@@ -45,15 +48,15 @@ class CropFragment
4548 .show()
4649 },
4750 {
48- castActivity.startMainActivity()
51+ castActivity< CropActivity >() .startMainActivity()
4952 }
5053 )
5154 }
5255
5356 override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
5457 super .onViewCreated(view, savedInstanceState)
5558
56- applicationViewModel .liveCropBundles.observe(activity as LifecycleOwner ) {
59+ activityViewModel .liveCropBundles.observe(activity as LifecycleOwner ) {
5760 binding.progressTv.update(it.size)
5861 binding.croppingProgressBar.progress = it.size
5962 }
@@ -71,13 +74,13 @@ class CropFragment
7174 }
7275
7376 private fun cropImages () {
74- applicationViewModel .imminentUris.forEach { uri ->
77+ activityViewModel .imminentUris.forEach { uri ->
7578 try {
7679 // attempt to crop image; upon success add CropBundle to sharedViewModel
7780 val bitmap = requireContext().contentResolver.loadBitmap(uri)
7881
7982 bitmap.cropEdgesCandidates()?.let { candidates ->
80- applicationViewModel .liveCropBundles.add(
83+ activityViewModel .liveCropBundles.add(
8184 CropBundle .assemble(
8285 Screenshot (
8386 uri,
@@ -97,7 +100,7 @@ class CropFragment
97100 }
98101
99102 private fun proceed () {
100- if (applicationViewModel .liveCropBundles.isNotEmpty())
103+ if (activityViewModel .liveCropBundles.isNotEmpty())
101104 startIODeterminationActivity()
102105 else
103106 lifecycleScope.launchDelayed(resources.getLong(R .integer.delay_small)) {
@@ -115,16 +118,16 @@ class CropFragment
115118 }
116119
117120 /* *
118- * Inherently sets [IODeterminationActivityViewModel .cropBundles]
121+ * Inherently sets [CropExaminationActivityViewModel .cropBundles]
119122 */
120123 private fun startIODeterminationActivity () {
121- IODeterminationActivityViewModel .cropBundles = applicationViewModel .liveCropBundles
124+ CropExaminationActivityViewModel .cropBundles = activityViewModel .liveCropBundles
122125
123126 requireActivity().let {
124127 startActivity(
125- Intent (it, IODeterminationActivity ::class .java).putExtra(
128+ Intent (it, CropExaminationActivity ::class .java).putExtra(
126129 CropActivity .EXTRA_N_UNCROPPED_IMAGES ,
127- applicationViewModel .nUncroppedImages
130+ activityViewModel .nUncroppedImages
128131 )
129132 )
130133 Animatoo .animateSwipeLeft(it)
0 commit comments