From ab3e78ab9d9a8cff81f22853c975d266a07458f5 Mon Sep 17 00:00:00 2001 From: dwallersv Date: Thu, 18 Jan 2018 07:11:12 -0800 Subject: [PATCH 01/13] framework for gear widget --- app/src/main/AndroidManifest.xml | 10 + .../eveningoutpost/dexdrip/gearWidget.java | 205 ++++++++++++++++++ app/src/main/res/layout/gear_widget.xml | 89 ++++++++ app/src/main/res/xml/gear_widget_info.xml | 10 + 4 files changed, 314 insertions(+) create mode 100644 app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java create mode 100644 app/src/main/res/layout/gear_widget.xml create mode 100644 app/src/main/res/xml/gear_widget_info.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 33c044350d..9a4b8523f7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -333,6 +333,16 @@ android:resource="@xml/x_drip_widget_info" /> + + + + + + + + 1) slope_arrow = ""; + } + + // TODO use dg stale calculation and/or preformatted text + if ((new Date().getTime()) - Home.stale_data_millis() - lastBgreading.timestamp > 0) { +// estimate = lastBgreading.calculated_value; + Log.d(TAG, "old value, estimate " + estimate); + stringEstimate = bgGraphBuilder.unitized_string(estimate); + + //views.setTextViewText(R.id.widgetArrow, "--"); + slope_arrow = "--"; + views.setInt(R.id.widgetBg, "setPaintFlags", Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); + } else { +// estimate = lastBgreading.calculated_value; + stringEstimate = bgGraphBuilder.unitized_string(estimate); + + if (lastBgreading.hide_slope) { + slope_arrow = "--"; + } + Log.d(TAG, "newish value, estimate " + stringEstimate + slope_arrow); + + + views.setInt(R.id.widgetBg, "setPaintFlags", 0); + } + views.setTextViewText(R.id.widgetBg, stringEstimate); + views.setTextViewText(R.id.widgetArrow, slope_arrow); + + // is it really necessary to read this data once here and again in unitizedDeltaString? + // couldn't we just use the unitizedDeltaString to detect the error condition? + List bgReadingList = BgReading.latest(2, Home.get_follower()); + + if (estimated_delta == -9999) { + // use original delta + if (bgReadingList != null && bgReadingList.size() == 2) { + + views.setTextViewText(R.id.widgetDelta, bgGraphBuilder.unitizedDeltaString(true, true, Home.get_follower())); + } else { + views.setTextViewText(R.id.widgetDelta, "--"); + } + } else { + // use compensated estimate + views.setTextViewText(R.id.widgetDelta, bgGraphBuilder.unitizedDeltaStringRaw(true, true, estimated_delta)); + } + + // TODO use dg preformatted localized string + int timeAgo = (int) Math.floor((new Date().getTime() - lastBgreading.timestamp) / (1000 * 60)); + if (timeAgo == 1) { + views.setTextViewText(R.id.readingAge, timeAgo + " Minute ago" + extrastring); + } else { + views.setTextViewText(R.id.readingAge, timeAgo + " Minutes ago" + extrastring); + } + if (timeAgo > 15) { + views.setTextColor(R.id.readingAge, Color.parseColor("#FFBB33")); + } else { + views.setTextColor(R.id.readingAge, Color.WHITE); + } + + if(showExstraStatus) { + views.setTextViewText(R.id.widgetStatusLine, Home.extraStatusLine()); + views.setViewVisibility(R.id.widgetStatusLine, View.VISIBLE); + } else { + views.setTextViewText(R.id.widgetStatusLine, ""); + views.setViewVisibility(R.id.widgetStatusLine, View.GONE); + } + if (bgGraphBuilder.unitized(estimate) <= bgGraphBuilder.lowMark) { + views.setTextColor(R.id.widgetBg, Color.parseColor("#C30909")); + views.setTextColor(R.id.widgetDelta, Color.parseColor("#C30909")); + views.setTextColor(R.id.widgetArrow, Color.parseColor("#C30909")); + } else if (bgGraphBuilder.unitized(estimate) >= bgGraphBuilder.highMark) { + views.setTextColor(R.id.widgetBg, Color.parseColor("#FFBB33")); + views.setTextColor(R.id.widgetDelta, Color.parseColor("#FFBB33")); + views.setTextColor(R.id.widgetArrow, Color.parseColor("#FFBB33")); + } else { + views.setTextColor(R.id.widgetBg, Color.WHITE); + views.setTextColor(R.id.widgetDelta, Color.WHITE); + views.setTextColor(R.id.widgetArrow, Color.WHITE); + } + } catch (RuntimeException e) { + Log.e(TAG, "Got exception in displaycurrentinfo: " + e); + } + } + } +} + + diff --git a/app/src/main/res/layout/gear_widget.xml b/app/src/main/res/layout/gear_widget.xml new file mode 100644 index 0000000000..7e9e4fbf81 --- /dev/null +++ b/app/src/main/res/layout/gear_widget.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/xml/gear_widget_info.xml b/app/src/main/res/xml/gear_widget_info.xml new file mode 100644 index 0000000000..5206f4f4e6 --- /dev/null +++ b/app/src/main/res/xml/gear_widget_info.xml @@ -0,0 +1,10 @@ + + From 6e1d1de95ca98226405c62e1c20a3ca5420c718b Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sat, 27 Jan 2018 09:39:52 -0800 Subject: [PATCH 02/13] added gear_widget Added new home screen widget designed to be used with Wearable Widgets as a watch face for the Samsung Galaxy Gear 2/3 smartwatch. --- .../dexdrip/WidgetUpdateService.java | 66 +++------ .../eveningoutpost/dexdrip/gearWidget.java | 29 ++-- .../main/res/drawable/gear_widget_preview.png | Bin 0 -> 37334 bytes app/src/main/res/layout/gear_widget.xml | 138 ++++++++++-------- app/src/main/res/xml/gear_widget_info.xml | 6 +- 5 files changed, 113 insertions(+), 126 deletions(-) create mode 100644 app/src/main/res/drawable/gear_widget_preview.png diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java b/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java index 595d1abb45..7265cf8ecd 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java @@ -16,14 +16,15 @@ public class WidgetUpdateService extends Service { private static final String TAG = "WidgetUpdateService"; + private static Class widgetClasses[] = { xDripWidget.class, gearWidget.class }; - private boolean isRegistered = false; public static void staticRefreshWidgets() { try { Context context = xdrip.getAppContext(); - if (AppWidgetManager.getInstance(context).getAppWidgetIds(new ComponentName(context, xDripWidget.class)).length > 0) { + if (AppWidgetManager.getInstance(context).getAppWidgetIds(new ComponentName(context, xDripWidget.class)).length + + AppWidgetManager.getInstance(context).getAppWidgetIds(new ComponentName(context, gearWidget.class)).length > 0) { context.startService(new Intent(context, WidgetUpdateService.class)); } } catch (Exception e) @@ -37,14 +38,7 @@ public static void staticRefreshWidgets() public void onReceive(Context ctx, Intent intent) { final PowerManager.WakeLock wl = JoH.getWakeLock("xdrip-widget-bcast", 20000); //Log.d(TAG, "onReceive("+intent.getAction()+")"); - if (intent.getAction().compareTo(Intent.ACTION_TIME_TICK) == 0) { - updateCurrentBgInfo(); - } else if (intent.getAction().compareTo(Intent.ACTION_SCREEN_ON) == 0) { - enableClockTicks(); - updateCurrentBgInfo(); - } else if (intent.getAction().compareTo(Intent.ACTION_SCREEN_OFF) == 0) { - disableClockTicks(); - } + if (intent.getAction().compareTo(Intent.ACTION_TIME_TICK) == 0) updateCurrentBgInfo(); JoH.releaseWakeLock(wl); } }; @@ -56,36 +50,11 @@ public WidgetUpdateService() {} @Override public void onCreate() { super.onCreate(); - PowerManager pm = (PowerManager) getSystemService(Service.POWER_SERVICE); - Log.d(TAG, "onCreate"); - if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && pm.isInteractive()) || - (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP && pm.isScreenOn())) - enableClockTicks(); - else - disableClockTicks(); - } - - private void enableClockTicks() { + //Gear widget needs clock ticks all the time to keep time updated in widget Log.d(TAG, "enableClockTicks"); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(Intent.ACTION_TIME_TICK); - intentFilter.addAction(Intent.ACTION_SCREEN_ON); - intentFilter.addAction(Intent.ACTION_SCREEN_OFF); - if (isRegistered) - unregisterReceiver(broadcastReceiver); - registerReceiver(broadcastReceiver, intentFilter); - isRegistered = true; - } - - private void disableClockTicks() { - Log.d(TAG, "disableClockTicks"); - IntentFilter intentFilter = new IntentFilter(); - intentFilter.addAction(Intent.ACTION_SCREEN_ON); - intentFilter.addAction(Intent.ACTION_SCREEN_OFF); - if (isRegistered) - unregisterReceiver(broadcastReceiver); registerReceiver(broadcastReceiver, intentFilter); - isRegistered = true; } @Override @@ -97,19 +66,22 @@ public int onStartCommand(Intent intent, int flags, int startId) { @Override public void onDestroy() { super.onDestroy(); - if (broadcastReceiver != null) { - unregisterReceiver(broadcastReceiver); - isRegistered = false; - } + unregisterReceiver(broadcastReceiver); } public void updateCurrentBgInfo() { - Log.d(TAG, "Sending update flag to widget"); - int ids[] = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), xDripWidget.class)); - Log.d(TAG, "Updating " + ids.length + " widgets"); - Intent intent = new Intent(this,xDripWidget.class); - intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE); - intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,ids); - sendBroadcast(intent); + Log.d(TAG, "Sending update flag to widgets"); + int ids[]; + Intent intent; + for (Class widgetClass : widgetClasses) { + ids = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), widgetClass)); + if (ids.length > 0) { + Log.d(TAG, "Updating " + ids.length + " " + widgetClass.getName() + " instances"); + intent = new Intent(this, widgetClass); + intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE); + intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids); + sendBroadcast(intent); + } + } } } diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java b/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java index f367901c16..11919500f7 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java @@ -19,6 +19,7 @@ import com.eveningoutpost.dexdrip.UtilityModels.ColorCache; import com.eveningoutpost.dexdrip.calibrations.PluggableCalibration; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -28,12 +29,12 @@ */ public class gearWidget extends AppWidgetProvider { - public static final String TAG = "xDripWidget"; + public static final String TAG = "gearWidget"; private static final boolean use_best_glucose = true; @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { - final PowerManager.WakeLock wl = JoH.getWakeLock("xdrip-widget-onupdate", 20000); + final PowerManager.WakeLock wl = JoH.getWakeLock("gear-widget-onupdate", 20000); final int N = appWidgetIds.length; for (int i = 0; i < N; i++) { @@ -57,13 +58,13 @@ public void onDisabled(Context context) { } private static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId) { - RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.x_drip_widget); + RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.gear_widget); Log.d(TAG, "Update widget signal received"); //Add behaviour: open xDrip on click Intent intent = new Intent(context, Home.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); - views.setOnClickPendingIntent(R.id.xDripwidget, pendingIntent); + views.setOnClickPendingIntent(R.id.gearWidget, pendingIntent); displayCurrentInfo(appWidgetManager, appWidgetId, context, views); try { appWidgetManager.updateAppWidget(appWidgetId, views); @@ -78,8 +79,13 @@ private static void displayCurrentInfo(AppWidgetManager appWidgetManager, int ap BgGraphBuilder bgGraphBuilder = new BgGraphBuilder(context); BgReading lastBgreading = BgReading.lastNoSenssor(); - final boolean showLines = Home.getPreferencesBoolean("widget_range_lines", false); - final boolean showExstraStatus = Home.getPreferencesBoolean("extra_status_line", false) && Home.getPreferencesBoolean("widget_status_line", false); + //update time and date + SimpleDateFormat formatter = new SimpleDateFormat(); + Date now = new Date(); + formatter.applyPattern("h:mm a"); + views.setTextViewText(R.id.textTime, formatter.format(now)); + formatter.applyPattern("EEEE MMM d, YYYY"); + views.setTextViewText(R.id.textDate, formatter.format(now)); if (lastBgreading != null) { double estimate = 0; @@ -89,9 +95,9 @@ private static void displayCurrentInfo(AppWidgetManager appWidgetManager, int ap int width = appWidgetManager.getAppWidgetOptions(appWidgetId).getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH); views.setImageViewBitmap(R.id.widgetGraph, new BgSparklineBuilder(context) .setBgGraphBuilder(bgGraphBuilder) - //.setShowFiltered(Home.getPreferencesBooleanDefaultFalse("show_filtered_curve")) + .setShowFiltered(Home.getPreferencesBooleanDefaultFalse("show_filtered_curve")) .setBackgroundColor(ColorCache.getCol(ColorCache.X.color_widget_chart_background)) - .setHeight(height).setWidth(width).showHighLine(showLines).showLowLine(showLines).build()); + .setHeight(height).setWidth(width).showHighLine(true).showLowLine(true).showAxes(true).build()); final BestGlucose.DisplayGlucose dg = (use_best_glucose) ? BestGlucose.getDisplayGlucose() : null; estimate = (dg != null) ? dg.mgdl : lastBgreading.calculated_value; @@ -175,13 +181,6 @@ private static void displayCurrentInfo(AppWidgetManager appWidgetManager, int ap views.setTextColor(R.id.readingAge, Color.WHITE); } - if(showExstraStatus) { - views.setTextViewText(R.id.widgetStatusLine, Home.extraStatusLine()); - views.setViewVisibility(R.id.widgetStatusLine, View.VISIBLE); - } else { - views.setTextViewText(R.id.widgetStatusLine, ""); - views.setViewVisibility(R.id.widgetStatusLine, View.GONE); - } if (bgGraphBuilder.unitized(estimate) <= bgGraphBuilder.lowMark) { views.setTextColor(R.id.widgetBg, Color.parseColor("#C30909")); views.setTextColor(R.id.widgetDelta, Color.parseColor("#C30909")); diff --git a/app/src/main/res/drawable/gear_widget_preview.png b/app/src/main/res/drawable/gear_widget_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..6290a472d66e04a427b07aaa09c8dbc6576322fd GIT binary patch literal 37334 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�Ld}x|c9|p_3{ESmzvaml4s-Wm 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 + + + + + android:layout_above="@+id/readingAge" + android:layout_alignParentBottom="false" + android:layout_centerHorizontal="true" + android:orientation="horizontal"> - - - - - - - - - - - - + android:layout_weight="1" + android:text="110" + android:textColor="#ffffff" + android:textSize="30sp" /> + android:textSize="18sp" /> + android:textSize="8sp" /> + + + + + - + + + + + + diff --git a/app/src/main/res/xml/gear_widget_info.xml b/app/src/main/res/xml/gear_widget_info.xml index 5206f4f4e6..6526b57ed8 100644 --- a/app/src/main/res/xml/gear_widget_info.xml +++ b/app/src/main/res/xml/gear_widget_info.xml @@ -2,9 +2,9 @@ From 5db8f51546b984c7cfac78152722ffac22a9c3c3 Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sat, 27 Jan 2018 10:07:00 -0800 Subject: [PATCH 03/13] Improved widget update service Cleaned up logic of WidgetUpdateService to always run and capture clock ticks. This is necessary to keep the time accurate on the widget. --- .../java/com/eveningoutpost/dexdrip/Home.java | 2 -- .../dexdrip/UtilityModels/ColorPicker.java | 1 - .../dexdrip/WidgetUpdateService.java | 16 +--------------- .../java/com/eveningoutpost/dexdrip/xdrip.java | 5 +++++ 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java index 5788676af5..7461b6f133 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/Home.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/Home.java @@ -310,8 +310,6 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTheme(R.style.AppThemeToolBarLite); // for toolbar mode - - Injectors.getHomeShelfComponent().inject(this); set_is_follower(); diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java b/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java index 2be0074501..3d19fae7e8 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java @@ -83,7 +83,6 @@ protected void onDialogClosed(boolean positiveResult) { // TODO probably should check whether data has actually changed before updating all the graphics Home.staticRefreshBGCharts(true); - WidgetUpdateService.staticRefreshWidgets(); Notifications.staticUpdateNotification(); } diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java b/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java index 7265cf8ecd..6bd7fc1ffa 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java @@ -18,21 +18,6 @@ public class WidgetUpdateService extends Service { private static final String TAG = "WidgetUpdateService"; private static Class widgetClasses[] = { xDripWidget.class, gearWidget.class }; - - public static void staticRefreshWidgets() - { - try { - Context context = xdrip.getAppContext(); - if (AppWidgetManager.getInstance(context).getAppWidgetIds(new ComponentName(context, xDripWidget.class)).length + - AppWidgetManager.getInstance(context).getAppWidgetIds(new ComponentName(context, gearWidget.class)).length > 0) { - context.startService(new Intent(context, WidgetUpdateService.class)); - } - } catch (Exception e) - { - Log.e(TAG,"Got exception in staticRefreshWidgets: "+e); - } - } - private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context ctx, Intent intent) { @@ -73,6 +58,7 @@ public void updateCurrentBgInfo() { Log.d(TAG, "Sending update flag to widgets"); int ids[]; Intent intent; + //iterate each widget type, get IDs of all instances, update for (Class widgetClass : widgetClasses) { ids = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), widgetClass)); if (ids.length > 0) { diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/xdrip.java b/app/src/main/java/com/eveningoutpost/dexdrip/xdrip.java index d9a0ec98a0..9a01c20e85 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/xdrip.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/xdrip.java @@ -2,6 +2,7 @@ import android.app.Application; import android.content.Context; +import android.content.Intent; import android.content.res.Configuration; import android.preference.PreferenceManager; import android.util.Log; @@ -45,6 +46,10 @@ public class xdrip extends Application { public void onCreate() { xdrip.context = getApplicationContext(); super.onCreate(); + + //start widget update service to capture time ticks + this.startService(new Intent(this, WidgetUpdateService.class)); + try { if (PreferenceManager.getDefaultSharedPreferences(xdrip.context).getBoolean("enable_crashlytics", true)) { initCrashlytics(this); From ca4f50514d7e33cd0f2ca9607df422fd94a73382 Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sat, 27 Jan 2018 16:39:50 -0800 Subject: [PATCH 04/13] WidgetUpdateService improvements further improved startup logic to make tick capture fully reliable. --- .../dexdrip/WidgetUpdateService.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java b/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java index 6bd7fc1ffa..6cc2b9dbff 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/WidgetUpdateService.java @@ -15,6 +15,7 @@ import com.eveningoutpost.dexdrip.Models.UserError.Log; public class WidgetUpdateService extends Service { + static Context context; private static final String TAG = "WidgetUpdateService"; private static Class widgetClasses[] = { xDripWidget.class, gearWidget.class }; @@ -34,16 +35,17 @@ public WidgetUpdateService() {} @Override public void onCreate() { + context = getApplicationContext(); super.onCreate(); + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { //Gear widget needs clock ticks all the time to keep time updated in widget Log.d(TAG, "enableClockTicks"); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(Intent.ACTION_TIME_TICK); registerReceiver(broadcastReceiver, intentFilter); - } - - @Override - public int onStartCommand(Intent intent, int flags, int startId) { updateCurrentBgInfo(); return START_STICKY; } @@ -54,19 +56,19 @@ public void onDestroy() { unregisterReceiver(broadcastReceiver); } - public void updateCurrentBgInfo() { + public static void updateCurrentBgInfo() { Log.d(TAG, "Sending update flag to widgets"); int ids[]; Intent intent; //iterate each widget type, get IDs of all instances, update for (Class widgetClass : widgetClasses) { - ids = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), widgetClass)); + ids = AppWidgetManager.getInstance(context).getAppWidgetIds(new ComponentName(context, widgetClass)); if (ids.length > 0) { Log.d(TAG, "Updating " + ids.length + " " + widgetClass.getName() + " instances"); - intent = new Intent(this, widgetClass); + intent = new Intent(context, widgetClass); intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids); - sendBroadcast(intent); + context.sendBroadcast(intent); } } } From 6f7a2df2f42bbbe2222f709e43383adecb97494c Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sat, 27 Jan 2018 17:00:38 -0800 Subject: [PATCH 05/13] widget layout tweaks minor alignment adjustments --- app/src/main/res/layout/gear_widget.xml | 42 ++++++++++++------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/app/src/main/res/layout/gear_widget.xml b/app/src/main/res/layout/gear_widget.xml index 18040289fc..20bae16455 100644 --- a/app/src/main/res/layout/gear_widget.xml +++ b/app/src/main/res/layout/gear_widget.xml @@ -47,27 +47,6 @@ android:textColor="#ffffff" android:textSize="30sp" /> - - - - + + + + From 8a122048127d54d85b4af4e06dd641405387128d Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sat, 27 Jan 2018 17:02:18 -0800 Subject: [PATCH 06/13] Index function for trend arrow modified slopeToArrowSymbol to add intermediate indexing function -- future use in selecting arrow images on gear widget --- .../dexdrip/Models/BgReading.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/Models/BgReading.java b/app/src/main/java/com/eveningoutpost/dexdrip/Models/BgReading.java index 15253dcc5d..22419e9b56 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/Models/BgReading.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/Models/BgReading.java @@ -608,24 +608,29 @@ public static String activeSlopeArrow() { return slopeToArrowSymbol(slope); } - public static String slopeToArrowSymbol(double slope) { + public static int slopeToArrowIndex(double slope) { if (slope <= (-3.5)) { - return "\u21ca";// ⇊ + return 0;// ⇊ } else if (slope <= (-2)) { - return "\u2193"; // ↓ + return 1; // ↓ } else if (slope <= (-1)) { - return "\u2198"; // ↘ + return 2; // ↘ } else if (slope <= (1)) { - return "\u2192"; // → + return 3; // → } else if (slope <= (2)) { - return "\u2197"; // ↗ + return 4; // ↗ } else if (slope <= (3.5)) { - return "\u2191"; // ↑ + return 5; // ↑ } else { - return "\u21c8"; // ⇈ + return 6; // ⇈ } } + public static String slopeToArrowSymbol(double slope) { + String[] arrow = { "\u21ca", "\u2193", "\u2198", "\u2192", "\u2197", "\u2191", "\u21c8" }; + return arrow[slopeToArrowIndex(slope)]; + } + public String slopeArrow() { return slopeToArrowSymbol(this.calculated_value_slope * 60000); } From baf85b2062c37fc755c57cfc369857964ac1b50b Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sat, 27 Jan 2018 19:16:57 -0800 Subject: [PATCH 07/13] updated preview image --- .../main/res/drawable/gear_widget_preview.png | Bin 37334 -> 35840 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/app/src/main/res/drawable/gear_widget_preview.png b/app/src/main/res/drawable/gear_widget_preview.png index 6290a472d66e04a427b07aaa09c8dbc6576322fd..d80e144277fe2ba74a85c8dcf738b9f7c43a1bc5 100644 GIT binary patch literal 35840 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 FV1oPbyLSKp literal 37334 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�Ld}x|c9|p_3{ESmzvaml4s-Wm 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 Date: Sat, 27 Jan 2018 19:18:11 -0800 Subject: [PATCH 08/13] layout tweaks --- .../eveningoutpost/dexdrip/gearWidget.java | 4 +- app/src/main/res/layout/gear_widget.xml | 54 ++++++++++++------- 2 files changed, 38 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java b/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java index 11919500f7..45300e80f7 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java @@ -84,8 +84,10 @@ private static void displayCurrentInfo(AppWidgetManager appWidgetManager, int ap Date now = new Date(); formatter.applyPattern("h:mm a"); views.setTextViewText(R.id.textTime, formatter.format(now)); - formatter.applyPattern("EEEE MMM d, YYYY"); + formatter.applyPattern("MMMM dd, YYYY"); views.setTextViewText(R.id.textDate, formatter.format(now)); + formatter.applyPattern("EEEE"); + views.setTextViewText(R.id.textDay, formatter.format(now)); if (lastBgreading != null) { double estimate = 0; diff --git a/app/src/main/res/layout/gear_widget.xml b/app/src/main/res/layout/gear_widget.xml index 20bae16455..2c316d0728 100644 --- a/app/src/main/res/layout/gear_widget.xml +++ b/app/src/main/res/layout/gear_widget.xml @@ -4,21 +4,15 @@ android:layout_height="match_parent" android:background="#55212121"> - - + + + + @@ -51,30 +65,32 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:layout_marginLeft="5dp" + android:layout_marginLeft="3dp" android:layout_weight="1" android:orientation="vertical"> + android:textSize="10sp" /> @@ -87,7 +103,7 @@ android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_gravity="center_horizontal" - android:layout_marginBottom="10dp" + android:layout_marginBottom="5dp" android:text="3 minutes ago" android:textColor="#ffffff" android:textSize="12sp" /> From 44b0bb6a874fbc4298068733d53594fbc03adf94 Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sun, 28 Jan 2018 07:58:35 -0800 Subject: [PATCH 09/13] typo fix method ReadPerfs => ReadPrefs --- .../dexdrip/UtilityModels/Notifications.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/Notifications.java b/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/Notifications.java index e06c26b6a2..2054bc5850 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/Notifications.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/Notifications.java @@ -132,7 +132,7 @@ protected void onHandleIntent(Intent intent) { ActivityRecognizedService.reStartActivityRecogniser(context); } - ReadPerfs(context); + ReadPrefs(context); unclearReading = notificationSetter(context); ArmTimer(context, unclearReading); context.startService(new Intent(context, MissedReadingService.class)); @@ -153,7 +153,7 @@ public static void staticUpdateNotification() { } - public void ReadPerfs(Context context) { + public void ReadPrefs(Context context) { mContext = context; prefs = PreferenceManager.getDefaultSharedPreferences(context); bg_notifications = prefs.getBoolean("bg_notifications", true); @@ -182,7 +182,7 @@ public void ReadPerfs(Context context) { private void FileBasedNotifications(Context context) { - ReadPerfs(context); + ReadPrefs(context); Sensor sensor = Sensor.currentSensor(); final BgReading bgReading = BgReading.last(); @@ -306,7 +306,7 @@ boolean trendingToAlertEnd(Context context, Boolean newAlert, AlertType Alert) { // returns weather unclear bg reading was detected private boolean notificationSetter(Context context) { - ReadPerfs(context); + ReadPrefs(context); final long end = System.currentTimeMillis() + (60000 * 5); final long start = end - (60000 * 60 * 3) - (60000 * 10); BgGraphBuilder bgGraphBuilder = new BgGraphBuilder(context, start, end); @@ -560,7 +560,7 @@ private Bitmap createWearBitmap(long hours) { @TargetApi(Build.VERSION_CODES.JELLY_BEAN) public synchronized Notification createOngoingNotification(BgGraphBuilder bgGraphBuilder, Context context) { mContext = context; - ReadPerfs(mContext); + ReadPrefs(mContext); Intent intent = new Intent(mContext, Home.class); List lastReadings = BgReading.latest(2); BgReading lastReading = null; From 53143163f0e12208dd96c53eaf8d43bd5f5bd020 Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sun, 28 Jan 2018 07:59:13 -0800 Subject: [PATCH 10/13] widget update from color change --- .../com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java b/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java index 3d19fae7e8..bd5967e5d0 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/UtilityModels/ColorPicker.java @@ -83,6 +83,7 @@ protected void onDialogClosed(boolean positiveResult) { // TODO probably should check whether data has actually changed before updating all the graphics Home.staticRefreshBGCharts(true); + WidgetUpdateService.updateCurrentBgInfo(); Notifications.staticUpdateNotification(); } From 2684df971bec6725c3167b2fac8d3fd289f4ef1d Mon Sep 17 00:00:00 2001 From: dwallersv Date: Sun, 28 Jan 2018 08:00:40 -0800 Subject: [PATCH 11/13] gear widget readability added slight dimmed alpha bkgd for time/date and BG readings so graph line doesn't interfere with readability when it's behind the letters --- app/src/main/res/layout/gear_widget.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/res/layout/gear_widget.xml b/app/src/main/res/layout/gear_widget.xml index 2c316d0728..717db6b74d 100644 --- a/app/src/main/res/layout/gear_widget.xml +++ b/app/src/main/res/layout/gear_widget.xml @@ -11,6 +11,7 @@ android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="10dp" + android:background="#40000000" android:text="12:08 PM" android:textColor="#ffffff" android:textSize="30sp" /> @@ -21,6 +22,7 @@ android:layout_height="wrap_content" android:layout_below="@+id/textTime" android:layout_centerHorizontal="true" + android:background="#40000000" android:text="September 29, 2018" android:textColor="#ffffff" android:textSize="16sp" /> @@ -31,6 +33,7 @@ android:layout_height="wrap_content" android:layout_below="@+id/textDate" android:layout_centerHorizontal="true" + android:background="#40000000" android:text="Wednesday" android:textColor="#ffffff" android:textSize="16sp" /> @@ -48,6 +51,7 @@ android:layout_above="@+id/readingAge" android:layout_alignParentBottom="false" android:layout_centerHorizontal="true" + android:background="#40000000" android:orientation="horizontal"> Date: Wed, 31 Jan 2018 06:27:02 -0800 Subject: [PATCH 12/13] Code refactoring for Pref class --- app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java b/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java index 45300e80f7..03c2cf84b6 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/gearWidget.java @@ -17,6 +17,7 @@ import com.eveningoutpost.dexdrip.UtilityModels.BgGraphBuilder; import com.eveningoutpost.dexdrip.UtilityModels.BgSparklineBuilder; import com.eveningoutpost.dexdrip.UtilityModels.ColorCache; +import com.eveningoutpost.dexdrip.UtilityModels.Pref; import com.eveningoutpost.dexdrip.calibrations.PluggableCalibration; import java.text.SimpleDateFormat; @@ -97,7 +98,7 @@ private static void displayCurrentInfo(AppWidgetManager appWidgetManager, int ap int width = appWidgetManager.getAppWidgetOptions(appWidgetId).getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH); views.setImageViewBitmap(R.id.widgetGraph, new BgSparklineBuilder(context) .setBgGraphBuilder(bgGraphBuilder) - .setShowFiltered(Home.getPreferencesBooleanDefaultFalse("show_filtered_curve")) + .setShowFiltered(Pref.getBooleanDefaultFalse("show_filtered_curve")) .setBackgroundColor(ColorCache.getCol(ColorCache.X.color_widget_chart_background)) .setHeight(height).setWidth(width).showHighLine(true).showLowLine(true).showAxes(true).build()); @@ -118,7 +119,7 @@ private static void displayCurrentInfo(AppWidgetManager appWidgetManager, int ap } // TODO functionize this check as it is in multiple places - if (Home.getPreferencesBooleanDefaultFalse("display_glucose_from_plugin") && (PluggableCalibration.getCalibrationPluginFromPreferences() != null)) { + if (Pref.getBooleanDefaultFalse("display_glucose_from_plugin") && (PluggableCalibration.getCalibrationPluginFromPreferences() != null)) { extrastring += " " + context.getString(R.string.p_in_circle); } } else { From 07fac2b4eedc44c79efba033f4a1b7842c6d2b3b Mon Sep 17 00:00:00 2001 From: dwallersv Date: Wed, 18 Jul 2018 12:39:40 -0700 Subject: [PATCH 13/13] multiple snooze times notification --- .../com/eveningoutpost/dexdrip/SnoozeActivity.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/eveningoutpost/dexdrip/SnoozeActivity.java b/app/src/main/java/com/eveningoutpost/dexdrip/SnoozeActivity.java index 633b0703a7..d6a96ca55a 100644 --- a/app/src/main/java/com/eveningoutpost/dexdrip/SnoozeActivity.java +++ b/app/src/main/java/com/eveningoutpost/dexdrip/SnoozeActivity.java @@ -50,9 +50,9 @@ public class SnoozeActivity extends ActivityWithMenu { static final int infiniteSnoozeValueInMinutes = 5256000;//10 years //static final int snoozeValues[] = new int []{5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 75, 90, 105, 120, 150, 180, 240, 300, 360, 420, 480, 540, 600}; - static final int snoozeValues[] = new int []{ 10, 15, 20, 30, 40, 50, 60, 75, 90, 120, 150, 180, 240, 300, 360, 420, 480, 540, 600}; + static final int snoozeValues[] = new int []{ 1, 2, 5, 10, 15, 20, 30, 40, 50, 60, 75, 90, 120, 150, 180, 240, 300, 360, 420, 480, 540, 600}; - static int getSnoozeLocatoin(int time) { + static int getSnoozeLocation(int time) { for (int i=0; i < snoozeValues.length; i++) { if(time == snoozeValues[i]) { return i; @@ -96,9 +96,9 @@ static void SetSnoozePickerValues(NumberPicker picker, boolean above, int defaul picker.setDisplayedValues(values); picker.setWrapSelectorWheel(false); if(default_snooze != 0) { - picker.setValue(getSnoozeLocatoin(default_snooze)); + picker.setValue(getSnoozeLocation(default_snooze)); } else { - picker.setValue(getSnoozeLocatoin(getDefaultSnooze(above))); + picker.setValue(getSnoozeLocation(getDefaultSnooze(above))); } } @@ -226,7 +226,7 @@ public void onClick(View v) { snoozeValue.setMinValue(0); snoozeValue.setDisplayedValues(values); snoozeValue.setWrapSelectorWheel(false); - snoozeValue.setValue(getSnoozeLocatoin(60)); + snoozeValue.setValue(getSnoozeLocation(60)); b1.setOnClickListener(new View.OnClickListener() { @Override