Loading app/src/main/java/foundation/e/apps/search/model/SearchModel.kt +37 −6 Original line number Diff line number Diff line Loading @@ -18,16 +18,15 @@ package foundation.e.apps.search.model import android.content.Context import android.content.Intent import android.os.AsyncTask import androidx.lifecycle.MutableLiveData import foundation.e.apps.api.GitlabDataRequest import foundation.e.apps.application.model.Application import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.categories.category.CategoryActivity import foundation.e.apps.categories.model.Category import foundation.e.apps.utils.Common import foundation.e.apps.utils.Constants import foundation.e.apps.utils.Error import foundation.e.apps.utils.Execute class SearchModel : SearchModelInterface { Loading Loading @@ -88,9 +87,19 @@ class SearchModel : SearchModelInterface { if (error == null) { if ("microG Exposure Notification version".contains(searchQuery, true)) { val categoryIntent = Intent(context, CategoryActivity::class.java) categoryIntent.putExtra(Constants.CATEGORY_KEY, Category("system_apps")) context.startActivity(categoryIntent) Execute({ this.applicationList.postValue(loadMicroGVersion()) }, { if (error == null && this.applicationList.value != null) { val result = ArrayList<Application>() result.addAll(this.applicationList.value!!) if ( this.applicationList.value!!.size != 0) { this.applicationList.postValue(result) } } else { screenError.value = error } }) } else { if (applicationList.isNotEmpty()) { if (pageNumber > 1 && this.applicationList.value != null) { Loading @@ -108,4 +117,26 @@ class SearchModel : SearchModelInterface { screenError.value = error } } /*gets microG application from gitlab*/ private fun loadMicroGVersion(): ArrayList<Application>? { var gitlabData: GitlabDataRequest.GitlabDataResult? = null GitlabDataRequest() .requestGmsCoreRelease { applicationError, listGitlabData -> when (applicationError) { null -> { gitlabData = listGitlabData!! } else -> { error = applicationError } } } return if (gitlabData != null) { gitlabData!!.getApplications(applicationManager, context) } else { null } } } app/src/main/java/foundation/e/apps/search/model/SearchSuggestionsTask.kt +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ class SearchSuggestionsTask(private val searchQuery: String, } override fun onPostExecute(result: ArrayList<String>) { /*User type following string it will add microG element into array list*/ if ("microG Exposure Notification version".contains(searchQuery, true)) { result.add(0,"microG Exposure Notification version") } Loading app/src/main/java/foundation/e/apps/updates/model/UpdatesModel.kt +49 −2 Original line number Diff line number Diff line Loading @@ -20,27 +20,74 @@ package foundation.e.apps.updates.model import android.content.Context import android.os.AsyncTask import androidx.lifecycle.MutableLiveData import foundation.e.apps.api.GitlabDataRequest import foundation.e.apps.application.model.Application import foundation.e.apps.application.model.ApplicationInfo import foundation.e.apps.application.model.State import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.utils.Common import foundation.e.apps.utils.Error import foundation.e.apps.utils.Execute class UpdatesModel : UpdatesModelInterface { val applicationList = MutableLiveData<ArrayList<Application>>() var screenError = MutableLiveData<Error>() private lateinit var context: Context var applicationManager: ApplicationManager? = null private var error: Error? = null override fun loadApplicationList(context: Context) { this.context = context if (Common.isNetworkAvailable(context)) { OutdatedApplicationsFileReader(context.packageManager, applicationManager!!, this) .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, context) } else { screenError.value = Error.NO_INTERNET } Execute({ var application: Application? = loadMicroGVersion()?.get(0) if (application!!.state != State.INSTALLED) { this.applicationList.postValue(loadMicroGVersion()) } }, { if (error == null && this.applicationList.value != null) { val result = ArrayList<Application>() result.addAll(this.applicationList.value!!) if (this.applicationList.value!!.size != 0) { this.applicationList.postValue(result) } } else { screenError.value = error } }) } override fun onAppsFound(applications: ArrayList<Application>) { applicationList.value = applications } private fun loadMicroGVersion(): ArrayList<Application>? { var gitlabData: GitlabDataRequest.GitlabDataResult? = null GitlabDataRequest() .requestGmsCoreRelease { applicationError, listGitlabData -> when (applicationError) { null -> { gitlabData = listGitlabData!! } else -> { error = applicationError } } } return if (gitlabData != null) { gitlabData!!.getApplications(applicationManager!!, context) } else { null } } } Loading
app/src/main/java/foundation/e/apps/search/model/SearchModel.kt +37 −6 Original line number Diff line number Diff line Loading @@ -18,16 +18,15 @@ package foundation.e.apps.search.model import android.content.Context import android.content.Intent import android.os.AsyncTask import androidx.lifecycle.MutableLiveData import foundation.e.apps.api.GitlabDataRequest import foundation.e.apps.application.model.Application import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.categories.category.CategoryActivity import foundation.e.apps.categories.model.Category import foundation.e.apps.utils.Common import foundation.e.apps.utils.Constants import foundation.e.apps.utils.Error import foundation.e.apps.utils.Execute class SearchModel : SearchModelInterface { Loading Loading @@ -88,9 +87,19 @@ class SearchModel : SearchModelInterface { if (error == null) { if ("microG Exposure Notification version".contains(searchQuery, true)) { val categoryIntent = Intent(context, CategoryActivity::class.java) categoryIntent.putExtra(Constants.CATEGORY_KEY, Category("system_apps")) context.startActivity(categoryIntent) Execute({ this.applicationList.postValue(loadMicroGVersion()) }, { if (error == null && this.applicationList.value != null) { val result = ArrayList<Application>() result.addAll(this.applicationList.value!!) if ( this.applicationList.value!!.size != 0) { this.applicationList.postValue(result) } } else { screenError.value = error } }) } else { if (applicationList.isNotEmpty()) { if (pageNumber > 1 && this.applicationList.value != null) { Loading @@ -108,4 +117,26 @@ class SearchModel : SearchModelInterface { screenError.value = error } } /*gets microG application from gitlab*/ private fun loadMicroGVersion(): ArrayList<Application>? { var gitlabData: GitlabDataRequest.GitlabDataResult? = null GitlabDataRequest() .requestGmsCoreRelease { applicationError, listGitlabData -> when (applicationError) { null -> { gitlabData = listGitlabData!! } else -> { error = applicationError } } } return if (gitlabData != null) { gitlabData!!.getApplications(applicationManager, context) } else { null } } }
app/src/main/java/foundation/e/apps/search/model/SearchSuggestionsTask.kt +1 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ class SearchSuggestionsTask(private val searchQuery: String, } override fun onPostExecute(result: ArrayList<String>) { /*User type following string it will add microG element into array list*/ if ("microG Exposure Notification version".contains(searchQuery, true)) { result.add(0,"microG Exposure Notification version") } Loading
app/src/main/java/foundation/e/apps/updates/model/UpdatesModel.kt +49 −2 Original line number Diff line number Diff line Loading @@ -20,27 +20,74 @@ package foundation.e.apps.updates.model import android.content.Context import android.os.AsyncTask import androidx.lifecycle.MutableLiveData import foundation.e.apps.api.GitlabDataRequest import foundation.e.apps.application.model.Application import foundation.e.apps.application.model.ApplicationInfo import foundation.e.apps.application.model.State import foundation.e.apps.applicationmanager.ApplicationManager import foundation.e.apps.utils.Common import foundation.e.apps.utils.Error import foundation.e.apps.utils.Execute class UpdatesModel : UpdatesModelInterface { val applicationList = MutableLiveData<ArrayList<Application>>() var screenError = MutableLiveData<Error>() private lateinit var context: Context var applicationManager: ApplicationManager? = null private var error: Error? = null override fun loadApplicationList(context: Context) { this.context = context if (Common.isNetworkAvailable(context)) { OutdatedApplicationsFileReader(context.packageManager, applicationManager!!, this) .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, context) } else { screenError.value = Error.NO_INTERNET } Execute({ var application: Application? = loadMicroGVersion()?.get(0) if (application!!.state != State.INSTALLED) { this.applicationList.postValue(loadMicroGVersion()) } }, { if (error == null && this.applicationList.value != null) { val result = ArrayList<Application>() result.addAll(this.applicationList.value!!) if (this.applicationList.value!!.size != 0) { this.applicationList.postValue(result) } } else { screenError.value = error } }) } override fun onAppsFound(applications: ArrayList<Application>) { applicationList.value = applications } private fun loadMicroGVersion(): ArrayList<Application>? { var gitlabData: GitlabDataRequest.GitlabDataResult? = null GitlabDataRequest() .requestGmsCoreRelease { applicationError, listGitlabData -> when (applicationError) { null -> { gitlabData = listGitlabData!! } else -> { error = applicationError } } } return if (gitlabData != null) { gitlabData!!.getApplications(applicationManager!!, context) } else { null } } }