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

Commit a4c0521e authored by Arnau Vàzquez's avatar Arnau Vàzquez
Browse files

Merge branch 'issue-1712' into 'master'

Fix Home PWA parsing issue

See merge request e/apps/apps!33
parents 433710a0 3c301df8
Loading
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ import android.preference.PreferenceManager
import android.view.MenuItem
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import com.google.android.material.bottomnavigation.BottomNavigationItemView
import com.google.android.material.bottomnavigation.BottomNavigationMenuView
@@ -60,6 +59,7 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
            ApplicationManagerServiceConnection(this)
    private val codeRequestPermissions = 9527
    var doubleBackToExitPressedOnce = false;
    private var isReceiverRegistered = false



@@ -75,7 +75,6 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
        mActivity = this
        disableCategoryIfOpenSource()


        bottom_navigation_view.setOnNavigationItemSelectedListener{
            if (selectFragment(it.itemId,it)) {
                disableCategoryIfOpenSource()
@@ -181,11 +180,11 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS
            mLangReceiver = object : BroadcastReceiver() {
                override fun onReceive(context: Context?, intent: Intent?) {
                    finish()
//                    selectFragment(currentFragmentId,null)
                }
            }
            val filter = IntentFilter(Intent.ACTION_LOCALE_CHANGED)
            registerReceiver(mLangReceiver, filter)
            isReceiverRegistered = true;
        }
        return mLangReceiver
    }
@@ -240,6 +239,10 @@ class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemS

    override fun onDestroy() {
        super.onDestroy()
        if (isReceiverRegistered) {
            unregisterReceiver(mLangReceiver)
            isReceiverRegistered = false // set it back to false.
        }
        homeFragment.decrementApplicationUses()
        searchFragment.decrementApplicationUses()
        updatesFragment.decrementApplicationUses()
+9 −8
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ class HomePwaRequest {
            urlConnection.disconnect()
            callback.invoke(null, result)
        } catch (e: Exception) {
            e.printStackTrace()
            callback.invoke(Error.findError(e), null)
        }
    }
@@ -43,13 +44,13 @@ class HomePwaRequest {
            @JsonProperty("headings")
            val headings: Map<String, String>?,
            @JsonProperty(BANNER_APPS_KEY)
            val bannerApps: List<BasicData>,
            val bannerApps: List<PwasBasicData>,
            @JsonProperty(POPULAR_APPS_KEY)
            val topUpdatedApps: List<BasicData>,
            val topUpdatedApps: List<PwasBasicData>,
            @JsonProperty(POPULAR_GAMES_KEY)
            val topUpdatedGames: List<BasicData>,
            val topUpdatedGames: List<PwasBasicData>,
            @JsonProperty(DISCOVER_KEY)
            val discover: List<BasicData>
            val discover: List<PwasBasicData>
    ) {

        companion object {
@@ -62,7 +63,7 @@ class HomePwaRequest {
        }

        fun getBannerApps(applicationManager: ApplicationManager, context: Context): ArrayList<Application> {
            return ApplicationParser.parseToApps(applicationManager, context, bannerApps.toTypedArray())
            return ApplicationParser.PwaParseToApps(applicationManager, context, bannerApps.toTypedArray())
        }

        fun getApps(applicationManager: ApplicationManager, context: Context): LinkedHashMap<Category, ArrayList<Application>> {
@@ -72,9 +73,9 @@ class HomePwaRequest {
                heading = heading
                        ?: "" // Use default heading as empty to let it generate from the key itself.
                val parsedApps = when (it) {
                    POPULAR_APPS_KEY -> ApplicationParser.parseToApps(applicationManager, context, topUpdatedApps.toTypedArray())
                    POPULAR_GAMES_KEY -> ApplicationParser.parseToApps(applicationManager, context, topUpdatedGames.toTypedArray())
                    DISCOVER_KEY -> ApplicationParser.parseToApps(applicationManager, context, discover.toTypedArray())
                    POPULAR_APPS_KEY -> ApplicationParser.PwaParseToApps(applicationManager, context, topUpdatedApps.toTypedArray())
                    POPULAR_GAMES_KEY -> ApplicationParser.PwaParseToApps(applicationManager, context, topUpdatedGames.toTypedArray())
                    DISCOVER_KEY -> ApplicationParser.PwaParseToApps(applicationManager, context, discover.toTypedArray())
                    else -> throw IllegalArgumentException("Unrecognised key $it encountered")
                }
                apps[Category(it, heading)] = parsedApps