mirror of
https://github.com/SimpleMobileTools/Simple-Launcher.git
synced 2025-06-05 21:59:15 +02:00
make sure the initial default app launchers come from All apps list
This commit is contained in:
@ -64,14 +64,6 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||||||
fragment.y = mScreenHeight.toFloat()
|
fragment.y = mScreenHeight.toFloat()
|
||||||
fragment.beVisible()
|
fragment.beVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!config.wasHomeScreenInit) {
|
|
||||||
ensureBackgroundThread {
|
|
||||||
getDefaultAppPackages()
|
|
||||||
config.wasHomeScreenInit = true
|
|
||||||
home_screen_grid.fetchGridItems()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
@ -183,15 +175,11 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||||||
|
|
||||||
mCachedLaunchers = launchers
|
mCachedLaunchers = launchers
|
||||||
|
|
||||||
if (!config.wereDefaultAppLabelsFilled) {
|
if (!config.wasHomeScreenInit) {
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
homeScreenGridItemsDB.getAllItems().forEach { gridItem ->
|
getDefaultAppPackages(launchers)
|
||||||
val launcher = launchers.firstOrNull { it.packageName.equals(gridItem.packageName, true) }
|
config.wasHomeScreenInit = true
|
||||||
if (launcher != null) {
|
home_screen_grid.fetchGridItems()
|
||||||
homeScreenGridItemsDB.updateAppTitle(launcher.title, gridItem.packageName)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
config.wereDefaultAppLabelsFilled = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -322,6 +310,7 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||||||
showFragment(all_apps_fragment)
|
showFragment(all_apps_fragment)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("WrongConstant")
|
||||||
override fun onFlingDown() {
|
override fun onFlingDown() {
|
||||||
mIgnoreUpEvent = true
|
mIgnoreUpEvent = true
|
||||||
if (all_apps_fragment.y != mScreenHeight.toFloat()) {
|
if (all_apps_fragment.y != mScreenHeight.toFloat()) {
|
||||||
@ -358,20 +347,24 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||||||
return launchers
|
return launchers
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getDefaultAppPackages() {
|
private fun getDefaultAppPackages(appLaunchers: ArrayList<AppLauncher>) {
|
||||||
val homeScreenGridItems = ArrayList<HomeScreenGridItem>()
|
val homeScreenGridItems = ArrayList<HomeScreenGridItem>()
|
||||||
try {
|
try {
|
||||||
val defaultDialerPackage = (getSystemService(Context.TELECOM_SERVICE) as TelecomManager).defaultDialerPackage
|
val defaultDialerPackage = (getSystemService(Context.TELECOM_SERVICE) as TelecomManager).defaultDialerPackage
|
||||||
val dialerIcon = HomeScreenGridItem(null, 0, ROW_COUNT - 1, 1, ROW_COUNT, defaultDialerPackage, "", null)
|
appLaunchers.firstOrNull { it.packageName == defaultDialerPackage }?.apply {
|
||||||
homeScreenGridItems.add(dialerIcon)
|
val dialerIcon = HomeScreenGridItem(null, 0, ROW_COUNT - 1, 1, ROW_COUNT, defaultDialerPackage, title, null)
|
||||||
|
homeScreenGridItems.add(dialerIcon)
|
||||||
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val defaultSMSMessengerPackage = Telephony.Sms.getDefaultSmsPackage(this)
|
val defaultSMSMessengerPackage = Telephony.Sms.getDefaultSmsPackage(this)
|
||||||
val SMSMessengerIcon =
|
appLaunchers.firstOrNull { it.packageName == defaultSMSMessengerPackage }?.apply {
|
||||||
HomeScreenGridItem(null, 1, ROW_COUNT - 1, 2, ROW_COUNT, defaultSMSMessengerPackage, "", null)
|
val SMSMessengerIcon =
|
||||||
homeScreenGridItems.add(SMSMessengerIcon)
|
HomeScreenGridItem(null, 1, ROW_COUNT - 1, 2, ROW_COUNT, defaultSMSMessengerPackage, title, null)
|
||||||
|
homeScreenGridItems.add(SMSMessengerIcon)
|
||||||
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -379,18 +372,21 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||||||
val browserIntent = Intent("android.intent.action.VIEW", Uri.parse("http://"))
|
val browserIntent = Intent("android.intent.action.VIEW", Uri.parse("http://"))
|
||||||
val resolveInfo = packageManager.resolveActivity(browserIntent, PackageManager.MATCH_DEFAULT_ONLY)
|
val resolveInfo = packageManager.resolveActivity(browserIntent, PackageManager.MATCH_DEFAULT_ONLY)
|
||||||
val defaultBrowserPackage = resolveInfo!!.activityInfo.packageName
|
val defaultBrowserPackage = resolveInfo!!.activityInfo.packageName
|
||||||
val browserIcon =
|
appLaunchers.firstOrNull { it.packageName == defaultBrowserPackage }?.apply {
|
||||||
HomeScreenGridItem(null, 2, ROW_COUNT - 1, 3, ROW_COUNT, defaultBrowserPackage, "", null)
|
val browserIcon = HomeScreenGridItem(null, 2, ROW_COUNT - 1, 3, ROW_COUNT, defaultBrowserPackage, title, null)
|
||||||
homeScreenGridItems.add(browserIcon)
|
homeScreenGridItems.add(browserIcon)
|
||||||
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val potentialStores = arrayListOf("com.android.vending", "org.fdroid.fdroid", "com.aurora.store")
|
val potentialStores = arrayListOf("com.android.vending", "org.fdroid.fdroid", "com.aurora.store")
|
||||||
val storePackage = potentialStores.firstOrNull { isPackageInstalled(it) }
|
val storePackage = potentialStores.firstOrNull { isPackageInstalled(it) && appLaunchers.map { it.packageName }.contains(it) }
|
||||||
if (storePackage != null) {
|
if (storePackage != null) {
|
||||||
val storeIcon = HomeScreenGridItem(null, 3, ROW_COUNT - 1, 4, ROW_COUNT, storePackage, "", null)
|
appLaunchers.firstOrNull { it.packageName == storePackage }?.apply {
|
||||||
homeScreenGridItems.add(storeIcon)
|
val storeIcon = HomeScreenGridItem(null, 3, ROW_COUNT - 1, 4, ROW_COUNT, storePackage, title, null)
|
||||||
|
homeScreenGridItems.add(storeIcon)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
}
|
}
|
||||||
@ -399,8 +395,10 @@ class MainActivity : SimpleActivity(), FlingListener {
|
|||||||
val cameraIntent = Intent("android.media.action.IMAGE_CAPTURE")
|
val cameraIntent = Intent("android.media.action.IMAGE_CAPTURE")
|
||||||
val resolveInfo = packageManager.resolveActivity(cameraIntent, PackageManager.MATCH_DEFAULT_ONLY)
|
val resolveInfo = packageManager.resolveActivity(cameraIntent, PackageManager.MATCH_DEFAULT_ONLY)
|
||||||
val defaultCameraPackage = resolveInfo!!.activityInfo.packageName
|
val defaultCameraPackage = resolveInfo!!.activityInfo.packageName
|
||||||
val cameraIcon = HomeScreenGridItem(null, 4, ROW_COUNT - 1, 5, ROW_COUNT, defaultCameraPackage, "", null)
|
appLaunchers.firstOrNull { it.packageName == defaultCameraPackage }?.apply {
|
||||||
homeScreenGridItems.add(cameraIcon)
|
val cameraIcon = HomeScreenGridItem(null, 4, ROW_COUNT - 1, 5, ROW_COUNT, defaultCameraPackage, title, null)
|
||||||
|
homeScreenGridItems.add(cameraIcon)
|
||||||
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,8 +11,4 @@ class Config(context: Context) : BaseConfig(context) {
|
|||||||
var wasHomeScreenInit: Boolean
|
var wasHomeScreenInit: Boolean
|
||||||
get() = prefs.getBoolean(WAS_HOME_SCREEN_INIT, false)
|
get() = prefs.getBoolean(WAS_HOME_SCREEN_INIT, false)
|
||||||
set(wasHomeScreenInit) = prefs.edit().putBoolean(WAS_HOME_SCREEN_INIT, wasHomeScreenInit).apply()
|
set(wasHomeScreenInit) = prefs.edit().putBoolean(WAS_HOME_SCREEN_INIT, wasHomeScreenInit).apply()
|
||||||
|
|
||||||
var wereDefaultAppLabelsFilled: Boolean
|
|
||||||
get() = prefs.getBoolean(WERE_DEFAULT_APP_LABELS_FILLED, false)
|
|
||||||
set(wereDefaultAppLabelsFilled) = prefs.edit().putBoolean(WERE_DEFAULT_APP_LABELS_FILLED, wereDefaultAppLabelsFilled).apply()
|
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@ const val WIDGET_LIST_ITEMS_HOLDER = 1
|
|||||||
|
|
||||||
// shared prefs
|
// shared prefs
|
||||||
const val WAS_HOME_SCREEN_INIT = "was_home_screen_init"
|
const val WAS_HOME_SCREEN_INIT = "was_home_screen_init"
|
||||||
const val WERE_DEFAULT_APP_LABELS_FILLED = "were_default_app_labels_filled"
|
|
||||||
|
|
||||||
// default home screen grid size
|
// default home screen grid size
|
||||||
const val ROW_COUNT = 6
|
const val ROW_COUNT = 6
|
||||||
|
Reference in New Issue
Block a user