mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-25 11:26:47 +01:00
add debug features for openTracksObserver
This commit is contained in:
parent
b5632e91d0
commit
79e0c01f60
@ -35,6 +35,7 @@ import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
@ -70,6 +71,8 @@ import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Random;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||
@ -83,6 +86,8 @@ import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator;
|
||||
import nodomain.freeyourgadget.gadgetbridge.devices.DeviceManager;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession;
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.Device;
|
||||
import nodomain.freeyourgadget.gadgetbridge.externalevents.OpenTracksContentObserver;
|
||||
import nodomain.freeyourgadget.gadgetbridge.externalevents.OpenTracksController;
|
||||
import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample;
|
||||
import nodomain.freeyourgadget.gadgetbridge.model.CallSpec;
|
||||
@ -508,6 +513,72 @@ public class DebugActivity extends AbstractGBActivity {
|
||||
}
|
||||
});
|
||||
|
||||
Button startFitnessAppTracking = findViewById(R.id.startFitnessAppTracking);
|
||||
startFitnessAppTracking.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
OpenTracksController.startRecording(DebugActivity.this);
|
||||
}
|
||||
});
|
||||
|
||||
Button stopFitnessAppTracking = findViewById(R.id.stopFitnessAppTracking);
|
||||
stopFitnessAppTracking.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
OpenTracksController.stopRecording(DebugActivity.this);
|
||||
}
|
||||
});
|
||||
|
||||
Button showStatusFitnessAppTracking = findViewById(R.id.showStatusFitnessAppTracking);
|
||||
final int delay = 2 * 1000;
|
||||
|
||||
showStatusFitnessAppTracking.setOnClickListener(new View.OnClickListener() {
|
||||
final Handler handler = new Handler();
|
||||
Runnable runnable;
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
final AlertDialog.Builder fitnesStatusBuilder = new AlertDialog.Builder(DebugActivity.this);
|
||||
fitnesStatusBuilder
|
||||
.setCancelable(false)
|
||||
.setTitle("openTracksObserver Status")
|
||||
.setMessage("Starting openTracksObserver watcher, waiting for an update, refreshing every: " + delay + "ms")
|
||||
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
handler.removeCallbacks(runnable);
|
||||
}
|
||||
});
|
||||
final AlertDialog alert = fitnesStatusBuilder.show();
|
||||
|
||||
|
||||
runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
LOG.debug("openTracksObserver debug watch dialog running");
|
||||
handler.postDelayed(this, delay); //schedule next execution
|
||||
|
||||
OpenTracksContentObserver openTracksObserver = GBApplication.app().getOpenTracksObserver();
|
||||
if (openTracksObserver == null) {
|
||||
LOG.debug("openTracksObserver is null");
|
||||
alert.cancel();
|
||||
alert.setMessage("openTracksObserver not running");
|
||||
alert.show();
|
||||
return;
|
||||
}
|
||||
LOG.debug("openTracksObserver is not null, updating debug view");
|
||||
long timeSecs = openTracksObserver.getTimeMillisChange() / 1000;
|
||||
float distanceCM = openTracksObserver.getDistanceMeterChange() * 100;
|
||||
|
||||
LOG.debug("Time: " + timeSecs + " distanceCM " + distanceCM);
|
||||
alert.cancel();
|
||||
alert.setMessage("TimeSec: " + timeSecs + " distanceCM " + distanceCM);
|
||||
alert.show();
|
||||
}
|
||||
};
|
||||
handler.postDelayed(runnable, delay);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
@ -233,6 +233,29 @@
|
||||
grid:layout_columnSpan="2"
|
||||
grid:layout_gravity="fill_horizontal" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/startFitnessAppTracking"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/pref_device_action_fitness_app_control_start"
|
||||
grid:layout_columnSpan="2"
|
||||
grid:layout_gravity="fill_horizontal" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/stopFitnessAppTracking"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/pref_device_action_fitness_app_control_stop"
|
||||
grid:layout_columnSpan="2"
|
||||
grid:layout_gravity="fill_horizontal" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/showStatusFitnessAppTracking"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Show Fit.App.Track. Status"
|
||||
grid:layout_columnSpan="2"
|
||||
grid:layout_gravity="fill_horizontal" />
|
||||
</androidx.gridlayout.widget.GridLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
Loading…
Reference in New Issue
Block a user