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

Commit 9767b0c8 authored by Hasib Prince's avatar Hasib Prince
Browse files

refactor: NestedBlockDepth

parent 4b2d8f55
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -106,11 +106,6 @@
    <ID>MaxLineLength:UpdatesViewModel.kt$UpdatesViewModel$return updatesList.value?.first?.any { it.status == Status.UPDATABLE || it.status == Status.INSTALLATION_ISSUE } == true</ID>
    <ID>MaxLineLength:UpdatesViewModel.kt$UpdatesViewModel$return updatesList.value?.first?.any { it.status == Status.UPDATABLE || it.status == Status.INSTALLATION_ISSUE } == true</ID>
    <ID>MaxLineLength:UpdatesWorker.kt$UpdatesWorker$applicationContext.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED</ID>
    <ID>MaxLineLength:UpdatesWorker.kt$UpdatesWorker$applicationContext.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED</ID>
    <ID>MayBeConst:EcloudApiInterface.kt$EcloudApiInterface.Companion$val BASE_URL = "https://eu.gtoken.ecloud.global/"</ID>
    <ID>MayBeConst:EcloudApiInterface.kt$EcloudApiInterface.Companion$val BASE_URL = "https://eu.gtoken.ecloud.global/"</ID>
    <ID>NestedBlockDepth:ApplicationApiImpl.kt$ApplicationApiImpl$private suspend fun generateCleanAPKHome(home: CleanApkHome, appType: String): List&lt;Home&gt;</ID>
    <ID>NestedBlockDepth:DownloadManager.kt$DownloadManager$fun checkDownloadProgress( downloadId: Long, filePath: String = "", downloadCompleted: ((Boolean, String) -&gt; Unit)? )</ID>
    <ID>NestedBlockDepth:PWAManagerModule.kt$PWAManagerModule$fun getPwaStatus(application: Application): Status</ID>
    <ID>NestedBlockDepth:PkgManagerBR.kt$PkgManagerBR$override fun onReceive(context: Context?, intent: Intent?)</ID>
    <ID>NestedBlockDepth:SettingsFragment.kt$SettingsFragment$override fun onViewCreated(view: View, savedInstanceState: Bundle?)</ID>
    <ID>PrintStackTrace:CommonUtilsModule.kt$CommonUtilsModule$e</ID>
    <ID>PrintStackTrace:CommonUtilsModule.kt$CommonUtilsModule$e</ID>
    <ID>PrintStackTrace:EcloudRepository.kt$EcloudRepository$e</ID>
    <ID>PrintStackTrace:EcloudRepository.kt$EcloudRepository$e</ID>
    <ID>PrintStackTrace:InstallWorkManager.kt$InstallWorkManager$e</ID>
    <ID>PrintStackTrace:InstallWorkManager.kt$InstallWorkManager$e</ID>
