mirror of
https://github.com/jrpie/Launcher.git
synced 2025-02-23 06:21:31 +01:00
fix #5: don't show uninstall option for system apps.
The three dot menu button was removed, since the menu is already available by long clicking
This commit is contained in:
parent
522353a62c
commit
bc0ecad1ac
4 changed files with 15 additions and 29 deletions
|
@ -9,6 +9,7 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.content.pm.ActivityInfo
|
||||
import android.content.pm.ApplicationInfo
|
||||
import android.content.pm.LauncherActivityInfo
|
||||
import android.content.pm.LauncherApps
|
||||
import android.content.pm.PackageManager
|
||||
|
@ -403,6 +404,7 @@ fun loadApps(packageManager: PackageManager, context: Context) {
|
|||
app.packageName = activityInfo.applicationInfo.packageName
|
||||
app.icon = activityInfo.getBadgedIcon(0)
|
||||
app.user = user.hashCode()
|
||||
app.isSystemApp = activityInfo.applicationInfo.flags.and(ApplicationInfo.FLAG_SYSTEM) != 0
|
||||
loadList.add(app)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,11 +51,9 @@ class AppsRecyclerAdapter(val activity: Activity,
|
|||
View.OnClickListener {
|
||||
var textView: TextView = itemView.findViewById(R.id.list_apps_row_name)
|
||||
var img: ImageView = itemView.findViewById(R.id.list_apps_row_icon)
|
||||
var menuDots: ImageView = itemView.findViewById(R.id.list_apps_row_menu)
|
||||
|
||||
override fun onClick(v: View) {
|
||||
val pos = adapterPosition
|
||||
val context: Context = v.context
|
||||
val appPackageName = appsListDisplayed[pos].packageName.toString()
|
||||
val appUser = appsListDisplayed[pos].user
|
||||
when (intention){
|
||||
|
@ -93,17 +91,9 @@ class AppsRecyclerAdapter(val activity: Activity,
|
|||
)
|
||||
|
||||
// decide when to show the options popup menu about
|
||||
if (isSystemApp || intention == ListActivity.ListActivityIntention.PICK) {
|
||||
viewHolder.menuDots.visibility = View.INVISIBLE
|
||||
}
|
||||
else {
|
||||
viewHolder.menuDots.visibility = View.VISIBLE
|
||||
|
||||
viewHolder.menuDots.setOnClickListener{ showOptionsPopup(viewHolder, appPackageName, appUser) }
|
||||
viewHolder.menuDots.setOnLongClickListener{ showOptionsPopup(viewHolder, appPackageName, appUser) }
|
||||
viewHolder.textView.setOnLongClickListener{ showOptionsPopup(viewHolder, appPackageName, appUser) }
|
||||
viewHolder.img.setOnLongClickListener{ showOptionsPopup(viewHolder, appPackageName, appUser) }
|
||||
|
||||
if (intention == ListActivity.ListActivityIntention.VIEW) {
|
||||
viewHolder.textView.setOnLongClickListener{ showOptionsPopup(viewHolder, appPackageName, appUser, isSystemApp) }
|
||||
viewHolder.img.setOnLongClickListener{ showOptionsPopup(viewHolder, appPackageName, appUser, isSystemApp) }
|
||||
// ensure onClicks are actually caught
|
||||
viewHolder.textView.setOnClickListener{ viewHolder.onClick(viewHolder.textView) }
|
||||
viewHolder.img.setOnClickListener{ viewHolder.onClick(viewHolder.img) }
|
||||
|
@ -111,12 +101,16 @@ class AppsRecyclerAdapter(val activity: Activity,
|
|||
}
|
||||
|
||||
@Suppress("SameReturnValue")
|
||||
private fun showOptionsPopup(viewHolder: ViewHolder, appPackageName: String, user: Int?): Boolean {
|
||||
private fun showOptionsPopup(viewHolder: ViewHolder, appPackageName: String, user: Int?, isSystemApp: Boolean): Boolean {
|
||||
//create the popup menu
|
||||
|
||||
val popup = PopupMenu(activity, viewHolder.menuDots)
|
||||
val popup = PopupMenu(activity, viewHolder.img)
|
||||
popup.inflate(R.menu.menu_app)
|
||||
|
||||
if (isSystemApp) {
|
||||
popup.menu.findItem(R.id.app_menu_delete).setVisible(false)
|
||||
}
|
||||
|
||||
popup.setOnMenuItemClickListener {
|
||||
when (it.itemId) {
|
||||
R.id.app_menu_delete -> {
|
||||
|
|
|
@ -22,25 +22,11 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="60sp"
|
||||
android:layout_marginLeft="60sp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginRight="5dp"
|
||||
android:gravity="start"
|
||||
android:text=""
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/list_apps_row_menu"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/list_apps_row_menu"
|
||||
android:layout_width="30sp"
|
||||
android:layout_height="0dp"
|
||||
android:gravity="center"
|
||||
android:src="@drawable/baseline_more_horiz_24"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
4
fastlane/metadata/android/en-US/changelogs/21.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/21.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
- Chinese translation (thank you, yzqzss!)
|
||||
- Fixed workaround for bug when opening keyboard in full screen mode
|
||||
- Removed uninstall option for system apps
|
||||
- Removed three dots in app list (use long click instead)
|
Loading…
Add table
Reference in a new issue