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 @@