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

Commit 9471f71c authored by Mohit Mali's avatar Mohit Mali
Browse files

Implemented changes to automatic update microG, Change in ApplicationActivity...

Implemented changes to automatic update microG, Change in ApplicationActivity for adding package name
parent f377726b
Loading
Loading
Loading
Loading
Loading
+35 −33
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.text.SpannableStringBuilder
import android.text.method.LinkMovementMethod
import android.text.style.ForegroundColorSpan
import android.util.DisplayMetrics
import android.util.Log
import android.util.TypedValue
import android.view.Menu
import android.view.MenuItem
@@ -40,14 +39,11 @@ import android.view.View
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import androidx.annotation.ColorInt
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ContextThemeWrapper
import androidx.appcompat.widget.Toolbar
import com.google.android.material.snackbar.Snackbar
import foundation.e.apps.MainActivity.Companion.sharedPreferences
import foundation.e.apps.pwa.PwaInstaller
import foundation.e.apps.R
import foundation.e.apps.application.model.Application
import foundation.e.apps.application.model.ApplicationStateListener
@@ -61,6 +57,7 @@ import foundation.e.apps.applicationmanager.ApplicationManager
import foundation.e.apps.applicationmanager.ApplicationManagerServiceConnection
import foundation.e.apps.applicationmanager.ApplicationManagerServiceConnectionCallback
import foundation.e.apps.categories.category.CategoryActivity
import foundation.e.apps.pwa.PwaInstaller
import foundation.e.apps.utils.Common
import foundation.e.apps.utils.Common.toMiB
import foundation.e.apps.utils.Constants
@@ -82,8 +79,6 @@ class ApplicationActivity :
        PwasBasicData.IconLoaderCallback {




    private lateinit var applicationPackageName: String
    private lateinit var application: Application
    private val applicationManagerServiceConnection =
@@ -360,6 +355,12 @@ class ApplicationActivity :
                } else {
                    app_version.text = getString(R.string.not_available)
                }
                // Set app package name.
                if (fullData.packageName.isNotEmpty()) {
                    app_package_name.text = fullData.packageName
                } else {
                    app_package_name.text = getString(R.string.not_available)
                }

                // Set app update timestamp
                if (fullData.getLastVersion()!!.createdOn.isNotEmpty()) {
@@ -561,6 +562,7 @@ class ApplicationActivity :
        app_updated_on_layout.visibility = View.GONE
        app_requires.visibility = View.GONE
        app_licence_layout.visibility = View.GONE
        app_package_name_layout.visibility =View.GONE


        application.addListener(this)
+2 −2
Original line number Diff line number Diff line
@@ -61,8 +61,8 @@ class ApplicationsFragment(color: Int?) : Fragment() {
        categoriesViewModel.getApplicationsCategories().observe(this, Observer {
            if (it!!.isNotEmpty()) {
                //Add New Category
                if (!it.any { Category -> Category.id == "system_apps" })
                    it.add(Category("system_apps"))

                view.categories_list.adapter = CategoriesListAdapter(it, color)
                view.categories_list.visibility = View.VISIBLE
                view.progress_bar.visibility = View.GONE
+5 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ 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.Common
import foundation.e.apps.utils.Constants

class OutdatedApplicationsFinder(private val packageManager: PackageManager,
                                 private val callback: UpdatesWorkerInterface,
@@ -64,6 +65,10 @@ class OutdatedApplicationsFinder(private val packageManager: PackageManager,
    private fun getInstalledApplications(): ArrayList<String> {
        val result = ArrayList<String>()
        packageManager.getInstalledApplications(0).forEach { app ->
            if (Common.isSystemApp(packageManager, app.packageName)) {
                if (app.packageName == Constants.MICROG_PACKAGE)
                    result.add(app.packageName)
            }
            if (!Common.isSystemApp(packageManager, app.packageName)) {
                result.add(app.packageName)
            }
+54 −6
Original line number Diff line number Diff line
@@ -29,12 +29,15 @@ import android.util.Log
import androidx.work.Worker
import androidx.work.WorkerParameters
import foundation.e.apps.R
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.updates.UpdatesNotifier
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 UpdatesWorker(context: Context, params: WorkerParameters) : Worker(context, params),
        UpdatesWorkerInterface {
@@ -44,6 +47,7 @@ class UpdatesWorker(context: Context, params: WorkerParameters) : Worker(context
    private var installAutomatically = true
    private var wifiOnly = false
    val applicationManager = ApplicationManager()
    private var error: Error? = null

    override fun doWork(): Result {
        Log.i(TAG, "Checking for app updates")
@@ -100,14 +104,21 @@ class UpdatesWorker(context: Context, params: WorkerParameters) : Worker(context
                if (wifiOnly) {
                    if (isConnectedToUnmeteredNetwork) {
                        applications.forEach {
                            if (it.packageName == Constants.MICROG_PACKAGE) {
                                executeDownloadMicroG()
                            }else {
                                if (it.state == State.NOT_UPDATED) {
                                    Log.i(TAG, "Updating ${it.packageName}")
                                    it.buttonClicked(applicationContext, null)
                                }
                            }
                        }
                    }
                } else {
                    applications.forEach {
                        if (it.packageName == Constants.MICROG_PACKAGE) {
                            executeDownloadMicroG()
                        }else {
                            if (it.state == State.NOT_UPDATED) {
                                Log.i(TAG, "Updating ${it.packageName}")
                                it.buttonClicked(applicationContext, null)
@@ -116,6 +127,7 @@ class UpdatesWorker(context: Context, params: WorkerParameters) : Worker(context
                    }
                }
            }
        }
        synchronized(blocker) {
            blocker.notify()
        }
@@ -132,4 +144,40 @@ class UpdatesWorker(context: Context, params: WorkerParameters) : Worker(context
            networkInfo?.isConnected ?: false
        } else false
    }


    private fun executeDownloadMicroG() {
        Execute({
            var application: Application? = loadMicroGVersion()?.get(0)
            if (application!!.state != State.INSTALLED) {
                application.download(applicationContext)
            }

        }, {
            if (error != null) {
                print(error)
            }
        })
    }

    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!!, applicationContext)
        } else {
            null
        }
    }
}
+41 −0
Original line number Diff line number Diff line
@@ -817,6 +817,47 @@

                </LinearLayout>

                <LinearLayout
                    android:id="@+id/app_package_name_layout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/layout_margin_medium"
                    android:orientation="horizontal">

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center_vertical"
                        android:orientation="horizontal">

                        <ImageView
                            android:layout_width="16dp"
                            android:layout_height="16dp"
                            android:src="@drawable/ic_app_licence" />

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginStart="@dimen/layout_margin_medium"
                            android:ellipsize="end"
                            android:maxLines="1"
                            android:text="@string/app_package_name"
                            android:textColor="@android:color/black"
                            android:textSize="@dimen/text_size_large" />

                    </LinearLayout>

                    <TextView
                        android:id="@+id/app_package_name"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginStart="@dimen/layout_margin_medium"
                        android:ellipsize="end"
                        android:maxLines="1"
                        android:textSize="@dimen/text_size_large" />

                </LinearLayout>

            </LinearLayout>

        </LinearLayout>
Loading