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

Commit e606ffbc authored by Romain Hunault's avatar Romain Hunault 💻
Browse files

First draft to detect the correct microG version

parent 4b9a3121
Loading
Loading
Loading
Loading
Loading
+24 −13
Original line number Diff line number Diff line
@@ -18,10 +18,12 @@
package foundation.e.apps.api

import android.content.Context
import android.util.Log
import com.google.gson.Gson
import com.google.gson.JsonParser
import foundation.e.apps.application.model.Application
import foundation.e.apps.application.model.data.BasicData
import foundation.e.apps.application.model.release.Links
import foundation.e.apps.application.model.release.ReleaseData
import foundation.e.apps.applicationmanager.ApplicationManager
import foundation.e.apps.utils.*
@@ -30,8 +32,7 @@ import java.io.InputStreamReader
class GitlabDataRequest {


    fun requestGmsCoreRelease(callback: (Error?, GitlabDataResult?) -> Unit) {
        try {
    fun requestGmsCoreRelease(callback: (Error?, GitlabDataResult?) -> Unit) = try {
        val url = Constants.RELEASE_API + Constants.MICROG_ID + Constants.RELEASE_ENDPOINT
        val urlConnection = Common.createConnection(url, Constants.REQUEST_METHOD_GET)
        val isr = InputStreamReader(urlConnection.inputStream)
@@ -41,12 +42,22 @@ class GitlabDataRequest {
                Array<ReleaseData>::class.java).toList()

        urlConnection.disconnect()

        val osReleaseType = "test"
        var releaseUrl = ""

        releaseList[0].assets.links.forEach {
            if (it.name.contains(osReleaseType)) {
                releaseUrl = it.url
            }
        }

        callback.invoke(null, GitlabDataResult(SystemAppDataSource.createDataSource(Constants.MICROG_ID.toString(),
                    releaseList[0].tag_name, Constants.MICROG_ICON_URI, releaseList[0].assets.links[0].url)))
                releaseList[0].tag_name, Constants.MICROG_ICON_URI, releaseUrl)))

    } catch (e: Exception) {
        callback.invoke(Error.findError(e), null)
    }
    }

    class GitlabDataResult(private val data: BasicData) {
        fun getApplications(applicationManager: ApplicationManager, context: Context): ArrayList<Application> {