aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2015-01-18 14:33:44 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2015-01-18 14:33:44 +0100
commit7e3105adc3a32132d3adbcde0bc46808a6de34e9 (patch)
treea839457308e1ee630c6879f8a032661db043876f /app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
parentfe238450f161a503d61c5ae59ecdd82c60c0e9ec (diff)
downloadio.trygvis.soilmoisture-android-7e3105adc3a32132d3adbcde0bc46808a6de34e9.tar.gz
io.trygvis.soilmoisture-android-7e3105adc3a32132d3adbcde0bc46808a6de34e9.tar.bz2
io.trygvis.soilmoisture-android-7e3105adc3a32132d3adbcde0bc46808a6de34e9.tar.xz
io.trygvis.soilmoisture-android-7e3105adc3a32132d3adbcde0bc46808a6de34e9.zip
BtPromise: Letting the finally know if the promise was a success or failure.
SM: adding a toast callback so the activity can show a toast message. Needed to make sure the toast comes from the correct thread. Can be called from the BT callback thread.
Diffstat (limited to 'app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java')
-rw-r--r--app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java21
1 files changed, 17 insertions, 4 deletions
diff --git a/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java b/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
index 25dac5c..86a1917 100644
--- a/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
+++ b/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
@@ -169,7 +169,7 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
return stop();
}).
- onFinally(() -> {
+ onFinally(success -> {
if (smDevice.getIsUseful() == null) {
smDevice.setIsUseful(false);
}
@@ -344,9 +344,10 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
return stop();
}).
- onFinally(() -> {
- Toast.makeText(context, R.string.error_could_not_read_value, Toast.LENGTH_SHORT).
- show();
+ onFinally(success -> {
+ if (!success) {
+ sendBroadcast(createToast(R.string.error_could_not_read_value, Toast.LENGTH_SHORT));
+ }
});
sensor.getDevice().getBtDevice().withConnection(promise);
@@ -356,6 +357,13 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
// Event creation and dispatching
// -----------------------------------------------------------------------
+ private Intent createToast(int id, int length) {
+ return new Intent(SoilMoistureListener.INTENT_NAME).
+ putExtra("event", "toast").
+ putExtra("id", id).
+ putExtra("length", length);
+ }
+
private Intent createReady(boolean success) {
return new Intent(SoilMoistureListener.INTENT_NAME).
putExtra("event", "ready").
@@ -389,6 +397,11 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
String event = intent.getStringExtra("event");
Log.i(TAG, "Dispatching event " + intent.getAction() + "/" + event);
switch (event) {
+ case "toast":
+ listener.onToast(
+ intent.getIntExtra("id", 0),
+ intent.getIntExtra("length", 0));
+ break;
case "ready":
listener.onReady(
intent.getBooleanExtra("success", false));