From 66065b76f8b5dc3673af349570287816ed057fb1 Mon Sep 17 00:00:00 2001 From: HeCodes2Much Date: Wed, 4 Dec 2024 17:34:47 +0000 Subject: [PATCH] Fix: Fixed a few issues with app draw including icons as well as work profile stuff. --- app/src/main/AndroidManifest.xml | 9 ++ .../common/ContextExtensions.kt | 82 ++++++++++++++- .../launcher/data/AppDatabase.kt | 2 +- .../launcher/helper/AppHelper.kt | 1 - .../launcher/repository/AppInfoRepository.kt | 18 +++- .../AppInfoBottomSheetFragment.kt | 1 - .../launcher/ui/drawer/DrawFragment.kt | 25 ++++- .../launcher/ui/drawer/DrawViewHolder.kt | 89 +++++++++-------- .../launcher/ui/home/HomeViewHolder.kt | 99 ++++++++++--------- .../main/res/layout/bottomsheet_dialog.xml | 9 +- app/src/main/res/layout/fragment_draw.xml | 21 +++- app/src/main/res/layout/item_draw.xml | 11 --- app/src/main/res/values/strings.xml | 1 + 13 files changed, 257 insertions(+), 111 deletions(-) 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