Skip to content

Commit f3bcfc1

Browse files
committed
Hide foreground button
1 parent 3da2ad1 commit f3bcfc1

File tree

10 files changed

+121
-134
lines changed

10 files changed

+121
-134
lines changed

.idea/assetWizardSettings.xml

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

app/src/main/java/com/w2sv/autocrop/flowfield/FlowField.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import processing.core.PVector;
1111

1212
class FlowField {
13-
private static final Map<Pair<Integer, Integer>, Float> xOffCache = new HashMap<>();
13+
private final Map<Pair<Integer, Integer>, Float> xOffCache = new HashMap<>();
1414

1515
private float zOff = 0;
1616

app/src/main/java/com/w2sv/autocrop/flowfield/Sketch.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
public class Sketch extends PApplet {
1414

1515
static class Config{
16-
static final int N_PARTICLES = 400;
16+
static final int N_PARTICLES = 600;
1717
static final int ALPHA_DROP_PERIOD = 350;
1818
static final int PARTICLE_START_VELOCITY_LOW = 1;
1919
static final int PARTICLE_START_VELOCITY_HIGH = 3;

app/src/main/kotlin/com/w2sv/autocrop/activities/main/MainActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.content.Context
66
import android.content.Intent
77
import android.content.IntentFilter
88
import android.os.Bundle
9+
import android.view.MotionEvent
910
import androidx.activity.OnBackPressedCallback
1011
import androidx.activity.viewModels
1112
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
@@ -23,6 +24,7 @@ import com.w2sv.autocrop.activities.main.fragments.flowfield.FlowFieldFragment
2324
import com.w2sv.autocrop.screenshotlistening.ScreenshotListener
2425
import com.w2sv.autocrop.utils.extensions.getParcelable
2526
import dagger.hilt.android.AndroidEntryPoint
27+
import timber.log.Timber
2628

2729
@AndroidEntryPoint
2830
class MainActivity : ApplicationActivity() {

app/src/main/kotlin/com/w2sv/autocrop/activities/main/fragments/flowfield/FlowFieldFragment.kt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import androidx.core.text.buildSpannedString
1313
import androidx.core.text.color
1414
import androidx.fragment.app.activityViewModels
1515
import androidx.fragment.app.viewModels
16+
import androidx.lifecycle.Lifecycle
1617
import androidx.lifecycle.LiveData
1718
import androidx.lifecycle.MutableLiveData
1819
import androidx.lifecycle.SavedStateHandle
@@ -23,9 +24,12 @@ import com.w2sv.androidutils.BackPressListener
2324
import com.w2sv.androidutils.extensions.getColoredIcon
2425
import com.w2sv.androidutils.extensions.getLong
2526
import com.w2sv.androidutils.extensions.getThemedColor
27+
import com.w2sv.androidutils.extensions.hide
28+
import com.w2sv.androidutils.extensions.hideSystemBars
2629
import com.w2sv.androidutils.extensions.launchDelayed
2730
import com.w2sv.androidutils.extensions.postValue
2831
import com.w2sv.androidutils.extensions.show
32+
import com.w2sv.androidutils.extensions.showSystemBars
2933
import com.w2sv.androidutils.extensions.uris
3034
import com.w2sv.autocrop.R
3135
import com.w2sv.autocrop.activities.ApplicationFragment
@@ -42,6 +46,7 @@ import com.w2sv.autocrop.screenshotlistening.ScreenshotListener
4246
import com.w2sv.autocrop.ui.SnackbarData
4347
import com.w2sv.autocrop.ui.animate
4448
import com.w2sv.autocrop.ui.fadeIn
49+
import com.w2sv.autocrop.ui.fadeOut
4550
import com.w2sv.autocrop.utils.extensions.snackyBuilder
4651
import com.w2sv.autocrop.utils.getMediaUri
4752
import com.w2sv.permissionhandler.PermissionHandler
@@ -113,6 +118,8 @@ class FlowFieldFragment :
113118

114119
val liveCropSaveDirIdentifier: LiveData<String> = MutableLiveData(cropSaveDirPreferences.pathIdentifier)
115120

121+
var liveShowingFlowField: LiveData<Boolean> = MutableLiveData(false)
122+
116123
val backPressHandler = BackPressListener(
117124
viewModelScope,
118125
context.resources.getLong(R.integer.duration_backpress_confirmation_window)
@@ -155,6 +162,25 @@ class FlowFieldFragment :
155162
}
156163

157164
binding.setOnClickListeners()
165+
viewModel.setLiveDataObservers()
166+
}
167+
168+
private fun ViewModel.setLiveDataObservers() {
169+
liveShowingFlowField.observe(viewLifecycleOwner) {
170+
if (it) {
171+
requireActivity().hideSystemBars()
172+
with(binding.foregroundLayout) {
173+
if (lifecycle.currentState == Lifecycle.State.STARTED)
174+
hide()
175+
else
176+
fadeOut()
177+
}
178+
}
179+
else {
180+
requireActivity().showSystemBars()
181+
binding.foregroundLayout.fadeIn()
182+
}
183+
}
158184
}
159185

160186
private fun showLayoutElements() {
@@ -203,6 +229,15 @@ class FlowFieldFragment :
203229
)
204230
)
205231
}
232+
showFlowfieldButton.setOnClickListener {
233+
viewModel.liveShowingFlowField.postValue(true)
234+
}
235+
relativeLayout.setOnClickListener {
236+
with(viewModel.liveShowingFlowField) {
237+
if (value == true)
238+
postValue(false)
239+
}
240+
}
206241
}
207242

