1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-13 20:24:14 +02:00

remove data provider checks and added sync methods

This commit is contained in:
oliexdev
2019-03-15 16:02:34 +01:00
parent 61b7f0b7b9
commit d29daea2e1
18 changed files with 33 additions and 32 deletions

View File

@@ -69,6 +69,7 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.room.Room;
import androidx.room.RoomDatabase;
@@ -332,6 +333,7 @@ public class OpenScale {
runUiToastMsg(infoText);
}
syncInsertMeasurement(scaleMeasurement);
alarmHandler.entryChanged(context, scaleMeasurement);
updateScaleData();
triggerWidgetUpdate();
@@ -389,6 +391,7 @@ public class OpenScale {
Timber.d("Update measurement: %s", scaleMeasurement);
measurementDAO.update(scaleMeasurement);
alarmHandler.entryChanged(context, scaleMeasurement);
syncUpdateMeasurement(scaleMeasurement);
updateScaleData();
triggerWidgetUpdate();
@@ -396,6 +399,7 @@ public class OpenScale {
public void deleteScaleData(int id)
{
syncDeleteMeasurement(measurementDAO.get(id).getDateTime());
measurementDAO.delete(id);
updateScaleData();
@@ -666,4 +670,32 @@ public class OpenScale {
}
});
}
private void syncInsertMeasurement(ScaleMeasurement scaleMeasurement) {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.health.openscale.sync", "com.health.openscale.sync.core.service.SyncService"));
intent.putExtra("mode", "insert");
intent.putExtra("userId", scaleMeasurement.getUserId());
intent.putExtra("weight", scaleMeasurement.getWeight());
intent.putExtra("date", scaleMeasurement.getDateTime().getTime());
ContextCompat.startForegroundService(context, intent);
}
private void syncUpdateMeasurement(ScaleMeasurement scaleMeasurement) {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.health.openscale.sync", "com.health.openscale.sync.core.service.SyncService"));
intent.putExtra("mode", "update");
intent.putExtra("userId", scaleMeasurement.getUserId());
intent.putExtra("weight", scaleMeasurement.getWeight());
intent.putExtra("date", scaleMeasurement.getDateTime().getTime());
ContextCompat.startForegroundService(context, intent);
}
private void syncDeleteMeasurement(Date date) {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.health.openscale.sync", "com.health.openscale.sync.core.service.SyncService"));
intent.putExtra("mode", "delete");
intent.putExtra("date", date);
ContextCompat.startForegroundService(context, intent);
}
}

View File

