Loading app/src/main/java/io/eelo/appinstaller/updates/UpdatesFragment.kt +4 −1 Original line number Diff line number Diff line Loading @@ -90,7 +90,10 @@ class UpdatesFragment : Fragment() { } }) if (updatesViewModel.getApplications().value == null || updatesViewModel.getApplications().value!!.isEmpty()) { updatesViewModel.loadApplicationList(context!!) } return view } Loading app/src/main/java/io/eelo/appinstaller/updates/model/OutdatedApplicationsFileReader.kt +28 −12 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ import io.eelo.appinstaller.application.model.Application import io.eelo.appinstaller.application.model.State import io.eelo.appinstaller.applicationmanager.ApplicationManager import io.eelo.appinstaller.utils.Constants import io.eelo.appinstaller.utils.Execute import java.io.BufferedReader import java.io.InputStreamReader import java.lang.Exception Loading @@ -15,11 +16,18 @@ class OutdatedApplicationsFileReader(private val applicationManager: Application AsyncTask<Context, Void, ArrayList<Application>>() { override fun doInBackground(vararg context: Context): ArrayList<Application> { val applications = ArrayList<Application>() var totalLines = 0 var requestsComplete = 0 val blocker = Object() try { context[0].openFileInput(Constants.OUTDATED_APPLICATIONS_FILENAME).use { val inputStreamReader = InputStreamReader(it) val bufferedReader = BufferedReader(inputStreamReader) bufferedReader.forEachLine { packageName -> BufferedReader(InputStreamReader(it)).forEachLine { totalLines++ } } context[0].openFileInput(Constants.OUTDATED_APPLICATIONS_FILENAME).use { BufferedReader(InputStreamReader(it)).forEachLine { packageName -> Execute({ val application = applicationManager.findOrCreateApp(packageName) val error = application.assertBasicData(context[0]) if (error == null) { Loading @@ -27,10 +35,18 @@ class OutdatedApplicationsFileReader(private val applicationManager: Application applications.add(application) } } }, { requestsComplete++ if (requestsComplete == totalLines) { synchronized(blocker) { blocker.notify() } } }) } synchronized(blocker) { blocker.wait() } bufferedReader.close() inputStreamReader.close() it.close() } } catch (exception: Exception) { exception.printStackTrace() Loading Loading
app/src/main/java/io/eelo/appinstaller/updates/UpdatesFragment.kt +4 −1 Original line number Diff line number Diff line Loading @@ -90,7 +90,10 @@ class UpdatesFragment : Fragment() { } }) if (updatesViewModel.getApplications().value == null || updatesViewModel.getApplications().value!!.isEmpty()) { updatesViewModel.loadApplicationList(context!!) } return view } Loading
app/src/main/java/io/eelo/appinstaller/updates/model/OutdatedApplicationsFileReader.kt +28 −12 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ import io.eelo.appinstaller.application.model.Application import io.eelo.appinstaller.application.model.State import io.eelo.appinstaller.applicationmanager.ApplicationManager import io.eelo.appinstaller.utils.Constants import io.eelo.appinstaller.utils.Execute import java.io.BufferedReader import java.io.InputStreamReader import java.lang.Exception Loading @@ -15,11 +16,18 @@ class OutdatedApplicationsFileReader(private val applicationManager: Application AsyncTask<Context, Void, ArrayList<Application>>() { override fun doInBackground(vararg context: Context): ArrayList<Application> { val applications = ArrayList<Application>() var totalLines = 0 var requestsComplete = 0 val blocker = Object() try { context[0].openFileInput(Constants.OUTDATED_APPLICATIONS_FILENAME).use { val inputStreamReader = InputStreamReader(it) val bufferedReader = BufferedReader(inputStreamReader) bufferedReader.forEachLine { packageName -> BufferedReader(InputStreamReader(it)).forEachLine { totalLines++ } } context[0].openFileInput(Constants.OUTDATED_APPLICATIONS_FILENAME).use { BufferedReader(InputStreamReader(it)).forEachLine { packageName -> Execute({ val application = applicationManager.findOrCreateApp(packageName) val error = application.assertBasicData(context[0]) if (error == null) { Loading @@ -27,10 +35,18 @@ class OutdatedApplicationsFileReader(private val applicationManager: Application applications.add(application) } } }, { requestsComplete++ if (requestsComplete == totalLines) { synchronized(blocker) { blocker.notify() } } }) } synchronized(blocker) { blocker.wait() } bufferedReader.close() inputStreamReader.close() it.close() } } catch (exception: Exception) { exception.printStackTrace() Loading