diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f15ef907..bfcd0c5f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -102,6 +102,13 @@ + + + + + + diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GB.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GB.java index 8d83a4fd..6ee4387b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GB.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GB.java @@ -16,6 +16,7 @@ import nodomain.freeyourgadget.gadgetbridge.externalevents.MusicPlaybackReceiver import nodomain.freeyourgadget.gadgetbridge.externalevents.PebbleReceiver; import nodomain.freeyourgadget.gadgetbridge.externalevents.PhoneCallReceiver; import nodomain.freeyourgadget.gadgetbridge.externalevents.SMSReceiver; +import nodomain.freeyourgadget.gadgetbridge.externalevents.TimeChangeReceiver; public class GB { public static final int NOTIFICATION_ID = 1; @@ -54,6 +55,7 @@ public class GB { K9Receiver.class, PebbleReceiver.class, MusicPlaybackReceiver.class, + TimeChangeReceiver.class, //NotificationListener.class, // disabling this leads to loss of permission to read notifications }; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/TimeChangeReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/TimeChangeReceiver.java new file mode 100644 index 00000000..197e3286 --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/TimeChangeReceiver.java @@ -0,0 +1,26 @@ +package nodomain.freeyourgadget.gadgetbridge.externalevents; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; + + +public class TimeChangeReceiver extends BroadcastReceiver { + + private final String TAG = this.getClass().getSimpleName(); + + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + + if (action.equals(Intent.ACTION_TIME_CHANGED) || action.equals(Intent.ACTION_TIMEZONE_CHANGED)) { + Log.i(TAG, "Time or Timezone changed, syncing with device"); + Intent startIntent = new Intent(context, BluetoothCommunicationService.class); + startIntent.setAction(BluetoothCommunicationService.ACTION_SETTIME); + context.startService(startIntent); + } + } +} \ No newline at end of file