Skip to content

Commit d50d570

Browse files
committed
Check both short and long label for shortcuts
This closes #132
1 parent 6e9d868 commit d50d570

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

app/src/main/kotlin/com/simplemobiletools/launcher/activities/MainActivity.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import android.content.Intent
1313
import android.content.pm.ActivityInfo
1414
import android.content.pm.LauncherApps
1515
import android.content.pm.PackageManager
16+
import android.content.pm.ShortcutInfo
1617
import android.content.res.Configuration
1718
import android.graphics.Bitmap
1819
import android.graphics.Color
@@ -235,8 +236,8 @@ class MainActivity : SimpleActivity(), FlingListener {
235236
val item = launcherApps.getPinItemRequest(resultData)
236237
item.accept()
237238
val shortcutId = item.shortcutInfo?.id!!
238-
val label = item.shortcutInfo?.shortLabel?.toString() ?: item.shortcutInfo?.longLabel?.toString() ?: ""
239-
val icon = launcherApps.getShortcutIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi)
239+
val label = item.shortcutInfo.getLabel()
240+
val icon = launcherApps.getShortcutBadgedIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi)
240241
mActionOnAddShortcut?.invoke(shortcutId, label, icon)
241242
}
242243
}
@@ -363,8 +364,8 @@ class MainActivity : SimpleActivity(), FlingListener {
363364

364365
ensureBackgroundThread {
365366
val shortcutId = item.shortcutInfo?.id!!
366-
val label = item.shortcutInfo?.shortLabel?.toString() ?: item.shortcutInfo?.longLabel?.toString() ?: ""
367-
val icon = launcherApps.getShortcutIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi)
367+
val label = item.shortcutInfo.getLabel()
368+
val icon = launcherApps.getShortcutBadgedIconDrawable(item.shortcutInfo!!, resources.displayMetrics.densityDpi)
368369
val (page, rect) = findFirstEmptyCell()
369370
val gridItem = HomeScreenGridItem(
370371
null,

app/src/main/kotlin/com/simplemobiletools/launcher/extensions/Activity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ fun Activity.handleGridItemPopupMenu(anchorView: View, gridItem: HomeScreenGridI
126126
if (hasShortcuts) {
127127
val iconSize = resources.getDimensionPixelSize(R.dimen.menu_icon_size)
128128
shortcuts?.forEach {
129-
menu.add(R.id.group_shortcuts, Menu.NONE, Menu.NONE, it.longLabel)
129+
menu.add(R.id.group_shortcuts, Menu.NONE, Menu.NONE, it.getLabel())
130130
.setIcon(
131131
launcherApps.getShortcutIconDrawable(it, resources.displayMetrics.densityDpi).toBitmap(width = iconSize, height = iconSize)
132132
.toDrawable(resources)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.simplemobiletools.launcher.extensions
2+
3+
import android.content.pm.ShortcutInfo
4+
5+
fun ShortcutInfo?.getLabel() = this?.longLabel?.toString().ifNullOrEmpty { this?.shortLabel?.toString() } ?: ""
6+
7+
private fun String?.ifNullOrEmpty(block: () -> String?) = this?.ifEmpty { block() } ?: block()

0 commit comments

Comments
 (0)