Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32756666 authored by tibbi's avatar tibbi
Browse files

display apk file thumbnails at the filepicker dialog

parent 657a959f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ buildscript {
        propMinSdkVersion = 16
        propTargetSdkVersion = propCompileSdkVersion
        propVersionCode = 1
        propVersionName = '3.0.23'
        propVersionName = '3.0.31'
        kotlin_version = '1.2.0'
        support_libs = '27.0.2'
    }
+22 −5
Original line number Diff line number Diff line
package com.simplemobiletools.commons.adapters

import android.content.pm.PackageManager
import android.view.Menu
import android.view.View
import android.view.ViewGroup
@@ -61,18 +62,34 @@ class FilepickerItemsAdapter(activity: BaseSimpleActivity, val fileDirItems: Lis
        view.apply {
            list_item_name.text = fileDirItem.name
            list_item_name.setTextColor(textColor)
            list_item_details.setTextColor(textColor)

            if (fileDirItem.isDirectory) {
                list_item_icon.setImageDrawable(folderDrawable)
                list_item_details.text = getChildrenCnt(fileDirItem)
            } else {
                val path = fileDirItem.path
                val options = RequestOptions().centerCrop().error(fileDrawable)
                Glide.with(context).load(path).transition(withCrossFade()).apply(options).into(list_item_icon)
                list_item_details.text = fileDirItem.size.formatSize()
                val path = fileDirItem.path
                val options = RequestOptions()
                        .centerCrop()
                        .error(fileDrawable)

                val itemToLoad = if (fileDirItem.name.endsWith(".apk", true)) {
                    val packageInfo = context.packageManager.getPackageArchiveInfo(path, PackageManager.GET_ACTIVITIES)
                    if (packageInfo != null) {
                        val appInfo = packageInfo.applicationInfo
                        appInfo.sourceDir = path
                        appInfo.publicSourceDir = path
                        appInfo.loadIcon(context.packageManager)
                    } else {
                        path
                    }
                } else {
                    path
                }

            list_item_details.setTextColor(textColor)
                Glide.with(context).load(itemToLoad).transition(withCrossFade()).apply(options).into(list_item_icon)
            }
        }
    }