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

Commit 71c9f7c0 authored by Nihar Thakkar's avatar Nihar Thakkar
Browse files

Show progress bar while more apps are loading

parent a4e0259f
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ import android.view.MenuItem
import android.view.View
import android.widget.LinearLayout
import android.widget.ProgressBar
import android.widget.RelativeLayout
import android.widget.TextView
import io.eelo.appinstaller.R
import io.eelo.appinstaller.application.model.Application
@@ -49,15 +50,19 @@ class CategoryActivity : AppCompatActivity(), ApplicationManagerServiceConnectio

        categoryViewModel = ViewModelProviders.of(this).get(CategoryViewModel::class.java)
        recyclerView = findViewById(R.id.app_list)
        val loadMoreContainer = findViewById<RelativeLayout>(R.id.load_more_container)
        progressBar = findViewById(R.id.progress_bar)
        val errorContainer = findViewById<LinearLayout>(R.id.error_container)
        val errorDescription = findViewById<TextView>(R.id.error_description)

        // Initialise UI elements
        recyclerView.visibility = View.GONE
        loadMoreContainer.visibility = View.GONE
        recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
                if (!recyclerView.canScrollVertically(1)) {
                    loadMoreContainer.visibility = View.VISIBLE
                    recyclerView.scrollToPosition(applicationList.size - 1)
                    categoryViewModel.loadApplications(this@CategoryActivity)
                }
            }
@@ -65,6 +70,7 @@ class CategoryActivity : AppCompatActivity(), ApplicationManagerServiceConnectio
        progressBar.visibility = View.VISIBLE
        errorContainer.visibility = View.GONE
        findViewById<TextView>(R.id.error_resolve).setOnClickListener {
            loadMoreContainer.visibility = View.GONE
            progressBar.visibility = View.VISIBLE
            categoryViewModel.loadApplications(this)
        }
@@ -82,6 +88,7 @@ class CategoryActivity : AppCompatActivity(), ApplicationManagerServiceConnectio
                progressBar.visibility = View.GONE
                recyclerView.adapter.notifyDataSetChanged()
                recyclerView.visibility = View.VISIBLE
                loadMoreContainer.visibility = View.GONE
            }
        })

@@ -91,6 +98,7 @@ class CategoryActivity : AppCompatActivity(), ApplicationManagerServiceConnectio
                errorDescription.text = getString(Common.getScreenErrorDescriptionId(it))
                errorContainer.visibility = View.VISIBLE
                progressBar.visibility = View.GONE
                loadMoreContainer.visibility = View.GONE
            } else {
                errorContainer.visibility = View.GONE
            }
+16 −3
Original line number Diff line number Diff line
@@ -2,9 +2,9 @@
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/container"
    tools:context=".categories.category.CategoryActivity">

    <android.support.v7.widget.Toolbar
@@ -21,10 +21,23 @@
        android:id="@+id/app_list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:scrollbars="none"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintBottom_toTopOf="@id/load_more_container"
        app:layout_constraintTop_toBottomOf="@id/toolbar" />

    <RelativeLayout
        android:id="@+id/load_more_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/layout_padding_medium"
        app:layout_constraintBottom_toBottomOf="parent">

        <ProgressBar
            android:layout_width="@dimen/load_more_progress_bar_size"
            android:layout_height="@dimen/load_more_progress_bar_size"
            android:layout_centerInParent="true" />

    </RelativeLayout>

    <include
        layout="@layout/error_layout"
        android:layout_width="wrap_content"
+1 −0
Original line number Diff line number Diff line
@@ -26,5 +26,6 @@
    <dimen name="small_application_list_item_width">116dp</dimen>
    <dimen name="app_privacy_analyses_height">112dp</dimen>
    <dimen name="category_icon_size">32dp</dimen>
    <dimen name="load_more_progress_bar_size">32dp</dimen>

</resources>
 No newline at end of file