fix: add 'no internet' message in contributors activity

This commit is contained in:
Akash Yadav
2023-12-27 12:05:11 +05:30
parent 9a358c42c5
commit fb501fb9ea
2 changed files with 35 additions and 2 deletions
@@ -20,11 +20,16 @@ package com.itsaky.androidide.activities
import android.graphics.Rect
import android.os.Bundle
import android.view.View
import android.view.ViewGroup.MarginLayoutParams
import androidx.activity.viewModels
import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
import androidx.core.view.updateMarginsRelative
import com.itsaky.androidide.R
import com.itsaky.androidide.adapters.ContributorsGridAdapter
import com.itsaky.androidide.app.LimitlessIDEActivity
import com.itsaky.androidide.databinding.ActivityContributorsBinding
import com.itsaky.androidide.utils.getConnectionInfo
import com.itsaky.androidide.viewmodel.ContributorsViewModel
/**
@@ -57,9 +62,12 @@ class ContributorsActivity : LimitlessIDEActivity() {
githubContributors.apply {
sectionTitle.setText(R.string.title_github_contributors)
}
translationContributors.apply {
sectionTitle.setText(R.string.title_crowdin_translators)
}
noConnection.root.setText(R.string.msg_no_internet)
}
viewModel._crowdinTranslators.observe(this) { translators ->
@@ -70,7 +78,21 @@ class ContributorsActivity : LimitlessIDEActivity() {
binding.githubContributors.sectionItems.adapter = ContributorsGridAdapter(githubContributors)
}
viewModel.fetchAll()
val connectionInfo = getConnectionInfo(this)
binding.apply {
if (connectionInfo.isConnected) {
// hide the 'no internet' message
noConnection.root.updateLayoutParams<MarginLayoutParams> {
updateMarginsRelative(0, 0, 0, 0)
height = 0
}
viewModel.fetchAll()
} else {
githubContributorsCard.visibility = View.INVISIBLE
translationContributorsCard.visibility = View.INVISIBLE
}
}
}
override fun onInsetsUpdated(insets: Rect) {
@@ -42,7 +42,7 @@
android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
app:layout_constraintTop_toBottomOf="@id/no_connection">
<include
android:id="@+id/github_contributors"
@@ -76,6 +76,17 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/translation_contributors_card" />
<include
android:id="@+id/no_connection"
layout="@layout/layout_chip_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:layout_constraintBottom_toTopOf="@id/github_contributors_card"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>