@@ -3,6 +3,7 @@ package com.simplemobiletools.filemanager.adapters
33import android.content.ClipData
44import android.content.ClipboardManager
55import android.content.Context
6+ import android.content.pm.PackageManager
67import android.graphics.drawable.Drawable
78import android.net.Uri
89import android.view.Menu
@@ -394,14 +395,27 @@ class ItemsAdapter(activity: SimpleActivity, var fileDirItems: MutableList<FileD
394395 item_icon.setImageDrawable(folderDrawable)
395396 item_details.text = getChildrenCnt(fileDirItem)
396397 } else {
398+ item_details.text = fileDirItem.size.formatSize()
399+ val path = fileDirItem.path
397400 val options = RequestOptions ()
398401 .diskCacheStrategy(DiskCacheStrategy .RESOURCE )
399402 .error(fileDrawable)
400403 .centerCrop()
401404
402- val path = fileDirItem.path
403- Glide .with (activity).load(path).transition(DrawableTransitionOptions .withCrossFade()).apply (options).into(item_icon)
404- item_details.text = fileDirItem.size.formatSize()
405+ val itemToLoad = if (fileDirItem.name.endsWith(" .apk" , true )) {
406+ val packageInfo = context.packageManager.getPackageArchiveInfo(path, PackageManager .GET_ACTIVITIES )
407+ if (packageInfo != null ) {
408+ val appInfo = packageInfo.applicationInfo
409+ appInfo.sourceDir = path
410+ appInfo.publicSourceDir = path
411+ appInfo.loadIcon(context.packageManager)
412+ } else {
413+ path
414+ }
415+ } else {
416+ path
417+ }
418+ Glide .with (activity).load(itemToLoad).transition(DrawableTransitionOptions .withCrossFade()).apply (options).into(item_icon)
405419 }
406420 }
407421 }
0 commit comments