Skip to content

Commit f4a944d

Browse files
Fix: Fixed a quick bug in the Widget page.
1 parent 730d331 commit f4a944d

File tree

1 file changed

+50
-1
lines changed

1 file changed

+50
-1
lines changed

app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/WidgetFragment.kt

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.github.droidworksstudio.launcher.ui.widgets
22

3+
import android.annotation.SuppressLint
34
import android.content.BroadcastReceiver
45
import android.content.Context
56
import android.content.Intent
@@ -11,6 +12,8 @@ import android.graphics.drawable.GradientDrawable
1112
import android.os.BatteryManager
1213
import android.os.Build
1314
import android.os.Bundle
15+
import android.os.Handler
16+
import android.os.Looper
1417
import android.util.Log
1518
import android.view.LayoutInflater
1619
import android.view.View
@@ -20,6 +23,7 @@ import androidx.core.content.res.ResourcesCompat
2023
import androidx.fragment.app.Fragment
2124
import androidx.lifecycle.lifecycleScope
2225
import androidx.navigation.NavController
26+
import androidx.navigation.NavOptions
2327
import androidx.navigation.fragment.findNavController
2428
import com.github.droidworksstudio.common.capitalizeEachWord
2529
import com.github.droidworksstudio.common.hasInternetPermission
@@ -29,6 +33,7 @@ import com.github.droidworksstudio.launcher.R
2933
import com.github.droidworksstudio.launcher.databinding.FragmentWidgetsBinding
3034
import com.github.droidworksstudio.launcher.helper.AppHelper
3135
import com.github.droidworksstudio.launcher.helper.PreferenceHelper
36+
import com.github.droidworksstudio.launcher.listener.OnSwipeTouchListener
3237
import com.github.droidworksstudio.launcher.listener.ScrollEventListener
3338
import com.github.droidworksstudio.launcher.utils.Constants
3439
import dagger.hilt.android.AndroidEntryPoint
@@ -82,11 +87,12 @@ class WidgetFragment : Fragment(),
8287
setupWeatherWidget()
8388
setupBatteryWidget()
8489
observeClickListener()
90+
observeSwipeTouchListener()
8591
}
8692

8793
private fun initializeInjectedDependencies() {
8894
context = requireContext()
89-
binding.touchArea.hideKeyboard()
95+
binding.mainLayout.hideKeyboard()
9096
}
9197

9298
private fun orderWidgetsBySettings() {
@@ -377,6 +383,49 @@ class WidgetFragment : Fragment(),
377383
}
378384
}
379385

386+
@SuppressLint("ClickableViewAccessibility")
387+
private fun observeSwipeTouchListener() {
388+
binding.apply {
389+
nestedScrollView.setOnTouchListener(getSwipeGestureListener(context))
390+
}
391+
}
392+
393+
private fun getSwipeGestureListener(context: Context): View.OnTouchListener {
394+
return object : OnSwipeTouchListener(context, preferenceHelper) {
395+
override fun onSwipeLeft() {
396+
println("getSwipeGestureListener")
397+
super.onSwipeLeft()
398+
val actionTypeNavOptions: NavOptions? =
399+
if (preferenceHelper.disableAnimations) null
400+
else appHelper.getActionType(Constants.Swipe.Left)
401+
402+
Handler(Looper.getMainLooper()).post {
403+
findNavController().navigate(
404+
R.id.HomeFragment,
405+
null,
406+
actionTypeNavOptions
407+
)
408+
}
409+
}
410+
411+
override fun onSwipeRight() {
412+
println("getSwipeGestureListener")
413+
super.onSwipeRight()
414+
val actionTypeNavOptions: NavOptions? =
415+
if (preferenceHelper.disableAnimations) null
416+
else appHelper.getActionType(Constants.Swipe.Right)
417+
418+
Handler(Looper.getMainLooper()).post {
419+
findNavController().navigate(
420+
R.id.HomeFragment,
421+
null,
422+
actionTypeNavOptions
423+
)
424+
}
425+
}
426+
}
427+
}
428+
380429
override fun onResume() {
381430
super.onResume()
382431
context.registerReceiver(batteryReceiver, IntentFilter(Intent.ACTION_BATTERY_CHANGED))

0 commit comments

Comments
 (0)