+32 −24
Original line number Original line Diff line number Diff line
@@ -123,9 +123,22 @@ class DownloadManager @Inject constructor(
        downloadCompleted: ((Boolean, String) -> Unit)?
        downloadCompleted: ((Boolean, String) -> Unit)?
    ) {
    ) {
        try {
        try {
            downloadManager.query(downloadManagerQuery.setFilterById(downloadId))
            downloadManager.query(downloadManagerQuery.setFilterById(downloadId)).use { cursor ->
                .use { cursor ->
                if (cursor.moveToFirst()) {
                if (cursor.moveToFirst()) {
                    handleDownloadStatus(cursor, downloadId, filePath, downloadCompleted)
                }
            }
        } catch (e: Exception) {
            Timber.e(e)
        }
    }

    private fun handleDownloadStatus(
        cursor: Cursor,
        downloadId: Long,
        filePath: String,
        downloadCompleted: ((Boolean, String) -> Unit)?
    ) {
        var status =
        var status =
            cursor.getInt(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS))
            cursor.getInt(cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS))
        val totalSizeBytes =
        val totalSizeBytes =
@@ -147,11 +160,6 @@ class DownloadManager @Inject constructor(
            downloadCompleted?.invoke(true, filePath)
            downloadCompleted?.invoke(true, filePath)
        }
        }
    }
    }
                }
        } catch (e: Exception) {
            Timber.e(e)
        }
    }


    private fun tickerFlow(
    private fun tickerFlow(
        downloadId: Long,
        downloadId: Long,
+23 −14
Original line number Original line Diff line number Diff line
@@ -4,6 +4,7 @@ import android.content.ContentUris
import android.content.ContentValues
import android.content.ContentValues
import android.content.Context
import android.content.Context
import android.content.Intent
import android.content.Intent
import android.database.Cursor
import android.graphics.Bitmap
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.BitmapFactory
import android.net.Uri
import android.net.Uri
@@ -62,26 +63,34 @@ class PWAManagerModule @Inject constructor(
            Uri.parse(PWA_PLAYER),
            Uri.parse(PWA_PLAYER),
            null, null, null, null
            null, null, null, null
        )?.let { cursor ->
        )?.let { cursor ->
            if (cursor.count > 0) {
            cursor.moveToFirst()
                if (cursor.moveToFirst()) {
            while (!cursor.isAfterLast) {
                    do {
                if (isPwaInstalled(cursor, application)) {
                    return Status.INSTALLED
                }
                cursor.moveToNext()
            }
            cursor.close()
        }

        return Status.UNAVAILABLE
    }

    private fun isPwaInstalled(
        cursor: Cursor,
        application: Application
    ): Boolean {
        try {
        try {
            val pwaItemUrl = cursor.getString(cursor.columnNames.indexOf("url"))
            val pwaItemUrl = cursor.getString(cursor.columnNames.indexOf("url"))
            val pwaItemDbId = cursor.getLong(cursor.columnNames.indexOf("_id"))
            val pwaItemDbId = cursor.getLong(cursor.columnNames.indexOf("_id"))
            if (application.url == pwaItemUrl) {
            if (application.url == pwaItemUrl) {
                application.pwaPlayerDbId = pwaItemDbId
                application.pwaPlayerDbId = pwaItemDbId
                                return Status.INSTALLED
                return true
            }
            }
        } catch (e: Exception) {
        } catch (e: Exception) {
                            e.printStackTrace()
           Timber.w(e)
                        }
                    } while (cursor.moveToNext())
                }
        }
        }
            cursor.close()
        return false
        }

        return Status.UNAVAILABLE
    }
    }


    /**
    /**
+26 −15
Original line number Original line Diff line number Diff line
@@ -63,16 +63,29 @@ open class PkgManagerBR : BroadcastReceiver() {


            Timber.d("onReceive: $packageName $action $extra $status")
            Timber.d("onReceive: $packageName $action $extra $status")
            packages?.let { pkgList ->
            packages?.let { pkgList ->
                handlePackageList(pkgList, action, isUpdating, extra)
            }
        }
    }

    private fun handlePackageList(
        pkgList: Array<out String>,
        action: String,
        isUpdating: Boolean,
        extra: String?
    ) {
        pkgList.forEach { pkgName ->
        pkgList.forEach { pkgName ->
            when (action) {
            when (action) {
                Intent.ACTION_PACKAGE_ADDED -> {
                Intent.ACTION_PACKAGE_ADDED -> {
                    updateDownloadStatus(pkgName)
                    updateDownloadStatus(pkgName)
                    removeFaultyAppByPackageName(pkgName)
                    removeFaultyAppByPackageName(pkgName)
                }
                }

                Intent.ACTION_PACKAGE_REMOVED -> {
                Intent.ACTION_PACKAGE_REMOVED -> {
                    if (!isUpdating) deleteDownload(pkgName)
                    if (!isUpdating) deleteDownload(pkgName)
                    removeFaultyAppByPackageName(pkgName)
                    removeFaultyAppByPackageName(pkgName)
                }
                }

                PkgManagerModule.ERROR_PACKAGE_INSTALL -> {
                PkgManagerModule.ERROR_PACKAGE_INSTALL -> {
                    Timber.e("Installation failed due to error: $extra")
                    Timber.e("Installation failed due to error: $extra")
                    updateInstallationIssue(pkgName)
                    updateInstallationIssue(pkgName)
@@ -80,8 +93,6 @@ open class PkgManagerBR : BroadcastReceiver() {
            }
            }
        }
        }
    }
    }
        }
    }


    private fun removeFaultyAppByPackageName(pkgName: String) {
    private fun removeFaultyAppByPackageName(pkgName: String) {
        coroutineScope.launch {
        coroutineScope.launch {
+24 −17
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@ import androidx.preference.Preference.OnPreferenceChangeListener
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceFragmentCompat
import androidx.work.ExistingPeriodicWorkPolicy
import androidx.work.ExistingPeriodicWorkPolicy
import coil.load
import coil.load
import com.aurora.gplayapi.data.models.AuthData
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.snackbar.Snackbar
import com.google.gson.Gson
import com.google.gson.Gson
import dagger.hilt.android.AndroidEntryPoint
import dagger.hilt.android.AndroidEntryPoint
@@ -166,23 +167,7 @@ class SettingsFragment : PreferenceFragmentCompat() {


        mainActivityViewModel.gPlayAuthData.let { authData ->
        mainActivityViewModel.gPlayAuthData.let { authData ->
            mainActivityViewModel.getUser().name.let { user ->
            mainActivityViewModel.getUser().name.let { user ->
                when (user) {
                handleUser(user, authData)
                    User.ANONYMOUS.name -> {
                        binding.accountType.setText(R.string.user_anonymous)
                        binding.email.isVisible = false
                    }
                    User.GOOGLE.name -> {
                        if (!authData.isAnonymous) {
                            binding.accountType.text = authData.userProfile?.name
                            binding.email.text = mainActivityViewModel.getUserEmail()
                            binding.avatar.load(authData.userProfile?.artwork?.url)
                        }
                    }
                    User.NO_GOOGLE.name -> {
                        binding.accountType.setText(R.string.logged_out)
                        binding.email.isVisible = false
                    }
                }
            }
            }
        }
        }


@@ -230,6 +215,28 @@ class SettingsFragment : PreferenceFragmentCompat() {
        }
        }
    }
    }


    private fun handleUser(user: String, authData: AuthData) {
        when (user) {
            User.ANONYMOUS.name -> {
                binding.accountType.setText(R.string.user_anonymous)
                binding.email.isVisible = false
            }

            User.GOOGLE.name -> {
                if (!authData.isAnonymous) {
                    binding.accountType.text = authData.userProfile?.name
                    binding.email.text = mainActivityViewModel.getUserEmail()
                    binding.avatar.load(authData.userProfile?.artwork?.url)
                }
            }

            User.NO_GOOGLE.name -> {
                binding.accountType.setText(R.string.logged_out)
                binding.email.isVisible = false
            }
        }
    }

    private fun fetchCheckboxPreference(id: Int): CheckBoxPreference? {
    private fun fetchCheckboxPreference(id: Int): CheckBoxPreference? {
        return findPreference(getString(id))
        return findPreference(getString(id))
    }
    }