nsclient treatments local
This commit is contained in:
parent
796b7ecdf2
commit
38100e758e
3 changed files with 101 additions and 27 deletions
|
@ -58,9 +58,6 @@
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<!-- Receiver from NSClient -->
|
<!-- Receiver from NSClient -->
|
||||||
<action android:name="info.nightscout.client.NEW_SGV" />
|
<action android:name="info.nightscout.client.NEW_SGV" />
|
||||||
<action android:name="info.nightscout.client.NEW_TREATMENT" />
|
|
||||||
<action android:name="info.nightscout.client.CHANGED_TREATMENT" />
|
|
||||||
<action android:name="info.nightscout.client.REMOVED_TREATMENT" />
|
|
||||||
<action android:name="info.nightscout.client.NEW_PROFILE" />
|
<action android:name="info.nightscout.client.NEW_PROFILE" />
|
||||||
<action android:name="info.nightscout.client.NEW_STATUS" />
|
<action android:name="info.nightscout.client.NEW_STATUS" />
|
||||||
<action android:name="info.nightscout.client.NEW_MBG" />
|
<action android:name="info.nightscout.client.NEW_MBG" />
|
||||||
|
|
|
@ -2,8 +2,10 @@ package info.nightscout.androidaps;
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
|
||||||
import com.crashlytics.android.Crashlytics;
|
import com.crashlytics.android.Crashlytics;
|
||||||
import com.crashlytics.android.answers.Answers;
|
import com.crashlytics.android.answers.Answers;
|
||||||
|
@ -17,6 +19,7 @@ import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import info.nightscout.androidaps.Services.Intents;
|
||||||
import info.nightscout.androidaps.db.DatabaseHelper;
|
import info.nightscout.androidaps.db.DatabaseHelper;
|
||||||
import info.nightscout.androidaps.interfaces.InsulinInterface;
|
import info.nightscout.androidaps.interfaces.InsulinInterface;
|
||||||
import info.nightscout.androidaps.interfaces.PluginBase;
|
import info.nightscout.androidaps.interfaces.PluginBase;
|
||||||
|
@ -59,6 +62,7 @@ import info.nightscout.androidaps.plugins.SourceXdrip.SourceXdripPlugin;
|
||||||
import info.nightscout.androidaps.plugins.Treatments.TreatmentsFragment;
|
import info.nightscout.androidaps.plugins.Treatments.TreatmentsFragment;
|
||||||
import info.nightscout.androidaps.plugins.Wear.WearFragment;
|
import info.nightscout.androidaps.plugins.Wear.WearFragment;
|
||||||
import info.nightscout.androidaps.plugins.XDripStatusline.StatuslinePlugin;
|
import info.nightscout.androidaps.plugins.XDripStatusline.StatuslinePlugin;
|
||||||
|
import info.nightscout.androidaps.receivers.DataReceiver;
|
||||||
import info.nightscout.androidaps.receivers.KeepAliveReceiver;
|
import info.nightscout.androidaps.receivers.KeepAliveReceiver;
|
||||||
import info.nightscout.utils.NSUpload;
|
import info.nightscout.utils.NSUpload;
|
||||||
import io.fabric.sdk.android.Fabric;
|
import io.fabric.sdk.android.Fabric;
|
||||||
|
@ -77,6 +81,9 @@ public class MainApp extends Application {
|
||||||
|
|
||||||
private static ArrayList<PluginBase> pluginsList = null;
|
private static ArrayList<PluginBase> pluginsList = null;
|
||||||
|
|
||||||
|
private static DataReceiver dataReceiver = new DataReceiver();
|
||||||
|
private LocalBroadcastManager lbm;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
|
@ -92,6 +99,8 @@ public class MainApp extends Application {
|
||||||
sInstance = this;
|
sInstance = this;
|
||||||
sResources = getResources();
|
sResources = getResources();
|
||||||
|
|
||||||
|
registerLocalBroadcastReceiver();
|
||||||
|
|
||||||
if (pluginsList == null) {
|
if (pluginsList == null) {
|
||||||
pluginsList = new ArrayList<>();
|
pluginsList = new ArrayList<>();
|
||||||
// Register all tabs in app here
|
// Register all tabs in app here
|
||||||
|
@ -155,6 +164,14 @@ public class MainApp extends Application {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
t.start();
|
t.start();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void registerLocalBroadcastReceiver() {
|
||||||
|
lbm = LocalBroadcastManager.getInstance(this);
|
||||||
|
lbm.registerReceiver(dataReceiver, new IntentFilter(Intents.ACTION_NEW_TREATMENT));
|
||||||
|
lbm.registerReceiver(dataReceiver, new IntentFilter(Intents.ACTION_CHANGED_TREATMENT));
|
||||||
|
lbm.registerReceiver(dataReceiver, new IntentFilter(Intents.ACTION_REMOVED_TREATMENT));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startKeepAliveService() {
|
private void startKeepAliveService() {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import android.content.Intent;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.TransactionTooLargeException;
|
import android.os.TransactionTooLargeException;
|
||||||
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
|
@ -15,9 +16,11 @@ import org.slf4j.LoggerFactory;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import info.nightscout.androidaps.MainApp;
|
||||||
import info.nightscout.androidaps.Services.Intents;
|
import info.nightscout.androidaps.Services.Intents;
|
||||||
import info.nightscout.androidaps.plugins.NSClientInternal.data.NSTreatment;
|
import info.nightscout.androidaps.plugins.NSClientInternal.data.NSTreatment;
|
||||||
import info.nightscout.utils.SP;
|
import info.nightscout.utils.SP;
|
||||||
|
import info.nightscout.utils.ToastUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by mike on 20.02.2016.
|
* Created by mike on 20.02.2016.
|
||||||
|
@ -27,22 +30,40 @@ public class BroadcastTreatment {
|
||||||
|
|
||||||
public static void handleNewTreatment(NSTreatment treatment, Context context, boolean isDelta) {
|
public static void handleNewTreatment(NSTreatment treatment, Context context, boolean isDelta) {
|
||||||
|
|
||||||
if(!SP.getBoolean("nsclient_localbroadcasts", true)) return;
|
|
||||||
|
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString("treatment", treatment.getData().toString());
|
bundle.putString("treatment", treatment.getData().toString());
|
||||||
bundle.putBoolean("delta", isDelta);
|
bundle.putBoolean("delta", isDelta);
|
||||||
Intent intent = new Intent(Intents.ACTION_NEW_TREATMENT);
|
Intent intent = new Intent(Intents.ACTION_NEW_TREATMENT);
|
||||||
intent.putExtras(bundle);
|
intent.putExtras(bundle);
|
||||||
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
|
LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent);
|
||||||
|
|
||||||
|
if(SP.getBoolean("nsclient_localbroadcasts", true)) {
|
||||||
|
bundle = new Bundle();
|
||||||
|
bundle.putString("treatment", treatment.getData().toString());
|
||||||
|
bundle.putBoolean("delta", isDelta);
|
||||||
|
intent = new Intent(Intents.ACTION_NEW_TREATMENT);
|
||||||
|
intent.putExtras(bundle);
|
||||||
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void handleNewTreatment(JSONArray treatments, Context context, boolean isDelta) {
|
public static void handleNewTreatment(JSONArray treatments, Context context, boolean isDelta) {
|
||||||
|
|
||||||
if(!SP.getBoolean("nsclient_localbroadcasts", true)) return;
|
|
||||||
|
|
||||||
List<JSONArray> splitted = splitArray(treatments);
|
List<JSONArray> splitted = splitArray(treatments);
|
||||||
|
for (JSONArray part: splitted) {
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
bundle.putString("treatments", part.toString());
|
||||||
|
bundle.putBoolean("delta", isDelta);
|
||||||
|
Intent intent = new Intent(Intents.ACTION_NEW_TREATMENT);
|
||||||
|
intent.putExtras(bundle);
|
||||||
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
|
LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(SP.getBoolean("nsclient_localbroadcasts", true)){
|
||||||
|
splitted = splitArray(treatments);
|
||||||
for (JSONArray part: splitted) {
|
for (JSONArray part: splitted) {
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString("treatments", part.toString());
|
bundle.putString("treatments", part.toString());
|
||||||
|
@ -53,25 +74,45 @@ public class BroadcastTreatment {
|
||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void handleChangedTreatment(JSONObject treatment, Context context, boolean isDelta) {
|
public void handleChangedTreatment(JSONObject treatment, Context context, boolean isDelta) {
|
||||||
|
|
||||||
if(!SP.getBoolean("nsclient_localbroadcasts", true)) return;
|
|
||||||
|
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString("treatment", treatment.toString());
|
bundle.putString("treatment", treatment.toString());
|
||||||
bundle.putBoolean("delta", isDelta);
|
bundle.putBoolean("delta", isDelta);
|
||||||
Intent intent = new Intent(Intents.ACTION_CHANGED_TREATMENT);
|
Intent intent = new Intent(Intents.ACTION_CHANGED_TREATMENT);
|
||||||
intent.putExtras(bundle);
|
intent.putExtras(bundle);
|
||||||
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
|
LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent);
|
||||||
|
|
||||||
|
|
||||||
|
if(SP.getBoolean("nsclient_localbroadcasts", true)) {
|
||||||
|
bundle = new Bundle();
|
||||||
|
bundle.putString("treatment", treatment.toString());
|
||||||
|
bundle.putBoolean("delta", isDelta);
|
||||||
|
intent = new Intent(Intents.ACTION_CHANGED_TREATMENT);
|
||||||
|
intent.putExtras(bundle);
|
||||||
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void handleChangedTreatment(JSONArray treatments, Context context, boolean isDelta) {
|
public static void handleChangedTreatment(JSONArray treatments, Context context, boolean isDelta) {
|
||||||
|
|
||||||
if(!SP.getBoolean("nsclient_localbroadcasts", true)) return;
|
|
||||||
|
|
||||||
List<JSONArray> splitted = splitArray(treatments);
|
List<JSONArray> splitted = splitArray(treatments);
|
||||||
|
for (JSONArray part : splitted) {
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
bundle.putString("treatments", part.toString());
|
||||||
|
bundle.putBoolean("delta", isDelta);
|
||||||
|
Intent intent = new Intent(Intents.ACTION_CHANGED_TREATMENT);
|
||||||
|
intent.putExtras(bundle);
|
||||||
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
|
LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(SP.getBoolean("nsclient_localbroadcasts", true)) {
|
||||||
|
splitted = splitArray(treatments);
|
||||||
for (JSONArray part : splitted) {
|
for (JSONArray part : splitted) {
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString("treatments", part.toString());
|
bundle.putString("treatments", part.toString());
|
||||||
|
@ -82,32 +123,51 @@ public class BroadcastTreatment {
|
||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void handleRemovedTreatment(JSONObject treatment, Context context, boolean isDelta) {
|
public static void handleRemovedTreatment(JSONObject treatment, Context context, boolean isDelta) {
|
||||||
|
|
||||||
if(!SP.getBoolean("nsclient_localbroadcasts", true)) return;
|
|
||||||
|
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString("treatment", treatment.toString());
|
bundle.putString("treatment", treatment.toString());
|
||||||
bundle.putBoolean("delta", isDelta);
|
bundle.putBoolean("delta", isDelta);
|
||||||
Intent intent = new Intent(Intents.ACTION_REMOVED_TREATMENT);
|
Intent intent = new Intent(Intents.ACTION_REMOVED_TREATMENT);
|
||||||
intent.putExtras(bundle);
|
intent.putExtras(bundle);
|
||||||
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
|
LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent);
|
||||||
|
|
||||||
|
|
||||||
|
if(SP.getBoolean("nsclient_localbroadcasts", true)) {
|
||||||
|
bundle = new Bundle();
|
||||||
|
bundle.putString("treatment", treatment.toString());
|
||||||
|
bundle.putBoolean("delta", isDelta);
|
||||||
|
intent = new Intent(Intents.ACTION_REMOVED_TREATMENT);
|
||||||
|
intent.putExtras(bundle);
|
||||||
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void handleRemovedTreatment(JSONArray treatments, Context context, boolean isDelta) {
|
public static void handleRemovedTreatment(JSONArray treatments, Context context, boolean isDelta) {
|
||||||
|
|
||||||
if(!SP.getBoolean("nsclient_localbroadcasts", true)) return;
|
|
||||||
|
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putString("treatments", treatments.toString());
|
bundle.putString("treatments", treatments.toString());
|
||||||
bundle.putBoolean("delta", isDelta);
|
bundle.putBoolean("delta", isDelta);
|
||||||
Intent intent = new Intent(Intents.ACTION_REMOVED_TREATMENT);
|
Intent intent = new Intent(Intents.ACTION_REMOVED_TREATMENT);
|
||||||
intent.putExtras(bundle);
|
intent.putExtras(bundle);
|
||||||
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
|
LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent);
|
||||||
|
|
||||||
|
|
||||||
|
if(SP.getBoolean("nsclient_localbroadcasts", true)) {
|
||||||
|
bundle = new Bundle();
|
||||||
|
bundle.putString("treatments", treatments.toString());
|
||||||
|
bundle.putBoolean("delta", isDelta);
|
||||||
|
intent = new Intent(Intents.ACTION_REMOVED_TREATMENT);
|
||||||
|
intent.putExtras(bundle);
|
||||||
|
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
|
||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static List<JSONArray> splitArray(JSONArray array) {
|
public static List<JSONArray> splitArray(JSONArray array) {
|
||||||
|
|
Loading…
Reference in a new issue