Improved list state

pull/177/head
M66B 6 years ago
parent a88a8656b5
commit ee725e42d4

@ -51,6 +51,11 @@ public class ContentLoadingProgressBar extends ProgressBar {
super.setVisibility(visibility); super.setVisibility(visibility);
} }
@Override
public int getVisibility() {
return this.visibility;
}
private final Runnable delayedShow = new Runnable() { private final Runnable delayedShow = new Runnable() {
@Override @Override
public void run() { public void run() {

@ -3792,13 +3792,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
@Override @Override
public void onLoading() { public void onLoading() {
loading = true; loading = true;
updateListState("Loading"); updateListState("Loading", SimpleTask.getCount(), adapter.getItemCount());
} }
@Override @Override
public void onLoaded() { public void onLoaded() {
loading = false; loading = false;
updateListState("Loaded"); updateListState("Loaded", SimpleTask.getCount(), adapter.getItemCount());
} }
@Override @Override
@ -3852,13 +3852,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
}); });
initialized = true; initialized = true;
updateListState("Observed"); updateListState("Observed", SimpleTask.getCount(), messages.size());
grpReady.setVisibility(View.VISIBLE); grpReady.setVisibility(View.VISIBLE);
} }
}; };
private void updateListState(String reason) { private void updateListState(String reason, int tasks, int items) {
Context context = getContext(); Context context = getContext();
if (context == null) if (context == null)
return; return;
@ -3867,9 +3867,6 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
if (!getViewLifecycleOwner().getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) if (!getViewLifecycleOwner().getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED))
return; return;
int tasks = SimpleTask.getCount();
int items = adapter.getItemCount();
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean filter_seen = prefs.getBoolean("filter_seen", false); boolean filter_seen = prefs.getBoolean("filter_seen", false);
boolean filter_unflagged = prefs.getBoolean("filter_unflagged", false); boolean filter_unflagged = prefs.getBoolean("filter_unflagged", false);
@ -4656,7 +4653,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
}; };
private void onTaskCount(Intent intent) { private void onTaskCount(Intent intent) {
updateListState("Tasks"); updateListState("Tasks", intent.getIntExtra("count", 0), adapter.getItemCount());
} }
private void onNewMessage(Intent intent) { private void onNewMessage(Intent intent) {

@ -48,13 +48,21 @@ public class ViewTextDelayed extends AppCompatTextView {
this.visibility = visibility; this.visibility = visibility;
removeCallbacks(delayedShow); removeCallbacks(delayedShow);
if (visibility == VISIBLE) { removeCallbacks(delayedHide);
super.setVisibility(INVISIBLE);
if (visibility == VISIBLE)
postDelayed(delayedShow, VISIBILITY_DELAY); postDelayed(delayedShow, VISIBILITY_DELAY);
} else else if (visibility == GONE)
postDelayed(delayedHide, VISIBILITY_DELAY);
else
super.setVisibility(visibility); super.setVisibility(visibility);
} }
@Override
public int getVisibility() {
return this.visibility;
}
private final Runnable delayedShow = new Runnable() { private final Runnable delayedShow = new Runnable() {
@Override @Override
public void run() { public void run() {
@ -62,4 +70,12 @@ public class ViewTextDelayed extends AppCompatTextView {
ViewTextDelayed.super.setVisibility(VISIBLE); ViewTextDelayed.super.setVisibility(VISIBLE);
} }
}; };
private final Runnable delayedHide = new Runnable() {
@Override
public void run() {
if (visibility == GONE)
ViewTextDelayed.super.setVisibility(GONE);
}
};
} }

Loading…
Cancel
Save