Skip to content

Commit ee7bba4

Browse files
committed
Remove Activity-respective Fragment superclasses; Restructure
1 parent 0ea4bc6 commit ee7bba4

File tree

71 files changed

+483
-444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+483
-444
lines changed

.idea/workspace.xml

Lines changed: 190 additions & 121 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/androidTest/java/com/w2sv/autocrop/activities/cropping/CroppingTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ package com.w2sv.autocrop.activities.cropping
22

33
import android.graphics.Bitmap
44
import android.graphics.BitmapFactory
5-
import com.w2sv.autocrop.CropEdges
6-
import com.w2sv.autocrop.activities.cropping.cropping.cropEdgesCandidates
7-
import com.w2sv.autocrop.activities.cropping.cropping.maxHeightEdges
5+
import com.w2sv.autocrop.cropping.CropEdges
6+
import com.w2sv.autocrop.cropping.cropEdgesCandidates
7+
import com.w2sv.autocrop.cropping.maxHeightEdges
88
import org.junit.jupiter.api.Assertions
99
import org.junit.jupiter.params.ParameterizedTest
1010
import org.junit.jupiter.params.provider.Arguments

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
</intent-filter>
5757
</activity>
5858

59-
<activity android:name="com.w2sv.autocrop.activities.cropping.CropActivity" />
60-
<activity android:name="com.w2sv.autocrop.activities.iodetermination.IODeterminationActivity" />
59+
<activity android:name="com.w2sv.autocrop.activities.crop.CropActivity" />
60+
<activity android:name="com.w2sv.autocrop.activities.cropexamination.CropExaminationActivity" />
6161

6262
<!-- Services -->
6363

app/src/main/java/com/w2sv/autocrop/activities/cropping/CropActivity.kt renamed to app/src/main/java/com/w2sv/autocrop/activities/crop/CropActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.w2sv.autocrop.activities.cropping
1+
package com.w2sv.autocrop.activities.crop
22

33
import androidx.activity.OnBackPressedCallback
44
import androidx.lifecycle.ViewModelProvider
5-
import com.w2sv.autocrop.activities.cropping.fragments.cropping.CropFragment
6-
import com.w2sv.autocrop.activities.cropping.fragments.croppingfailed.CroppingFailedFragment
5+
import com.w2sv.autocrop.activities.crop.fragments.cropping.CropFragment
6+
import com.w2sv.autocrop.activities.crop.fragments.croppingfailed.CroppingFailedFragment
77
import com.w2sv.autocrop.activities.main.MainActivity
88
import com.w2sv.autocrop.controller.activity.ApplicationActivity
99
import com.w2sv.autocrop.utils.android.extensions.getParcelableArrayList

app/src/main/java/com/w2sv/autocrop/activities/cropping/CropActivityViewModel.kt renamed to app/src/main/java/com/w2sv/autocrop/activities/crop/CropActivityViewModel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.w2sv.autocrop.activities.cropping
1+
package com.w2sv.autocrop.activities.crop
22

33
import android.net.Uri
44
import androidx.lifecycle.ViewModel
55
import androidx.lifecycle.ViewModelProvider
6-
import com.w2sv.autocrop.CropBundle
6+
import com.w2sv.autocrop.cropping.cropbundle.CropBundle
77
import com.w2sv.bidirectionalviewpager.livedata.MutableListLiveData
88

99
class CropActivityViewModel(private val uris: ArrayList<Uri>) : ViewModel() {

app/src/main/java/com/w2sv/autocrop/activities/cropping/fragments/cropping/CropFragment.kt renamed to app/src/main/java/com/w2sv/autocrop/activities/crop/fragments/cropping/CropFragment.kt

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
1-
package com.w2sv.autocrop.activities.cropping.fragments.cropping
1+
package com.w2sv.autocrop.activities.crop.fragments.cropping
22

33
import android.content.Intent
44
import android.os.Bundle
55
import android.view.View
6+
import androidx.fragment.app.activityViewModels
67
import androidx.fragment.app.viewModels
78
import androidx.lifecycle.LifecycleOwner
89
import androidx.lifecycle.lifecycleScope
910
import androidx.lifecycle.viewModelScope
1011
import com.blogspot.atifsoftwares.animatoolib.Animatoo
11-
import com.w2sv.autocrop.CropBundle
12+
import com.w2sv.autocrop.cropping.cropbundle.CropBundle
1213
import 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
2123
import com.w2sv.autocrop.databinding.FragmentCropBinding
2224
import com.w2sv.autocrop.utils.android.BackPressListener
2325
import com.w2sv.autocrop.utils.android.extensions.getLong
@@ -28,13 +30,14 @@ import com.w2sv.kotlinutils.extensions.launchDelayed
2830
import kotlinx.coroutines.Job
2931

3032
class 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)

app/src/main/java/com/w2sv/autocrop/activities/cropping/fragments/cropping/views/CroppingProgressBar.kt renamed to app/src/main/java/com/w2sv/autocrop/activities/crop/fragments/cropping/views/CroppingProgressBar.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.w2sv.autocrop.activities.cropping.fragments.cropping.views
1+
package com.w2sv.autocrop.activities.crop.fragments.cropping.views
22

33
import android.content.Context
44
import android.util.AttributeSet
55
import android.widget.ProgressBar
6-
import com.w2sv.autocrop.activities.cropping.CropActivityViewModel
6+
import com.w2sv.autocrop.activities.crop.CropActivityViewModel
77
import com.w2sv.autocrop.utils.android.extensions.activityViewModelImmediate
88
import com.w2sv.autocrop.utils.android.extensions.ifNotInEditMode
99

