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.view.WindowInsets
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.appcompat.widget.LinearLayoutCompat
|
import androidx.appcompat.widget.LinearLayoutCompat
|
||||||
|
import androidx.navigation.NavOptions
|
||||||
import com.github.droidworksstudio.common.backupSharedPreferences
|
import com.github.droidworksstudio.common.backupSharedPreferences
|
||||||
import com.github.droidworksstudio.common.restoreSharedPreferences
|
import com.github.droidworksstudio.common.restoreSharedPreferences
|
||||||
import com.github.droidworksstudio.common.showLongToast
|
import com.github.droidworksstudio.common.showLongToast
|
||||||
@@ -192,4 +193,53 @@ class AppHelper @Inject constructor() {
|
|||||||
fun restoreSharedPreferences(context: Context) {
|
fun restoreSharedPreferences(context: Context) {
|
||||||
context.restoreSharedPreferences(context.getString(R.string.settings_backups_file))
|
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.biometric.BiometricPrompt
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.navigation.NavOptions
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.github.droidworksstudio.common.showLongToast
|
import com.github.droidworksstudio.common.showLongToast
|
||||||
import com.github.droidworksstudio.launcher.R
|
import com.github.droidworksstudio.launcher.R
|
||||||
import com.github.droidworksstudio.launcher.data.entities.AppInfo
|
import com.github.droidworksstudio.launcher.data.entities.AppInfo
|
||||||
|
import com.github.droidworksstudio.launcher.utils.Constants
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class FingerprintHelper @Inject constructor(private val fragment: Fragment) {
|
class FingerprintHelper @Inject constructor(private val fragment: Fragment) {
|
||||||
@@ -62,7 +64,9 @@ class FingerprintHelper @Inject constructor(private val fragment: Fragment) {
|
|||||||
val biometricPrompt =
|
val biometricPrompt =
|
||||||
BiometricPrompt(fragment, executor, object : BiometricPrompt.AuthenticationCallback() {
|
BiometricPrompt(fragment, executor, object : BiometricPrompt.AuthenticationCallback() {
|
||||||
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
|
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() {
|
override fun onAuthenticationFailed() {
|
||||||
|
|||||||
@@ -342,7 +342,7 @@ class HomeFragment : Fragment(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
Constants.Action.ShowAppList -> {
|
Constants.Action.ShowAppList -> {
|
||||||
val actionTypeNavOptions: NavOptions = getActionType(actionType)
|
val actionTypeNavOptions: NavOptions = appHelper.getActionType(actionType)
|
||||||
Handler(Looper.getMainLooper()).post {
|
Handler(Looper.getMainLooper()).post {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.action_HomeFragment_to_DrawFragment,
|
R.id.action_HomeFragment_to_DrawFragment,
|
||||||
@@ -354,7 +354,7 @@ class HomeFragment : Fragment(),
|
|||||||
|
|
||||||
|
|
||||||
Constants.Action.ShowFavoriteList -> {
|
Constants.Action.ShowFavoriteList -> {
|
||||||
val actionTypeNavOptions: NavOptions = getActionType(actionType)
|
val actionTypeNavOptions: NavOptions = appHelper.getActionType(actionType)
|
||||||
Handler(Looper.getMainLooper()).post {
|
Handler(Looper.getMainLooper()).post {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.action_HomeFragment_to_FavoriteFragment,
|
R.id.action_HomeFragment_to_FavoriteFragment,
|
||||||
@@ -374,7 +374,7 @@ class HomeFragment : Fragment(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
Constants.Action.ShowWidgets -> {
|
Constants.Action.ShowWidgets -> {
|
||||||
val actionTypeNavOptions: NavOptions = getActionType(actionType)
|
val actionTypeNavOptions: NavOptions = appHelper.getActionType(actionType)
|
||||||
Handler(Looper.getMainLooper()).post {
|
Handler(Looper.getMainLooper()).post {
|
||||||
findNavController().navigate(
|
findNavController().navigate(
|
||||||
R.id.action_HomeFragment_to_WidgetsFragment,
|
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() {
|
private fun trySettings() {
|
||||||
lifecycleScope.launch(Dispatchers.Main) {
|
lifecycleScope.launch(Dispatchers.Main) {
|
||||||
biometricPrompt = BiometricPrompt(this@HomeFragment,
|
biometricPrompt = BiometricPrompt(this@HomeFragment,
|
||||||
@@ -471,7 +422,13 @@ class HomeFragment : Fragment(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
|
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() {
|
override fun onAuthenticationFailed() {
|
||||||
@@ -482,7 +439,13 @@ class HomeFragment : Fragment(),
|
|||||||
if (preferenceHelper.settingsLock) {
|
if (preferenceHelper.settingsLock) {
|
||||||
fingerHelper.startFingerprintSettingsAuth(R.id.action_HomeFragment_to_SettingsFragment)
|
fingerHelper.startFingerprintSettingsAuth(R.id.action_HomeFragment_to_SettingsFragment)
|
||||||
} else {
|
} 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