mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Health Connect: Add manual sync debug trigger
This commit is contained in:
+17
@@ -4,13 +4,18 @@ import android.app.DatePickerDialog
|
||||
import android.os.Bundle
|
||||
import android.widget.DatePicker
|
||||
import android.widget.Toast
|
||||
import androidx.work.ExistingWorkPolicy
|
||||
import androidx.work.OneTimeWorkRequest
|
||||
import androidx.work.WorkManager
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication
|
||||
import nodomain.freeyourgadget.gadgetbridge.R
|
||||
import nodomain.freeyourgadget.gadgetbridge.activities.preferences.HealthConnectPreferencesActivity.HealthConnectPreferencesFragment
|
||||
import nodomain.freeyourgadget.gadgetbridge.database.DBHelper
|
||||
import nodomain.freeyourgadget.gadgetbridge.entities.HealthConnectSyncStateDao
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.GB
|
||||
import nodomain.freeyourgadget.gadgetbridge.util.healthconnect.HealthConnectSyncWorker
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
import java.time.Instant
|
||||
@@ -25,6 +30,17 @@ class HealthConnectDebugFragment : AbstractDebugFragment() {
|
||||
private fun setupPreferences() {
|
||||
setPreferencesFromResource(R.xml.debug_preferences_health_connect, null)
|
||||
|
||||
onClick(PREF_DEBUG_MANUAL_SYNC_TRIGGER) {
|
||||
val syncRequest = OneTimeWorkRequest.Builder(HealthConnectSyncWorker::class.java)
|
||||
.addTag(HealthConnectPreferencesFragment.HEALTH_CONNECT_SYNC_WORKER_TAG)
|
||||
.build()
|
||||
WorkManager.getInstance(requireContext()).enqueueUniqueWork(
|
||||
"HealthConnectSyncWorker_Debug",
|
||||
ExistingWorkPolicy.KEEP,
|
||||
syncRequest
|
||||
)
|
||||
}
|
||||
|
||||
onClick(PREF_DEBUG_RESET_HC_SYNC_STATE) {
|
||||
MaterialAlertDialogBuilder(requireActivity())
|
||||
.setCancelable(true)
|
||||
@@ -108,6 +124,7 @@ class HealthConnectDebugFragment : AbstractDebugFragment() {
|
||||
|
||||
companion object {
|
||||
private val LOG: Logger = LoggerFactory.getLogger(HealthConnectDebugFragment::class.java)
|
||||
private const val PREF_DEBUG_MANUAL_SYNC_TRIGGER = "pref_debug_manual_sync_trigger"
|
||||
private const val PREF_DEBUG_RESET_HC_SYNC_STATE = "pref_debug_reset_hc_sync_state"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@ public class HealthConnectPreferencesActivity extends AbstractSettingsActivityV2
|
||||
public static class HealthConnectPreferencesFragment extends AbstractPreferenceFragment implements HealthConnectInitialSyncDialog.InitialSyncDialogListener {
|
||||
protected static final Logger LOG = LoggerFactory.getLogger(HealthConnectPreferencesFragment.class);
|
||||
|
||||
private static final String HEALTH_CONNECT_SYNC_WORKER_TAG = "HealthConnectSyncWorker";
|
||||
public static final String HEALTH_CONNECT_SYNC_WORKER_TAG = "HealthConnectSyncWorker";
|
||||
private static final String HEALTH_CONNECT_ONETIME_WORK_NAME = "HealthConnectSyncWorker_OneTime";
|
||||
private static final String HC_DEVICE_SELECT_DIALOG_TAG = "HC_DEVICE_SELECT_DIALOG";
|
||||
private static final String HC_INITIAL_SYNC_DIALOG_TAG = "HC_INITIAL_SYNC_DIALOG_TAG";
|
||||
|
||||
@@ -4,6 +4,13 @@
|
||||
|
||||
<Preference
|
||||
android:icon="@drawable/ic_refresh"
|
||||
android:key="pref_debug_manual_sync_trigger"
|
||||
android:persistent="false"
|
||||
android:summary="Trigger a manual sync for all devices selected for HC"
|
||||
android:title="Trigger manual sync" />
|
||||
|
||||
<Preference
|
||||
android:icon="@drawable/ic_delete"
|
||||
android:key="pref_debug_reset_hc_sync_state"
|
||||
android:persistent="false"
|
||||
android:summary="Reset Health Connect sync state and allow re-syncing all data"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
app:iconSpaceReserved="true" />
|
||||
|
||||
<Preference
|
||||
android:icon="@drawable/ic_settings"
|
||||
android:icon="@drawable/ic_database"
|
||||
android:key="health_connect_manual_settings"
|
||||
android:title="@string/pref_health_connect_manual_settings"
|
||||
app:iconSpaceReserved="true" />
|
||||
|
||||
Reference in New Issue
Block a user