Refactor: Moved the getActionType function into AppHelper class.
Signed-off-by: HeCodes2Much <wayne6324@gmail.com>
This commit is contained in:
@@ -16,6 +16,7 @@ import android.view.Window
|
||||
import android.view.WindowInsets
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.widget.LinearLayoutCompat
|
||||
import androidx.navigation.NavOptions
|
||||
import com.github.droidworksstudio.common.backupSharedPreferences
|
||||
import com.github.droidworksstudio.common.restoreSharedPreferences
|
||||
import com.github.droidworksstudio.common.showLongToast
|
||||
@@ -192,4 +193,53 @@ class AppHelper @Inject constructor() {
|
||||
fun restoreSharedPreferences(context: Context) {
|
||||
context.restoreSharedPreferences(context.getString(R.string.settings_backups_file))
|
||||
}
|
||||
|
||||
fun getActionType(actionType: Constants.Swipe): NavOptions {
|
||||
return when (actionType) {
|
||||
Constants.Swipe.DoubleTap -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.zoom_in)
|
||||
.setExitAnim(R.anim.zoom_out)
|
||||
.setPopEnterAnim(R.anim.zoom_in)
|
||||
.setPopExitAnim(R.anim.zoom_out)
|
||||
.build()
|
||||
}
|
||||
|
||||
Constants.Swipe.Up -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.slide_in_top)
|
||||
.setExitAnim(R.anim.slide_out_top)
|
||||
.setPopEnterAnim(R.anim.slide_in_bottom)
|
||||
.setPopExitAnim(R.anim.slide_out_bottom)
|
||||
.build()
|
||||
}
|
||||
|
||||
Constants.Swipe.Down -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.slide_in_bottom)
|
||||
.setExitAnim(R.anim.slide_out_bottom)
|
||||
.setPopEnterAnim(R.anim.slide_in_top)
|
||||
.setPopExitAnim(R.anim.slide_out_top)
|
||||
.build()
|
||||
}
|
||||
|
||||
Constants.Swipe.Left -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.slide_in_right)
|
||||
.setExitAnim(R.anim.slide_out_right)
|
||||
.setPopEnterAnim(R.anim.slide_in_left)
|
||||
.setPopExitAnim(R.anim.slide_out_left)
|
||||
.build()
|
||||
}
|
||||
|
||||
Constants.Swipe.Right -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.slide_in_left)
|
||||
.setExitAnim(R.anim.slide_out_left)
|
||||
.setPopEnterAnim(R.anim.slide_in_right)
|
||||
.setPopExitAnim(R.anim.slide_out_right)
|
||||
.build()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,10 +4,12 @@ import androidx.biometric.BiometricManager
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.github.droidworksstudio.common.showLongToast
|
||||
import com.github.droidworksstudio.launcher.R
|
||||
import com.github.droidworksstudio.launcher.data.entities.AppInfo
|
||||
import com.github.droidworksstudio.launcher.utils.Constants
|
||||
import javax.inject.Inject
|
||||
|
||||
class FingerprintHelper @Inject constructor(private val fragment: Fragment) {
|
||||
@@ -62,7 +64,9 @@ class FingerprintHelper @Inject constructor(private val fragment: Fragment) {
|
||||
val biometricPrompt =
|
||||
BiometricPrompt(fragment, executor, object : BiometricPrompt.AuthenticationCallback() {
|
||||
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
|
||||
fragment.findNavController().navigate(runNavigation)
|
||||
val actionTypeNavOptions: NavOptions =
|
||||
appHelper.getActionType(Constants.Swipe.DoubleTap)
|
||||
fragment.findNavController().navigate(runNavigation, null, actionTypeNavOptions)
|
||||
}
|
||||
|
||||
override fun onAuthenticationFailed() {
|
||||
|
||||
@@ -342,7 +342,7 @@ class HomeFragment : Fragment(),
|
||||
}
|
||||
|
||||
Constants.Action.ShowAppList -> {
|
||||
val actionTypeNavOptions: NavOptions = getActionType(actionType)
|
||||
val actionTypeNavOptions: NavOptions = appHelper.getActionType(actionType)
|
||||
Handler(Looper.getMainLooper()).post {
|
||||
findNavController().navigate(
|
||||
R.id.action_HomeFragment_to_DrawFragment,
|
||||
@@ -354,7 +354,7 @@ class HomeFragment : Fragment(),
|
||||
|
||||
|
||||
Constants.Action.ShowFavoriteList -> {
|
||||
val actionTypeNavOptions: NavOptions = getActionType(actionType)
|
||||
val actionTypeNavOptions: NavOptions = appHelper.getActionType(actionType)
|
||||
Handler(Looper.getMainLooper()).post {
|
||||
findNavController().navigate(
|
||||
R.id.action_HomeFragment_to_FavoriteFragment,
|
||||
@@ -374,7 +374,7 @@ class HomeFragment : Fragment(),
|
||||
}
|
||||
|
||||
Constants.Action.ShowWidgets -> {
|
||||
val actionTypeNavOptions: NavOptions = getActionType(actionType)
|
||||
val actionTypeNavOptions: NavOptions = appHelper.getActionType(actionType)
|
||||
Handler(Looper.getMainLooper()).post {
|
||||
findNavController().navigate(
|
||||
R.id.action_HomeFragment_to_WidgetsFragment,
|
||||
@@ -398,55 +398,6 @@ class HomeFragment : Fragment(),
|
||||
}
|
||||
}
|
||||
|
||||
private fun getActionType(actionType: Constants.Swipe): NavOptions {
|
||||
return when (actionType) {
|
||||
Constants.Swipe.DoubleTap -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.zoom_in)
|
||||
.setExitAnim(R.anim.zoom_out)
|
||||
.setPopEnterAnim(R.anim.zoom_in)
|
||||
.setPopExitAnim(R.anim.zoom_out)
|
||||
.build()
|
||||
}
|
||||
|
||||
Constants.Swipe.Up -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.slide_in_top)
|
||||
.setExitAnim(R.anim.slide_out_top)
|
||||
.setPopEnterAnim(R.anim.slide_in_bottom)
|
||||
.setPopExitAnim(R.anim.slide_out_bottom)
|
||||
.build()
|
||||
}
|
||||
|
||||
Constants.Swipe.Down -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.slide_in_bottom)
|
||||
.setExitAnim(R.anim.slide_out_bottom)
|
||||
.setPopEnterAnim(R.anim.slide_in_top)
|
||||
.setPopExitAnim(R.anim.slide_out_top)
|
||||
.build()
|
||||
}
|
||||
|
||||
Constants.Swipe.Left -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.slide_in_right)
|
||||
.setExitAnim(R.anim.slide_out_right)
|
||||
.setPopEnterAnim(R.anim.slide_in_left)
|
||||
.setPopExitAnim(R.anim.slide_out_left)
|
||||
.build()
|
||||
}
|
||||
|
||||
Constants.Swipe.Right -> {
|
||||
NavOptions.Builder()
|
||||
.setEnterAnim(R.anim.slide_in_left)
|
||||
.setExitAnim(R.anim.slide_out_left)
|
||||
.setPopEnterAnim(R.anim.slide_in_right)
|
||||
.setPopExitAnim(R.anim.slide_out_right)
|
||||
.build()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun trySettings() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
biometricPrompt = BiometricPrompt(this@HomeFragment,
|
||||
@@ -471,7 +422,13 @@ class HomeFragment : Fragment(),
|
||||
}
|
||||
|
||||
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
|
||||
findNavController().navigate(R.id.action_HomeFragment_to_SettingsFragment)
|
||||
val actionTypeNavOptions: NavOptions =
|
||||
appHelper.getActionType(Constants.Swipe.DoubleTap)
|
||||
findNavController().navigate(
|
||||
R.id.action_HomeFragment_to_SettingsFragment,
|
||||
null,
|
||||
actionTypeNavOptions
|
||||
)
|
||||
}
|
||||
|
||||
override fun onAuthenticationFailed() {
|
||||
@@ -482,7 +439,13 @@ class HomeFragment : Fragment(),
|
||||
if (preferenceHelper.settingsLock) {
|
||||
fingerHelper.startFingerprintSettingsAuth(R.id.action_HomeFragment_to_SettingsFragment)
|
||||
} else {
|
||||
findNavController().navigate(R.id.action_HomeFragment_to_SettingsFragment)
|
||||
val actionTypeNavOptions: NavOptions =
|
||||
appHelper.getActionType(Constants.Swipe.DoubleTap)
|
||||
findNavController().navigate(
|
||||
R.id.action_HomeFragment_to_SettingsFragment,
|
||||
null,
|
||||
actionTypeNavOptions
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user