From 7c597b325ae4490e9ad1f413ccc16516917a17cd Mon Sep 17 00:00:00 2001 From: cpfeiffer Date: Mon, 3 Aug 2015 23:09:49 +0200 Subject: [PATCH] Big refactoring: move classes and packages around to get a better structure - model package contains mostly shared interfaces (UI+service), not named GB* - impl package contains implementations of those interfaces, named GB* the impl classes should not be used by the service (not completely done) - the service classes should mostly use classes inside the service and deviceevents packages (tbd) Every device now has two packages: - devices/[device name] for UI related functionality - service[device name] for lowlevel communication --- app/src/main/AndroidManifest.xml | 42 ++++----- .../gadgetbridge/activities/AlarmDetails.java | 2 +- .../{ => activities}/AppManagerActivity.java | 5 +- .../activities/ConfigureAlarms.java | 6 +- .../{ => activities}/ControlCenter.java | 15 ++-- .../{ => activities}/DebugActivity.java | 15 ++-- .../DiscoveryActivity.java | 19 +++-- .../activities/FwAppInstallerActivity.java | 13 ++- .../{ => activities}/SettingsActivity.java | 6 +- .../{ => charts}/AbstractChartFragment.java | 19 ++--- .../charts/ActivityAnalysis.java | 5 +- .../ActivitySleepChartFragment.java | 6 +- .../{ => charts}/ChartsActivity.java | 8 +- .../charts/CustomBarChart.java | 2 +- .../charts/CustomLegendRenderer.java | 2 +- .../{ => charts}/SleepChartFragment.java | 13 ++- .../{ => activities}/charts/SleepUtils.java | 4 +- .../{ => charts}/WeekStepsChartFragment.java | 9 +- .../adapter/DeviceCandidateAdapter.java | 14 +-- .../adapter/GBAlarmListAdapter.java | 17 ++-- .../gadgetbridge/adapter/GBDeviceAdapter.java | 2 +- .../adapter/GBDeviceAppAdapter.java | 2 +- .../database/ActivityDatabaseHandler.java | 8 +- .../gadgetbridge/database/DBAccess.java | 2 +- .../gadgetbridge/database/DBHandler.java | 2 +- .../deviceevents/GBDeviceEventAppInfo.java | 2 +- .../{ => devices}/DeviceCoordinator.java | 11 +-- .../{ => devices}/EventHandler.java | 9 +- .../{model => devices}/SampleProvider.java | 2 +- .../UnknownDeviceCoordinator.java | 14 +-- .../{ => devices}/miband/MiBandConst.java | 2 +- .../miband/MiBandCoordinator.java | 16 ++-- .../{ => devices}/miband/MiBandFWHelper.java | 2 +- .../miband/MiBandNotifyAction.java | 6 +- .../miband/MiBandPairingActivity.java | 12 +-- .../miband/MiBandPreferencesActivity.java | 36 ++++---- .../miband/MiBandSampleProvider.java | 6 +- .../{ => devices}/miband/MiBandService.java | 2 +- .../miband/MiBandTransactionBuilder.java | 6 +- .../{ => devices}/miband/UserInfo.java | 2 +- .../miband/VibrationProfile.java | 2 +- .../{ => devices}/miband/miligatt.txt | 0 .../pebble/MorpheuzSampleProvider.java | 6 +- .../{ => devices}/pebble/PBWReader.java | 5 +- .../pebble/PebbleCoordinator.java | 16 ++-- .../PebbleGadgetBridgeSampleProvider.java | 4 +- .../pebble/PebbleInstallable.java | 2 +- .../BluetoothStateChangeReceiver.java | 4 +- .../externalevents/K9Receiver.java | 2 +- .../externalevents/MusicPlaybackReceiver.java | 2 +- .../externalevents/NotificationListener.java | 2 +- .../externalevents/PebbleReceiver.java | 2 +- .../externalevents/PhoneCallReceiver.java | 16 ++-- .../externalevents/SMSReceiver.java | 2 +- .../externalevents/TimeChangeReceiver.java | 2 +- .../{ => impl}/GBActivitySample.java | 4 +- .../gadgetbridge/{ => impl}/GBAlarm.java | 32 +++---- .../gadgetbridge/{ => impl}/GBDevice.java | 6 +- .../gadgetbridge/{ => impl}/GBDeviceApp.java | 2 +- .../GBDeviceCandidate.java} | 12 +-- .../{database => impl}/GBSummaryOfDay.java | 2 +- .../{charts => model}/ActivityAmount.java | 4 +- .../{charts => model}/ActivityAmounts.java | 2 +- .../{charts => model}/ActivityKind.java | 4 +- .../gadgetbridge/model/ActivitySample.java | 2 +- .../gadgetbridge/model/Alarm.java | 30 +++++++ .../gadgetbridge/{ => model}/DeviceType.java | 2 +- .../ServiceCommand.java} | 4 +- .../AbstractBTDeviceSupport.java | 7 +- .../{ => service}/AbstractDeviceSupport.java | 10 ++- .../BluetoothCommunicationService.java | 18 ++-- .../{ => service}/DeviceSupport.java | 5 +- .../{ => service}/GBDeviceIoThread.java | 4 +- .../GBDeviceProtocol.java | 6 +- .../{ => service}/ServiceDeviceSupport.java | 10 ++- .../btle/AbstractBTLEDeviceSupport.java | 4 +- .../{ => service}/btle/BtLEAction.java | 2 +- .../{ => service}/btle/BtLEQueue.java | 8 +- .../btle/CheckInitializedAction.java | 5 +- .../{ => service}/btle/GattCallback.java | 2 +- .../{ => service}/btle/Transaction.java | 2 +- .../btle/TransactionBuilder.java | 7 +- .../btle/actions}/AbortTransactionAction.java | 2 +- .../btle/actions}/NotifyAction.java | 5 +- .../btle/actions}/PlainAction.java | 4 +- .../btle/actions}/ReadAction.java | 4 +- .../btle/actions}/SetDeviceBusyAction.java | 4 +- .../btle/actions}/SetDeviceStateAction.java | 5 +- .../btle/actions}/SetProgressAction.java | 4 +- .../btle/actions}/WaitAction.java | 2 +- .../btle/actions}/WriteAction.java | 4 +- .../{ => service}/miband/AbstractInfo.java | 2 +- .../{ => service}/miband/BatteryInfo.java | 2 +- .../{ => service}/miband/DeviceInfo.java | 2 +- .../{ => service}/miband/MiBandSupport.java | 85 ++++++++++--------- .../pebble/GadgetbridgePblSupport.java | 4 +- .../{ => service}/pebble/MorpheuzSupport.java | 5 +- .../{ => service}/pebble/PebbleIoThread.java | 12 +-- .../{ => service}/pebble/PebbleProtocol.java | 18 ++-- .../{ => service}/pebble/PebbleSupport.java | 12 +-- .../pebble/WeatherNeatSupport.java | 2 +- .../receivers}/GBCallControlReceiver.java | 2 +- .../receivers}/GBMusicControlReceiver.java | 2 +- .../gadgetbridge/{ => util}/DeviceHelper.java | 15 ++-- .../gadgetbridge/{ => util}/GB.java | 7 +- .../main/res/layout/activity_appmanager.xml | 2 +- app/src/main/res/layout/activity_charts.xml | 4 +- .../res/layout/activity_controlcenter.xml | 2 +- app/src/main/res/layout/activity_debug.xml | 2 +- .../main/res/layout/activity_discovery.xml | 2 +- .../res/layout/activity_mi_band_pairing.xml | 2 +- .../res/layout/activity_sleepmonitor2.xml | 2 +- app/src/main/res/layout/fragment_charts.xml | 4 +- app/src/main/res/layout/fragment_dummy.xml | 2 +- .../main/res/layout/fragment_sleepchart.xml | 4 +- app/src/main/res/menu/menu_charts.xml | 2 +- app/src/main/res/menu/menu_main.xml | 2 +- 117 files changed, 487 insertions(+), 376 deletions(-) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => activities}/AppManagerActivity.java (95%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => activities}/ControlCenter.java (95%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => activities}/DebugActivity.java (93%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{discovery => activities}/DiscoveryActivity.java (94%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => activities}/SettingsActivity.java (86%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/{ => charts}/AbstractChartFragment.java (95%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => activities}/charts/ActivityAnalysis.java (90%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/{ => charts}/ActivitySleepChartFragment.java (96%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/{ => charts}/ChartsActivity.java (95%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => activities}/charts/CustomBarChart.java (92%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => activities}/charts/CustomLegendRenderer.java (95%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/{ => charts}/SleepChartFragment.java (94%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => activities}/charts/SleepUtils.java (70%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/{ => charts}/WeekStepsChartFragment.java (96%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/DeviceCoordinator.java (50%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/EventHandler.java (76%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{model => devices}/SampleProvider.java (88%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/UnknownDeviceCoordinator.java (73%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandConst.java (98%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandCoordinator.java (88%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandFWHelper.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandNotifyAction.java (91%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandPairingActivity.java (92%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandPreferencesActivity.java (57%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandSampleProvider.java (91%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandService.java (99%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/MiBandTransactionBuilder.java (72%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/UserInfo.java (98%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/VibrationProfile.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/miband/miligatt.txt (100%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/pebble/MorpheuzSampleProvider.java (88%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/pebble/PBWReader.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/pebble/PebbleCoordinator.java (63%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/pebble/PebbleGadgetBridgeSampleProvider.java (68%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => devices}/pebble/PebbleInstallable.java (90%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => impl}/GBActivitySample.java (90%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => impl}/GBAlarm.java (88%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => impl}/GBDevice.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => impl}/GBDeviceApp.java (94%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{discovery/DeviceCandidate.java => impl/GBDeviceCandidate.java} (85%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{database => impl}/GBSummaryOfDay.java (90%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{charts => model}/ActivityAmount.java (88%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{charts => model}/ActivityAmounts.java (93%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{charts => model}/ActivityKind.java (89%) create mode 100644 app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/Alarm.java rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => model}/DeviceType.java (55%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{GBCommand.java => model/ServiceCommand.java} (75%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/AbstractBTDeviceSupport.java (95%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/AbstractDeviceSupport.java (94%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/BluetoothCommunicationService.java (94%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/DeviceSupport.java (94%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/GBDeviceIoThread.java (84%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{protocol => service}/GBDeviceProtocol.java (91%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/ServiceDeviceSupport.java (93%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/btle/AbstractBTLEDeviceSupport.java (98%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/btle/BtLEAction.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/btle/BtLEQueue.java (98%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/btle/CheckInitializedAction.java (80%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/btle/GattCallback.java (98%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/btle/Transaction.java (95%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/btle/TransactionBuilder.java (84%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{btle => service/btle/actions}/AbortTransactionAction.java (91%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{btle => service/btle/actions}/NotifyAction.java (81%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{btle => service/btle/actions}/PlainAction.java (71%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{btle => service/btle/actions}/ReadAction.java (82%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{btle => service/btle/actions}/SetDeviceBusyAction.java (88%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{miband => service/btle/actions}/SetDeviceStateAction.java (80%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{btle => service/btle/actions}/SetProgressAction.java (87%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{btle => service/btle/actions}/WaitAction.java (85%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{btle => service/btle/actions}/WriteAction.java (85%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/miband/AbstractInfo.java (76%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/miband/BatteryInfo.java (94%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/miband/DeviceInfo.java (93%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/miband/MiBandSupport.java (92%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/pebble/GadgetbridgePblSupport.java (96%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/pebble/MorpheuzSupport.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/pebble/PebbleIoThread.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/pebble/PebbleProtocol.java (98%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/pebble/PebbleSupport.java (70%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service}/pebble/WeatherNeatSupport.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service/receivers}/GBCallControlReceiver.java (96%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => service/receivers}/GBMusicControlReceiver.java (97%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => util}/DeviceHelper.java (77%) rename app/src/main/java/nodomain/freeyourgadget/gadgetbridge/{ => util}/GB.java (97%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7a6d5b2e..aad0c2ea 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,7 +30,7 @@ android:label="@string/app_name" android:theme="@style/GadgetbridgeTheme"> @@ -39,32 +39,32 @@ + android:value=".activities.ControlCenter" /> + android:value=".activities.SettingsActivity" /> + android:value=".activities.ControlCenter" /> + android:value=".activities.ControlCenter" /> @@ -164,7 +164,7 @@ - + @@ -238,40 +238,40 @@ + android:value=".activities.ControlCenter" /> + android:value=".activities.ControlCenter" /> + android:parentActivityName=".activities.ControlCenter"> + android:value=".activities.ControlCenter" /> + android:parentActivityName=".activities.SettingsActivity" > + android:value=".activities.SettingsActivity" /> deviceCandidates = new ArrayList<>(); + private ArrayList deviceCandidates = new ArrayList<>(); private DeviceCandidateAdapter cadidateListAdapter; private Button startButton; private Scanning isScanning = Scanning.SCANNING_OFF; @@ -153,7 +154,7 @@ public class DiscoveryActivity extends Activity implements AdapterView.OnItemCli if (restoredCandidates != null) { deviceCandidates.clear(); for (Parcelable p : restoredCandidates) { - deviceCandidates.add((DeviceCandidate) p); + deviceCandidates.add((GBDeviceCandidate) p); } } } @@ -174,7 +175,7 @@ public class DiscoveryActivity extends Activity implements AdapterView.OnItemCli } private void handleDeviceFound(BluetoothDevice device, short rssi) { - DeviceCandidate candidate = new DeviceCandidate(device, rssi); + GBDeviceCandidate candidate = new GBDeviceCandidate(device, rssi); if (DeviceHelper.getInstance().isSupported(candidate)) { int index = deviceCandidates.indexOf(candidate); if (index >= 0) { @@ -314,7 +315,7 @@ public class DiscoveryActivity extends Activity implements AdapterView.OnItemCli @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - DeviceCandidate deviceCandidate = deviceCandidates.get(position); + GBDeviceCandidate deviceCandidate = deviceCandidates.get(position); if (deviceCandidate == null) { LOG.error("Device candidate clicked, but item not found"); return; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/FwAppInstallerActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/FwAppInstallerActivity.java index 716aa05f..79995586 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/FwAppInstallerActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/FwAppInstallerActivity.java @@ -17,14 +17,13 @@ import android.widget.TextView; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; -import nodomain.freeyourgadget.gadgetbridge.ControlCenter; -import nodomain.freeyourgadget.gadgetbridge.DeviceType; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; -import nodomain.freeyourgadget.gadgetbridge.GBDeviceApp; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp; import nodomain.freeyourgadget.gadgetbridge.R; -import nodomain.freeyourgadget.gadgetbridge.miband.MiBandFWHelper; -import nodomain.freeyourgadget.gadgetbridge.pebble.PBWReader; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandFWHelper; +import nodomain.freeyourgadget.gadgetbridge.devices.pebble.PBWReader; public class FwAppInstallerActivity extends Activity { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/SettingsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java similarity index 86% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/SettingsActivity.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java index 3e3140b9..6f43ed43 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/SettingsActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SettingsActivity.java @@ -1,11 +1,11 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.activities; import android.content.Intent; import android.os.Bundle; import android.preference.Preference; -import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity; -import nodomain.freeyourgadget.gadgetbridge.miband.MiBandPreferencesActivity; +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandPreferencesActivity; public class SettingsActivity extends AbstractSettingsActivity { @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/AbstractChartFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/AbstractChartFragment.java similarity index 95% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/AbstractChartFragment.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/AbstractChartFragment.java index 6a52b571..0bced541 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/AbstractChartFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/AbstractChartFragment.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.activities; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; import android.content.Context; import android.graphics.Color; @@ -20,16 +20,15 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.List; -import nodomain.freeyourgadget.gadgetbridge.DeviceCoordinator; -import nodomain.freeyourgadget.gadgetbridge.DeviceHelper; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.util.DeviceHelper; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.R; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind; -import nodomain.freeyourgadget.gadgetbridge.charts.SleepUtils; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; import nodomain.freeyourgadget.gadgetbridge.database.DBAccess; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public abstract class AbstractChartFragment extends Fragment { private static final Logger LOG = LoggerFactory.getLogger(ActivitySleepChartFragment.class); @@ -61,11 +60,11 @@ public abstract class AbstractChartFragment extends Fragment { protected Integer getColorFor(int activityKind) { switch (activityKind) { - case nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind.TYPE_DEEP_SLEEP: + case ActivityKind.TYPE_DEEP_SLEEP: return akDeepSleep.color; - case nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind.TYPE_LIGHT_SLEEP: + case ActivityKind.TYPE_LIGHT_SLEEP: return akLightSleep.color; - case nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind.TYPE_ACTIVITY: + case ActivityKind.TYPE_ACTIVITY: return akActivity.color; } return akActivity.color; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAnalysis.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivityAnalysis.java similarity index 90% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAnalysis.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivityAnalysis.java index edbe8d5a..873053bf 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAnalysis.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivityAnalysis.java @@ -1,7 +1,10 @@ -package nodomain.freeyourgadget.gadgetbridge.charts; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; import java.util.List; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityAmount; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityAmounts; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; public class ActivityAnalysis { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ActivitySleepChartFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivitySleepChartFragment.java similarity index 96% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ActivitySleepChartFragment.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivitySleepChartFragment.java index 89f8ec7e..41c1824b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ActivitySleepChartFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ActivitySleepChartFragment.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.activities; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; import android.content.BroadcastReceiver; import android.content.Context; @@ -22,9 +22,9 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; -import nodomain.freeyourgadget.gadgetbridge.ControlCenter; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ChartsActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ChartsActivity.java similarity index 95% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ChartsActivity.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ChartsActivity.java index 49d68011..0f2736fc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ChartsActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/ChartsActivity.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.activities; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; import android.content.BroadcastReceiver; import android.content.Context; @@ -22,9 +22,9 @@ import org.slf4j.LoggerFactory; import java.util.Locale; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; -import nodomain.freeyourgadget.gadgetbridge.ControlCenter; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.R; public class ChartsActivity extends FragmentActivity { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/CustomBarChart.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/CustomBarChart.java similarity index 92% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/CustomBarChart.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/CustomBarChart.java index ee6fe93d..34acacf4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/CustomBarChart.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/CustomBarChart.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.charts; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; import android.content.Context; import android.util.AttributeSet; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/CustomLegendRenderer.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/CustomLegendRenderer.java similarity index 95% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/CustomLegendRenderer.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/CustomLegendRenderer.java index 812cb2a0..b2308cdd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/CustomLegendRenderer.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/CustomLegendRenderer.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.charts; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; import android.graphics.Typeface; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SleepChartFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/SleepChartFragment.java similarity index 94% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SleepChartFragment.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/SleepChartFragment.java index a70734a1..024a8c42 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/SleepChartFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/SleepChartFragment.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.activities; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; import android.content.BroadcastReceiver; import android.content.Context; @@ -28,13 +28,12 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; -import nodomain.freeyourgadget.gadgetbridge.ControlCenter; -import nodomain.freeyourgadget.gadgetbridge.GB; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.util.GB; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.R; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityAmount; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityAmounts; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityAnalysis; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityAmount; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityAmounts; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/SleepUtils.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/SleepUtils.java similarity index 70% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/SleepUtils.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/SleepUtils.java index a6ebf86d..9926656d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/SleepUtils.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/SleepUtils.java @@ -1,4 +1,6 @@ -package nodomain.freeyourgadget.gadgetbridge.charts; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; + +import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; public class SleepUtils { public static final float Y_VALUE_DEEP_SLEEP = 0.01f; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/WeekStepsChartFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekStepsChartFragment.java similarity index 96% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/WeekStepsChartFragment.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekStepsChartFragment.java index c70561e9..b100bcc9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/WeekStepsChartFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekStepsChartFragment.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.activities; +package nodomain.freeyourgadget.gadgetbridge.activities.charts; import android.content.BroadcastReceiver; import android.content.Context; @@ -33,12 +33,11 @@ import java.util.Calendar; import java.util.List; import java.util.Locale; -import nodomain.freeyourgadget.gadgetbridge.ControlCenter; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.R; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityAnalysis; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; -import nodomain.freeyourgadget.gadgetbridge.miband.MiBandCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandCoordinator; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/DeviceCandidateAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/DeviceCandidateAdapter.java index b98d683b..f373aa0e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/DeviceCandidateAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/DeviceCandidateAdapter.java @@ -10,16 +10,16 @@ import android.widget.TextView; import java.util.List; -import nodomain.freeyourgadget.gadgetbridge.GB; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.util.GB; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.R; -import nodomain.freeyourgadget.gadgetbridge.discovery.DeviceCandidate; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; -public class DeviceCandidateAdapter extends ArrayAdapter { +public class DeviceCandidateAdapter extends ArrayAdapter { private final Context context; - public DeviceCandidateAdapter(Context context, List deviceCandidates) { + public DeviceCandidateAdapter(Context context, List deviceCandidates) { super(context, 0, deviceCandidates); this.context = context; @@ -27,7 +27,7 @@ public class DeviceCandidateAdapter extends ArrayAdapter { @Override public View getView(int position, View view, ViewGroup parent) { - DeviceCandidate device = getItem(position); + GBDeviceCandidate device = getItem(position); if (view == null) { LayoutInflater inflater = (LayoutInflater) context @@ -57,7 +57,7 @@ public class DeviceCandidateAdapter extends ArrayAdapter { return view; } - private String formatDeviceCandidate(DeviceCandidate device) { + private String formatDeviceCandidate(GBDeviceCandidate device) { if (device.getRssi() > GBDevice.RSSI_UNKNOWN) { return context.getString(R.string.device_with_rssi, device.getName(), GB.formatRssi(device.getRssi())); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBAlarmListAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBAlarmListAdapter.java index 046cd298..525f47f4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBAlarmListAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBAlarmListAdapter.java @@ -15,9 +15,10 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Set; -import nodomain.freeyourgadget.gadgetbridge.GBAlarm; +import nodomain.freeyourgadget.gadgetbridge.impl.GBAlarm; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.ConfigureAlarms; +import nodomain.freeyourgadget.gadgetbridge.model.Alarm; public class GBAlarmListAdapter extends ArrayAdapter { @@ -109,13 +110,13 @@ public class GBAlarmListAdapter extends ArrayAdapter { Switch isEnabled = (Switch) view.findViewById(R.id.alarm_item_toggle); TextView isSmartWakeup = (TextView) view.findViewById(R.id.alarm_smart_wakeup); - highlightDay((TextView) view.findViewById(R.id.alarm_item_sunday), alarm.getRepetition(GBAlarm.ALARM_SUN)); - highlightDay((TextView) view.findViewById(R.id.alarm_item_monday), alarm.getRepetition(GBAlarm.ALARM_MON)); - highlightDay((TextView) view.findViewById(R.id.alarm_item_tuesday), alarm.getRepetition(GBAlarm.ALARM_TUE)); - highlightDay((TextView) view.findViewById(R.id.alarm_item_wednesday), alarm.getRepetition(GBAlarm.ALARM_WED)); - highlightDay((TextView) view.findViewById(R.id.alarm_item_thursday), alarm.getRepetition(GBAlarm.ALARM_THU)); - highlightDay((TextView) view.findViewById(R.id.alarm_item_friday), alarm.getRepetition(GBAlarm.ALARM_FRI)); - highlightDay((TextView) view.findViewById(R.id.alarm_item_saturday), alarm.getRepetition(GBAlarm.ALARM_SAT)); + highlightDay((TextView) view.findViewById(R.id.alarm_item_sunday), alarm.getRepetition(Alarm.ALARM_SUN)); + highlightDay((TextView) view.findViewById(R.id.alarm_item_monday), alarm.getRepetition(Alarm.ALARM_MON)); + highlightDay((TextView) view.findViewById(R.id.alarm_item_tuesday), alarm.getRepetition(Alarm.ALARM_TUE)); + highlightDay((TextView) view.findViewById(R.id.alarm_item_wednesday), alarm.getRepetition(Alarm.ALARM_WED)); + highlightDay((TextView) view.findViewById(R.id.alarm_item_thursday), alarm.getRepetition(Alarm.ALARM_THU)); + highlightDay((TextView) view.findViewById(R.id.alarm_item_friday), alarm.getRepetition(Alarm.ALARM_FRI)); + highlightDay((TextView) view.findViewById(R.id.alarm_item_saturday), alarm.getRepetition(Alarm.ALARM_SAT)); isEnabled.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAdapter.java index 9a997ef6..e671360f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAdapter.java @@ -11,7 +11,7 @@ import android.widget.TextView; import java.util.List; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.R; public class GBDeviceAdapter extends ArrayAdapter { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAppAdapter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAppAdapter.java index b9c4de30..9cea4c2b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAppAdapter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/adapter/GBDeviceAppAdapter.java @@ -10,7 +10,7 @@ import android.widget.TextView; import java.util.List; -import nodomain.freeyourgadget.gadgetbridge.GBDeviceApp; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp; import nodomain.freeyourgadget.gadgetbridge.R; public class GBDeviceAppAdapter extends ArrayAdapter { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/ActivityDatabaseHandler.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/ActivityDatabaseHandler.java index ecae1427..e6cf750d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/ActivityDatabaseHandler.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/ActivityDatabaseHandler.java @@ -12,13 +12,13 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; -import nodomain.freeyourgadget.gadgetbridge.GB; -import nodomain.freeyourgadget.gadgetbridge.GBActivitySample; +import nodomain.freeyourgadget.gadgetbridge.util.GB; +import nodomain.freeyourgadget.gadgetbridge.impl.GBActivitySample; import nodomain.freeyourgadget.gadgetbridge.GBApplication; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; import nodomain.freeyourgadget.gadgetbridge.database.schema.ActivityDBCreationScript; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import static nodomain.freeyourgadget.gadgetbridge.database.DBConstants.DATABASE_NAME; import static nodomain.freeyourgadget.gadgetbridge.database.DBConstants.KEY_INTENSITY; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBAccess.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBAccess.java index 8657d9ca..5899d2e0 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBAccess.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBAccess.java @@ -4,7 +4,7 @@ import android.content.Context; import android.os.AsyncTask; import android.widget.Toast; -import nodomain.freeyourgadget.gadgetbridge.GB; +import nodomain.freeyourgadget.gadgetbridge.util.GB; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.R; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBHandler.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBHandler.java index d3510b56..8623735a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBHandler.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/DBHandler.java @@ -7,7 +7,7 @@ import java.util.List; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public interface DBHandler { public SQLiteOpenHelper getHelper(); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/deviceevents/GBDeviceEventAppInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/deviceevents/GBDeviceEventAppInfo.java index 08dd0aff..0340763c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/deviceevents/GBDeviceEventAppInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/deviceevents/GBDeviceEventAppInfo.java @@ -1,6 +1,6 @@ package nodomain.freeyourgadget.gadgetbridge.deviceevents; -import nodomain.freeyourgadget.gadgetbridge.GBDeviceApp; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp; public class GBDeviceEventAppInfo extends GBDeviceEvent { public GBDeviceApp apps[]; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java similarity index 50% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceCoordinator.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java index 3e2e23c3..6c9029cb 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java @@ -1,14 +1,15 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.devices; import android.app.Activity; -import nodomain.freeyourgadget.gadgetbridge.discovery.DeviceCandidate; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public interface DeviceCoordinator { - String EXTRA_DEVICE_MAC_ADDRESS = "nodomain.freeyourgadget.gadgetbridge.discovery.DeviceCandidate.EXTRA_MAC_ADDRESS"; + String EXTRA_DEVICE_MAC_ADDRESS = "nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate.EXTRA_MAC_ADDRESS"; - boolean supports(DeviceCandidate candidate); + boolean supports(GBDeviceCandidate candidate); boolean supports(GBDevice device); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/EventHandler.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/EventHandler.java similarity index 76% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/EventHandler.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/EventHandler.java index 25d57648..4ed5f3d7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/EventHandler.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/EventHandler.java @@ -1,10 +1,13 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.devices; import android.net.Uri; import java.util.ArrayList; import java.util.UUID; +import nodomain.freeyourgadget.gadgetbridge.model.ServiceCommand; +import nodomain.freeyourgadget.gadgetbridge.model.Alarm; + /** * Specifies all events that GadgetBridge intends to send to the gadget device. * Implementations can decide to ignore events that they do not support. @@ -19,9 +22,9 @@ public interface EventHandler { void onSetTime(long ts); - void onSetAlarms(ArrayList alarms); + void onSetAlarms(ArrayList alarms); - void onSetCallState(String number, String name, GBCommand command); + void onSetCallState(String number, String name, ServiceCommand command); void onSetMusicInfo(String artist, String album, String track); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/SampleProvider.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/SampleProvider.java similarity index 88% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/SampleProvider.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/SampleProvider.java index 33112761..b2e8e362 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/SampleProvider.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/SampleProvider.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.model; +package nodomain.freeyourgadget.gadgetbridge.devices; public interface SampleProvider { public static final byte PROVIDER_MIBAND = 0; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/UnknownDeviceCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/UnknownDeviceCoordinator.java similarity index 73% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/UnknownDeviceCoordinator.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/UnknownDeviceCoordinator.java index e26689fe..fc26f704 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/UnknownDeviceCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/UnknownDeviceCoordinator.java @@ -1,10 +1,12 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.devices; import android.app.Activity; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind; -import nodomain.freeyourgadget.gadgetbridge.discovery.DeviceCandidate; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; public class UnknownDeviceCoordinator implements DeviceCoordinator { private final UnknownSampleProvider sampleProvider; @@ -27,7 +29,7 @@ public class UnknownDeviceCoordinator implements DeviceCoordinator { @Override public byte getID() { - return SampleProvider.PROVIDER_UNKNOWN; + return PROVIDER_UNKNOWN; } } @@ -36,7 +38,7 @@ public class UnknownDeviceCoordinator implements DeviceCoordinator { } @Override - public boolean supports(DeviceCandidate candidate) { + public boolean supports(GBDeviceCandidate candidate) { return false; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandConst.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandConst.java similarity index 98% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandConst.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandConst.java index ecb14fea..10f84444 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandConst.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandConst.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import android.content.SharedPreferences; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java similarity index 88% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandCoordinator.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java index 14e6c21e..e927e956 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandCoordinator.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import android.app.Activity; import android.content.SharedPreferences; @@ -9,13 +9,13 @@ import org.slf4j.LoggerFactory; import java.util.Calendar; -import nodomain.freeyourgadget.gadgetbridge.DeviceCoordinator; -import nodomain.freeyourgadget.gadgetbridge.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.GBApplication; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; -import nodomain.freeyourgadget.gadgetbridge.activities.ChartsActivity; -import nodomain.freeyourgadget.gadgetbridge.discovery.DeviceCandidate; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.activities.charts.ChartsActivity; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public class MiBandCoordinator implements DeviceCoordinator { private static final Logger LOG = LoggerFactory.getLogger(MiBandCoordinator.class); @@ -26,7 +26,7 @@ public class MiBandCoordinator implements DeviceCoordinator { } @Override - public boolean supports(DeviceCandidate candidate) { + public boolean supports(GBDeviceCandidate candidate) { return candidate.getMacAddress().toUpperCase().startsWith(MiBandService.MAC_ADDRESS_FILTER); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandFWHelper.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandFWHelper.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandFWHelper.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandFWHelper.java index 07643274..f7f91139 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandFWHelper.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandFWHelper.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import android.content.ContentResolver; import android.content.Context; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandNotifyAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandNotifyAction.java similarity index 91% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandNotifyAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandNotifyAction.java index 936fb26b..0eb9a628 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandNotifyAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandNotifyAction.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCallback; @@ -8,8 +8,8 @@ import android.bluetooth.BluetoothGattDescriptor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.btle.NotifyAction; -import nodomain.freeyourgadget.gadgetbridge.btle.TransactionBuilder; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.NotifyAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; /** * Enables or disables notifications for a given GATT characteristic. diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandPairingActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandPairingActivity.java similarity index 92% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandPairingActivity.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandPairingActivity.java index 5b779904..b8e7d250 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandPairingActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandPairingActivity.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import android.app.Activity; import android.content.BroadcastReceiver; @@ -12,12 +12,12 @@ import android.support.v4.content.LocalBroadcastManager; import android.widget.TextView; import android.widget.Toast; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; -import nodomain.freeyourgadget.gadgetbridge.ControlCenter; -import nodomain.freeyourgadget.gadgetbridge.DeviceCoordinator; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.R; -import nodomain.freeyourgadget.gadgetbridge.discovery.DiscoveryActivity; +import nodomain.freeyourgadget.gadgetbridge.activities.DiscoveryActivity; public class MiBandPairingActivity extends Activity { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandPreferencesActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandPreferencesActivity.java similarity index 57% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandPreferencesActivity.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandPreferencesActivity.java index 9f899a19..c6a5f503 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandPreferencesActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandPreferencesActivity.java @@ -1,30 +1,30 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import android.content.Intent; import android.os.Bundle; import android.preference.Preference; import android.support.v4.content.LocalBroadcastManager; -import nodomain.freeyourgadget.gadgetbridge.ControlCenter; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.AbstractSettingsActivity; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.ORIGIN_GENERIC; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.ORIGIN_INCOMING_CALL; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.ORIGIN_K9MAIL; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.ORIGIN_PEBBLEMSG; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.ORIGIN_SMS; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_MIBAND_ADDRESS; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_MIBAND_FITNESS_GOAL; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_MIBAND_WEARSIDE; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_USER_ALIAS; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_USER_GENDER; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_USER_HEIGHT_CM; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_USER_WEIGHT_KG; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_USER_YEAR_OF_BIRTH; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.VIBRATION_COUNT; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.VIBRATION_PROFILE; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.getNotificationPrefKey; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_GENERIC; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_INCOMING_CALL; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_K9MAIL; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_PEBBLEMSG; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_SMS; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MIBAND_ADDRESS; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MIBAND_FITNESS_GOAL; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MIBAND_WEARSIDE; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_USER_ALIAS; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_USER_GENDER; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_USER_HEIGHT_CM; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_USER_WEIGHT_KG; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_USER_YEAR_OF_BIRTH; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.VIBRATION_COUNT; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.VIBRATION_PROFILE; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.getNotificationPrefKey; public class MiBandPreferencesActivity extends AbstractSettingsActivity { @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSampleProvider.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandSampleProvider.java similarity index 91% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSampleProvider.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandSampleProvider.java index 3982cd3b..fb378e03 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSampleProvider.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandSampleProvider.java @@ -1,7 +1,7 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public class MiBandSampleProvider implements SampleProvider { public static final byte TYPE_DEEP_SLEEP = 5; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandService.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandService.java similarity index 99% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandService.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandService.java index 0aa80372..71c0ea16 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandService.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandService.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import java.util.HashMap; import java.util.Map; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandTransactionBuilder.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandTransactionBuilder.java similarity index 72% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandTransactionBuilder.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandTransactionBuilder.java index b2091695..5c385a6c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandTransactionBuilder.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/MiBandTransactionBuilder.java @@ -1,12 +1,12 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import android.bluetooth.BluetoothGattCharacteristic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.btle.NotifyAction; -import nodomain.freeyourgadget.gadgetbridge.btle.TransactionBuilder; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.NotifyAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; public class MiBandTransactionBuilder extends TransactionBuilder { private static final Logger LOG = LoggerFactory.getLogger(MiBandTransactionBuilder.class); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/UserInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/UserInfo.java similarity index 98% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/UserInfo.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/UserInfo.java index b64e5e86..7332323a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/UserInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/UserInfo.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; /** * Created by UgoRaffaele on 30/01/2015. diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/VibrationProfile.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/VibrationProfile.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/VibrationProfile.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/VibrationProfile.java index 7aff51c1..406a89e9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/VibrationProfile.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/VibrationProfile.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.devices.miband; import android.content.Context; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/miligatt.txt b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/miligatt.txt similarity index 100% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/miligatt.txt rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/miband/miligatt.txt diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/MorpheuzSampleProvider.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/MorpheuzSampleProvider.java similarity index 88% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/MorpheuzSampleProvider.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/MorpheuzSampleProvider.java index 2b1087b6..6ec7d153 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/MorpheuzSampleProvider.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/MorpheuzSampleProvider.java @@ -1,7 +1,7 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.devices.pebble; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public class MorpheuzSampleProvider implements SampleProvider { // raw types diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PBWReader.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PBWReader.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PBWReader.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PBWReader.java index bfd98b45..f1329f7d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PBWReader.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PBWReader.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.devices.pebble; import android.content.ContentResolver; import android.content.Context; @@ -21,7 +21,8 @@ import java.util.UUID; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -import nodomain.freeyourgadget.gadgetbridge.GBDeviceApp; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp; +import nodomain.freeyourgadget.gadgetbridge.service.pebble.PebbleProtocol; public class PBWReader { private static final Logger LOG = LoggerFactory.getLogger(PBWReader.class); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleCoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleCoordinator.java similarity index 63% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleCoordinator.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleCoordinator.java index 1ddd6217..d9bce92b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleCoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleCoordinator.java @@ -1,13 +1,13 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.devices.pebble; import android.app.Activity; -import nodomain.freeyourgadget.gadgetbridge.AppManagerActivity; -import nodomain.freeyourgadget.gadgetbridge.DeviceCoordinator; -import nodomain.freeyourgadget.gadgetbridge.DeviceType; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; -import nodomain.freeyourgadget.gadgetbridge.discovery.DeviceCandidate; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.activities.AppManagerActivity; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public class PebbleCoordinator implements DeviceCoordinator { private MorpheuzSampleProvider sampleProvider; @@ -18,7 +18,7 @@ public class PebbleCoordinator implements DeviceCoordinator { } @Override - public boolean supports(DeviceCandidate candidate) { + public boolean supports(GBDeviceCandidate candidate) { return candidate.getName().startsWith("Pebble"); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleGadgetBridgeSampleProvider.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleGadgetBridgeSampleProvider.java similarity index 68% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleGadgetBridgeSampleProvider.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleGadgetBridgeSampleProvider.java index 8db3c9a3..028201ac 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleGadgetBridgeSampleProvider.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleGadgetBridgeSampleProvider.java @@ -1,6 +1,6 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.devices.pebble; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public class PebbleGadgetBridgeSampleProvider extends MorpheuzSampleProvider { public PebbleGadgetBridgeSampleProvider() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleInstallable.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleInstallable.java similarity index 90% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleInstallable.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleInstallable.java index 6e3ea324..46e43824 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleInstallable.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/pebble/PebbleInstallable.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.devices.pebble; public class PebbleInstallable { final private byte type; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/BluetoothStateChangeReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/BluetoothStateChangeReceiver.java index d87387a5..cb6cb66a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/BluetoothStateChangeReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/BluetoothStateChangeReceiver.java @@ -8,8 +8,8 @@ import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.v4.content.LocalBroadcastManager; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; -import nodomain.freeyourgadget.gadgetbridge.ControlCenter; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; public class BluetoothStateChangeReceiver extends BroadcastReceiver { @Override diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/K9Receiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/K9Receiver.java index e091e7b5..13b53963 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/K9Receiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/K9Receiver.java @@ -12,7 +12,7 @@ import android.preference.PreferenceManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; public class K9Receiver extends BroadcastReceiver { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/MusicPlaybackReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/MusicPlaybackReceiver.java index f0a54edb..c65cc620 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/MusicPlaybackReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/MusicPlaybackReceiver.java @@ -7,7 +7,7 @@ import android.content.Intent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; public class MusicPlaybackReceiver extends BroadcastReceiver { private static final Logger LOG = LoggerFactory.getLogger(MusicPlaybackReceiver.class); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java index 35093127..4bf6ed21 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/NotificationListener.java @@ -17,7 +17,7 @@ import android.support.v4.content.LocalBroadcastManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; public class NotificationListener extends NotificationListenerService { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PebbleReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PebbleReceiver.java index 487852b3..38025233 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PebbleReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PebbleReceiver.java @@ -12,7 +12,7 @@ import org.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; public class PebbleReceiver extends BroadcastReceiver { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PhoneCallReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PhoneCallReceiver.java index e88c53e7..dab7e206 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PhoneCallReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/PhoneCallReceiver.java @@ -5,8 +5,8 @@ import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; -import nodomain.freeyourgadget.gadgetbridge.GBCommand; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.model.ServiceCommand; public class PhoneCallReceiver extends BroadcastReceiver { @@ -39,25 +39,25 @@ public class PhoneCallReceiver extends BroadcastReceiver { return; } - GBCommand callCommand = null; + ServiceCommand callCommand = null; switch (state) { case TelephonyManager.CALL_STATE_RINGING: mSavedNumber = number; - callCommand = GBCommand.CALL_INCOMING; + callCommand = ServiceCommand.CALL_INCOMING; break; case TelephonyManager.CALL_STATE_OFFHOOK: if (mLastState == TelephonyManager.CALL_STATE_RINGING) { - callCommand = GBCommand.CALL_START; + callCommand = ServiceCommand.CALL_START; } else { - callCommand = GBCommand.CALL_OUTGOING; + callCommand = ServiceCommand.CALL_OUTGOING; } break; case TelephonyManager.CALL_STATE_IDLE: if (mLastState == TelephonyManager.CALL_STATE_RINGING) { //missed call would be correct here - callCommand = GBCommand.CALL_END; + callCommand = ServiceCommand.CALL_END; } else { - callCommand = GBCommand.CALL_END; + callCommand = ServiceCommand.CALL_END; } break; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/SMSReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/SMSReceiver.java index e22836c0..7bc56100 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/SMSReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/SMSReceiver.java @@ -9,7 +9,7 @@ import android.os.PowerManager; import android.preference.PreferenceManager; import android.telephony.SmsMessage; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; public class SMSReceiver extends BroadcastReceiver { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/TimeChangeReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/TimeChangeReceiver.java index 355c3e46..5b294648 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/TimeChangeReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/externalevents/TimeChangeReceiver.java @@ -9,7 +9,7 @@ import android.preference.PreferenceManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.BluetoothCommunicationService; +import nodomain.freeyourgadget.gadgetbridge.service.BluetoothCommunicationService; public class TimeChangeReceiver extends BroadcastReceiver { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBActivitySample.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBActivitySample.java similarity index 90% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBActivitySample.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBActivitySample.java index 9a965a5b..861dc8a1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBActivitySample.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBActivitySample.java @@ -1,7 +1,7 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.impl; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySample; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; public class GBActivitySample implements ActivitySample { private final int timestamp; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBAlarm.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBAlarm.java similarity index 88% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBAlarm.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBAlarm.java index 0ba74373..81438b67 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBAlarm.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBAlarm.java @@ -1,8 +1,7 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.impl; import android.content.SharedPreferences; import android.os.Parcel; -import android.os.Parcelable; import android.preference.PreferenceManager; import java.util.Calendar; @@ -10,10 +9,13 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.PREF_MIBAND_ALARMS; +import nodomain.freeyourgadget.gadgetbridge.GBApplication; +import nodomain.freeyourgadget.gadgetbridge.model.Alarm; + +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.PREF_MIBAND_ALARMS; -public class GBAlarm implements Parcelable, Comparable { +public class GBAlarm implements Alarm { private int index; private boolean enabled; @@ -22,15 +24,6 @@ public class GBAlarm implements Parcelable, Comparable { private int hour; private int minute; - public static final byte ALARM_ONCE = 0; - public static final byte ALARM_MON = 1; - public static final byte ALARM_TUE = 2; - public static final byte ALARM_WED = 4; - public static final byte ALARM_THU = 8; - public static final byte ALARM_FRI = 16; - public static final byte ALARM_SAT = 32; - public static final byte ALARM_SUN = 64; - public static final String[] DEFAULT_ALARMS = {"2,false,false,0,15,30", "1,false,false,96,8,0", "0,false,true,31,7,30"}; @@ -95,19 +88,21 @@ public class GBAlarm implements Parcelable, Comparable { } @Override - public int compareTo(Object another) { - if (this.getIndex() < ((GBAlarm) another).getIndex()) { + public int compareTo(Alarm another) { + if (this.getIndex() < another.getIndex()) { return -1; - } else if (this.getIndex() > ((GBAlarm) another).getIndex()) { + } else if (this.getIndex() > another.getIndex()) { return 1; } return 0; } + @Override public int getIndex() { return this.index; } + @Override public String getTime() { return String.format("%02d", this.hour) + ":" + String.format("%02d", this.minute); } @@ -120,6 +115,7 @@ public class GBAlarm implements Parcelable, Comparable { return this.minute; } + @Override public Calendar getAlarmCal() { Calendar alarm = Calendar.getInstance(); @@ -133,18 +129,22 @@ public class GBAlarm implements Parcelable, Comparable { return alarm; } + @Override public boolean isEnabled() { return this.enabled; } + @Override public boolean isSmartWakeup() { return this.smartWakeup; } + @Override public boolean getRepetition(int dow) { return (this.repetition & dow) > 0; } + @Override public int getRepetitionMask() { return this.repetition; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDevice.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDevice.java index 015bc94d..ab050878 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDevice.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDevice.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.impl; import android.content.Context; import android.content.Intent; @@ -9,6 +9,10 @@ import android.support.v4.content.LocalBroadcastManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.GBApplication; +import nodomain.freeyourgadget.gadgetbridge.R; + public class GBDevice implements Parcelable { public static final String ACTION_DEVICE_CHANGED = "nodomain.freeyourgadget.gadgetbridge.gbdevice.action.device_changed"; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDeviceApp.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceApp.java similarity index 94% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDeviceApp.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceApp.java index 9a9f1421..a860fe6c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDeviceApp.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceApp.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.impl; import java.util.UUID; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/discovery/DeviceCandidate.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceCandidate.java similarity index 85% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/discovery/DeviceCandidate.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceCandidate.java index 5260ae4b..3d65a98c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/discovery/DeviceCandidate.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBDeviceCandidate.java @@ -1,26 +1,26 @@ -package nodomain.freeyourgadget.gadgetbridge.discovery; +package nodomain.freeyourgadget.gadgetbridge.impl; import android.bluetooth.BluetoothDevice; import android.os.Parcel; import android.os.Parcelable; -import nodomain.freeyourgadget.gadgetbridge.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.R; /** */ -public class DeviceCandidate implements Parcelable { +public class GBDeviceCandidate implements Parcelable { private BluetoothDevice device; private short rssi; private DeviceType deviceType = DeviceType.UNKNOWN; - public DeviceCandidate(BluetoothDevice device, short rssi) { + public GBDeviceCandidate(BluetoothDevice device, short rssi) { this.device = device; this.rssi = rssi; } - private DeviceCandidate(Parcel in) { + private GBDeviceCandidate(Parcel in) { device = in.readParcelable(getClass().getClassLoader()); rssi = (short) in.readInt(); deviceType = DeviceType.valueOf(in.readString()); @@ -74,7 +74,7 @@ public class DeviceCandidate implements Parcelable { return false; } - DeviceCandidate that = (DeviceCandidate) o; + GBDeviceCandidate that = (GBDeviceCandidate) o; return device.getAddress().equals(that.device.getAddress()); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/GBSummaryOfDay.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBSummaryOfDay.java similarity index 90% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/GBSummaryOfDay.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBSummaryOfDay.java index 8c3b26e5..ab9c1c9c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/database/GBSummaryOfDay.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/impl/GBSummaryOfDay.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.database; +package nodomain.freeyourgadget.gadgetbridge.impl; import nodomain.freeyourgadget.gadgetbridge.model.SummaryOfDay; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAmount.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityAmount.java similarity index 88% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAmount.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityAmount.java index 278b7019..4507a8d7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAmount.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityAmount.java @@ -1,7 +1,9 @@ -package nodomain.freeyourgadget.gadgetbridge.charts; +package nodomain.freeyourgadget.gadgetbridge.model; import android.content.Context; +import nodomain.freeyourgadget.gadgetbridge.model.ActivityKind; + public class ActivityAmount { private int activityKind; private short percent; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAmounts.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityAmounts.java similarity index 93% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAmounts.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityAmounts.java index 45f8655e..6566d8fa 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityAmounts.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityAmounts.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.charts; +package nodomain.freeyourgadget.gadgetbridge.model; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityKind.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityKind.java similarity index 89% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityKind.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityKind.java index 366565fd..17fa1d22 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/charts/ActivityKind.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivityKind.java @@ -1,8 +1,8 @@ -package nodomain.freeyourgadget.gadgetbridge.charts; +package nodomain.freeyourgadget.gadgetbridge.model; import java.util.Arrays; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public class ActivityKind { public static final int TYPE_UNKNOWN = 0; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivitySample.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivitySample.java index 92ced221..99a2d28e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivitySample.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ActivitySample.java @@ -1,6 +1,6 @@ package nodomain.freeyourgadget.gadgetbridge.model; -import nodomain.freeyourgadget.gadgetbridge.charts.ActivityKind; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public interface ActivitySample { /** diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/Alarm.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/Alarm.java new file mode 100644 index 00000000..d1ebb44c --- /dev/null +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/Alarm.java @@ -0,0 +1,30 @@ +package nodomain.freeyourgadget.gadgetbridge.model; + +import android.os.Parcelable; + +import java.util.Calendar; + +public interface Alarm extends Parcelable, Comparable { + public static final byte ALARM_ONCE = 0; + public static final byte ALARM_MON = 1; + public static final byte ALARM_TUE = 2; + public static final byte ALARM_WED = 4; + public static final byte ALARM_THU = 8; + public static final byte ALARM_FRI = 16; + public static final byte ALARM_SAT = 32; + public static final byte ALARM_SUN = 64; + + int getIndex(); + + Calendar getAlarmCal(); + + String getTime(); + + boolean isEnabled(); + + boolean isSmartWakeup(); + + int getRepetitionMask(); + + boolean getRepetition(int dow); +} diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceType.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java similarity index 55% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceType.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java index 22e07e1c..1c4a906a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/DeviceType.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.model; public enum DeviceType { UNKNOWN, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCommand.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ServiceCommand.java similarity index 75% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCommand.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ServiceCommand.java index 4f30e4b1..da29ee76 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCommand.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model/ServiceCommand.java @@ -1,6 +1,6 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.model; -public enum GBCommand { +public enum ServiceCommand { UNDEFINEND, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractBTDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractBTDeviceSupport.java similarity index 95% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractBTDeviceSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractBTDeviceSupport.java index 4f5ba539..98458db1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractBTDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractBTDeviceSupport.java @@ -1,13 +1,14 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.UUID; +import nodomain.freeyourgadget.gadgetbridge.devices.EventHandler; +import nodomain.freeyourgadget.gadgetbridge.model.ServiceCommand; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEvent; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventSendBytes; -import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceProtocol; /** * An abstract base class for all devices connected via Bluetooth @@ -134,7 +135,7 @@ public abstract class AbstractBTDeviceSupport extends AbstractDeviceSupport { } @Override - public void onSetCallState(String number, String name, GBCommand command) { + public void onSetCallState(String number, String name, ServiceCommand command) { byte[] bytes = gbDeviceProtocol.encodeSetCallState(number, name, command); sendToDevice(bytes); } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractDeviceSupport.java similarity index 94% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractDeviceSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractDeviceSupport.java index 1ef88265..9207e73d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/AbstractDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/AbstractDeviceSupport.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.service; import android.app.Notification; import android.app.NotificationManager; @@ -18,7 +18,13 @@ import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; -import nodomain.freeyourgadget.gadgetbridge.activities.AbstractChartFragment; +import nodomain.freeyourgadget.gadgetbridge.activities.AppManagerActivity; +import nodomain.freeyourgadget.gadgetbridge.util.GB; +import nodomain.freeyourgadget.gadgetbridge.service.receivers.GBCallControlReceiver; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.service.receivers.GBMusicControlReceiver; +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.activities.charts.AbstractChartFragment; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEvent; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventAppInfo; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventCallControl; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/BluetoothCommunicationService.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/BluetoothCommunicationService.java similarity index 94% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/BluetoothCommunicationService.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/BluetoothCommunicationService.java index 46db7d1a..2785bfb5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/BluetoothCommunicationService.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/BluetoothCommunicationService.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.service; import android.app.NotificationManager; import android.app.Service; @@ -24,9 +24,15 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.UUID; -import nodomain.freeyourgadget.gadgetbridge.GBDevice.State; -import nodomain.freeyourgadget.gadgetbridge.miband.MiBandSupport; -import nodomain.freeyourgadget.gadgetbridge.pebble.PebbleSupport; +import nodomain.freeyourgadget.gadgetbridge.model.DeviceType; +import nodomain.freeyourgadget.gadgetbridge.util.GB; +import nodomain.freeyourgadget.gadgetbridge.model.ServiceCommand; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice.State; +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.model.Alarm; +import nodomain.freeyourgadget.gadgetbridge.service.miband.MiBandSupport; +import nodomain.freeyourgadget.gadgetbridge.service.pebble.PebbleSupport; public class BluetoothCommunicationService extends Service { public static final String ACTION_START @@ -219,7 +225,7 @@ public class BluetoothCommunicationService extends Service { break; } case ACTION_CALLSTATE: - GBCommand command = GBCommand.values()[intent.getIntExtra("call_command", 0)]; // UGLY + ServiceCommand command = ServiceCommand.values()[intent.getIntExtra("call_command", 0)]; // UGLY String phoneNumber = intent.getStringExtra("call_phonenumber"); String callerName = null; @@ -270,7 +276,7 @@ public class BluetoothCommunicationService extends Service { mStarted = true; break; case ACTION_SET_ALARMS: - ArrayList alarms = intent.getParcelableArrayListExtra("alarms"); + ArrayList alarms = intent.getParcelableArrayListExtra("alarms"); mDeviceSupport.onSetAlarms(alarms); break; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceSupport.java similarity index 94% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceSupport.java index ea3808f6..41ec6c6a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/DeviceSupport.java @@ -1,8 +1,11 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.service; import android.bluetooth.BluetoothAdapter; import android.content.Context; +import nodomain.freeyourgadget.gadgetbridge.devices.EventHandler; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; + /** * Provides the communication support for a specific device. Instances will only * be used inside the BluetoothCommunicationService. Has hooks to manage the life cycle diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDeviceIoThread.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/GBDeviceIoThread.java similarity index 84% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDeviceIoThread.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/GBDeviceIoThread.java index d47b866b..11880def 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBDeviceIoThread.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/GBDeviceIoThread.java @@ -1,7 +1,9 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.service; import android.content.Context; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; + public abstract class GBDeviceIoThread extends Thread { protected final GBDevice gbDevice; private final Context context; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/protocol/GBDeviceProtocol.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/GBDeviceProtocol.java similarity index 91% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/protocol/GBDeviceProtocol.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/GBDeviceProtocol.java index 86c990af..4de1239b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/protocol/GBDeviceProtocol.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/GBDeviceProtocol.java @@ -1,8 +1,8 @@ -package nodomain.freeyourgadget.gadgetbridge.protocol; +package nodomain.freeyourgadget.gadgetbridge.service; import java.util.UUID; -import nodomain.freeyourgadget.gadgetbridge.GBCommand; +import nodomain.freeyourgadget.gadgetbridge.model.ServiceCommand; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEvent; public abstract class GBDeviceProtocol { @@ -23,7 +23,7 @@ public abstract class GBDeviceProtocol { return null; } - public byte[] encodeSetCallState(String number, String name, GBCommand command) { + public byte[] encodeSetCallState(String number, String name, ServiceCommand command) { return null; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/ServiceDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/ServiceDeviceSupport.java similarity index 93% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/ServiceDeviceSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/ServiceDeviceSupport.java index f0f7ad13..1ed66a5e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/ServiceDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/ServiceDeviceSupport.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.service; import android.bluetooth.BluetoothAdapter; import android.content.Context; @@ -10,6 +10,10 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.UUID; +import nodomain.freeyourgadget.gadgetbridge.model.ServiceCommand; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.model.Alarm; + /** * Wraps another device support instance and supports busy-checking and throttling of events. */ @@ -125,7 +129,7 @@ public class ServiceDeviceSupport implements DeviceSupport { // No throttling for the other events @Override - public void onSetCallState(String number, String name, GBCommand command) { + public void onSetCallState(String number, String name, ServiceCommand command) { if (checkBusy("set call state")) { return; } @@ -229,7 +233,7 @@ public class ServiceDeviceSupport implements DeviceSupport { } @Override - public void onSetAlarms(ArrayList alarms) { + public void onSetAlarms(ArrayList alarms) { if (checkBusy("set alarms")) { return; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbstractBTLEDeviceSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/AbstractBTLEDeviceSupport.java similarity index 98% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbstractBTLEDeviceSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/AbstractBTLEDeviceSupport.java index 378b3c35..b3b095c5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbstractBTLEDeviceSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/AbstractBTLEDeviceSupport.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCharacteristic; @@ -15,7 +15,7 @@ import java.util.List; import java.util.Set; import java.util.UUID; -import nodomain.freeyourgadget.gadgetbridge.AbstractDeviceSupport; +import nodomain.freeyourgadget.gadgetbridge.service.AbstractDeviceSupport; /** * Abstract base class for all devices connected through Bluetooth Low Energy (LE) aka diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/BtLEAction.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/BtLEAction.java index 02f97eac..82c968d9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/BtLEAction.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCharacteristic; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEQueue.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/BtLEQueue.java similarity index 98% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEQueue.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/BtLEQueue.java index d8d2c3fe..0c0a08b1 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/BtLEQueue.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/BtLEQueue.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; @@ -19,9 +19,9 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.CountDownLatch; import java.util.concurrent.LinkedBlockingQueue; -import nodomain.freeyourgadget.gadgetbridge.DeviceSupport; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; -import nodomain.freeyourgadget.gadgetbridge.GBDevice.State; +import nodomain.freeyourgadget.gadgetbridge.service.DeviceSupport; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice.State; /** * One queue/thread per connectable device. diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/CheckInitializedAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/CheckInitializedAction.java similarity index 80% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/CheckInitializedAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/CheckInitializedAction.java index 730c7b90..21bc0be8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/CheckInitializedAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/CheckInitializedAction.java @@ -1,9 +1,10 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.AbortTransactionAction; /** * A special action that is executed at the very front of the initialization diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/GattCallback.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/GattCallback.java similarity index 98% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/GattCallback.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/GattCallback.java index 5a232fa2..f5105b06 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/GattCallback.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/GattCallback.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCallback; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/Transaction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/Transaction.java similarity index 95% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/Transaction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/Transaction.java index 9a042c42..ffa1d91a 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/Transaction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/Transaction.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle; import java.text.DateFormat; import java.util.ArrayList; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/TransactionBuilder.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/TransactionBuilder.java similarity index 84% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/TransactionBuilder.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/TransactionBuilder.java index 775caa59..77d9a338 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/TransactionBuilder.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/TransactionBuilder.java @@ -1,10 +1,15 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle; import android.bluetooth.BluetoothGattCharacteristic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.NotifyAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.ReadAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WaitAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.WriteAction; + public class TransactionBuilder { private static final Logger LOG = LoggerFactory.getLogger(TransactionBuilder.class); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbortTransactionAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/AbortTransactionAction.java similarity index 91% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbortTransactionAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/AbortTransactionAction.java index 33573d70..2aaf4a7b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/AbortTransactionAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/AbortTransactionAction.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; import android.bluetooth.BluetoothGatt; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/NotifyAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/NotifyAction.java similarity index 81% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/NotifyAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/NotifyAction.java index 47ec24f7..b2f4ebea 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/NotifyAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/NotifyAction.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCallback; @@ -7,6 +7,9 @@ import android.bluetooth.BluetoothGattCharacteristic; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; + /** * Enables or disables notifications for a given GATT characteristic. * The result will be made available asynchronously through the diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/PlainAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/PlainAction.java similarity index 71% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/PlainAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/PlainAction.java index fad4f009..c4dfbfd5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/PlainAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/PlainAction.java @@ -1,4 +1,6 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; + +import nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEAction; /** * An abstract non-BTLE action. It performs no bluetooth operation, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/ReadAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/ReadAction.java similarity index 82% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/ReadAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/ReadAction.java index 7f2516c9..fbc00bbe 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/ReadAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/ReadAction.java @@ -1,9 +1,11 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCallback; import android.bluetooth.BluetoothGattCharacteristic; +import nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEAction; + /** * Invokes a read operation on a given GATT characteristic. * The result will be made available asynchronously through the diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/SetDeviceBusyAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetDeviceBusyAction.java similarity index 88% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/SetDeviceBusyAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetDeviceBusyAction.java index f34aa8fc..1b0fae32 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/SetDeviceBusyAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetDeviceBusyAction.java @@ -1,9 +1,9 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; import android.bluetooth.BluetoothGatt; import android.content.Context; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SetDeviceBusyAction extends PlainAction { private final GBDevice device; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/SetDeviceStateAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetDeviceStateAction.java similarity index 80% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/SetDeviceStateAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetDeviceStateAction.java index 0c677a5c..a1198928 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/SetDeviceStateAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetDeviceStateAction.java @@ -1,10 +1,9 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; import android.bluetooth.BluetoothGatt; import android.content.Context; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; -import nodomain.freeyourgadget.gadgetbridge.btle.PlainAction; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; public class SetDeviceStateAction extends PlainAction { private final GBDevice device; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/SetProgressAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetProgressAction.java similarity index 87% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/SetProgressAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetProgressAction.java index 4dcc2120..95c94d3e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/SetProgressAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/SetProgressAction.java @@ -1,9 +1,9 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; import android.bluetooth.BluetoothGatt; import android.content.Context; -import nodomain.freeyourgadget.gadgetbridge.GB; +import nodomain.freeyourgadget.gadgetbridge.util.GB; public class SetProgressAction extends PlainAction { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WaitAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/WaitAction.java similarity index 85% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WaitAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/WaitAction.java index 29fb412e..77e233fc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WaitAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/WaitAction.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; import android.bluetooth.BluetoothGatt; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WriteAction.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/WriteAction.java similarity index 85% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WriteAction.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/WriteAction.java index bf4404d4..9c72759c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/btle/WriteAction.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/actions/WriteAction.java @@ -1,9 +1,11 @@ -package nodomain.freeyourgadget.gadgetbridge.btle; +package nodomain.freeyourgadget.gadgetbridge.service.btle.actions; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCallback; import android.bluetooth.BluetoothGattCharacteristic; +import nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEAction; + /** * Invokes a write operation on a given GATT characteristic. * The result status will be made available asynchronously through the diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/AbstractInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/AbstractInfo.java similarity index 76% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/AbstractInfo.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/AbstractInfo.java index 3ba068bb..479160d6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/AbstractInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/AbstractInfo.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.service.miband; public class AbstractInfo { protected byte[] mData; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/BatteryInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/BatteryInfo.java similarity index 94% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/BatteryInfo.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/BatteryInfo.java index 422340b9..ccfec1ec 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/BatteryInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/BatteryInfo.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.service.miband; import nodomain.freeyourgadget.gadgetbridge.GBApplication; import nodomain.freeyourgadget.gadgetbridge.R; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/DeviceInfo.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/DeviceInfo.java similarity index 93% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/DeviceInfo.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/DeviceInfo.java index 4f68b597..98319946 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/DeviceInfo.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/DeviceInfo.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.service.miband; import java.util.Locale; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/MiBandSupport.java similarity index 92% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/MiBandSupport.java index 1fd5680e..3c2457a9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/miband/MiBandSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/miband/MiBandSupport.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.miband; +package nodomain.freeyourgadget.gadgetbridge.service.miband; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCharacteristic; @@ -20,42 +20,49 @@ import java.util.GregorianCalendar; import java.util.UUID; import java.util.concurrent.TimeUnit; -import nodomain.freeyourgadget.gadgetbridge.GB; -import nodomain.freeyourgadget.gadgetbridge.GBAlarm; +import nodomain.freeyourgadget.gadgetbridge.util.GB; import nodomain.freeyourgadget.gadgetbridge.GBApplication; -import nodomain.freeyourgadget.gadgetbridge.GBCommand; -import nodomain.freeyourgadget.gadgetbridge.GBDevice.State; +import nodomain.freeyourgadget.gadgetbridge.model.ServiceCommand; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice.State; import nodomain.freeyourgadget.gadgetbridge.R; -import nodomain.freeyourgadget.gadgetbridge.btle.AbortTransactionAction; -import nodomain.freeyourgadget.gadgetbridge.btle.AbstractBTLEDeviceSupport; -import nodomain.freeyourgadget.gadgetbridge.btle.BtLEAction; -import nodomain.freeyourgadget.gadgetbridge.btle.SetDeviceBusyAction; -import nodomain.freeyourgadget.gadgetbridge.btle.SetProgressAction; -import nodomain.freeyourgadget.gadgetbridge.btle.TransactionBuilder; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandFWHelper; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandService; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandTransactionBuilder; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.VibrationProfile; +import nodomain.freeyourgadget.gadgetbridge.model.Alarm; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.service.btle.AbstractBTLEDeviceSupport; +import nodomain.freeyourgadget.gadgetbridge.service.btle.BtLEAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.AbortTransactionAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetDeviceBusyAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetDeviceStateAction; +import nodomain.freeyourgadget.gadgetbridge.service.btle.actions.SetProgressAction; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.DEFAULT_VALUE_FLASH_COLOUR; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.DEFAULT_VALUE_FLASH_COUNT; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.DEFAULT_VALUE_FLASH_DURATION; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.DEFAULT_VALUE_FLASH_ORIGINAL_COLOUR; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_COUNT; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_DURATION; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_PAUSE; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_PROFILE; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.FLASH_COLOUR; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.FLASH_COUNT; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.FLASH_DURATION; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.FLASH_ORIGINAL_COLOUR; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.ORIGIN_GENERIC; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.ORIGIN_K9MAIL; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.ORIGIN_SMS; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.VIBRATION_COUNT; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.VIBRATION_DURATION; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.VIBRATION_PAUSE; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.VIBRATION_PROFILE; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.getNotificationPrefIntValue; -import static nodomain.freeyourgadget.gadgetbridge.miband.MiBandConst.getNotificationPrefStringValue; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_FLASH_COLOUR; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_FLASH_COUNT; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_FLASH_DURATION; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_FLASH_ORIGINAL_COLOUR; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_COUNT; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_DURATION; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_PAUSE; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.DEFAULT_VALUE_VIBRATION_PROFILE; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.FLASH_COLOUR; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.FLASH_COUNT; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.FLASH_DURATION; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.FLASH_ORIGINAL_COLOUR; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_GENERIC; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_K9MAIL; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.ORIGIN_SMS; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.VIBRATION_COUNT; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.VIBRATION_DURATION; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.VIBRATION_PAUSE; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.VIBRATION_PROFILE; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.getNotificationPrefIntValue; +import static nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandConst.getNotificationPrefStringValue; public class MiBandSupport extends AbstractBTLEDeviceSupport { @@ -387,11 +394,11 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { } @Override - public void onSetAlarms(ArrayList alarms) { + public void onSetAlarms(ArrayList alarms) { try { BluetoothGattCharacteristic characteristic = getCharacteristic(MiBandService.UUID_CHARACTERISTIC_CONTROL_POINT); TransactionBuilder builder = performInitialized("Set alarm"); - for (GBAlarm alarm : alarms) { + for (Alarm alarm : alarms) { queueAlarm(alarm, builder, characteristic); } builder.queue(getQueue()); @@ -459,8 +466,8 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { } @Override - public void onSetCallState(String number, String name, GBCommand command) { - if (GBCommand.CALL_INCOMING.equals(command)) { + public void onSetCallState(String number, String name, ServiceCommand command) { + if (ServiceCommand.CALL_INCOMING.equals(command)) { telephoneRinging = true; AbortTransactionAction abortAction = new AbortTransactionAction() { @Override @@ -469,7 +476,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { } }; performPreferredNotification("incoming call", MiBandConst.ORIGIN_INCOMING_CALL, abortAction); - } else if (GBCommand.CALL_START.equals(command) || GBCommand.CALL_END.equals(command)) { + } else if (ServiceCommand.CALL_START.equals(command) || ServiceCommand.CALL_END.equals(command)) { telephoneRinging = false; } } @@ -752,7 +759,7 @@ public class MiBandSupport extends AbstractBTLEDeviceSupport { * @param builder * @param characteristic */ - private void queueAlarm(GBAlarm alarm, TransactionBuilder builder, BluetoothGattCharacteristic characteristic) { + private void queueAlarm(Alarm alarm, TransactionBuilder builder, BluetoothGattCharacteristic characteristic) { Calendar alarmCal = alarm.getAlarmCal(); byte[] alarmMessage = new byte[]{ (byte) MiBandService.COMMAND_SET_TIMER, diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/GadgetbridgePblSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/GadgetbridgePblSupport.java similarity index 96% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/GadgetbridgePblSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/GadgetbridgePblSupport.java index 8ec945ae..091a74e8 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/GadgetbridgePblSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/GadgetbridgePblSupport.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.service.pebble; import android.util.Pair; @@ -17,7 +17,7 @@ import nodomain.freeyourgadget.gadgetbridge.GBException; import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEvent; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventSendBytes; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; public class GadgetbridgePblSupport { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/MorpheuzSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/MorpheuzSupport.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/MorpheuzSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/MorpheuzSupport.java index cc26be9c..35735923 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/MorpheuzSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/MorpheuzSupport.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.service.pebble; import android.util.Pair; @@ -17,7 +17,8 @@ import nodomain.freeyourgadget.gadgetbridge.database.DBHandler; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEvent; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventSendBytes; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventSleepMonitorResult; -import nodomain.freeyourgadget.gadgetbridge.model.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; +import nodomain.freeyourgadget.gadgetbridge.devices.pebble.MorpheuzSampleProvider; public class MorpheuzSupport { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleIoThread.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleIoThread.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleIoThread.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleIoThread.java index f448138e..7406dcf5 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleIoThread.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleIoThread.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.service.pebble; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; @@ -19,14 +19,16 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.zip.ZipInputStream; -import nodomain.freeyourgadget.gadgetbridge.GB; -import nodomain.freeyourgadget.gadgetbridge.GBDevice; -import nodomain.freeyourgadget.gadgetbridge.GBDeviceIoThread; +import nodomain.freeyourgadget.gadgetbridge.util.GB; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.devices.pebble.PBWReader; +import nodomain.freeyourgadget.gadgetbridge.devices.pebble.PebbleInstallable; +import nodomain.freeyourgadget.gadgetbridge.service.GBDeviceIoThread; import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEvent; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventAppInfo; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventAppManagementResult; -import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceProtocol; +import nodomain.freeyourgadget.gadgetbridge.service.GBDeviceProtocol; public class PebbleIoThread extends GBDeviceIoThread { private static final Logger LOG = LoggerFactory.getLogger(PebbleIoThread.class); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleProtocol.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleProtocol.java similarity index 98% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleProtocol.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleProtocol.java index 0606f6ba..8a388544 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleProtocol.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleProtocol.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.service.pebble; import android.util.Pair; @@ -13,8 +13,8 @@ import java.util.Random; import java.util.SimpleTimeZone; import java.util.UUID; -import nodomain.freeyourgadget.gadgetbridge.GBCommand; -import nodomain.freeyourgadget.gadgetbridge.GBDeviceApp; +import nodomain.freeyourgadget.gadgetbridge.model.ServiceCommand; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceApp; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEvent; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventAppInfo; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventAppManagementResult; @@ -24,7 +24,7 @@ import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventMusicContr import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventScreenshot; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventSendBytes; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventVersionInfo; -import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceProtocol; +import nodomain.freeyourgadget.gadgetbridge.service.GBDeviceProtocol; public class PebbleProtocol extends GBDeviceProtocol { @@ -107,9 +107,9 @@ public class PebbleProtocol extends GBDeviceProtocol { static final byte PUTBYTES_ABORT = 4; static final byte PUTBYTES_COMPLETE = 5; - static final byte PUTBYTES_TYPE_FIRMWARE = 1; - static final byte PUTBYTES_TYPE_RECOVERY = 2; - static final byte PUTBYTES_TYPE_SYSRESOURCES = 3; + public static final byte PUTBYTES_TYPE_FIRMWARE = 1; + public static final byte PUTBYTES_TYPE_RECOVERY = 2; + public static final byte PUTBYTES_TYPE_SYSRESOURCES = 3; public static final byte PUTBYTES_TYPE_RESOURCES = 4; public static final byte PUTBYTES_TYPE_BINARY = 5; static final byte PUTBYTES_TYPE_FILE = 6; @@ -287,7 +287,7 @@ public class PebbleProtocol extends GBDeviceProtocol { @Override public byte[] encodeFindDevice(boolean start) { - return encodeSetCallState("Where are you?", "Gadgetbridge", start ? GBCommand.CALL_INCOMING : GBCommand.CALL_END); + return encodeSetCallState("Where are you?", "Gadgetbridge", start ? ServiceCommand.CALL_INCOMING : ServiceCommand.CALL_END); } private static byte[] encodeExtensibleNotification(int id, int timestamp, String title, String subtitle, String body, byte type) { @@ -450,7 +450,7 @@ public class PebbleProtocol extends GBDeviceProtocol { } @Override - public byte[] encodeSetCallState(String number, String name, GBCommand command) { + public byte[] encodeSetCallState(String number, String name, ServiceCommand command) { String[] parts = {number, name}; byte pebbleCmd; switch (command) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleSupport.java similarity index 70% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleSupport.java index 43b50d96..05dd2f7c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/PebbleSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/PebbleSupport.java @@ -1,13 +1,13 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.service.pebble; import android.net.Uri; import java.util.ArrayList; -import nodomain.freeyourgadget.gadgetbridge.AbstractBTDeviceSupport; -import nodomain.freeyourgadget.gadgetbridge.GBAlarm; -import nodomain.freeyourgadget.gadgetbridge.GBDeviceIoThread; -import nodomain.freeyourgadget.gadgetbridge.protocol.GBDeviceProtocol; +import nodomain.freeyourgadget.gadgetbridge.model.Alarm; +import nodomain.freeyourgadget.gadgetbridge.service.AbstractBTDeviceSupport; +import nodomain.freeyourgadget.gadgetbridge.service.GBDeviceIoThread; +import nodomain.freeyourgadget.gadgetbridge.service.GBDeviceProtocol; public class PebbleSupport extends AbstractBTDeviceSupport { @@ -43,7 +43,7 @@ public class PebbleSupport extends AbstractBTDeviceSupport { } @Override - public void onSetAlarms(ArrayList alarms) { + public void onSetAlarms(ArrayList alarms) { //nothing to do ATM } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/WeatherNeatSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/WeatherNeatSupport.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/WeatherNeatSupport.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/WeatherNeatSupport.java index e5b21976..837bcf82 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/pebble/WeatherNeatSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/pebble/WeatherNeatSupport.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge.pebble; +package nodomain.freeyourgadget.gadgetbridge.service.pebble; import android.util.Pair; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCallControlReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBCallControlReceiver.java similarity index 96% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCallControlReceiver.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBCallControlReceiver.java index 0bf28484..2e8cf0ac 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBCallControlReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBCallControlReceiver.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.service.receivers; import android.content.BroadcastReceiver; import android.content.Context; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBMusicControlReceiver.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBMusicControlReceiver.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBMusicControlReceiver.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBMusicControlReceiver.java index d9937b9f..e509dca6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBMusicControlReceiver.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBMusicControlReceiver.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.service.receivers; import android.content.BroadcastReceiver; import android.content.Context; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceHelper.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/DeviceHelper.java similarity index 77% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceHelper.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/DeviceHelper.java index b527f671..77020b01 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/DeviceHelper.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/DeviceHelper.java @@ -1,11 +1,14 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.util; import java.util.ArrayList; import java.util.List; -import nodomain.freeyourgadget.gadgetbridge.discovery.DeviceCandidate; -import nodomain.freeyourgadget.gadgetbridge.miband.MiBandCoordinator; -import nodomain.freeyourgadget.gadgetbridge.pebble.PebbleCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.DeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.UnknownDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDeviceCandidate; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; +import nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.pebble.PebbleCoordinator; public class DeviceHelper { private static DeviceHelper instance = new DeviceHelper(); @@ -19,7 +22,7 @@ public class DeviceHelper { // the current single coordinator (typically there's just one device connected private DeviceCoordinator coordinator; - public boolean isSupported(DeviceCandidate candidate) { + public boolean isSupported(GBDeviceCandidate candidate) { if (coordinator != null && coordinator.supports(candidate)) { return true; } @@ -31,7 +34,7 @@ public class DeviceHelper { return false; } - public DeviceCoordinator getCoordinator(DeviceCandidate device) { + public DeviceCoordinator getCoordinator(GBDeviceCandidate device) { if (coordinator != null && coordinator.supports(device)) { return coordinator; } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GB.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java similarity index 97% rename from app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GB.java rename to app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java index a7edb566..27828a00 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GB.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/GB.java @@ -1,4 +1,4 @@ -package nodomain.freeyourgadget.gadgetbridge; +package nodomain.freeyourgadget.gadgetbridge.util; import android.app.Activity; import android.app.Notification; @@ -26,6 +26,9 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.concurrent.TimeUnit; +import nodomain.freeyourgadget.gadgetbridge.GBApplication; +import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter; import nodomain.freeyourgadget.gadgetbridge.deviceevents.GBDeviceEventScreenshot; import nodomain.freeyourgadget.gadgetbridge.externalevents.K9Receiver; import nodomain.freeyourgadget.gadgetbridge.externalevents.MusicPlaybackReceiver; @@ -96,7 +99,7 @@ public class GB { } } - static boolean isBluetoothEnabled() { + public static boolean isBluetoothEnabled() { BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); return adapter != null && adapter.isEnabled(); } diff --git a/app/src/main/res/layout/activity_appmanager.xml b/app/src/main/res/layout/activity_appmanager.xml index 2c96678b..868f628f 100644 --- a/app/src/main/res/layout/activity_appmanager.xml +++ b/app/src/main/res/layout/activity_appmanager.xml @@ -4,7 +4,7 @@ android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" - tools:context="nodomain.freeyourgadget.gadgetbridge.AppManagerActivity"> + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.AppManagerActivity"> + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.charts.ChartsActivity"> + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.charts.ChartsActivity" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_controlcenter.xml b/app/src/main/res/layout/activity_controlcenter.xml index 4620c8da..9a65a468 100644 --- a/app/src/main/res/layout/activity_controlcenter.xml +++ b/app/src/main/res/layout/activity_controlcenter.xml @@ -4,7 +4,7 @@ android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" - tools:context="nodomain.freeyourgadget.gadgetbridge.ControlCenter"> + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter"> + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter"> + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.DiscoveryActivity"> + tools:context="nodomain.freeyourgadget.gadgetbridge.devices.miband.MiBandPairingActivity"> - + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.charts.ChartsActivity$PlaceholderFragment"> - + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.charts.ChartsActivity$PlaceholderFragment"> diff --git a/app/src/main/res/layout/fragment_sleepchart.xml b/app/src/main/res/layout/fragment_sleepchart.xml index a80c2b10..62285461 100644 --- a/app/src/main/res/layout/fragment_sleepchart.xml +++ b/app/src/main/res/layout/fragment_sleepchart.xml @@ -1,10 +1,10 @@ - + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.charts.ChartsActivity"> diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index f508e1da..945de457 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -1,7 +1,7 @@ + tools:context="nodomain.freeyourgadget.gadgetbridge.activities.ControlCenter">