diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index bffc3ed..7f47ed5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,7 +25,7 @@ android:theme="@style/Theme.YamLauncher" tools:targetApi="34"> diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt b/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt index eddf989..e7d60a7 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/AppActionMenu.kt @@ -18,6 +18,8 @@ import android.widget.TextView import androidx.appcompat.widget.AppCompatButton import androidx.lifecycle.lifecycleScope import eu.ottop.yamlauncher.databinding.ActivityMainBinding +import eu.ottop.yamlauncher.settings.SharedPreferenceManager +import eu.ottop.yamlauncher.utils.Animations import kotlinx.coroutines.launch class AppActionMenu { @@ -33,7 +35,7 @@ class AppActionMenu { userHandle: UserHandle, workProfile: Int, launcherApps: LauncherApps, - mainActivity: LauncherActivityInfo? + appActivity: LauncherActivityInfo? ){ val animations = Animations(activity) val sharedPreferenceManager = SharedPreferenceManager(activity) @@ -41,9 +43,9 @@ class AppActionMenu { actionMenu.findViewById(R.id.info).setOnClickListener { // Launch app info in phone settings - if (mainActivity != null) { + if (appActivity != null) { launcherApps.startAppDetailsActivity( - mainActivity.componentName, + appActivity.componentName, userHandle, null, null @@ -72,7 +74,7 @@ class AppActionMenu { val editText = editLayout.findViewById(R.id.appNameEdit) val resetButton = editLayout.findViewById(R.id.reset) - val app = Triple(mainActivity!!, userHandle, workProfile) + val app = Triple(appActivity!!, userHandle, workProfile) searchView.visibility = View.INVISIBLE editText.requestFocus() diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt b/app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt index 161e829..0eaecec 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt @@ -17,6 +17,9 @@ import android.widget.TextView import androidx.core.content.res.ResourcesCompat import androidx.recyclerview.widget.RecyclerView import com.google.android.material.textfield.TextInputEditText +import eu.ottop.yamlauncher.settings.SharedPreferenceManager +import eu.ottop.yamlauncher.utils.AppUtils +import eu.ottop.yamlauncher.utils.UIUtils class AppMenuAdapter( diff --git a/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt b/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt index 3fbe06b..f964148 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt @@ -33,6 +33,18 @@ import androidx.preference.PreferenceManager import androidx.recyclerview.widget.RecyclerView import com.google.android.material.textfield.TextInputEditText import eu.ottop.yamlauncher.databinding.ActivityMainBinding +import eu.ottop.yamlauncher.settings.SettingsActivity +import eu.ottop.yamlauncher.settings.SharedPreferenceManager +import eu.ottop.yamlauncher.tasks.BatteryReceiver +import eu.ottop.yamlauncher.tasks.ScreenLockService +import eu.ottop.yamlauncher.utils.Animations +import eu.ottop.yamlauncher.utils.AppMenuEdgeFactory +import eu.ottop.yamlauncher.utils.AppMenuLinearLayoutManager +import eu.ottop.yamlauncher.utils.AppUtils +import eu.ottop.yamlauncher.utils.GestureUtils +import eu.ottop.yamlauncher.utils.StringUtils +import eu.ottop.yamlauncher.utils.UIUtils +import eu.ottop.yamlauncher.utils.WeatherSystem import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -74,8 +86,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh private lateinit var preferences: SharedPreferences private var isBatteryReceiverRegistered = false - private var isJobActive = true - var canExit = true + var isJobActive = true private val swipeThreshold = 100 private val swipeVelocityThreshold = 100 @@ -525,14 +536,10 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh binding.appView.addOnLayoutChangeListener { _, _, top, _, bottom, _, oldTop, _, oldBottom -> if (bottom - top > oldBottom - oldTop) { - // Allow the app menu to be closed after the keyboard is closed - canExit = true + // If keyboard is closed, remove cursor from the search bar searchView.clearFocus() } - else if (bottom - top < oldBottom - oldTop) { - // The app menu can't be closed with the keyboard open - canExit = false - } + } searchView.addTextChangedListener(object : @@ -666,7 +673,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh ) { textView.visibility = View.INVISIBLE animations.fadeViewIn(actionMenuLayout) - val mainActivity = + val appActivity = launcherApps.getActivityList(appInfo.applicationInfo.packageName, userHandle) .firstOrNull() appActionMenu.setActionListeners( @@ -680,7 +687,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh userHandle, userProfile, launcherApps, - mainActivity + appActivity ) } diff --git a/app/src/main/java/eu/ottop/yamlauncher/AboutFragment.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/AboutFragment.kt similarity index 70% rename from app/src/main/java/eu/ottop/yamlauncher/AboutFragment.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/AboutFragment.kt index 57e5ce7..51d8e4b 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AboutFragment.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/AboutFragment.kt @@ -1,10 +1,16 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings +import android.content.Intent +import android.net.Uri import android.os.Bundle +import android.provider.Settings import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.ImageView import androidx.fragment.app.Fragment +import eu.ottop.yamlauncher.R +import eu.ottop.yamlauncher.utils.StringUtils class AboutFragment : Fragment() { @@ -27,7 +33,12 @@ class AboutFragment : Fragment() { stringUtils.setLink(requireActivity().findViewById(R.id.stripeLink), getString(R.string.stripe_link)) stringUtils.setLink(requireActivity().findViewById(R.id.liberaLink), getString(R.string.libera_link)) stringUtils.setLink(requireActivity().findViewById(R.id.weatherLink), getString(R.string.weather_link)) + + requireActivity().findViewById(R.id.iconView).setOnClickListener { + val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply { + data = Uri.parse("package:${requireContext().packageName}") + } + startActivity(intent) + } } - - } \ No newline at end of file diff --git a/app/src/main/java/eu/ottop/yamlauncher/GestureAppsAdapter.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/GestureAppsAdapter.kt similarity index 89% rename from app/src/main/java/eu/ottop/yamlauncher/GestureAppsAdapter.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/GestureAppsAdapter.kt index bbe47b9..bdd1df2 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/GestureAppsAdapter.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/GestureAppsAdapter.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.annotation.SuppressLint import android.content.Context @@ -11,6 +11,8 @@ import android.widget.FrameLayout import android.widget.TextView import androidx.core.content.res.ResourcesCompat import androidx.recyclerview.widget.RecyclerView +import eu.ottop.yamlauncher.R +import eu.ottop.yamlauncher.utils.UIUtils class GestureAppsAdapter( private val context: Context, @@ -50,10 +52,12 @@ class GestureAppsAdapter( val app = apps[position] if (app.third != 0) { - holder.textView.setCompoundDrawablesWithIntrinsicBounds(ResourcesCompat.getDrawable(context.resources, R.drawable.ic_work_app, null),null,null,null) + holder.textView.setCompoundDrawablesWithIntrinsicBounds(ResourcesCompat.getDrawable(context.resources, + R.drawable.ic_work_app, null),null,null,null) } else { - holder.textView.setCompoundDrawablesWithIntrinsicBounds(ResourcesCompat.getDrawable(context.resources, R.drawable.ic_empty, null),null,null,null) + holder.textView.setCompoundDrawablesWithIntrinsicBounds(ResourcesCompat.getDrawable(context.resources, + R.drawable.ic_empty, null),null,null,null) } uiUtils.setAppAlignment(holder.textView) diff --git a/app/src/main/java/eu/ottop/yamlauncher/GestureAppsFragment.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/GestureAppsFragment.kt similarity index 95% rename from app/src/main/java/eu/ottop/yamlauncher/GestureAppsFragment.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/GestureAppsFragment.kt index 1a61057..699eb19 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/GestureAppsFragment.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/GestureAppsFragment.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.app.AlertDialog import android.content.Context @@ -15,9 +15,15 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.RecyclerView import com.google.android.material.textfield.TextInputEditText +import eu.ottop.yamlauncher.utils.AppMenuEdgeFactory +import eu.ottop.yamlauncher.R +import eu.ottop.yamlauncher.utils.AppUtils +import eu.ottop.yamlauncher.utils.StringUtils +import eu.ottop.yamlauncher.utils.UIUtils import kotlinx.coroutines.launch -class GestureAppsFragment(private val direction: String) : Fragment(), GestureAppsAdapter.OnItemClickListener { +class GestureAppsFragment(private val direction: String) : Fragment(), + GestureAppsAdapter.OnItemClickListener { private var adapter: GestureAppsAdapter? = null private lateinit var sharedPreferenceManager: SharedPreferenceManager diff --git a/app/src/main/java/eu/ottop/yamlauncher/HiddenAppsAdapter.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/HiddenAppsAdapter.kt similarity index 89% rename from app/src/main/java/eu/ottop/yamlauncher/HiddenAppsAdapter.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/HiddenAppsAdapter.kt index cae4141..172daf8 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/HiddenAppsAdapter.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/HiddenAppsAdapter.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.annotation.SuppressLint import android.content.Context @@ -11,6 +11,8 @@ import android.widget.FrameLayout import android.widget.TextView import androidx.core.content.res.ResourcesCompat import androidx.recyclerview.widget.RecyclerView +import eu.ottop.yamlauncher.R +import eu.ottop.yamlauncher.utils.UIUtils class HiddenAppsAdapter( private val context: Context, @@ -51,10 +53,12 @@ class HiddenAppsAdapter( val app = apps[position] if (app.third != 0) { - holder.textView.setCompoundDrawablesWithIntrinsicBounds(ResourcesCompat.getDrawable(context.resources, R.drawable.ic_work_app, null),null,null,null) + holder.textView.setCompoundDrawablesWithIntrinsicBounds(ResourcesCompat.getDrawable(context.resources, + R.drawable.ic_work_app, null),null,null,null) } else { - holder.textView.setCompoundDrawablesWithIntrinsicBounds(ResourcesCompat.getDrawable(context.resources, R.drawable.ic_empty, null),null,null,null) + holder.textView.setCompoundDrawablesWithIntrinsicBounds(ResourcesCompat.getDrawable(context.resources, + R.drawable.ic_empty, null),null,null,null) } uiUtils.setAppAlignment(holder.textView) diff --git a/app/src/main/java/eu/ottop/yamlauncher/HiddenAppsFragment.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/HiddenAppsFragment.kt similarity index 95% rename from app/src/main/java/eu/ottop/yamlauncher/HiddenAppsFragment.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/HiddenAppsFragment.kt index 5e0bdbd..89dbd8e 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/HiddenAppsFragment.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/HiddenAppsFragment.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.app.AlertDialog import android.content.Context @@ -16,6 +16,11 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.RecyclerView import com.google.android.material.textfield.TextInputEditText +import eu.ottop.yamlauncher.utils.AppMenuEdgeFactory +import eu.ottop.yamlauncher.R +import eu.ottop.yamlauncher.utils.AppUtils +import eu.ottop.yamlauncher.utils.StringUtils +import eu.ottop.yamlauncher.utils.UIUtils import kotlinx.coroutines.launch class HiddenAppsFragment : Fragment(), HiddenAppsAdapter.OnItemClickListener { diff --git a/app/src/main/java/eu/ottop/yamlauncher/LocationFragment.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/LocationFragment.kt similarity index 94% rename from app/src/main/java/eu/ottop/yamlauncher/LocationFragment.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/LocationFragment.kt index e66d9cb..fe4cd03 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/LocationFragment.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/LocationFragment.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.app.AlertDialog import android.content.Context @@ -13,6 +13,11 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.RecyclerView import com.google.android.material.textfield.TextInputEditText +import eu.ottop.yamlauncher.utils.AppMenuEdgeFactory +import eu.ottop.yamlauncher.R +import eu.ottop.yamlauncher.utils.WeatherSystem +import eu.ottop.yamlauncher.utils.StringUtils +import eu.ottop.yamlauncher.utils.UIUtils import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/app/src/main/java/eu/ottop/yamlauncher/LocationListAdapter.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/LocationListAdapter.kt similarity index 95% rename from app/src/main/java/eu/ottop/yamlauncher/LocationListAdapter.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/LocationListAdapter.kt index 5a1fa7a..25db4e9 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/LocationListAdapter.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/LocationListAdapter.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.annotation.SuppressLint import android.content.Context @@ -8,6 +8,8 @@ import android.view.ViewGroup import android.widget.TextView import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.RecyclerView +import eu.ottop.yamlauncher.R +import eu.ottop.yamlauncher.utils.UIUtils class LocationListAdapter( private val context: Context, diff --git a/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/SettingsActivity.kt similarity index 90% rename from app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/SettingsActivity.kt index 99cadca..b8a4868 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/SettingsActivity.kt @@ -1,7 +1,8 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.os.Bundle import androidx.appcompat.app.AppCompatActivity +import eu.ottop.yamlauncher.R import eu.ottop.yamlauncher.databinding.ActivitySettingsBinding class SettingsActivity : AppCompatActivity() { diff --git a/app/src/main/java/eu/ottop/yamlauncher/SettingsFragment.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/SettingsFragment.kt similarity index 98% rename from app/src/main/java/eu/ottop/yamlauncher/SettingsFragment.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/SettingsFragment.kt index a5deb11..78669f5 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/SettingsFragment.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/SettingsFragment.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.content.Intent import android.os.Bundle @@ -7,6 +7,7 @@ import android.widget.Toast import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference +import eu.ottop.yamlauncher.R class SettingsFragment : PreferenceFragmentCompat() { diff --git a/app/src/main/java/eu/ottop/yamlauncher/SharedPreferenceManager.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/SharedPreferenceManager.kt similarity index 99% rename from app/src/main/java/eu/ottop/yamlauncher/SharedPreferenceManager.kt rename to app/src/main/java/eu/ottop/yamlauncher/settings/SharedPreferenceManager.kt index f609402..faca0b2 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/SharedPreferenceManager.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/SharedPreferenceManager.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.settings import android.content.Context import android.graphics.Color diff --git a/app/src/main/java/eu/ottop/yamlauncher/BatteryReceiver.kt b/app/src/main/java/eu/ottop/yamlauncher/tasks/BatteryReceiver.kt similarity index 92% rename from app/src/main/java/eu/ottop/yamlauncher/BatteryReceiver.kt rename to app/src/main/java/eu/ottop/yamlauncher/tasks/BatteryReceiver.kt index 281e92f..6712d48 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/BatteryReceiver.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/tasks/BatteryReceiver.kt @@ -1,10 +1,11 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.tasks import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter import android.os.BatteryManager +import eu.ottop.yamlauncher.MainActivity class BatteryReceiver(private val activity: MainActivity) : BroadcastReceiver() { diff --git a/app/src/main/java/eu/ottop/yamlauncher/ScreenLockService.kt b/app/src/main/java/eu/ottop/yamlauncher/tasks/ScreenLockService.kt similarity index 94% rename from app/src/main/java/eu/ottop/yamlauncher/ScreenLockService.kt rename to app/src/main/java/eu/ottop/yamlauncher/tasks/ScreenLockService.kt index 6eeb5a0..403ccec 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/ScreenLockService.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/tasks/ScreenLockService.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.tasks import android.accessibilityservice.AccessibilityService import android.content.Intent diff --git a/app/src/main/java/eu/ottop/yamlauncher/Animations.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/Animations.kt similarity index 97% rename from app/src/main/java/eu/ottop/yamlauncher/Animations.kt rename to app/src/main/java/eu/ottop/yamlauncher/utils/Animations.kt index 2c4a42c..1c0ce27 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/Animations.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/Animations.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.utils import android.animation.Animator import android.animation.AnimatorListenerAdapter @@ -9,7 +9,7 @@ import android.content.Context import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.view.View -import eu.ottop.yamlauncher.databinding.ActivityMainBinding +import eu.ottop.yamlauncher.settings.SharedPreferenceManager class Animations (context: Context) { diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppMenuEdgeFactory.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/AppMenuEdgeFactory.kt similarity index 96% rename from app/src/main/java/eu/ottop/yamlauncher/AppMenuEdgeFactory.kt rename to app/src/main/java/eu/ottop/yamlauncher/utils/AppMenuEdgeFactory.kt index 055c6a8..f81d972 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppMenuEdgeFactory.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/AppMenuEdgeFactory.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.utils import android.app.Activity import android.widget.EdgeEffect diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppMenuLinearLayoutManager.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/AppMenuLinearLayoutManager.kt similarity index 88% rename from app/src/main/java/eu/ottop/yamlauncher/AppMenuLinearLayoutManager.kt rename to app/src/main/java/eu/ottop/yamlauncher/utils/AppMenuLinearLayoutManager.kt index f9ad3ac..293d1a3 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppMenuLinearLayoutManager.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/AppMenuLinearLayoutManager.kt @@ -1,7 +1,8 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.utils import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import eu.ottop.yamlauncher.MainActivity class AppMenuLinearLayoutManager(private val activity: MainActivity) : LinearLayoutManager(activity) { @@ -18,7 +19,7 @@ class AppMenuLinearLayoutManager(private val activity: MainActivity) : LinearLay val overscroll: Int = dy - scrollRange // If the user scrolls up when already on top, go back to home. Only if the keyboard isn't open, though - if (overscroll < 0 && (firstVisibleItemPosition == 0 || firstVisibleItemPosition < 0) && scrollStarted && activity.canExit) { + if (overscroll < 0 && (firstVisibleItemPosition == 0 || firstVisibleItemPosition < 0) && scrollStarted) { activity.backToHome() } diff --git a/app/src/main/java/eu/ottop/yamlauncher/AppUtils.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/AppUtils.kt similarity index 97% rename from app/src/main/java/eu/ottop/yamlauncher/AppUtils.kt rename to app/src/main/java/eu/ottop/yamlauncher/utils/AppUtils.kt index 1878845..41067ee 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/AppUtils.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/AppUtils.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.utils import android.content.Context import android.content.pm.ApplicationInfo @@ -6,6 +6,7 @@ import android.content.pm.LauncherActivityInfo import android.content.pm.LauncherApps import android.os.UserHandle import android.widget.Toast +import eu.ottop.yamlauncher.settings.SharedPreferenceManager import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/eu/ottop/yamlauncher/GestureUtils.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/GestureUtils.kt similarity index 96% rename from app/src/main/java/eu/ottop/yamlauncher/GestureUtils.kt rename to app/src/main/java/eu/ottop/yamlauncher/utils/GestureUtils.kt index 38f25c2..3ebb455 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/GestureUtils.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/GestureUtils.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.utils import android.accessibilityservice.AccessibilityService import android.accessibilityservice.AccessibilityServiceInfo @@ -11,6 +11,7 @@ import android.content.pm.ServiceInfo import android.provider.Settings import android.view.accessibility.AccessibilityManager import androidx.appcompat.app.AppCompatActivity.ACCESSIBILITY_SERVICE +import eu.ottop.yamlauncher.settings.SharedPreferenceManager class GestureUtils(private val context: Context) { diff --git a/app/src/main/java/eu/ottop/yamlauncher/StringUtils.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/StringUtils.kt similarity index 95% rename from app/src/main/java/eu/ottop/yamlauncher/StringUtils.kt rename to app/src/main/java/eu/ottop/yamlauncher/utils/StringUtils.kt index ca316db..deabf24 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/StringUtils.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/StringUtils.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.utils import android.text.Html import android.text.method.LinkMovementMethod diff --git a/app/src/main/java/eu/ottop/yamlauncher/UIUtils.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/UIUtils.kt similarity index 99% rename from app/src/main/java/eu/ottop/yamlauncher/UIUtils.kt rename to app/src/main/java/eu/ottop/yamlauncher/utils/UIUtils.kt index 32e42d5..38da775 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/UIUtils.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/UIUtils.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.utils import android.content.Context import android.graphics.BlendMode @@ -17,6 +17,7 @@ import android.widget.TextClock import android.widget.TextView import androidx.core.view.children import com.google.android.material.textfield.TextInputEditText +import eu.ottop.yamlauncher.settings.SharedPreferenceManager class UIUtils(context: Context) { diff --git a/app/src/main/java/eu/ottop/yamlauncher/WeatherSystem.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/WeatherSystem.kt similarity index 97% rename from app/src/main/java/eu/ottop/yamlauncher/WeatherSystem.kt rename to app/src/main/java/eu/ottop/yamlauncher/utils/WeatherSystem.kt index 9629435..ac75d77 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/WeatherSystem.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/WeatherSystem.kt @@ -1,4 +1,4 @@ -package eu.ottop.yamlauncher +package eu.ottop.yamlauncher.utils import android.Manifest import android.content.Context @@ -7,6 +7,8 @@ import android.location.Location import android.location.LocationManager import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat +import eu.ottop.yamlauncher.MainActivity +import eu.ottop.yamlauncher.settings.SharedPreferenceManager import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 00c577f..aac9402 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -6,7 +6,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".SettingsActivity"> + tools:context=".settings.SettingsActivity"> + tools:context=".settings.AboutFragment"> + app:layout_constraintTop_toBottomOf="@+id/iconView" />