Fix: Fixed a quick bug in the Widget page.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.github.droidworksstudio.launcher.ui.widgets
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@@ -11,6 +12,8 @@ import android.graphics.drawable.GradientDrawable
|
||||
import android.os.BatteryManager
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
@@ -20,6 +23,7 @@ import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.github.droidworksstudio.common.capitalizeEachWord
|
||||
import com.github.droidworksstudio.common.hasInternetPermission
|
||||
@@ -29,6 +33,7 @@ import com.github.droidworksstudio.launcher.R
|
||||
import com.github.droidworksstudio.launcher.databinding.FragmentWidgetsBinding
|
||||
import com.github.droidworksstudio.launcher.helper.AppHelper
|
||||
import com.github.droidworksstudio.launcher.helper.PreferenceHelper
|
||||
import com.github.droidworksstudio.launcher.listener.OnSwipeTouchListener
|
||||
import com.github.droidworksstudio.launcher.listener.ScrollEventListener
|
||||
import com.github.droidworksstudio.launcher.utils.Constants
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
@@ -82,11 +87,12 @@ class WidgetFragment : Fragment(),
|
||||
setupWeatherWidget()
|
||||
setupBatteryWidget()
|
||||
observeClickListener()
|
||||
observeSwipeTouchListener()
|
||||
}
|
||||
|
||||
private fun initializeInjectedDependencies() {
|
||||
context = requireContext()
|
||||
binding.touchArea.hideKeyboard()
|
||||
binding.mainLayout.hideKeyboard()
|
||||
}
|
||||
|
||||
private fun orderWidgetsBySettings() {
|
||||
@@ -377,6 +383,49 @@ class WidgetFragment : Fragment(),
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
private fun observeSwipeTouchListener() {
|
||||
binding.apply {
|
||||
nestedScrollView.setOnTouchListener(getSwipeGestureListener(context))
|
||||
}
|
||||
}
|
||||
|
||||
private fun getSwipeGestureListener(context: Context): View.OnTouchListener {
|
||||
return object : OnSwipeTouchListener(context, preferenceHelper) {
|
||||
override fun onSwipeLeft() {
|
||||
println("getSwipeGestureListener")
|
||||
super.onSwipeLeft()
|
||||
val actionTypeNavOptions: NavOptions? =
|
||||
if (preferenceHelper.disableAnimations) null
|
||||
else appHelper.getActionType(Constants.Swipe.Left)
|
||||
|
||||
Handler(Looper.getMainLooper()).post {
|
||||
findNavController().navigate(
|
||||
R.id.HomeFragment,
|
||||
null,
|
||||
actionTypeNavOptions
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSwipeRight() {
|
||||
println("getSwipeGestureListener")
|
||||
super.onSwipeRight()
|
||||
val actionTypeNavOptions: NavOptions? =
|
||||
if (preferenceHelper.disableAnimations) null
|
||||
else appHelper.getActionType(Constants.Swipe.Right)
|
||||
|
||||
Handler(Looper.getMainLooper()).post {
|
||||
findNavController().navigate(
|
||||
R.id.HomeFragment,
|
||||
null,
|
||||
actionTypeNavOptions
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
context.registerReceiver(batteryReceiver, IntentFilter(Intent.ACTION_BATTERY_CHANGED))
|
||||
|
||||
Reference in New Issue
Block a user