app/src/main/java/com/w2sv/autocrop/activities/cropping/fragments/cropping/views/ProgressTextView.kt renamed to app/src/main/java/com/w2sv/autocrop/activities/crop/fragments/cropping/views/ProgressTextView.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package com.w2sv.autocrop.activities.cropping.fragments.cropping.views
1+
package com.w2sv.autocrop.activities.crop.fragments.cropping.views
22

33
import android.content.Context
44
import android.util.AttributeSet
5-
import com.w2sv.autocrop.activities.cropping.CropActivityViewModel
5+
import com.w2sv.autocrop.activities.crop.CropActivityViewModel
66
import com.w2sv.autocrop.ui.views.FractionTextView
77
import com.w2sv.autocrop.utils.android.extensions.activityViewModel
88

app/src/main/java/com/w2sv/autocrop/activities/cropping/fragments/croppingfailed/CroppingFailedFragment.kt renamed to app/src/main/java/com/w2sv/autocrop/activities/crop/fragments/croppingfailed/CroppingFailedFragment.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
package com.w2sv.autocrop.activities.cropping.fragments.croppingfailed
1+
package com.w2sv.autocrop.activities.crop.fragments.croppingfailed
22

33
import android.os.Bundle
44
import android.view.View
5-
import com.w2sv.autocrop.activities.cropping.fragments.CropActivityFragment
5+
import com.w2sv.autocrop.activities.crop.CropActivity
6+
import com.w2sv.autocrop.controller.ApplicationFragment
67
import com.w2sv.autocrop.databinding.FragmentCroppingFailedBinding
78

89
class CroppingFailedFragment
9-
: CropActivityFragment<FragmentCroppingFailedBinding>(FragmentCroppingFailedBinding::class.java) {
10+
: ApplicationFragment<FragmentCroppingFailedBinding>(FragmentCroppingFailedBinding::class.java) {
1011

1112
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
1213
super.onViewCreated(view, savedInstanceState)
1314

1415
binding.gotItButton.setOnClickListener {
15-
castActivity.startMainActivity()
16+
castActivity<CropActivity>().startMainActivity()
1617
}
1718
}
1819
}

app/src/main/java/com/w2sv/autocrop/activities/iodetermination/IODeterminationActivity.kt renamed to app/src/main/java/com/w2sv/autocrop/activities/cropexamination/CropExaminationActivity.kt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
package com.w2sv.autocrop.activities.iodetermination
1+
package com.w2sv.autocrop.activities.cropexamination
22

33
import android.content.Intent
44
import android.net.Uri
55
import androidx.activity.OnBackPressedCallback
66
import androidx.lifecycle.ViewModelProvider
77
import com.w2sv.autocrop.R
8-
import com.w2sv.autocrop.activities.cropping.CropActivity
9-
import com.w2sv.autocrop.activities.iodetermination.fragments.apptitle.AppTitleFragment
10-
import com.w2sv.autocrop.activities.iodetermination.fragments.comparison.ComparisonFragment
11-
import com.w2sv.autocrop.activities.iodetermination.fragments.croppager.CropPagerFragment
12-
import com.w2sv.autocrop.activities.iodetermination.fragments.deletionconfirmation.DeletionConfirmationDialogFragment
13-
import com.w2sv.autocrop.activities.iodetermination.fragments.manualcrop.ManualCropFragment
14-
import com.w2sv.autocrop.activities.iodetermination.fragments.saveall.SaveAllFragment
8+
import com.w2sv.autocrop.activities.crop.CropActivity
9+
import com.w2sv.autocrop.activities.cropexamination.fragments.apptitle.AppTitleFragment
10+
import com.w2sv.autocrop.activities.cropexamination.fragments.comparison.ComparisonFragment
11+
import com.w2sv.autocrop.activities.cropexamination.fragments.croppager.CropPagerFragment
12+
import com.w2sv.autocrop.activities.cropexamination.fragments.deletionconfirmation.DeletionConfirmationDialogFragment
13+
import com.w2sv.autocrop.activities.cropexamination.fragments.manualcrop.ManualCropFragment
14+
import com.w2sv.autocrop.activities.cropexamination.fragments.saveall.SaveAllFragment
1515
import com.w2sv.autocrop.controller.activity.ApplicationActivity
1616
import com.w2sv.autocrop.preferences.BooleanPreferences
1717
import com.w2sv.autocrop.utils.android.extensions.getInt
1818
import com.w2sv.autocrop.utils.android.extensions.getParcelableArrayList
1919
import com.w2sv.autocrop.utils.android.extensions.snackyBuilder
2020

21-
class IODeterminationActivity :
22-
ApplicationActivity<CropPagerFragment, IODeterminationActivityViewModel>(
21+
class CropExaminationActivity :
22+
ApplicationActivity<CropPagerFragment, CropExaminationActivityViewModel>(
2323
CropPagerFragment::class.java,
24-
IODeterminationActivityViewModel::class.java,
24+
CropExaminationActivityViewModel::class.java,
2525
BooleanPreferences
2626
) {
2727

@@ -32,7 +32,7 @@ class IODeterminationActivity :
3232
}
3333

3434
override fun viewModelFactory(): ViewModelProvider.Factory =
35-
IODeterminationActivityViewModel
35+
CropExaminationActivityViewModel
3636
.Factory(nDismissedScreenshots = intent.getInt(CropActivity.EXTRA_N_UNCROPPED_IMAGES))
3737

3838
/**

0 commit comments

Comments
 (0)