mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Add charts loading indicator
This commit is contained in:
+4
@@ -333,6 +333,7 @@ public abstract class AbstractChartFragment<D extends ChartsData> extends Abstra
|
||||
ChartsHost chartsHost = getChartsHost();
|
||||
if (chartsHost != null) {
|
||||
if (chartsHost.getDevice() != null) {
|
||||
chartsHost.setLoading(true);
|
||||
mChartDirty = false;
|
||||
if (refreshTask != null && refreshTask.getStatus() != AsyncTask.Status.FINISHED) {
|
||||
refreshTask.cancel(true);
|
||||
@@ -372,6 +373,9 @@ public abstract class AbstractChartFragment<D extends ChartsData> extends Abstra
|
||||
LOG.info("Not rendering charts because activity is not available anymore");
|
||||
return;
|
||||
}
|
||||
|
||||
getChartsHost().setLoading(false);
|
||||
|
||||
if (getTaskError() != null) {
|
||||
// Async task failed - we will have no data, so avoid NPE crashes
|
||||
// a log + toast were already displayed by the DBAccess class
|
||||
|
||||
+9
@@ -28,6 +28,7 @@ import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
@@ -88,6 +89,8 @@ public class ActivityChartsActivity extends AbstractGBActivity implements Charts
|
||||
public static final String EXTRA_TIMESTAMP = "timestamp";
|
||||
public static final String EXTRA_MODE = "mode";
|
||||
|
||||
private ProgressBar mLoadingProgressBar;
|
||||
|
||||
private TextView mDateControl;
|
||||
|
||||
private Date mStartDate;
|
||||
@@ -214,6 +217,7 @@ public class ActivityChartsActivity extends AbstractGBActivity implements Charts
|
||||
}
|
||||
}
|
||||
|
||||
mLoadingProgressBar = findViewById(R.id.loading_progressbar);
|
||||
dateBar = findViewById(R.id.charts_date_bar);
|
||||
mDateControl = findViewById(R.id.charts_text_date);
|
||||
mDateControl.setOnClickListener(v -> {
|
||||
@@ -378,6 +382,11 @@ public class ActivityChartsActivity extends AbstractGBActivity implements Charts
|
||||
mDateControl.setText(dateInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLoading(boolean loading) {
|
||||
mLoadingProgressBar.setVisibility(loading ? View.VISIBLE : View.INVISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ViewGroup getDateBar() {
|
||||
return dateBar;
|
||||
|
||||
+2
@@ -45,6 +45,8 @@ public interface ChartsHost {
|
||||
|
||||
void setDateInfo(String dateInfo);
|
||||
|
||||
void setLoading(boolean loading);
|
||||
|
||||
ViewGroup getDateBar();
|
||||
|
||||
void enableSwipeRefresh(boolean enable);
|
||||
|
||||
@@ -27,10 +27,23 @@
|
||||
tools:context="nodomain.freeyourgadget.gadgetbridge.activities.charts.ActivityChartsActivity">
|
||||
</androidx.viewpager2.widget.ViewPager2>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/loading_progressbar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="-8dp"
|
||||
android:layout_marginTop="-4dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:indeterminate="true"
|
||||
android:indeterminateOnly="true"
|
||||
android:visibility="invisible" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/charts_date_bar"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="2dp"
|
||||
android:gravity="fill_horizontal"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
||||
Reference in New Issue
Block a user