mirror of
https://github.com/jrpie/Launcher.git
synced 2025-02-23 14:31:30 +01:00
feature: home button always starts HomeActivity
Removed intendedSettingsPause and intendedChoosePause. Using android:clearTaskOnLaunch together with android:launchMode="singleTask" instead. This makes the home button work properly.
This commit is contained in:
parent
2e82fec002
commit
ef16d70576
9 changed files with 3 additions and 37 deletions
|
@ -19,6 +19,9 @@
|
||||||
|
|
||||||
<activity android:name=".HomeActivity"
|
<activity android:name=".HomeActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
|
android:excludeFromRecents="true"
|
||||||
|
android:clearTaskOnLaunch="true"
|
||||||
|
android:launchMode="singleTask"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
tools:ignore="LockedOrientationActivity">
|
tools:ignore="LockedOrientationActivity">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|
|
@ -45,10 +45,8 @@ import android.widget.Toast
|
||||||
import de.jrpie.android.launcher.list.ListActivity
|
import de.jrpie.android.launcher.list.ListActivity
|
||||||
import de.jrpie.android.launcher.list.apps.AppInfo
|
import de.jrpie.android.launcher.list.apps.AppInfo
|
||||||
import de.jrpie.android.launcher.list.apps.AppsRecyclerAdapter
|
import de.jrpie.android.launcher.list.apps.AppsRecyclerAdapter
|
||||||
import de.jrpie.android.launcher.list.intendedChoosePause
|
|
||||||
import de.jrpie.android.launcher.list.other.LauncherAction
|
import de.jrpie.android.launcher.list.other.LauncherAction
|
||||||
import de.jrpie.android.launcher.settings.SettingsActivity
|
import de.jrpie.android.launcher.settings.SettingsActivity
|
||||||
import de.jrpie.android.launcher.settings.intendedSettingsPause
|
|
||||||
import de.jrpie.android.launcher.tutorial.TutorialActivity
|
import de.jrpie.android.launcher.tutorial.TutorialActivity
|
||||||
import kotlin.contracts.contract
|
import kotlin.contracts.contract
|
||||||
|
|
||||||
|
@ -331,7 +329,6 @@ fun resetToDefaultTheme(activity: Activity) {
|
||||||
saveTheme(activity,"finn")
|
saveTheme(activity,"finn")
|
||||||
loadSettings(activity)
|
loadSettings(activity)
|
||||||
|
|
||||||
intendedSettingsPause = true
|
|
||||||
activity.recreate()
|
activity.recreate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -346,7 +343,6 @@ fun resetToDarkTheme(activity: Activity) {
|
||||||
|
|
||||||
saveTheme(activity,"dark")
|
saveTheme(activity,"dark")
|
||||||
|
|
||||||
intendedSettingsPause = true
|
|
||||||
activity.recreate()
|
activity.recreate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,7 +365,6 @@ fun openTutorial(activity: Activity){
|
||||||
fun openAppsList(activity: Activity){
|
fun openAppsList(activity: Activity){
|
||||||
val intent = Intent(activity, ListActivity::class.java)
|
val intent = Intent(activity, ListActivity::class.java)
|
||||||
intent.putExtra("intention", ListActivity.ListActivityIntention.VIEW.toString())
|
intent.putExtra("intention", ListActivity.ListActivityIntention.VIEW.toString())
|
||||||
intendedSettingsPause = true
|
|
||||||
activity.startActivity(intent)
|
activity.startActivity(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,6 @@ import de.jrpie.android.launcher.list.other.ListFragmentOther
|
||||||
import de.jrpie.android.launcher.vibrantColor
|
import de.jrpie.android.launcher.vibrantColor
|
||||||
|
|
||||||
|
|
||||||
var intendedChoosePause = false // know when to close
|
|
||||||
|
|
||||||
// TODO: Better solution for this intercommunication functionality (used in list-fragments)
|
// TODO: Better solution for this intercommunication functionality (used in list-fragments)
|
||||||
var intention = ListActivity.ListActivityIntention.VIEW
|
var intention = ListActivity.ListActivityIntention.VIEW
|
||||||
var forGesture: String? = null
|
var forGesture: String? = null
|
||||||
|
|
|
@ -24,7 +24,6 @@ import de.jrpie.android.launcher.getSavedTheme
|
||||||
import de.jrpie.android.launcher.launch
|
import de.jrpie.android.launcher.launch
|
||||||
import de.jrpie.android.launcher.launchApp
|
import de.jrpie.android.launcher.launchApp
|
||||||
import de.jrpie.android.launcher.list.ListActivity
|
import de.jrpie.android.launcher.list.ListActivity
|
||||||
import de.jrpie.android.launcher.list.intendedChoosePause
|
|
||||||
import de.jrpie.android.launcher.loadApps
|
import de.jrpie.android.launcher.loadApps
|
||||||
import de.jrpie.android.launcher.openAppSettings
|
import de.jrpie.android.launcher.openAppSettings
|
||||||
import de.jrpie.android.launcher.transformGrayscale
|
import de.jrpie.android.launcher.transformGrayscale
|
||||||
|
@ -99,12 +98,10 @@ class AppsRecyclerAdapter(val activity: Activity,
|
||||||
popup.setOnMenuItemClickListener {
|
popup.setOnMenuItemClickListener {
|
||||||
when (it.itemId) {
|
when (it.itemId) {
|
||||||
R.id.app_menu_delete -> {
|
R.id.app_menu_delete -> {
|
||||||
intendedChoosePause = true
|
|
||||||
uninstallApp(appPackageName, user, activity)
|
uninstallApp(appPackageName, user, activity)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
R.id.app_menu_info -> {
|
R.id.app_menu_info -> {
|
||||||
intendedChoosePause = true
|
|
||||||
openAppSettings(appPackageName, user, activity)
|
openAppSettings(appPackageName, user, activity)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,9 +16,6 @@ import de.jrpie.android.launcher.settings.actions.SettingsFragmentActions
|
||||||
import de.jrpie.android.launcher.settings.launcher.SettingsFragmentLauncher
|
import de.jrpie.android.launcher.settings.launcher.SettingsFragmentLauncher
|
||||||
import de.jrpie.android.launcher.settings.meta.SettingsFragmentMeta
|
import de.jrpie.android.launcher.settings.meta.SettingsFragmentMeta
|
||||||
|
|
||||||
|
|
||||||
var intendedSettingsPause = false // know when to close
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The [SettingsActivity] is a tabbed activity:
|
* The [SettingsActivity] is a tabbed activity:
|
||||||
*
|
*
|
||||||
|
@ -51,16 +48,6 @@ class SettingsActivity: AppCompatActivity(), UIObject {
|
||||||
super<UIObject>.onStart()
|
super<UIObject>.onStart()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
intendedSettingsPause = false
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onPause() {
|
|
||||||
super.onPause()
|
|
||||||
if (!intendedSettingsPause) finish()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun applyTheme() {
|
override fun applyTheme() {
|
||||||
//settings_system.setTextColor(vibrantColor)
|
//settings_system.setTextColor(vibrantColor)
|
||||||
//settings_close.setTextColor(vibrantColor)
|
//settings_close.setTextColor(vibrantColor)
|
||||||
|
@ -72,7 +59,6 @@ class SettingsActivity: AppCompatActivity(), UIObject {
|
||||||
binding.settingsClose.setOnClickListener { finish() }
|
binding.settingsClose.setOnClickListener { finish() }
|
||||||
// open device settings (see https://stackoverflow.com/a/62092663/12787264)
|
// open device settings (see https://stackoverflow.com/a/62092663/12787264)
|
||||||
binding.settingsSystem.setOnClickListener {
|
binding.settingsSystem.setOnClickListener {
|
||||||
intendedSettingsPause = true
|
|
||||||
startActivity(Intent(Settings.ACTION_SETTINGS))
|
startActivity(Intent(Settings.ACTION_SETTINGS))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,6 @@ import de.jrpie.android.launcher.databinding.SettingsActionsBinding
|
||||||
import de.jrpie.android.launcher.getPreferences
|
import de.jrpie.android.launcher.getPreferences
|
||||||
import de.jrpie.android.launcher.list.ListActivity
|
import de.jrpie.android.launcher.list.ListActivity
|
||||||
import de.jrpie.android.launcher.setButtonColor
|
import de.jrpie.android.launcher.setButtonColor
|
||||||
import de.jrpie.android.launcher.settings.intendedSettingsPause
|
|
||||||
import de.jrpie.android.launcher.vibrantColor
|
import de.jrpie.android.launcher.vibrantColor
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,14 +62,12 @@ SettingsFragmentActions : Fragment(), UIObject {
|
||||||
binding!!.settingsActionsButtonViewApps.setOnClickListener{
|
binding!!.settingsActionsButtonViewApps.setOnClickListener{
|
||||||
val intent = Intent(this.context, ListActivity::class.java)
|
val intent = Intent(this.context, ListActivity::class.java)
|
||||||
intent.putExtra("intention", ListActivity.ListActivityIntention.VIEW.toString())
|
intent.putExtra("intention", ListActivity.ListActivityIntention.VIEW.toString())
|
||||||
intendedSettingsPause = true
|
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
binding!!.settingsActionsButtonInstallApps.setOnClickListener{
|
binding!!.settingsActionsButtonInstallApps.setOnClickListener{
|
||||||
try {
|
try {
|
||||||
val intent = Intent(Intent.ACTION_MAIN)
|
val intent = Intent(Intent.ACTION_MAIN)
|
||||||
intent.addCategory(Intent.CATEGORY_APP_MARKET)
|
intent.addCategory(Intent.CATEGORY_APP_MARKET)
|
||||||
intendedSettingsPause = true
|
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
} catch (e: ActivityNotFoundException) {
|
} catch (e: ActivityNotFoundException) {
|
||||||
Toast.makeText(context, getString(R.string.settings_apps_toast_store_not_found), Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, getString(R.string.settings_apps_toast_store_not_found), Toast.LENGTH_SHORT).show()
|
||||||
|
|
|
@ -15,7 +15,6 @@ import android.widget.ImageView
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import de.jrpie.android.launcher.list.other.LauncherAction
|
import de.jrpie.android.launcher.list.other.LauncherAction
|
||||||
import de.jrpie.android.launcher.settings.intendedSettingsPause
|
|
||||||
import de.jrpie.android.launcher.databinding.SettingsActionsRecyclerBinding
|
import de.jrpie.android.launcher.databinding.SettingsActionsRecyclerBinding
|
||||||
import java.lang.Exception
|
import java.lang.Exception
|
||||||
|
|
||||||
|
@ -144,7 +143,6 @@ class ActionsRecyclerAdapter(val activity: Activity):
|
||||||
val intent = Intent(activity, ListActivity::class.java)
|
val intent = Intent(activity, ListActivity::class.java)
|
||||||
intent.putExtra("intention", ListActivity.ListActivityIntention.PICK.toString())
|
intent.putExtra("intention", ListActivity.ListActivityIntention.PICK.toString())
|
||||||
intent.putExtra("forGesture", gesture.id) // for which action we choose the app
|
intent.putExtra("forGesture", gesture.id) // for which action we choose the app
|
||||||
intendedSettingsPause = true
|
|
||||||
activity.startActivityForResult(intent,
|
activity.startActivityForResult(intent,
|
||||||
REQUEST_CHOOSE_APP
|
REQUEST_CHOOSE_APP
|
||||||
)
|
)
|
||||||
|
|
|
@ -28,7 +28,6 @@ import de.jrpie.android.launcher.resetToDefaultTheme
|
||||||
import de.jrpie.android.launcher.setButtonColor
|
import de.jrpie.android.launcher.setButtonColor
|
||||||
import de.jrpie.android.launcher.setSwitchColor
|
import de.jrpie.android.launcher.setSwitchColor
|
||||||
import de.jrpie.android.launcher.setWindowFlags
|
import de.jrpie.android.launcher.setWindowFlags
|
||||||
import de.jrpie.android.launcher.settings.intendedSettingsPause
|
|
||||||
import de.jrpie.android.launcher.vibrantColor
|
import de.jrpie.android.launcher.vibrantColor
|
||||||
import de.jrpie.android.launcher.databinding.SettingsLauncherBinding
|
import de.jrpie.android.launcher.databinding.SettingsLauncherBinding
|
||||||
import de.jrpie.android.launcher.setDefaultHomeScreen
|
import de.jrpie.android.launcher.setDefaultHomeScreen
|
||||||
|
|
|
@ -4,7 +4,6 @@ import android.app.AlertDialog
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.Settings
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
@ -14,7 +13,6 @@ import de.jrpie.android.launcher.UIObject
|
||||||
import de.jrpie.android.launcher.openNewTabWindow
|
import de.jrpie.android.launcher.openNewTabWindow
|
||||||
import de.jrpie.android.launcher.resetSettings
|
import de.jrpie.android.launcher.resetSettings
|
||||||
import de.jrpie.android.launcher.setButtonColor
|
import de.jrpie.android.launcher.setButtonColor
|
||||||
import de.jrpie.android.launcher.settings.intendedSettingsPause
|
|
||||||
import de.jrpie.android.launcher.tutorial.TutorialActivity
|
import de.jrpie.android.launcher.tutorial.TutorialActivity
|
||||||
import de.jrpie.android.launcher.vibrantColor
|
import de.jrpie.android.launcher.vibrantColor
|
||||||
import de.jrpie.android.launcher.databinding.SettingsMetaBinding
|
import de.jrpie.android.launcher.databinding.SettingsMetaBinding
|
||||||
|
@ -70,7 +68,6 @@ class SettingsFragmentMeta : Fragment(), UIObject {
|
||||||
override fun setOnClicks() {
|
override fun setOnClicks() {
|
||||||
|
|
||||||
binding.settingsMetaButtonViewTutorial.setOnClickListener {
|
binding.settingsMetaButtonViewTutorial.setOnClickListener {
|
||||||
intendedSettingsPause = true
|
|
||||||
startActivity(Intent(this.context, TutorialActivity::class.java))
|
startActivity(Intent(this.context, TutorialActivity::class.java))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +89,6 @@ class SettingsFragmentMeta : Fragment(), UIObject {
|
||||||
|
|
||||||
// report a bug
|
// report a bug
|
||||||
binding.settingsMetaButtonReportBug.setOnClickListener {
|
binding.settingsMetaButtonReportBug.setOnClickListener {
|
||||||
intendedSettingsPause = true
|
|
||||||
openNewTabWindow(
|
openNewTabWindow(
|
||||||
getString(R.string.settings_meta_report_bug_link),
|
getString(R.string.settings_meta_report_bug_link),
|
||||||
requireContext()
|
requireContext()
|
||||||
|
@ -103,7 +99,6 @@ class SettingsFragmentMeta : Fragment(), UIObject {
|
||||||
|
|
||||||
// contact developer
|
// contact developer
|
||||||
binding.settingsMetaButtonContact.setOnClickListener {
|
binding.settingsMetaButtonContact.setOnClickListener {
|
||||||
intendedSettingsPause = true
|
|
||||||
openNewTabWindow(
|
openNewTabWindow(
|
||||||
getString(R.string.settings_meta_contact_url),
|
getString(R.string.settings_meta_contact_url),
|
||||||
requireContext()
|
requireContext()
|
||||||
|
@ -112,7 +107,6 @@ class SettingsFragmentMeta : Fragment(), UIObject {
|
||||||
|
|
||||||
// contact fork developer
|
// contact fork developer
|
||||||
binding.settingsMetaButtonForkContact.setOnClickListener {
|
binding.settingsMetaButtonForkContact.setOnClickListener {
|
||||||
intendedSettingsPause = true
|
|
||||||
openNewTabWindow(
|
openNewTabWindow(
|
||||||
getString(R.string.settings_meta_fork_contact_url),
|
getString(R.string.settings_meta_fork_contact_url),
|
||||||
requireContext()
|
requireContext()
|
||||||
|
@ -121,7 +115,6 @@ class SettingsFragmentMeta : Fragment(), UIObject {
|
||||||
|
|
||||||
// privacy policy
|
// privacy policy
|
||||||
binding.settingsMetaButtonPrivacy.setOnClickListener {
|
binding.settingsMetaButtonPrivacy.setOnClickListener {
|
||||||
intendedSettingsPause = true
|
|
||||||
openNewTabWindow(
|
openNewTabWindow(
|
||||||
getString(R.string.settings_meta_privacy_url),
|
getString(R.string.settings_meta_privacy_url),
|
||||||
requireContext()
|
requireContext()
|
||||||
|
|
Loading…
Add table
Reference in a new issue