Tweak empty task state

This commit is contained in:
Phillip Thelen 2020-02-04 09:19:34 +01:00
parent ca9c1d14f0
commit b0b7fbed4f
3 changed files with 51 additions and 30 deletions

View file

@ -5,44 +5,57 @@
android:id="@+id/refreshLayout" android:id="@+id/refreshLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" android:background="@color/gray_700"
android:background="@color/gray_700"> app:layout_behavior="@string/appbar_scrolling_view_behavior">
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<LinearLayout
android:id="@+id/emptyView"
style="@style/EmptyView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="60dp"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/empty_icon_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp" />
<TextView
android:id="@+id/emptyViewTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"
android:gravity="center"
android:textColor="@color/gray_200"
android:textSize="@dimen/card_medium_text"
tools:text="No Items" />
<TextView
android:id="@+id/emptyViewDescription"
style="@style/Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/gray_200"
tools:text="No Items" />
</LinearLayout>
<com.habitrpg.android.habitica.ui.helpers.RecyclerViewEmptySupport <com.habitrpg.android.habitica.ui.helpers.RecyclerViewEmptySupport
android:id="@+id/recyclerView" android:id="@+id/recyclerView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:clipToPadding="false"
android:scrollbarSize="3dp" android:scrollbarSize="3dp"
android:scrollbarThumbVertical="@color/scrollbarThumb" android:scrollbarThumbVertical="@color/scrollbarThumb"
android:scrollbars="vertical" android:scrollbars="vertical" />
android:clipToPadding="false" />
<LinearLayout
android:id="@+id/emptyView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="60dp"
android:visibility="gone"
tools:visibility="visible"
style="@style/EmptyView">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/emptyViewTitle"
tools:text="No Items"
android:gravity="center"
android:textSize="@dimen/card_medium_text"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/emptyViewDescription"
android:gravity="center"
tools:text="No Items" />
</LinearLayout>
</FrameLayout> </FrameLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

View file

@ -288,44 +288,52 @@ open class TaskRecyclerViewFragment : BaseFragment(), androidx.swiperefreshlayou
private fun setEmptyLabels() { private fun setEmptyLabels() {
if (this.classType != null) { if (this.classType != null) {
binding.recyclerView.setEmptyView(binding.emptyView) binding.recyclerView.setEmptyView(binding.emptyView)
context?.let { binding.emptyIconView.setColorFilter(ContextCompat.getColor(it, R.color.gray_400), android.graphics.PorterDuff.Mode.MULTIPLY) }
if (taskFilterHelper.howMany(classType) > 0) { if (taskFilterHelper.howMany(classType) > 0) {
when (this.classType) { when (this.classType) {
Task.TYPE_HABIT -> { Task.TYPE_HABIT -> {
binding.emptyIconView.setImageResource(R.drawable.icon_habits_selected)
binding.emptyViewTitle.setText(R.string.empty_title_habits_filtered) binding.emptyViewTitle.setText(R.string.empty_title_habits_filtered)
binding.emptyViewDescription.setText(R.string.empty_description_habits_filtered) binding.emptyViewDescription.setText(R.string.empty_description_habits_filtered)
} }
Task.TYPE_DAILY -> { Task.TYPE_DAILY -> {
binding.emptyIconView.setImageResource(R.drawable.icon_dailies_selected)
binding.emptyViewTitle.setText(R.string.empty_title_dailies_filtered) binding.emptyViewTitle.setText(R.string.empty_title_dailies_filtered)
binding.emptyViewDescription.setText(R.string.empty_description_dailies_filtered) binding.emptyViewDescription.setText(R.string.empty_description_dailies_filtered)
} }
Task.TYPE_TODO -> { Task.TYPE_TODO -> {
binding.emptyIconView.setImageResource(R.drawable.icon_todos_selected)
binding.emptyViewTitle.setText(R.string.empty_title_todos_filtered) binding.emptyViewTitle.setText(R.string.empty_title_todos_filtered)
binding.emptyViewDescription.setText(R.string.empty_description_todos_filtered) binding.emptyViewDescription.setText(R.string.empty_description_todos_filtered)
} }
Task.TYPE_REWARD -> { Task.TYPE_REWARD -> {
binding.emptyIconView.setImageResource(R.drawable.icon_rewards_selected)
binding.emptyViewTitle.setText(R.string.empty_title_rewards) binding.emptyViewTitle.setText(R.string.empty_title_rewards)
} }
} }
} else { } else {
when (this.classType) { when (this.classType) {
Task.TYPE_HABIT -> { Task.TYPE_HABIT -> {
binding.emptyIconView.setImageResource(R.drawable.icon_habits_selected)
binding.emptyViewTitle.setText(R.string.empty_title_habits) binding.emptyViewTitle.setText(R.string.empty_title_habits)
binding.emptyViewDescription.setText(R.string.empty_description_habits) binding.emptyViewDescription.setText(R.string.empty_description_habits)
} }
Task.TYPE_DAILY -> { Task.TYPE_DAILY -> {
binding.emptyIconView.setImageResource(R.drawable.icon_dailies_selected)
binding.emptyViewTitle.setText(R.string.empty_title_dailies) binding.emptyViewTitle.setText(R.string.empty_title_dailies)
binding.emptyViewDescription.setText(R.string.empty_description_dailies) binding.emptyViewDescription.setText(R.string.empty_description_dailies)
} }
Task.TYPE_TODO -> { Task.TYPE_TODO -> {
binding.emptyIconView.setImageResource(R.drawable.icon_todos_selected)
binding.emptyViewTitle.setText(R.string.empty_title_todos) binding.emptyViewTitle.setText(R.string.empty_title_todos)
binding.emptyViewDescription.setText(R.string.empty_description_todos) binding.emptyViewDescription.setText(R.string.empty_description_todos)
} }
Task.TYPE_REWARD -> { Task.TYPE_REWARD -> {
binding.emptyIconView.setImageResource(R.drawable.icon_rewards_selected)
binding.emptyViewTitle.setText(R.string.empty_title_rewards) binding.emptyViewTitle.setText(R.string.empty_title_rewards)
} }
} }
} }
} }
} }

View file

@ -11,7 +11,7 @@ buildscript {
maven { url "https://plugins.gradle.org/m2/" } maven { url "https://plugins.gradle.org/m2/" }
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.0.0-alpha09' classpath 'com.android.tools.build:gradle:3.6.0-rc01'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.google.gms:google-services:4.3.3' classpath 'com.google.gms:google-services:4.3.3'
classpath "io.realm:realm-gradle-plugin:6.0.2" classpath "io.realm:realm-gradle-plugin:6.0.2"