208243
// $$$$$$$$$$$$$$$$$$

app/src/main/kotlin/com/w2sv/autocrop/activities/main/fragments/flowfield/views/FlowFieldDrawerLayout.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class FlowFieldDrawerLayout(context: Context, attributeSet: AttributeSet) : Draw
2929
val alphaOverlaidButtons = 1 - slideOffset
3030
imageSelectionButton.alpha = alphaOverlaidButtons
3131
shareCropsButton.alpha = alphaOverlaidButtons
32+
showFlowfieldButton.alpha = alphaOverlaidButtons
3233
}
3334
}
3435
)

app/src/main/kotlin/com/w2sv/autocrop/ui/ViewAnimations.kt

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import android.view.View
44
import com.daimajia.androidanimations.library.Techniques
55
import com.daimajia.androidanimations.library.YoYo
66
import com.w2sv.androidutils.extensions.getLong
7-
import com.w2sv.androidutils.extensions.remove
87
import com.w2sv.androidutils.extensions.show
98
import com.w2sv.autocrop.R
109

@@ -33,15 +32,27 @@ fun crossFade(fadeOut: View, fadeIn: View, duration: Long? = null) {
3332
fadeIn.fadeIn(duration)
3433
}
3534

35+
fun fadeIn(vararg view: View, duration: Long? = null){
36+
view.forEach {
37+
it.fadeIn(duration)
38+
}
39+
}
40+
41+
fun fadeOut(vararg view: View, duration: Long? = null){
42+
view.forEach {
43+
it.fadeOut(duration)
44+
}
45+
}
46+
3647
fun View.fadeIn(duration: Long? = null): YoYo.YoYoString =
3748
apply {
3849
show()
3950
}
4051
.animate(Techniques.FadeIn, duration)
4152

42-
fun View.fadeOut(duration: Long? = null, delay: Long = 0): YoYo.YoYoString =
53+
fun View.fadeOut(duration: Long? = null, delay: Long = 0, onEndVisibility: Int = View.GONE): YoYo.YoYoString =
4354
animationComposer(Techniques.FadeOut, duration, delay)
4455
.onEnd {
45-
remove()
56+
visibility = onEndVisibility
4657
}
4758
.playOn(this)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="24dp"
3+
android:height="24dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24">
6+
<path
7+
android:fillColor="@android:color/white"
8+
android:pathData="M12,6.5c3.79,0 7.17,2.13 8.82,5.5 -1.65,3.37 -5.02,5.5 -8.82,5.5S4.83,15.37 3.18,12C4.83,8.63 8.21,6.5 12,6.5m0,-2C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,9.5c1.38,0 2.5,1.12 2.5,2.5s-1.12,2.5 -2.5,2.5 -2.5,-1.12 -2.5,-2.5 1.12,-2.5 2.5,-2.5m0,-2c-2.48,0 -4.5,2.02 -4.5,4.5s2.02,4.5 4.5,4.5 4.5,-2.02 4.5,-4.5 -2.02,-4.5 -4.5,-4.5z" />
9+
</vector>

app/src/main/res/layout-land/fragment_flowfield.xml

Lines changed: 0 additions & 90 deletions
This file was deleted.

0 commit comments

Comments
 (0)