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

Commit 39332169 authored by Mohit Mali's avatar Mohit Mali
Browse files

Resolve bug in search menu and update menu.

parent 9471f71c
Loading
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -132,9 +132,9 @@ class Installer(private val packageName: String,
        }
        context.registerReceiver(receiver, IntentFilter().apply {
            addAction(Intent.ACTION_PACKAGE_ADDED)
            addAction(Intent.ACTION_PACKAGE_REMOVED)
            addDataScheme("package")
        })
        Log.i(TAG, "Registered new broadcast receiver")
    }

    private var receiver = object : BroadcastReceiver() {
@@ -149,10 +149,15 @@ class Installer(private val packageName: String,
                callback.onInstallationComplete(p0)

                if (packageName == Constants.MICROG_PACKAGE) {
                  if (PreferenceStorage(p0).getBoolean(p0.getString(R.string.prefs_microg_vrsn_installed),false)){
                      PreferenceStorage(p0).save(p0.getString(R.string.prefs_microg_vrsn_installed), false)
                  }else{
                      PreferenceStorage(p0).save(p0.getString(R.string.prefs_microg_vrsn_installed), true)
                  }

                }

            }
        }
    }
}
+32 −2
Original line number Diff line number Diff line
@@ -19,11 +19,15 @@ package foundation.e.apps.search.model

import android.content.Context
import android.os.AsyncTask
import foundation.e.apps.R
import foundation.e.apps.api.AllAppsSearchRequest
import foundation.e.apps.api.GitlabDataRequest
import foundation.e.apps.application.model.Application
import foundation.e.apps.application.model.State
import foundation.e.apps.applicationmanager.ApplicationManager
import foundation.e.apps.utils.Constants
import foundation.e.apps.utils.Error
import foundation.e.apps.utils.PreferenceStorage

class SearchElement(private val query: String, private val pageNumber: Int,
                    private val applicationManager: ApplicationManager,
@@ -33,8 +37,12 @@ class SearchElement(private val query: String, private val pageNumber: Int,

    override fun doInBackground(vararg params: Context): ArrayList<Application> {
        val apps = ArrayList<Application>()


        if ("microG Exposure Notification version".contains(query, true)) {
            val application: Application? = loadMicroGVersion(params[0])[0]
            if (application != null && application.state != State.INSTALLED) {
                apps.addAll(loadMicroGVersion(params[0]))
            }
        }

        AllAppsSearchRequest(query, pageNumber, Constants.RESULTS_PER_PAGE)
                .request { applicationError, searchResult ->
@@ -54,4 +62,26 @@ class SearchElement(private val query: String, private val pageNumber: Int,
    override fun onPostExecute(result: ArrayList<Application>) {
        callback.onSearchComplete(error, result)
    }

    /*gets microG application from gitlab*/
    private fun loadMicroGVersion(context: Context): List<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 {
            emptyList()
        }
    }
}
+8 −46
Original line number Diff line number Diff line
@@ -86,21 +86,6 @@ class SearchModel : SearchModelInterface {
    override fun onSearchComplete(error: Error?, applicationList: ArrayList<Application>) {

        if (error == null) {
            if ("microG Exposure Notification version".contains(searchQuery, true)) {
                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) {
                    val combinedAppList = this.applicationList.value!!
@@ -112,31 +97,8 @@ class SearchModel : SearchModelInterface {
            } else {
                screenError.value = Error.NO_RESULTS
            }
            }
        } else {
            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
        }
    }
}
+30 −0
Original line number Diff line number Diff line
@@ -20,12 +20,16 @@ package foundation.e.apps.updates.model
import android.content.Context
import android.content.pm.PackageManager
import android.os.AsyncTask
import foundation.e.apps.R
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.Constants
import foundation.e.apps.utils.Execute
import foundation.e.apps.utils.PreferenceStorage
import java.io.BufferedReader
import java.io.InputStreamReader

@@ -35,6 +39,11 @@ class OutdatedApplicationsFileReader(private val packageManager: PackageManager,
        AsyncTask<Context, Void, ArrayList<Application>>() {
    override fun doInBackground(vararg context: Context): ArrayList<Application> {
        val applications = ArrayList<Application>()
        val application: Application? = loadMicroGVersion(context[0])[0]
        println("versionname::-"+ application?.basicData!!.packageName)
        if (application != null && application.state != State.INSTALLED) {
            applications.addAll(loadMicroGVersion(context[0]))
        }
        try {
            val installedApplications = getInstalledApplications()
            installedApplications.forEach { packageName ->
@@ -71,4 +80,25 @@ class OutdatedApplicationsFileReader(private val packageManager: PackageManager,
        }
    }

    private fun loadMicroGVersion(context: Context): List<Application> {
        var gitlabData: GitlabDataRequest.GitlabDataResult? = null
        GitlabDataRequest()
                .requestGmsCoreRelease { applicationError, listGitlabData ->

                    when (applicationError) {
                        null -> {
                            gitlabData = listGitlabData!!
                        }
                        else -> {
                            print("error occurred")
                        }
                    }
                }
        return if (gitlabData != null) {
            gitlabData!!.getApplications(applicationManager!!, context)
        } else {
            emptyList()
        }
    }

}
+0 −44
Original line number Diff line number Diff line
@@ -20,14 +20,10 @@ 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>>()
@@ -45,49 +41,9 @@ class UpdatesModel : UpdatesModelInterface {
            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