@@ -22,7 +22,6 @@ import android.content.UriMatcher;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
import android.preference.PreferenceManager;
import com.health.openscale.BuildConfig;
import com.health.openscale.core.OpenScale;
@@ -97,11 +96,6 @@ public class ScaleDatabaseProvider extends android.content.ContentProvider {
String[] selectionArgs, String sortOrder) {
final Context context = getContext();
if (!PreferenceManager.getDefaultSharedPreferences(context)
.getBoolean("dataProviderEnable", false)) {
throw new UnsupportedOperationException("Provider access not enabled");
}
Cursor cursor;
switch (uriMatcher.match(uri)) {
@@ -140,10 +134,6 @@ public class ScaleDatabaseProvider extends android.content.ContentProvider {
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
if (!PreferenceManager.getDefaultSharedPreferences(getContext())
.getBoolean("dataProviderEnable", false)) {
throw new UnsupportedOperationException("Provider access not enabled");
}
Calendar cal = Calendar.getInstance();
cal.setTime(new Date((long)values.get("datetime")));

View File

@@ -231,5 +231,4 @@
<string name="activity_level_moderate">معتدل</string>
<string name="activity_level_heavy">كثيف</string>
<string name="activity_level_extreme">شديد</string>
<string name="label_data_provider_enable">"وصول جهات اخرى إلى تطبيق "</string>
</resources>

View File

@@ -232,5 +232,4 @@
<string name="permission_read_write_data_description">Læs/Skriv openScale data, herunder brugerinformation og alle gemte målinger</string>
<string name="permission_read_write_data_label">Læs/Skriv openScale data</string>
<string name="label_calories">Kalorier</string>
<string name="label_data_provider_enable">Tredjeparts appadgang</string>
</resources>

View File

@@ -216,7 +216,6 @@
<string name="activity_level_extreme">Extreme Tätigkeit</string>
<string name="permission_read_write_data_description">Auslesen der openScale Daten, inkl. Benutzerinformationen und aller gespeicherten Messungen</string>
<string name="permission_read_write_data_label">Auslesen der openScale Daten</string>
<string name="label_data_provider_enable">3rd Party App Zugriff</string>
<string name="trisa_scale_not_paired">Diese Waage ist nicht gekoppelt!
\n
\nHalten Sie die Taste an der Unterseite der Waage gedrückt, um sie in den Kopplungsmodus zu versetzen und verbinden Sie sie dann erneut, um das Gerätepasswort abzurufen.</string>

View File

@@ -222,7 +222,6 @@
<string name="activity_level_moderate">Μέτριο</string>
<string name="activity_level_heavy">Έντονο</string>
<string name="activity_level_extreme">Ακραίο</string>
<string name="label_data_provider_enable">Πρόσβαση εφαρμογής τρίτων</string>
<string name="label_tdee">Συνολική ημερήσια κατανάλωση ενέργειας (ΣΗΚΕ)</string>
<string name="label_calories">Θερμίδες</string>
<string name="info_bluetooth_no_device_retrying">Δεν μπορεί να γίνει σύνδεση, ξαναδοκιμάζω…</string>

View File

@@ -222,7 +222,6 @@
<string name="trisa_scale_pairing_succeeded">¡Emparejamiento exitoso!
\n
\nVuelva a conectar para obtener datos de mediciones.</string>
<string name="label_data_provider_enable">Acceso de aplicaciones de terceros</string>
<string name="label_tdee">Gasto Calórico Total Diario</string>
<string name="info_bluetooth_no_device_retrying">No se puede establecer la conexión, reintentando…</string>
<string name="info_bluetooth_connection_disconnected">Conexión de Bluetooth cerrada</string>

View File

@@ -222,7 +222,6 @@
<string name="activity_level_moderate">Mérsékelt</string>
<string name="activity_level_heavy">Élénk</string>
<string name="activity_level_extreme">Extrém</string>
<string name="label_data_provider_enable">Harmadik fél app hozzáférése</string>
<string name="label_tdee">Összes napi energia kiadás (TDEE)</string>
<string name="label_calories">Kalória</string>
</resources>

View File

@@ -218,7 +218,6 @@
<string name="activity_level_moderate">בינונית</string>
<string name="activity_level_heavy">גבוהה</string>
<string name="activity_level_extreme">קיצונית</string>
<string name="label_data_provider_enable">גישה ליישומון צד שלישי</string>
<string name="trisa_scale_not_paired">המשקל טרם עבר צימוד!
\n
\nיש להחזיק את הכפתור בתחתית המשקל כדי להפעיל אותו במצב צימוד ואז להתחבר מחדש כדי לקבל את הססמה של המכשיר.</string>

View File

@@ -219,5 +219,4 @@
<string name="activity_level_moderate">중간 수준의 운동</string>
<string name="activity_level_heavy">많은 운동</string>
<string name="activity_level_extreme">과도한 운동</string>
<string name="label_data_provider_enable">제 3자 앱 액세스</string>
</resources>

View File

@@ -216,7 +216,6 @@
<string name="activity_level_extreme">Ekstrem</string>
<string name="permission_read_write_data_description">les openScale-data, inkludert brukerinfo, og alle lagrede målinger</string>
<string name="permission_read_write_data_label">Les openScale-data</string>
<string name="label_data_provider_enable">Tilgang for tredjepartsprogrammer</string>
<string name="trisa_scale_not_paired">Denne vekten har ikke blitt parret.
\n
\nHold knappen på bunnen av vekten for å sette den i paringsmodus, koble deretter til den igjen for å hente enhetens passord.</string>

View File

@@ -249,7 +249,6 @@
\n
\nVerbind opnieuw om metingen op te halen.</string>
<string name="label_data_provider_enable">Toegang andere apps</string>
<string name="label_tdee">Totaal Dagelijks Energie Gebruik</string>
<string name="label_calories">Calorieën</string>
<string name="info_bluetooth_no_device_retrying">Kan geen verbinding maken, opnieuw proberen…</string>

View File

@@ -250,7 +250,6 @@
<string name="activity_level_moderate">Средний</string>
<string name="activity_level_heavy">Интенсивный</string>
<string name="activity_level_extreme">Экстремальный</string>
<string name="label_data_provider_enable">Доступ для сторонних приложений</string>
<string name="label_tdee">Общий ежедневный расход энергии (TDEE)</string>
<string name="label_calories">Калории</string>
</resources>

View File

@@ -224,7 +224,6 @@
<string name="activity_level_extreme">Extrem</string>
<string name="permission_read_write_data_description">läs openScale-data, inklusive användarinformation och alla sparade mätningar</string>
<string name="permission_read_write_data_label">Läs openScale-data</string>
<string name="label_data_provider_enable">Tillgång för tredjeparts-app</string>
<string name="label_tdee">Totala dagliga energiförbrukningen (TDEE)</string>
<string name="trisa_scale_not_paired">Vågen har inte parats!
\n

View File

@@ -237,8 +237,7 @@
<string name="activity_level_mild">Hafif</string>
<string name="activity_level_heavy">ır</string>
<string name="activity_level_extreme">ırı</string>
<string name="label_data_provider_enable">Üçüncü parti uygulama erişimi</string>
<string name="trisa_scale_not_paired">Bu tartı eşleşmedi!
<string name="trisa_scale_not_paired">Bu tartı eşleşmedi!
\n
\nEşleştirme moduna geçmek için, terazinin altındaki düğmeyi basılı tutun ve ardından cihaz parolasını geri almak için tekrar bağlanın.
\n

View File

@@ -247,5 +247,4 @@
<string name="activity_level_moderate">Vận động trung bình</string>
<string name="activity_level_heavy">Vận động nặng</string>
<string name="activity_level_extreme">Vận động cực nặng</string>
<string name="label_data_provider_enable">Quyền truy cập ứng dụng bên thứ ba</string>
</resources>

View File

@@ -255,5 +255,4 @@
<string name="activity_level_moderate">Moderate</string>
<string name="activity_level_heavy">Heavy</string>
<string name="activity_level_extreme">Extreme</string>
<string name="label_data_provider_enable">Third-party app access</string>
</resources>

View File

@@ -23,10 +23,4 @@
android:summaryOff="@string/info_is_not_enable"
android:summaryOn="@string/info_is_enable"
android:title="@string/label_delete_confirmation" />
<CheckBoxPreference
android:defaultValue="false"
android:key="dataProviderEnable"
android:summaryOff="@string/info_is_not_enable"
android:summaryOn="@string/info_is_enable"
android:title="@string/label_data_provider_enable" />
</PreferenceScreen>