Loading app/src/main/java/io/eelo/appinstaller/home/model/ApplicationsLoader.kt +4 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ import java.net.URL class ApplicationsLoader(private val homeModel: HomeModel) : AsyncTask<Context, Any, LinkedHashMap<String, ArrayList<Application>>>() { private lateinit var bannerApps: ArrayList<Application> companion object { private val homeResultReader = ObjectMapper().readerFor(HomeResult::class.java) } Loading @@ -17,11 +19,12 @@ class ApplicationsLoader(private val homeModel: HomeModel) : AsyncTask<Context, override fun doInBackground(vararg params: Context): LinkedHashMap<String, ArrayList<Application>> { val context = params[0] val result = loadResult() BannerApplicationLoader(homeModel, result).executeOnExecutor(THREAD_POOL_EXECUTOR, context) bannerApps = result.bannerApps(homeModel.getInstallManager(), context) return loadApplications(result, context) } override fun onPostExecute(result: LinkedHashMap<String, ArrayList<Application>>) { BannerApplicationLoader(bannerApps, homeModel).executeOnExecutor(THREAD_POOL_EXECUTOR) homeModel.applications.value = result } Loading app/src/main/java/io/eelo/appinstaller/home/model/BannerApplicationLoader.kt +5 −6 Original line number Diff line number Diff line package io.eelo.appinstaller.home.model import android.content.Context import android.os.AsyncTask import io.eelo.appinstaller.application.model.Application import io.eelo.appinstaller.utils.ImagesLoader class BannerApplicationLoader(private val homeModel: HomeModel, private val homeResult: HomeResult) : AsyncTask<Context, Any, ArrayList<BannerApplication>>() { class BannerApplicationLoader(private val apps: ArrayList<Application>, private val homeModel: HomeModel) : AsyncTask<Any, Any, ArrayList<BannerApplication>>() { override fun doInBackground(vararg params: Context): ArrayList<BannerApplication> { return loadBannerImages(params[0]) override fun doInBackground(vararg params: Any): ArrayList<BannerApplication> { return loadBannerImages() } override fun onPostExecute(result: ArrayList<BannerApplication>) { homeModel.bannerApplications.value = result } private fun loadBannerImages(context: Context): ArrayList<BannerApplication> { val apps = homeResult.bannerApps(homeModel.getInstallManager(), context) private fun loadBannerImages(): ArrayList<BannerApplication> { val imagesUris = ArrayList<String>() apps.forEach { imagesUris.add(it.data.images[0]) Loading Loading
app/src/main/java/io/eelo/appinstaller/home/model/ApplicationsLoader.kt +4 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ import java.net.URL class ApplicationsLoader(private val homeModel: HomeModel) : AsyncTask<Context, Any, LinkedHashMap<String, ArrayList<Application>>>() { private lateinit var bannerApps: ArrayList<Application> companion object { private val homeResultReader = ObjectMapper().readerFor(HomeResult::class.java) } Loading @@ -17,11 +19,12 @@ class ApplicationsLoader(private val homeModel: HomeModel) : AsyncTask<Context, override fun doInBackground(vararg params: Context): LinkedHashMap<String, ArrayList<Application>> { val context = params[0] val result = loadResult() BannerApplicationLoader(homeModel, result).executeOnExecutor(THREAD_POOL_EXECUTOR, context) bannerApps = result.bannerApps(homeModel.getInstallManager(), context) return loadApplications(result, context) } override fun onPostExecute(result: LinkedHashMap<String, ArrayList<Application>>) { BannerApplicationLoader(bannerApps, homeModel).executeOnExecutor(THREAD_POOL_EXECUTOR) homeModel.applications.value = result } Loading
app/src/main/java/io/eelo/appinstaller/home/model/BannerApplicationLoader.kt +5 −6 Original line number Diff line number Diff line package io.eelo.appinstaller.home.model import android.content.Context import android.os.AsyncTask import io.eelo.appinstaller.application.model.Application import io.eelo.appinstaller.utils.ImagesLoader class BannerApplicationLoader(private val homeModel: HomeModel, private val homeResult: HomeResult) : AsyncTask<Context, Any, ArrayList<BannerApplication>>() { class BannerApplicationLoader(private val apps: ArrayList<Application>, private val homeModel: HomeModel) : AsyncTask<Any, Any, ArrayList<BannerApplication>>() { override fun doInBackground(vararg params: Context): ArrayList<BannerApplication> { return loadBannerImages(params[0]) override fun doInBackground(vararg params: Any): ArrayList<BannerApplication> { return loadBannerImages() } override fun onPostExecute(result: ArrayList<BannerApplication>) { homeModel.bannerApplications.value = result } private fun loadBannerImages(context: Context): ArrayList<BannerApplication> { val apps = homeResult.bannerApps(homeModel.getInstallManager(), context) private fun loadBannerImages(): ArrayList<BannerApplication> { val imagesUris = ArrayList<String>() apps.forEach { imagesUris.add(it.data.images[0]) Loading