diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5aca704..d46636d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,6 +18,15 @@
+
+
+
+
+
diff --git a/app/src/main/java/com/github/droidworksstudio/common/ContextExtensions.kt b/app/src/main/java/com/github/droidworksstudio/common/ContextExtensions.kt
index d2f85c3..caf961b 100644
--- a/app/src/main/java/com/github/droidworksstudio/common/ContextExtensions.kt
+++ b/app/src/main/java/com/github/droidworksstudio/common/ContextExtensions.kt
@@ -11,6 +11,7 @@ import android.content.pm.PackageManager
import android.content.res.Configuration
import android.graphics.Bitmap
import android.graphics.drawable.AdaptiveIconDrawable
+import android.graphics.drawable.Drawable
import android.net.Uri
import android.os.Build
import android.os.UserHandle
@@ -33,6 +34,7 @@ import androidx.core.graphics.drawable.IconCompat
import androidx.core.graphics.drawable.toBitmap
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.LifecycleOwner
+import com.github.droidworksstudio.launcher.R
import com.github.droidworksstudio.launcher.data.entities.AppInfo
import com.github.droidworksstudio.launcher.helper.PreferenceHelper
import com.github.droidworksstudio.launcher.ui.activities.LauncherActivity
@@ -193,15 +195,61 @@ fun Context.resetDefaultLauncher() {
fun Context.unInstallApp(appInfo: AppInfo) {
val intent = Intent(Intent.ACTION_DELETE)
intent.data = Uri.parse("package:${appInfo.packageName}")
- this.startActivity(intent)
+ if (appInfo.userHandle > 0) this.showShortToast(getString(R.string.work_permission_message))
+ else this.startActivity(intent)
}
fun Context.appInfo(appInfo: AppInfo) {
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
intent.data = Uri.fromParts("package", appInfo.packageName, null)
- this.startActivity(intent)
+// this.test()
+ if (appInfo.userHandle > 0) this.showShortToast(getString(R.string.work_permission_message))
+ else this.startActivity(intent)
}
+//fun Context.test() {
+// // Get the UserManager system service
+// val userManager = getSystemService(Context.USER_SERVICE) as? UserManager
+// val packageManager = packageManager
+//
+// // Check if the UserManager is available
+// if (userManager == null) {
+// Log.e("Error", "UserManager is not available on this device")
+// return
+// }
+//
+// // Log available user profiles
+// val users = userManager.userProfiles
+// Log.d("UserManager", "User profiles: $users")
+// // Iterate through users to check for work profiles
+// for (userHandle in users) {
+// try {
+// // Get the UserInfo object for each user
+// val userInfo = userManager.getUserInfo(userHandle)
+// Log.d("UserManager", "User info for handle $userHandle: ${userInfo.name}")
+//
+// // Check if this user is a managed (work) profile
+// if (userInfo.isManagedProfile) {
+// Log.d("WorkProfile", "Work profile found for user: ${userInfo.name}")
+//
+// // Get installed apps for this work profile
+// val appsInWorkProfile = packageManager.getInstalledPackages(PackageManager.GET_META_DATA)
+//
+// // Log installed apps in the work profile
+// for (appInfo in appsInWorkProfile) {
+// appInfo.applicationInfo?.let {
+// if (it.flags and ApplicationInfo.FLAG_SYSTEM == 0) {
+// Log.d("App", "Possible app managing work profile: ${appInfo.packageName}")
+// }
+// }
+// }
+// }
+// } catch (e: Exception) {
+// Log.e("Error", "Failed to get user info for handle $userHandle: ${e.message}")
+// }
+// }
+//}
+
fun Context.launchApp(appInfo: AppInfo) {
val packageName = appInfo.packageName
val primaryUserHandle = android.os.Process.myUserHandle()
@@ -360,6 +408,36 @@ fun Context.isWorkProfileEnabled(): Boolean {
}
}
+fun Context.getAllProfileAppIcons(): Map, Drawable?> {
+ val launcherApps = this.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps
+ val userManager = this.getSystemService(Context.USER_SERVICE) as UserManager
+ val userHandles = userManager.userProfiles
+ val appInfoMap = mutableMapOf, Drawable?>()
+
+ try {
+ for (userHandle in userHandles) {
+ val apps = launcherApps.getActivityList(null, userHandle)
+ apps.forEach { activityInfo ->
+ val packageName = activityInfo.applicationInfo.packageName // App's package name
+ val icon = activityInfo.getBadgedIcon(0) // Drawable for the app's icon
+ val userHandle = activityInfo.user // UserHandle for the profile the app belongs to
+ val userId = userHandle.hashCode() // Get the unique integer ID of the UserHandle
+
+ // Construct the key as Pair(UserHandle, String)
+ val key = Pair(userId, packageName)
+
+ // Store the pair of UserHandle and label as the key, with the icon as the value
+ appInfoMap[key] = icon
+ }
+ }
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+
+ return appInfoMap
+}
+
+
fun Context.hasInternetPermission(): Boolean {
val permission = Manifest.permission.INTERNET
val result = ContextCompat.checkSelfPermission(this, permission)
diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/data/AppDatabase.kt b/app/src/main/java/com/github/droidworksstudio/launcher/data/AppDatabase.kt
index 880761d..ee748f0 100644
--- a/app/src/main/java/com/github/droidworksstudio/launcher/data/AppDatabase.kt
+++ b/app/src/main/java/com/github/droidworksstudio/launcher/data/AppDatabase.kt
@@ -6,7 +6,7 @@ import androidx.room.RoomDatabase
import com.github.droidworksstudio.launcher.data.dao.AppInfoDAO
import com.github.droidworksstudio.launcher.data.entities.AppInfo
-@Database(entities = [AppInfo::class], version = 1, exportSchema = true)
+@Database(entities = [AppInfo::class], version = 1, exportSchema = false)
abstract class AppDatabase : RoomDatabase() {
abstract fun appDao(): AppInfoDAO
}
\ No newline at end of file
diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/helper/AppHelper.kt b/app/src/main/java/com/github/droidworksstudio/launcher/helper/AppHelper.kt
index 68edaa9..2b24d46 100644
--- a/app/src/main/java/com/github/droidworksstudio/launcher/helper/AppHelper.kt
+++ b/app/src/main/java/com/github/droidworksstudio/launcher/helper/AppHelper.kt
@@ -419,7 +419,6 @@ class AppHelper @Inject constructor() {
dao.resetAutoIncrement() // Resets the ID counter
}
-
fun getActionType(actionType: Constants.Swipe): NavOptions {
return when (actionType) {
Constants.Swipe.DoubleTap -> {
diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/repository/AppInfoRepository.kt b/app/src/main/java/com/github/droidworksstudio/launcher/repository/AppInfoRepository.kt
index 838e16f..31ae23f 100644
--- a/app/src/main/java/com/github/droidworksstudio/launcher/repository/AppInfoRepository.kt
+++ b/app/src/main/java/com/github/droidworksstudio/launcher/repository/AppInfoRepository.kt
@@ -175,8 +175,22 @@ class AppInfoRepository @Inject constructor(
launcherApps.getActivityList(null, profile)
.mapNotNull { app ->
val packageName = app.applicationInfo.packageName
- val existingApp = getAppByPackageNameWork(packageName)
- existingApp
+ val currentDateTime = LocalDateTime.now()
+ if (packageName !in existingPackageNames && packageName !in excludedPackageNames) {
+ AppInfo(
+ appName = app.label.toString(),
+ packageName = packageName,
+ favorite = false,
+ hidden = false,
+ lock = false,
+ createTime = currentDateTime.toString(),
+ userHandle = userId,
+ )
+ } else {
+ val existingApp = getAppByPackageNameWork(packageName)
+ existingApp?.let { appList.add(it) }
+ existingApp
+ }
}
}
}
diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/AppInfoBottomSheetFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/AppInfoBottomSheetFragment.kt
index 7d0b1d2..45c913b 100644
--- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/AppInfoBottomSheetFragment.kt
+++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/bottomsheetdialog/AppInfoBottomSheetFragment.kt
@@ -85,7 +85,6 @@ class AppInfoBottomSheetFragment(private val appInfo: AppInfo) : BottomSheetDial
bottomSheetRename.setText(appInfo.appName)
bottomSheetOrder.text = "${appInfo.appOrder}"
}
-
}
diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/drawer/DrawFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/drawer/DrawFragment.kt
index 0ab5d76..d78cb5f 100644
--- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/drawer/DrawFragment.kt
+++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/drawer/DrawFragment.kt
@@ -6,9 +6,11 @@ import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
+import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.LinearLayout
import androidx.annotation.RequiresApi
import androidx.appcompat.widget.SearchView
import androidx.fragment.app.Fragment
@@ -108,10 +110,28 @@ class DrawFragment : Fragment(),
private fun setupRecyclerView() {
+ // Ensure correct type for layout params
+ val layoutParams = (binding.drawAdapter.layoutParams as? LinearLayout.LayoutParams)
+ ?: LinearLayout.LayoutParams(
+ ViewGroup.LayoutParams.MATCH_PARENT,
+ ViewGroup.LayoutParams.WRAP_CONTENT
+ )
+
+ // Set gravity to align RecyclerView to the bottom
+ layoutParams.gravity = when (preferenceHelper.homeAppAlignment) {
+ Gravity.START -> Gravity.START or Gravity.BOTTOM
+ Gravity.CENTER -> Gravity.CENTER or Gravity.BOTTOM
+ Gravity.END -> Gravity.END or Gravity.BOTTOM
+ else -> Gravity.BOTTOM
+ }
+
+ // Apply configurations to RecyclerView
binding.drawAdapter.apply {
adapter = drawAdapter
- layoutManager = StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL)
+ this.layoutParams = layoutParams
setHasFixedSize(false)
+ layoutManager = StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL)
+ isNestedScrollingEnabled = false
}
}
@@ -173,7 +193,8 @@ class DrawFragment : Fragment(),
private fun observeSwipeTouchListener() {
binding.apply {
mainView.setOnTouchListener(getSwipeGestureListener(context))
- drawAdapter.setOnTouchListener(getSwipeGestureListener(context))
+ touchArea.setOnTouchListener(getSwipeGestureListener(context))
+ appListTouchArea.setOnTouchListener(getSwipeGestureListener(context))
}
}
diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/drawer/DrawViewHolder.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/drawer/DrawViewHolder.kt
index 1125fae..1706f3e 100644
--- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/drawer/DrawViewHolder.kt
+++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/drawer/DrawViewHolder.kt
@@ -1,6 +1,5 @@
package com.github.droidworksstudio.launcher.ui.drawer
-import android.content.pm.PackageManager
import android.graphics.drawable.Drawable
import android.view.Gravity
import android.view.View
@@ -9,6 +8,7 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.github.droidworksstudio.common.ColorIconsExtensions
import com.github.droidworksstudio.common.dpToPx
+import com.github.droidworksstudio.common.getAllProfileAppIcons
import com.github.droidworksstudio.launcher.R
import com.github.droidworksstudio.launcher.data.entities.AppInfo
import com.github.droidworksstudio.launcher.databinding.ItemDrawBinding
@@ -20,7 +20,7 @@ class DrawViewHolder(
private val binding: ItemDrawBinding,
private val onAppClickedListener: OnItemClickedListener.OnAppsClickedListener,
private val onAppLongClickedListener: OnItemClickedListener.OnAppLongClickedListener,
- private val preferenceHelper: PreferenceHelper
+ private val preferenceHelper: PreferenceHelper,
) :
RecyclerView.ViewHolder(binding.root) {
@@ -43,48 +43,57 @@ class DrawViewHolder(
appDrawName.gravity = preferenceHelper.homeAppAlignment
if (preferenceHelper.showAppIcon) {
- val pm: PackageManager = binding.root.context.packageManager
- val appIcon = pm.getApplicationIcon(appInfo.packageName)
- val appIconSize = (preferenceHelper.appTextSize * if (preferenceHelper.iconPack == Constants.IconPacks.System) 2f else 1.1f).toInt()
+ val appInfoMap = root.context.getAllProfileAppIcons()
+ appInfoMap.forEach { (key, icon) ->
+ val userHandle: Int? = key.first
+ val packageName: String? = key.second
+ if (appInfo.packageName == packageName && appInfo.userHandle == userHandle) {
+ val easyDot = ContextCompat.getDrawable(itemView.context, R.drawable.app_easy_dot_icon)!!
+ val appIcon = icon
+ val nonNullDrawable: Drawable = appIcon ?: easyDot
- val layoutParams = LinearLayoutCompat.LayoutParams(appIconSize, appIconSize)
- val appNewIcon: Drawable? = if (preferenceHelper.iconPack == Constants.IconPacks.EasyDots) {
- val newIcon = ContextCompat.getDrawable(itemView.context, R.drawable.app_easy_dot_icon)!!
- val bitmap = ColorIconsExtensions.drawableToBitmap(appIcon)
- val dominantColor = ColorIconsExtensions.getDominantColor(bitmap)
- ColorIconsExtensions.recolorDrawable(newIcon, dominantColor)
- } else if (preferenceHelper.iconPack == Constants.IconPacks.NiagaraDots) {
- val newIcon = ContextCompat.getDrawable(itemView.context, R.drawable.app_niagara_dot_icon)!!
- val bitmap = ColorIconsExtensions.drawableToBitmap(appIcon)
- val dominantColor = ColorIconsExtensions.getDominantColor(bitmap)
- ColorIconsExtensions.recolorDrawable(newIcon, dominantColor)
- } else {
- null
- }
+ val appIconSize = (preferenceHelper.appTextSize * if (preferenceHelper.iconPack == Constants.IconPacks.System) 2f else 1.1f).toInt()
- appDrawIcon.layoutParams = layoutParams
- appDrawIcon.setImageDrawable(appNewIcon ?: appIcon)
- appDrawIcon.visibility = View.VISIBLE
+ val layoutParams = LinearLayoutCompat.LayoutParams(appIconSize, appIconSize)
+ val appNewIcon: Drawable? = if (preferenceHelper.iconPack == Constants.IconPacks.EasyDots) {
+ val newIcon = ContextCompat.getDrawable(itemView.context, R.drawable.app_easy_dot_icon)!!
+ val bitmap = ColorIconsExtensions.drawableToBitmap(nonNullDrawable)
+ val dominantColor = ColorIconsExtensions.getDominantColor(bitmap)
+ ColorIconsExtensions.recolorDrawable(newIcon, dominantColor)
+ } else if (preferenceHelper.iconPack == Constants.IconPacks.NiagaraDots) {
+ val newIcon = ContextCompat.getDrawable(itemView.context, R.drawable.app_niagara_dot_icon)!!
+ val bitmap = ColorIconsExtensions.drawableToBitmap(nonNullDrawable)
+ val dominantColor = ColorIconsExtensions.getDominantColor(bitmap)
+ ColorIconsExtensions.recolorDrawable(newIcon, dominantColor)
+ } else {
+ null
+ }
- val parentLayout = appDrawName.parent as LinearLayoutCompat
- parentLayout.orientation = LinearLayoutCompat.HORIZONTAL
- parentLayout.removeAllViews()
+ appDrawIcon.layoutParams = layoutParams
+ appDrawIcon.setImageDrawable(appNewIcon ?: nonNullDrawable)
+ appDrawIcon.visibility = View.VISIBLE
- when (preferenceHelper.homeAppAlignment) {
- Gravity.START -> {
- layoutParams.marginEnd = 10.dpToPx()
- parentLayout.addView(appDrawIcon)
- parentLayout.addView(appDrawName)
- }
+ val parentLayout = appDrawName.parent as LinearLayoutCompat
+ parentLayout.orientation = LinearLayoutCompat.HORIZONTAL
+ parentLayout.removeAllViews()
- Gravity.END -> {
- layoutParams.marginStart = 10.dpToPx()
- parentLayout.addView(appDrawName)
- parentLayout.addView(appDrawIcon)
- }
+ when (preferenceHelper.homeAppAlignment) {
+ Gravity.START -> {
+ layoutParams.marginEnd = 10.dpToPx()
+ parentLayout.addView(appDrawIcon)
+ parentLayout.addView(appDrawName)
+ }
- else -> {
- appDrawIcon.visibility = View.GONE
+ Gravity.END -> {
+ layoutParams.marginStart = 10.dpToPx()
+ parentLayout.addView(appDrawName)
+ parentLayout.addView(appDrawIcon)
+ }
+
+ else -> {
+ parentLayout.addView(appDrawName)
+ }
+ }
}
}
} else {
@@ -97,9 +106,7 @@ class DrawViewHolder(
}
itemView.setOnLongClickListener {
- if (appInfo.userHandle <= 0) {
- onAppLongClickedListener.onAppLongClicked(appInfo)
- }
+ onAppLongClickedListener.onAppLongClicked(appInfo)
true
}
}
diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeViewHolder.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeViewHolder.kt
index d097c42..0c1303b 100644
--- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeViewHolder.kt
+++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeViewHolder.kt
@@ -1,7 +1,6 @@
package com.github.droidworksstudio.launcher.ui.home
import android.annotation.SuppressLint
-import android.content.pm.PackageManager
import android.graphics.drawable.Drawable
import android.view.Gravity
import android.view.View
@@ -10,6 +9,7 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.RecyclerView
import com.github.droidworksstudio.common.ColorIconsExtensions
import com.github.droidworksstudio.common.dpToPx
+import com.github.droidworksstudio.common.getAllProfileAppIcons
import com.github.droidworksstudio.launcher.R
import com.github.droidworksstudio.launcher.data.entities.AppInfo
import com.github.droidworksstudio.launcher.databinding.ItemHomeBinding
@@ -43,60 +43,71 @@ class HomeViewHolder @Inject constructor(
appHomeName.gravity = preferenceHelper.homeAppAlignment
if (preferenceHelper.showAppIcon) {
- val pm: PackageManager = binding.root.context.packageManager
- val appIcon = pm.getApplicationIcon(appInfo.packageName)
- val appIconSize = (preferenceHelper.appTextSize * if (preferenceHelper.iconPack == Constants.IconPacks.System) 2f else 1.1f).toInt()
+ val appInfoMap = root.context.getAllProfileAppIcons()
+ appInfoMap.forEach { (key, icon) ->
+ val userHandle: Int? = key.first
+ val packageName: String? = key.second
+ if (appInfo.packageName == packageName && appInfo.userHandle == userHandle) {
+ val easyDot = ContextCompat.getDrawable(itemView.context, R.drawable.app_easy_dot_icon)!!
+ val appIcon = icon
+ val nonNullDrawable: Drawable = appIcon ?: easyDot
- val layoutParams = LinearLayoutCompat.LayoutParams(appIconSize, appIconSize)
- val appNewIcon: Drawable? = if (preferenceHelper.iconPack == Constants.IconPacks.EasyDots) {
- val newIcon = ContextCompat.getDrawable(itemView.context, R.drawable.app_easy_dot_icon)!!
- val bitmap = ColorIconsExtensions.drawableToBitmap(appIcon)
- val dominantColor = ColorIconsExtensions.getDominantColor(bitmap)
- ColorIconsExtensions.recolorDrawable(newIcon, dominantColor)
- } else if (preferenceHelper.iconPack == Constants.IconPacks.NiagaraDots) {
- val newIcon = ContextCompat.getDrawable(itemView.context, R.drawable.app_niagara_dot_icon)!!
- val bitmap = ColorIconsExtensions.drawableToBitmap(appIcon)
- val dominantColor = ColorIconsExtensions.getDominantColor(bitmap)
- ColorIconsExtensions.recolorDrawable(newIcon, dominantColor)
- } else {
- null
- }
+ val appIconSize = (preferenceHelper.appTextSize * if (preferenceHelper.iconPack == Constants.IconPacks.System) 2f else 1.1f).toInt()
- appHomeIcon.layoutParams = layoutParams
- appHomeIcon.setImageDrawable(appNewIcon ?: appIcon)
- appHomeIcon.visibility = View.VISIBLE
+ val layoutParams = LinearLayoutCompat.LayoutParams(appIconSize, appIconSize)
+ val appNewIcon: Drawable? = if (preferenceHelper.iconPack == Constants.IconPacks.EasyDots) {
+ val newIcon = ContextCompat.getDrawable(itemView.context, R.drawable.app_easy_dot_icon)!!
+ val bitmap = ColorIconsExtensions.drawableToBitmap(nonNullDrawable)
+ val dominantColor = ColorIconsExtensions.getDominantColor(bitmap)
+ ColorIconsExtensions.recolorDrawable(newIcon, dominantColor)
+ } else if (preferenceHelper.iconPack == Constants.IconPacks.NiagaraDots) {
+ val newIcon = ContextCompat.getDrawable(itemView.context, R.drawable.app_niagara_dot_icon)!!
+ val bitmap = ColorIconsExtensions.drawableToBitmap(nonNullDrawable)
+ val dominantColor = ColorIconsExtensions.getDominantColor(bitmap)
+ ColorIconsExtensions.recolorDrawable(newIcon, dominantColor)
+ } else {
+ null
+ }
- val parentLayout = appHomeName.parent as LinearLayoutCompat
- parentLayout.orientation = LinearLayoutCompat.HORIZONTAL
- parentLayout.removeAllViews()
+ appHomeIcon.layoutParams = layoutParams
+ appHomeIcon.setImageDrawable(appNewIcon ?: nonNullDrawable)
+ appHomeIcon.visibility = View.VISIBLE
- when (preferenceHelper.homeAppAlignment) {
- Gravity.START -> {
- layoutParams.marginEnd = 10.dpToPx()
- parentLayout.addView(appHomeIcon)
- parentLayout.addView(appHomeName)
- }
+ val parentLayout = appHomeName.parent as LinearLayoutCompat
+ parentLayout.orientation = LinearLayoutCompat.HORIZONTAL
+ parentLayout.removeAllViews()
- Gravity.END -> {
- layoutParams.marginStart = 10.dpToPx()
- parentLayout.addView(appHomeName)
- parentLayout.addView(appHomeIcon)
- }
+ when (preferenceHelper.homeAppAlignment) {
+ Gravity.START -> {
+ layoutParams.marginEnd = 10.dpToPx()
+ parentLayout.addView(appHomeIcon)
+ parentLayout.addView(appHomeName)
+ }
- else -> {
- parentLayout.addView(appHomeName)
+ Gravity.END -> {
+ layoutParams.marginStart = 10.dpToPx()
+ parentLayout.addView(appHomeName)
+ parentLayout.addView(appHomeIcon)
+ }
+
+ else -> {
+ parentLayout.addView(appHomeName)
+ }
+ }
}
}
+ } else {
+ appHomeIcon.visibility = View.GONE
}
- }
- itemView.setOnClickListener {
- onAppClickedListener.onAppClicked(appInfo)
- }
+ appHomeName.setOnClickListener {
+ onAppClickedListener.onAppClicked(appInfo)
+ }
- itemView.setOnLongClickListener {
- onAppLongClickedListener.onAppLongClicked(appInfo)
- true
+ appHomeName.setOnLongClickListener {
+ onAppLongClickedListener.onAppLongClicked(appInfo)
+ true
+ }
}
}
}
diff --git a/app/src/main/res/layout/bottomsheet_dialog.xml b/app/src/main/res/layout/bottomsheet_dialog.xml
index 53d5ced..485b8c3 100644
--- a/app/src/main/res/layout/bottomsheet_dialog.xml
+++ b/app/src/main/res/layout/bottomsheet_dialog.xml
@@ -29,7 +29,7 @@
android:layout_weight="1"
android:background="@android:color/transparent"
android:text="@string/bottom_dialog_app_rename"
- android:textSize="@dimen/bottom_dialog_text_large">
+ android:textSize="@dimen/bottom_dialog_text_large" />
+
+
-
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+
+
diff --git a/app/src/main/res/layout/item_draw.xml b/app/src/main/res/layout/item_draw.xml
index 35cbe2e..3532db7 100644
--- a/app/src/main/res/layout/item_draw.xml
+++ b/app/src/main/res/layout/item_draw.xml
@@ -12,22 +12,11 @@
android:orientation="horizontal"
tools:ignore="MissingConstraints">
-
-
A crash has occurred in the application.\n\nBelow are the details of the device. The error log has been attached as a file for your reference. We would appreciate your assistance in resolving this issue.\n\nDevice Information: \n[PLEASE fill in the information below also removing anything between the square brackets or this will be ignored.]\n\n- App Version: [11.11.11]\n- Android Version: [Apple 1.16]\n- Device Name: [Android Apple Phone 69]\n- Install Location: [Github, Fdroid, Obtanium, Tesla Space Station]\n\nYour prompt attention to this matter is greatly appreciated.\n\nThank you.\n
mLauncher promises to use lock screen permission responsibly. mLauncher does not collect or share any data.
+ You must use the Work Profile Manager to perform this action.
- Left