mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-16 12:49:55 +01:00
Merge branch '1413-empty-state-fix' into 'master'
Always show empty state messages Closes #1413 See merge request briar/briar!1059
This commit is contained in:
@@ -7,7 +7,6 @@ import android.os.Handler;
|
|||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.support.annotation.DrawableRes;
|
import android.support.annotation.DrawableRes;
|
||||||
import android.support.annotation.StringRes;
|
import android.support.annotation.StringRes;
|
||||||
import android.support.constraint.Group;
|
|
||||||
import android.support.v7.widget.AppCompatImageView;
|
import android.support.v7.widget.AppCompatImageView;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.support.v7.widget.RecyclerView.Adapter;
|
import android.support.v7.widget.RecyclerView.Adapter;
|
||||||
@@ -29,14 +28,13 @@ public class BriarRecyclerView extends FrameLayout {
|
|||||||
private final Handler handler = new Handler(Looper.getMainLooper());
|
private final Handler handler = new Handler(Looper.getMainLooper());
|
||||||
|
|
||||||
private RecyclerView recyclerView;
|
private RecyclerView recyclerView;
|
||||||
private Group emptyState;
|
|
||||||
private AppCompatImageView emptyImage;
|
private AppCompatImageView emptyImage;
|
||||||
private TextView emptyText, emptyAction;
|
private TextView emptyText, emptyAction;
|
||||||
private ProgressBar progressBar;
|
private ProgressBar progressBar;
|
||||||
private RecyclerView.AdapterDataObserver emptyObserver;
|
private RecyclerView.AdapterDataObserver emptyObserver;
|
||||||
@Nullable
|
@Nullable
|
||||||
private Runnable refresher = null;
|
private Runnable refresher = null;
|
||||||
private boolean isScrollingToEnd = false;
|
private boolean isScrollingToEnd;
|
||||||
|
|
||||||
public BriarRecyclerView(Context context) {
|
public BriarRecyclerView(Context context) {
|
||||||
this(context, null, 0);
|
this(context, null, 0);
|
||||||
@@ -77,7 +75,6 @@ public class BriarRecyclerView extends FrameLayout {
|
|||||||
R.layout.briar_recycler_view, this, true);
|
R.layout.briar_recycler_view, this, true);
|
||||||
|
|
||||||
recyclerView = v.findViewById(R.id.recyclerView);
|
recyclerView = v.findViewById(R.id.recyclerView);
|
||||||
emptyState = v.findViewById(R.id.emptyState);
|
|
||||||
emptyImage = v.findViewById(R.id.emptyImage);
|
emptyImage = v.findViewById(R.id.emptyImage);
|
||||||
emptyText = v.findViewById(R.id.emptyText);
|
emptyText = v.findViewById(R.id.emptyText);
|
||||||
emptyAction = v.findViewById(R.id.emptyAction);
|
emptyAction = v.findViewById(R.id.emptyAction);
|
||||||
@@ -174,7 +171,9 @@ public class BriarRecyclerView extends FrameLayout {
|
|||||||
public void showProgressBar() {
|
public void showProgressBar() {
|
||||||
if (recyclerView == null) initViews();
|
if (recyclerView == null) initViews();
|
||||||
recyclerView.setVisibility(INVISIBLE);
|
recyclerView.setVisibility(INVISIBLE);
|
||||||
emptyState.setVisibility(INVISIBLE);
|
emptyImage.setVisibility(INVISIBLE);
|
||||||
|
emptyText.setVisibility(INVISIBLE);
|
||||||
|
emptyAction.setVisibility(INVISIBLE);
|
||||||
progressBar.setVisibility(VISIBLE);
|
progressBar.setVisibility(VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,11 +182,14 @@ public class BriarRecyclerView extends FrameLayout {
|
|||||||
Adapter adapter = recyclerView.getAdapter();
|
Adapter adapter = recyclerView.getAdapter();
|
||||||
if (adapter != null) {
|
if (adapter != null) {
|
||||||
if (adapter.getItemCount() == 0) {
|
if (adapter.getItemCount() == 0) {
|
||||||
emptyState.setVisibility(VISIBLE);
|
emptyImage.setVisibility(VISIBLE);
|
||||||
|
emptyText.setVisibility(VISIBLE);
|
||||||
|
emptyAction.setVisibility(VISIBLE);
|
||||||
recyclerView.setVisibility(INVISIBLE);
|
recyclerView.setVisibility(INVISIBLE);
|
||||||
} else {
|
} else {
|
||||||
// use GONE here so empty view doesn't use space on small lists
|
emptyImage.setVisibility(INVISIBLE);
|
||||||
emptyState.setVisibility(GONE);
|
emptyText.setVisibility(INVISIBLE);
|
||||||
|
emptyAction.setVisibility(INVISIBLE);
|
||||||
recyclerView.setVisibility(VISIBLE);
|
recyclerView.setVisibility(VISIBLE);
|
||||||
}
|
}
|
||||||
progressBar.setVisibility(GONE);
|
progressBar.setVisibility(GONE);
|
||||||
|
|||||||
@@ -27,13 +27,6 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
tools:visibility="invisible"/>
|
tools:visibility="invisible"/>
|
||||||
|
|
||||||
<android.support.constraint.Group
|
|
||||||
android:id="@+id/emptyState"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
app:constraint_referenced_ids="emptyImage, emptyText, emptyAction"
|
|
||||||
tools:visibility="invisible"/>
|
|
||||||
|
|
||||||
<android.support.v7.widget.AppCompatImageView
|
<android.support.v7.widget.AppCompatImageView
|
||||||
android:id="@+id/emptyImage"
|
android:id="@+id/emptyImage"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
Reference in New Issue
Block a user