Merge pull request #250 from nightscout/fix/wear-bolusprogress-channels

bolusprogress channels
This commit is contained in:
AdrianLxM 2021-01-22 22:38:10 +01:00 committed by GitHub
commit d538b88a05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 332 additions and 351 deletions

View file

@ -10,7 +10,7 @@
<application
android:name=".aaps"
android:name=".Aaps"
android:allowBackup="true"
android:icon="@drawable/ic_icon"
android:label="@string/app_name"

View file

@ -5,19 +5,16 @@ import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.preference.PreferenceManager;
import androidx.annotation.StringRes;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import info.nightscout.androidaps.interaction.utils.Persistence;
/**
* Created for xDrip+ by Emma Black on 3/21/15.
* Adapted for AAPS by dlvoy 2019-11-06.
*/
public class aaps extends Application implements SharedPreferences.OnSharedPreferenceChangeListener {
public class Aaps extends Application implements SharedPreferences.OnSharedPreferenceChangeListener {
@SuppressLint("StaticFieldLeak")
private static Context context;
@ -26,7 +23,7 @@ public class aaps extends Application implements SharedPreferences.OnSharedPrefe
@Override
public void onCreate() {
aaps.context = getApplicationContext();
Aaps.context = getApplicationContext();
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
sharedPrefs.registerOnSharedPreferenceChangeListener(this);
updatePrefs(sharedPrefs);
@ -39,19 +36,7 @@ public class aaps extends Application implements SharedPreferences.OnSharedPrefe
}
public static Context getAppContext() {
return aaps.context;
}
private static boolean isWear2OrAbove() {
return Build.VERSION.SDK_INT > 23;
}
public static String gs(@StringRes final int id) {
return getAppContext().getString(id);
}
public static String gs(@StringRes final int id, String... args) {
return getAppContext().getString(id, (Object[]) args);
return Aaps.context;
}
public static Boolean areComplicationsUnicode() {

View file

@ -19,7 +19,7 @@ import java.util.Set;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.data.RawDisplayData;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.utils.Constants;
@ -94,11 +94,11 @@ public abstract class BaseComplicationProviderService extends ComplicationProvid
}
break;
case ComplicationData.TYPE_LONG_TEXT:
builder.setLongTitle(ComplicationText.plainText(aaps.gs(R.string.label_warning_sync)));
builder.setLongTitle(ComplicationText.plainText(getString(R.string.label_warning_sync)));
if (since > 0) {
builder.setLongText(ComplicationText.plainText(String.format(aaps.gs(R.string.label_warning_since), DisplayFormat.shortTimeSince(since))));
builder.setLongText(ComplicationText.plainText(String.format(getString(R.string.label_warning_since), DisplayFormat.shortTimeSince(since))));
} else {
builder.setLongText(ComplicationText.plainText(aaps.gs(R.string.label_warning_sync_aaps)));
builder.setLongText(ComplicationText.plainText(getString(R.string.label_warning_sync_aaps)));
}
break;
case ComplicationData.TYPE_LARGE_IMAGE:
@ -143,11 +143,11 @@ public abstract class BaseComplicationProviderService extends ComplicationProvid
}
break;
case ComplicationData.TYPE_LONG_TEXT:
builder.setLongTitle(ComplicationText.plainText(aaps.gs(R.string.label_warning_old)));
builder.setLongTitle(ComplicationText.plainText(getString(R.string.label_warning_old)));
if (since > 0) {
builder.setLongText(ComplicationText.plainText(String.format(aaps.gs(R.string.label_warning_since), DisplayFormat.shortTimeSince(since))));
builder.setLongText(ComplicationText.plainText(String.format(getString(R.string.label_warning_since), DisplayFormat.shortTimeSince(since))));
} else {
builder.setLongText(ComplicationText.plainText(aaps.gs(R.string.label_warning_sync_aaps)));
builder.setLongText(ComplicationText.plainText(getString(R.string.label_warning_sync_aaps)));
}
break;
case ComplicationData.TYPE_LARGE_IMAGE:
@ -223,7 +223,7 @@ public abstract class BaseComplicationProviderService extends ComplicationProvid
// We pass the complication id, so we can only update the specific complication tapped.
final PendingIntent complicationPendingIntent =
ComplicationTapBroadcastReceiver.getTapActionIntent(
aaps.getAppContext(), thisProvider, complicationId, getComplicationAction());
Aaps.getAppContext(), thisProvider, complicationId, getComplicationAction());
final Persistence persistence = new Persistence();
@ -242,12 +242,12 @@ public abstract class BaseComplicationProviderService extends ComplicationProvid
if (WearUtil.msSince(persistence.whenDataUpdated()) > Constants.STALE_MS) {
// no new data arrived - probably configuration or connection error
final PendingIntent infoToast = ComplicationTapBroadcastReceiver.getTapWarningSinceIntent(
aaps.getAppContext(), thisProvider, complicationId, ComplicationAction.WARNING_SYNC, persistence.whenDataUpdated());
Aaps.getAppContext(), thisProvider, complicationId, ComplicationAction.WARNING_SYNC, persistence.whenDataUpdated());
complicationData = buildNoSyncComplicationData(dataType, raw, complicationPendingIntent, infoToast, persistence.whenDataUpdated());
} else if (WearUtil.msSince(raw.datetime) > Constants.STALE_MS) {
// data arriving from phone AAPS, but it is outdated (uploader/NS/xDrip/Sensor error)
final PendingIntent infoToast = ComplicationTapBroadcastReceiver.getTapWarningSinceIntent(
aaps.getAppContext(), thisProvider, complicationId, ComplicationAction.WARNING_OLD, raw.datetime);
Aaps.getAppContext(), thisProvider, complicationId, ComplicationAction.WARNING_OLD, raw.datetime);
complicationData = buildOutdatedComplicationData(dataType, raw, complicationPendingIntent, infoToast, raw.datetime);
} else {
// data is up-to-date, we can render standard complication
@ -349,8 +349,8 @@ public abstract class BaseComplicationProviderService extends ComplicationProvid
Inevitable.task("update-req-"+provider, 700, () -> {
if (WearUtil.isBelowRateLimit("update-req-"+provider, 2)) {
Log.d(TAG, "Requesting update of "+provider);
final ComponentName componentName = new ComponentName(aaps.getAppContext(), provider);
final ProviderUpdateRequester providerUpdateRequester = new ProviderUpdateRequester(aaps.getAppContext(), componentName);
final ComponentName componentName = new ComponentName(Aaps.getAppContext(), provider);
final ProviderUpdateRequester providerUpdateRequester = new ProviderUpdateRequester(Aaps.getAppContext(), componentName);
providerUpdateRequester.requestUpdateAll();
}
});

View file

@ -13,7 +13,7 @@ import android.widget.Toast;
import androidx.annotation.StringRes;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.interaction.actions.BolusActivity;
import info.nightscout.androidaps.interaction.actions.ECarbActivity;
import info.nightscout.androidaps.interaction.actions.WizardActivity;
@ -67,16 +67,16 @@ public class ComplicationTapBroadcastReceiver extends BroadcastReceiver {
// do nothing
return;
case WIZARD:
intentOpen = new Intent(aaps.getAppContext(), WizardActivity.class);
intentOpen = new Intent(Aaps.getAppContext(), WizardActivity.class);
break;
case BOLUS:
intentOpen = new Intent(aaps.getAppContext(), BolusActivity.class);
intentOpen = new Intent(Aaps.getAppContext(), BolusActivity.class);
break;
case ECARB:
intentOpen = new Intent(aaps.getAppContext(), ECarbActivity.class);
intentOpen = new Intent(Aaps.getAppContext(), ECarbActivity.class);
break;
case STATUS:
intentOpen = new Intent(aaps.getAppContext(), StatusMenuActivity.class);
intentOpen = new Intent(Aaps.getAppContext(), StatusMenuActivity.class);
break;
case WARNING_OLD:
case WARNING_SYNC:
@ -84,23 +84,23 @@ public class ComplicationTapBroadcastReceiver extends BroadcastReceiver {
long since = extras.getLong(EXTRA_COMPLICATION_SINCE, oneAndHalfMinuteAgo);
@StringRes int labelId = (action == ComplicationAction.WARNING_SYNC) ?
R.string.msg_warning_sync : R.string.msg_warning_old;
String msg = String.format(aaps.gs(labelId), DisplayFormat.shortTimeSince(since));
Toast.makeText(aaps.getAppContext(), msg, Toast.LENGTH_LONG).show();
String msg = String.format(context.getString(labelId), DisplayFormat.shortTimeSince(since));
Toast.makeText(Aaps.getAppContext(), msg, Toast.LENGTH_LONG).show();
break;
case MENU:
default:
intentOpen = new Intent(aaps.getAppContext(), MainMenuActivity.class);
intentOpen = new Intent(Aaps.getAppContext(), MainMenuActivity.class);
}
if (intentOpen != null) {
// Perform intent - open dialog
intentOpen.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
aaps.getAppContext().startActivity(intentOpen);
Aaps.getAppContext().startActivity(intentOpen);
}
}
private ComplicationAction remapActionWithUserPreferences(ComplicationAction originalAction) {
final String userPrefAction = aaps.getComplicationTapAction();
final String userPrefAction = Aaps.getComplicationTapAction();
switch (originalAction) {
case WARNING_OLD:
case WARNING_SYNC:

View file

@ -14,7 +14,7 @@ import android.view.WindowManager;
import java.io.IOException;
import java.io.InputStream;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.data.RawDisplayData;
/*
@ -33,7 +33,7 @@ public abstract class WallpaperComplication extends BaseComplicationProviderServ
if (dataType == ComplicationData.TYPE_LARGE_IMAGE) {
DisplayMetrics metrics = new DisplayMetrics();
WindowManager windowManager = (WindowManager) aaps.getAppContext()
WindowManager windowManager = (WindowManager) Aaps.getAppContext()
.getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;

View file

@ -1,5 +1,6 @@
package info.nightscout.androidaps.data;
import android.annotation.TargetApi;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
@ -37,7 +38,6 @@ import com.google.android.gms.wearable.WearableListenerService;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interaction.AAPSPreferences;
import info.nightscout.androidaps.interaction.actions.AcceptActivity;
@ -82,7 +82,8 @@ public class ListenerService extends WearableListenerService implements GoogleAp
private static final String ACTION_RESEND_BULK = "com.dexdrip.stephenblack.nightwatch.RESEND_BULK_DATA";
private static final String AAPS_NOTIFY_CHANNEL_ID_OPENLOOP = "AndroidAPS-Openloop";
private static final String AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS = "AndroidAPS-bolus-progress";
private static final String AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS = "bolus progress vibration";
private static final String AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS_SILENT = "bolus progress silent";
GoogleApiClient googleApiClient;
@ -616,17 +617,7 @@ public class ListenerService extends WearableListenerService implements GoogleAp
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
CharSequence name = "AAPS Bolus Progress";
String description = "Bolus progress and cancel";
NotificationChannel channel = new NotificationChannel(AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS, name, NotificationManager.IMPORTANCE_HIGH);
channel.setDescription(description);
channel.enableVibration(true);
channel.setVibrationPattern(vibratePattern);
// Register the channel with the system; you can't change the importance
// or other notification behaviors after this
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
createBolusProgressChannels();
}
Intent cancelIntent = new Intent(this, ListenerService.class);
@ -634,15 +625,15 @@ public class ListenerService extends WearableListenerService implements GoogleAp
PendingIntent cancelPendingIntent = PendingIntent.getService(this, 0, cancelIntent, 0);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this, AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS)
new NotificationCompat.Builder(this, vibrate ? AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS: AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS_SILENT)
.setSmallIcon(R.drawable.ic_icon)
.setContentTitle(aaps.gs(R.string.bolus_progress))
.setContentTitle(getString(R.string.bolus_progress))
.setContentText(progresspercent + "% - " + progresstatus)
.setSubText(aaps.gs(R.string.press_to_cancel))
.setSubText(getString(R.string.press_to_cancel))
.setContentIntent(cancelPendingIntent)
.setPriority(NotificationCompat.PRIORITY_MAX)
.setVibrate(vibratePattern)
.addAction(R.drawable.ic_cancel, aaps.gs(R.string.cancel_bolus), cancelPendingIntent);
.addAction(R.drawable.ic_cancel, getString(R.string.cancel_bolus), cancelPendingIntent);
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(this);
@ -656,6 +647,25 @@ public class ListenerService extends WearableListenerService implements GoogleAp
}
}
@TargetApi(value = 26)
private void createBolusProgressChannels() {
createNotificationChannel(new long[]{0, 50, 1000}, AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS, getString(R.string.bolus_progress_channel_name), getString(R.string.bolus_progress_channel_description));
createNotificationChannel(new long[]{0, 1, 1000}, AAPS_NOTIFY_CHANNEL_ID_BOLUSPROGRESS_SILENT, getString(R.string.bolus_progress_silent_channel_name), getString(R.string.bolus_progress_silent_channel_description));
}
@TargetApi(value = 26)
private void createNotificationChannel(long[] vibratePattern, String channelID, CharSequence name, String description) {
NotificationChannel channel = new NotificationChannel(channelID, name, NotificationManager.IMPORTANCE_HIGH);
channel.setDescription(description);
channel.enableVibration(true);
channel.setVibrationPattern(vibratePattern);
// Register the channel with the system; you can't change the importance
// or other notification behaviors after this
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
private void showConfirmationDialog(String title, String message, String actionstring) {
Intent intent = new Intent(this, AcceptActivity.class);

View file

@ -1,7 +1,6 @@
package info.nightscout.androidaps.interaction.actions;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.wearable.view.DotsPageIndicator;
@ -11,12 +10,10 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import info.nightscout.androidaps.R;
import java.text.DecimalFormat;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.utils.PlusMinusEditText;
import info.nightscout.androidaps.interaction.utils.SafeParse;
@ -72,7 +69,7 @@ public class BolusActivity extends ViewSelectorActivity {
def = SafeParse.stringToDouble(editInsulin.editText.getText().toString());
}
editInsulin = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 30d, 0.1d, new DecimalFormat("#0.0"), false);
setLabelToPlusMinusView(view, aaps.gs(R.string.action_insulin));
setLabelToPlusMinusView(view, getString(R.string.action_insulin));
container.addView(view);
return view;
} else if (col == 1) {
@ -82,7 +79,7 @@ public class BolusActivity extends ViewSelectorActivity {
def = SafeParse.stringToDouble(editCarbs.editText.getText().toString());
}
editCarbs = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 150d, 1d, new DecimalFormat("0"), false);
setLabelToPlusMinusView(view, aaps.gs(R.string.action_carbs));
setLabelToPlusMinusView(view, getString(R.string.action_carbs));
container.addView(view);
return view;
} else {

View file

@ -14,7 +14,6 @@ import android.widget.ImageView;
import java.text.DecimalFormat;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.utils.PlusMinusEditText;
import info.nightscout.androidaps.interaction.utils.SafeParse;
@ -41,7 +40,8 @@ public class CPPActivity extends ViewSelectorActivity {
timeshift = extras.getInt("timeshift", -1);
if (percentage == -1 || timeshift == -25) {
finish(); return;
finish();
return;
}
if (timeshift < 0) timeshift += 24;
@ -84,7 +84,7 @@ public class CPPActivity extends ViewSelectorActivity {
def = SafeParse.stringToDouble(editTimeshift.editText.getText().toString());
}
editTimeshift = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 23d, 1d, new DecimalFormat("0"), true, true);
setLabelToPlusMinusView(view, aaps.gs(R.string.action_timeshift));
setLabelToPlusMinusView(view, getString(R.string.action_timeshift));
container.addView(view);
return view;
} else if (col == 1) {
@ -94,7 +94,7 @@ public class CPPActivity extends ViewSelectorActivity {
def = SafeParse.stringToDouble(editPercentage.editText.getText().toString());
}
editPercentage = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 30d, 250d, 1d, new DecimalFormat("0"), false);
setLabelToPlusMinusView(view, aaps.gs(R.string.action_percentage));
setLabelToPlusMinusView(view, getString(R.string.action_percentage));
container.addView(view);
return view;
} else {

View file

@ -14,7 +14,6 @@ import android.widget.ImageView;
import java.text.DecimalFormat;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.utils.PlusMinusEditText;
import info.nightscout.androidaps.interaction.utils.SafeParse;
@ -72,7 +71,7 @@ public class ECarbActivity extends ViewSelectorActivity {
def = SafeParse.stringToDouble(editCarbs.editText.getText().toString());
}
editCarbs = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 150d, 1d, new DecimalFormat("0"), true);
setLabelToPlusMinusView(view, aaps.gs(R.string.action_carbs));
setLabelToPlusMinusView(view, getString(R.string.action_carbs));
container.addView(view);
return view;
} else if(col == 1){
@ -82,7 +81,7 @@ public class ECarbActivity extends ViewSelectorActivity {
def = SafeParse.stringToDouble(editStartTime.editText.getText().toString());
}
editStartTime = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 300d, 15d, new DecimalFormat("0"), false);
setLabelToPlusMinusView(view, aaps.gs(R.string.action_start_min));
setLabelToPlusMinusView(view, getString(R.string.action_start_min));
container.addView(view);
return view;
} else if(col == 2){
@ -92,7 +91,7 @@ public class ECarbActivity extends ViewSelectorActivity {
def = SafeParse.stringToDouble(editDuration.editText.getText().toString());
}
editDuration = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 8d, 1d, new DecimalFormat("0"), false);
setLabelToPlusMinusView(view, aaps.gs(R.string.action_duration_h));
setLabelToPlusMinusView(view, getString(R.string.action_duration_h));
container.addView(view);
return view;
} else {

View file

@ -1,7 +1,6 @@
package info.nightscout.androidaps.interaction.actions;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.wearable.view.DotsPageIndicator;
@ -11,12 +10,10 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.text.DecimalFormat;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.utils.PlusMinusEditText;
import info.nightscout.androidaps.interaction.utils.SafeParse;
@ -71,7 +68,7 @@ public class FillActivity extends ViewSelectorActivity {
def = SafeParse.stringToDouble(editInsulin.editText.getText().toString());
}
editInsulin = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 30d, 0.1d, new DecimalFormat("#0.0"), false);
setLabelToPlusMinusView(view, aaps.gs(R.string.action_insulin));
setLabelToPlusMinusView(view, getString(R.string.action_insulin));
container.addView(view);
return view;
} else {

View file

@ -17,7 +17,6 @@ import android.widget.TextView;
import java.text.DecimalFormat;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.utils.PlusMinusEditText;
import info.nightscout.androidaps.interaction.utils.SafeParse;
@ -83,7 +82,7 @@ public class TempTargetActivity extends ViewSelectorActivity {
double def = SafeParse.stringToDouble(time.editText.getText().toString());
time = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 24 * 60d, 5d, new DecimalFormat("0"), false);
}
setLabelToPlusMinusView(view, aaps.gs(R.string.action_duration));
setLabelToPlusMinusView(view, getString(R.string.action_duration));
container.addView(view);
return view;
@ -103,9 +102,9 @@ public class TempTargetActivity extends ViewSelectorActivity {
lowRange = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 4d, 10d, 0.1d, new DecimalFormat("#0.0"), false);
}
if (isSingleTarget) {
setLabelToPlusMinusView(view, aaps.gs(R.string.action_target));
setLabelToPlusMinusView(view, getString(R.string.action_target));
} else {
setLabelToPlusMinusView(view, aaps.gs(R.string.action_low));
setLabelToPlusMinusView(view, getString(R.string.action_low));
}
container.addView(view);
return view;
@ -124,7 +123,7 @@ public class TempTargetActivity extends ViewSelectorActivity {
}
highRange = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 4d, 10d, 0.1d, new DecimalFormat("#0.0"), false);
}
setLabelToPlusMinusView(view, aaps.gs(R.string.action_high));
setLabelToPlusMinusView(view, getString(R.string.action_high));
container.addView(view);
return view;
} else {
@ -142,8 +141,7 @@ public class TempTargetActivity extends ViewSelectorActivity {
+ " " + isMGDL
+ " " + SafeParse.stringToInt(time.editText.getText().toString())
+ " " + SafeParse.stringToDouble(lowRange.editText.getText().toString())
+ " " + (isSingleTarget?SafeParse.stringToDouble(lowRange.editText.getText().toString()):SafeParse.stringToDouble(highRange.editText.getText().toString()))
;
+ " " + (isSingleTarget ? SafeParse.stringToDouble(lowRange.editText.getText().toString()) : SafeParse.stringToDouble(highRange.editText.getText().toString()));
ListenerService.initiateAction(TempTargetActivity.this, actionstring);
finish();

View file

@ -1,7 +1,6 @@
package info.nightscout.androidaps.interaction.actions;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.os.Bundle;
@ -13,13 +12,11 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.text.DecimalFormat;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.utils.PlusMinusEditText;
import info.nightscout.androidaps.interaction.utils.SafeParse;
@ -81,7 +78,7 @@ public class WizardActivity extends ViewSelectorActivity {
editCarbs = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 150d, 1d, new DecimalFormat("0"), false);
}
setLabelToPlusMinusView(view, aaps.gs(R.string.action_carbs));
setLabelToPlusMinusView(view, getString(R.string.action_carbs));
container.addView(view);
return view;
} else if (col == 1 && hasPercentage) {
@ -92,7 +89,7 @@ public class WizardActivity extends ViewSelectorActivity {
double def = SafeParse.stringToDouble(editPercentage.editText.getText().toString());
editPercentage = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 50d, 150d, 1d, new DecimalFormat("0"), false);
}
setLabelToPlusMinusView(view, aaps.gs(R.string.action_percentage));
setLabelToPlusMinusView(view, getString(R.string.action_percentage));
container.addView(view);
return view;
} else {
@ -108,7 +105,8 @@ public class WizardActivity extends ViewSelectorActivity {
int percentage = 100;
if (editPercentage != null) percentage = SafeParse.stringToInt(editPercentage.editText.getText().toString());
if (editPercentage != null)
percentage = SafeParse.stringToInt(editPercentage.editText.getText().toString());
String actionstring = "wizard2 " + SafeParse.stringToInt(editCarbs.editText.getText().toString())
+ " " + percentage;

View file

@ -3,7 +3,6 @@ package info.nightscout.androidaps.interaction.menus;
import android.content.Intent;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.actions.FillActivity;
import info.nightscout.androidaps.interaction.utils.MenuListActivity;
@ -17,22 +16,22 @@ public class FillMenuActivity extends MenuListActivity {
@Override
protected String[] getElements() {
return new String[]{
aaps.gs(R.string.action_preset_1),
aaps.gs(R.string.action_preset_2),
aaps.gs(R.string.action_preset_3),
aaps.gs(R.string.action_free_amount)
getString(R.string.action_preset_1),
getString(R.string.action_preset_2),
getString(R.string.action_preset_3),
getString(R.string.action_free_amount)
};
}
@Override
protected void doAction(String action) {
if (aaps.gs(R.string.action_preset_1).equals(action)) {
if (getString(R.string.action_preset_1).equals(action)) {
ListenerService.initiateAction(this, "fillpreset 1");
} else if (aaps.gs(R.string.action_preset_2).equals(action)) {
} else if (getString(R.string.action_preset_2).equals(action)) {
ListenerService.initiateAction(this, "fillpreset 2");
} else if (aaps.gs(R.string.action_preset_3).equals(action)) {
} else if (getString(R.string.action_preset_3).equals(action)) {
ListenerService.initiateAction(this, "fillpreset 3");
} else if (aaps.gs(R.string.action_free_amount).equals(action)) {
} else if (getString(R.string.action_free_amount).equals(action)) {
Intent intent = new Intent(this, FillActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);

View file

@ -8,10 +8,8 @@ import android.preference.PreferenceManager;
import java.util.Vector;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.AAPSPreferences;
import info.nightscout.androidaps.interaction.actions.AcceptActivity;
import info.nightscout.androidaps.interaction.actions.BolusActivity;
import info.nightscout.androidaps.interaction.actions.ECarbActivity;
import info.nightscout.androidaps.interaction.actions.TempTargetActivity;
@ -39,8 +37,8 @@ public class MainMenuActivity extends MenuListActivity {
if(!sharedPreferences.getBoolean("wearcontrol", false)){
return new String[] {
aaps.gs(R.string.menu_settings),
aaps.gs(R.string.menu_resync)};
getString(R.string.menu_settings),
getString(R.string.menu_resync)};
}
@ -48,13 +46,13 @@ public class MainMenuActivity extends MenuListActivity {
boolean showWizard = sp.getBoolean("showWizard", true);
Vector<String> menuitems = new Vector<String>();
menuitems.add(aaps.gs(R.string.menu_tempt));
if(showWizard) menuitems.add(aaps.gs(R.string.menu_wizard));
menuitems.add(aaps.gs(R.string.menu_ecarb));
menuitems.add(aaps.gs(R.string.menu_bolus));
menuitems.add(aaps.gs(R.string.menu_settings));
menuitems.add(aaps.gs(R.string.menu_status));
if (showPrimeFill) menuitems.add(aaps.gs(R.string.menu_prime_fill));
menuitems.add(getString(R.string.menu_tempt));
if(showWizard) menuitems.add(getString(R.string.menu_wizard));
menuitems.add(getString(R.string.menu_ecarb));
menuitems.add(getString(R.string.menu_bolus));
menuitems.add(getString(R.string.menu_settings));
menuitems.add(getString(R.string.menu_status));
if (showPrimeFill) menuitems.add(getString(R.string.menu_prime_fill));
return menuitems.toArray(new String[menuitems.size()]);
}
@ -64,33 +62,33 @@ public class MainMenuActivity extends MenuListActivity {
Intent intent;
if (aaps.gs(R.string.menu_settings).equals(action)) {
if (getString(R.string.menu_settings).equals(action)) {
intent = new Intent(this, AAPSPreferences.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
} else if ("Re-Sync".equals(action)) {
ListenerService.requestData(this);
} else if (aaps.gs(R.string.menu_tempt).equals(action)) {
} else if (getString(R.string.menu_tempt).equals(action)) {
intent = new Intent(this, TempTargetActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
} else if (aaps.gs(R.string.menu_bolus).equals(action)) {
} else if (getString(R.string.menu_bolus).equals(action)) {
intent = new Intent(this, BolusActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
} else if (aaps.gs(R.string.menu_wizard).equals(action)) {
} else if (getString(R.string.menu_wizard).equals(action)) {
intent = new Intent(this, WizardActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
} else if (aaps.gs(R.string.menu_status).equals(action)) {
} else if (getString(R.string.menu_status).equals(action)) {
intent = new Intent(this, StatusMenuActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
} else if (aaps.gs(R.string.menu_prime_fill).equals(action)) {
} else if (getString(R.string.menu_prime_fill).equals(action)) {
intent = new Intent(this, FillMenuActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
} else if (aaps.gs(R.string.menu_ecarb).equals(action)) {
} else if (getString(R.string.menu_ecarb).equals(action)) {
intent = new Intent(this, ECarbActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);

View file

@ -1,7 +1,6 @@
package info.nightscout.androidaps.interaction.menus;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.interaction.utils.MenuListActivity;
@ -14,23 +13,23 @@ public class StatusMenuActivity extends MenuListActivity {
@Override
protected String[] getElements() {
return new String[] {
aaps.gs(R.string.status_pump),
aaps.gs(R.string.status_loop),
aaps.gs(R.string.status_cpp),
aaps.gs(R.string.status_tdd)};
getString(R.string.status_pump),
getString(R.string.status_loop),
getString(R.string.status_cpp),
getString(R.string.status_tdd)};
}
@Override
protected void doAction(String action) {
if (aaps.gs(R.string.status_pump).equals(action)) {
if (getString(R.string.status_pump).equals(action)) {
ListenerService.initiateAction(this, "status pump");
} else if (aaps.gs(R.string.status_loop).equals(action)) {
} else if (getString(R.string.status_loop).equals(action)) {
ListenerService.initiateAction(this, "status loop");
} else if (aaps.gs(R.string.status_cpp).equals(action)) {
} else if (getString(R.string.status_cpp).equals(action)) {
ListenerService.initiateAction(this, "opencpp");
} else if (aaps.gs(R.string.status_tdd).equals(action)) {
} else if (getString(R.string.status_tdd).equals(action)) {
ListenerService.initiateAction(this, "tddstats");
}
}

View file

@ -1,6 +1,6 @@
package info.nightscout.androidaps.interaction.utils;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.data.RawDisplayData;
public class DisplayFormat {
@ -16,15 +16,15 @@ public class DisplayFormat {
public static final int MIN_FIELD_LEN_IOB = 3; // IoB can range from like .1U to 99U
public static String deltaSymbol() {
return aaps.areComplicationsUnicode() ? "\u0394" : "";
return Aaps.areComplicationsUnicode() ? "\u0394" : "";
}
public static String verticalSeparatorSymbol() {
return aaps.areComplicationsUnicode() ? "\u205E" : "|";
return Aaps.areComplicationsUnicode() ? "\u205E" : "|";
}
public static String basalRateSymbol() {
return aaps.areComplicationsUnicode() ? "\u238D\u2006" : "";
return Aaps.areComplicationsUnicode() ? "\u238D\u2006" : "";
}
public static String shortTimeSince(final long refTime) {

View file

@ -9,7 +9,7 @@ import com.google.android.gms.wearable.DataMap;
import java.util.Set;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
/**
* Created by dlvoy on 2019-11-12
@ -21,7 +21,7 @@ public class Persistence {
"info.nightscout.androidaps.complications.COMPLICATION_PROVIDER_PREFERENCES_FILE_KEY";
public Persistence() {
preferences = aaps.getAppContext().getSharedPreferences(COMPLICATION_PROVIDER_PREFERENCES_FILE_KEY, 0);
preferences = Aaps.getAppContext().getSharedPreferences(COMPLICATION_PROVIDER_PREFERENCES_FILE_KEY, 0);
}
@Nullable

View file

@ -4,7 +4,6 @@ import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.SystemClock;
import android.util.Log;
import com.google.android.gms.wearable.DataMap;
@ -15,7 +14,7 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
/**
* Created by andy on 3/5/19.
@ -66,7 +65,7 @@ public class WearUtil {
}
public static PowerManager.WakeLock getWakeLock(final String name, int millis) {
final PowerManager pm = (PowerManager) aaps.getAppContext().getSystemService(Context.POWER_SERVICE);
final PowerManager pm = (PowerManager) Aaps.getAppContext().getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AAPS::"+name);
wl.acquire(millis);
if (debug_wakelocks) Log.d(TAG, "getWakeLock: " + name + " " + wl.toString());
@ -80,11 +79,11 @@ public class WearUtil {
}
public static void startActivity(Class c) {
aaps.getAppContext().startActivity(getStartActivityIntent(c));
Aaps.getAppContext().startActivity(getStartActivityIntent(c));
}
public static Intent getStartActivityIntent(Class c) {
return new Intent(aaps.getAppContext(), c).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
return new Intent(Aaps.getAppContext(), c).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
public static void threadSleep(long millis) {

View file

@ -13,7 +13,6 @@ import android.graphics.Rect;
import android.os.PowerManager;
import android.os.Vibrator;
import android.preference.PreferenceManager;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.support.wearable.view.WatchViewStub;
import android.text.format.DateFormat;
import android.util.Log;
@ -26,20 +25,21 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.google.android.gms.wearable.DataMap;
import com.ustwo.clockwise.common.WatchMode;
import com.ustwo.clockwise.wearable.WatchFace;
import com.ustwo.clockwise.common.WatchFaceTime;
import com.ustwo.clockwise.common.WatchMode;
import com.ustwo.clockwise.common.WatchShape;
import com.ustwo.clockwise.wearable.WatchFace;
import java.text.SimpleDateFormat;
import java.util.Date;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.complications.BaseComplicationProviderService;
import info.nightscout.androidaps.data.RawDisplayData;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.complications.BaseComplicationProviderService;
import info.nightscout.androidaps.data.ListenerService;
import info.nightscout.androidaps.data.RawDisplayData;
import lecho.lib.hellocharts.view.LineChartView;
/**
@ -51,6 +51,15 @@ import lecho.lib.hellocharts.view.LineChartView;
public abstract class BaseWatchFace extends WatchFace implements SharedPreferences.OnSharedPreferenceChangeListener {
public final static IntentFilter INTENT_FILTER;
public static final long[] vibratePattern = {0, 400, 300, 400, 300, 400};
static {
INTENT_FILTER = new IntentFilter();
INTENT_FILTER.addAction(Intent.ACTION_TIME_TICK);
INTENT_FILTER.addAction(Intent.ACTION_TIMEZONE_CHANGED);
INTENT_FILTER.addAction(Intent.ACTION_TIME_CHANGED);
}
public final Point displaySize = new Point();
public TextView mTime, mHour, mMinute, mSgv, mDirection, mTimestamp, mUploaderBattery, mRigBattery, mDelta, mAvgDelta, mStatus, mBasalRate, mIOB1, mIOB2, mCOB1, mCOB2, mBgi, mLoop, mDay, mDayName, mMonth, isAAPSv2, mHighLight, mLowLight;
public ImageView mGlucoseDial, mDeltaGauge, mHourHand, mMinuteHand;
public RelativeLayout mRelativeLayout;
@ -71,23 +80,17 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
public int pointSize = 2;
public BgGraphBuilder bgGraphBuilder;
public LineChartView chart;
public RawDisplayData rawData = new RawDisplayData();
public PowerManager.WakeLock wakeLock;
// related endTime manual layout
public View layoutView;
public final Point displaySize = new Point();
public int specW, specH;
private LocalBroadcastManager localBroadcastManager;
private MessageReceiver messageReceiver;
protected SharedPreferences sharedPrefs;
public boolean forceSquareCanvas = false; //set to true by the Steampunk watch face.
public String sMinute = "0";
public String sHour = "0";
protected SharedPreferences sharedPrefs;
private LocalBroadcastManager localBroadcastManager;
private MessageReceiver messageReceiver;
@Override
public void onCreate() {
@ -184,7 +187,9 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
}
public String readingAge(boolean shortString) {
if (rawData.datetime == 0) { return shortString?"--'":"-- Minute ago"; }
if (rawData.datetime == 0) {
return shortString ? "--'" : "-- Minute ago";
}
int minutesAgo = (int) Math.floor(timeSince() / (1000 * 60));
if (minutesAgo == 1) {
return minutesAgo + (shortString ? "'" : " Minute ago");
@ -203,13 +208,6 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
super.onDestroy();
}
static {
INTENT_FILTER = new IntentFilter();
INTENT_FILTER.addAction(Intent.ACTION_TIME_TICK);
INTENT_FILTER.addAction(Intent.ACTION_TIMEZONE_CHANGED);
INTENT_FILTER.addAction(Intent.ACTION_TIME_CHANGED);
}
@Override
protected void onDraw(Canvas canvas) {
if (layoutSet) {
@ -256,36 +254,6 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
}
}
public class MessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (layoutSet) {
final DataMap dataMap = rawData.updateDataFromMessage(intent, wakeLock);
if (chart != null && dataMap != null) {
rawData.addToWatchSet(dataMap);
setupCharts();
}
rawData.updateStatusFromMessage(intent, wakeLock);
}
setDataFields();
setColor();
if (layoutSet) {
rawData.updateBasalsFromMessage(intent, wakeLock);
}
mRelativeLayout.measure(specW, specH);
if (forceSquareCanvas) {
mRelativeLayout.layout(0, 0, displaySize.x, displaySize.x); //force a square for Steampunk watch face.
} else {
mRelativeLayout.layout(0, 0, displaySize.x, displaySize.y);
}
invalidate();
}
}
public void setDataFields() {
setDateAndTime();
@ -357,7 +325,7 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
mIOB1.setText(rawData.sIOB1);
mIOB2.setText(rawData.sIOB2);
} else {
mIOB1.setText(aaps.gs(R.string.activity_IOB));
mIOB1.setText(getString(R.string.activity_IOB));
mIOB2.setText(rawData.sIOB1);
}
} else {
@ -559,7 +527,9 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
}
protected abstract void setColorDark();
protected abstract void setColorBright();
protected abstract void setColorLowRes();
public void missedReadingAlert() {
@ -584,4 +554,34 @@ public abstract class BaseWatchFace extends WatchFace implements SharedPreferen
}
}
public class MessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (layoutSet) {
final DataMap dataMap = rawData.updateDataFromMessage(intent, wakeLock);
if (chart != null && dataMap != null) {
rawData.addToWatchSet(dataMap);
setupCharts();
}
rawData.updateStatusFromMessage(intent, wakeLock);
}
setDataFields();
setColor();
if (layoutSet) {
rawData.updateBasalsFromMessage(intent, wakeLock);
}
mRelativeLayout.measure(specW, specH);
if (forceSquareCanvas) {
mRelativeLayout.layout(0, 0, displaySize.x, displaySize.x); //force a square for Steampunk watch face.
} else {
mRelativeLayout.layout(0, 0, displaySize.x, displaySize.y);
}
invalidate();
}
}
}

View file

@ -150,7 +150,10 @@
<string name="digitalstyle_pref_your_color">Your color:</string>
<string name="digitalstyle_pref_your_color_saturation">Your color saturation:</string>
<string name="digitalstyle_pref_your_color_opacity">Your color opacity:</string>
<string name="bolus_progress_channel_name">AAPS Bolus Progress</string>
<string name="bolus_progress_silent_channel_name">AAPS Bolus Progress Silent</string>
<string name="bolus_progress_channel_description">Bolus progress and cancel</string>
<string name="bolus_progress_silent_channel_description">Bolus progress and cancel with less vibrations</string>
</resources>

View file

@ -14,7 +14,7 @@ import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.interaction.utils.Constants;
import info.nightscout.androidaps.interaction.utils.Persistence;
import info.nightscout.androidaps.interaction.utils.WearUtil;
@ -28,7 +28,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@RunWith(PowerMockRunner.class)
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, aaps.class, android.util.Base64.class, Intent.class } )
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, Aaps.class, android.util.Base64.class, Intent.class } )
public class RawDataSgvDisplayDataTest {
@Before

View file

@ -16,7 +16,7 @@ import org.powermock.modules.junit4.PowerMockRunner;
import java.util.ArrayList;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.interaction.utils.Constants;
import info.nightscout.androidaps.interaction.utils.Persistence;
import info.nightscout.androidaps.interaction.utils.WearUtil;
@ -34,7 +34,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@RunWith(PowerMockRunner.class)
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, aaps.class, android.util.Base64.class, Intent.class } )
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, Aaps.class, android.util.Base64.class, Intent.class } )
public class RawDisplayDataBasalsTest {
@Before

View file

@ -14,7 +14,7 @@ import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.interaction.utils.Constants;
import info.nightscout.androidaps.interaction.utils.Persistence;
import info.nightscout.androidaps.interaction.utils.WearUtil;
@ -30,7 +30,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@RunWith(PowerMockRunner.class)
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, aaps.class, android.util.Base64.class, Intent.class } )
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, Aaps.class, android.util.Base64.class, Intent.class } )
public class RawDisplayDataStatusTest {
@Before

View file

@ -10,7 +10,7 @@ import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.data.RawDisplayData;
import info.nightscout.androidaps.testing.mockers.AAPSMocker;
import info.nightscout.androidaps.testing.mockers.WearUtilMocker;
@ -30,7 +30,7 @@ import static org.junit.Assert.assertThat;
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, aaps.class } )
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, Aaps.class } )
public class DisplayFormatTest {
@Before

View file

@ -14,7 +14,7 @@ import org.powermock.modules.junit4.PowerMockRunner;
import java.util.Set;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.testing.mockers.AAPSMocker;
import info.nightscout.androidaps.testing.mockers.AndroidMocker;
import info.nightscout.androidaps.testing.mockers.LogMocker;
@ -29,7 +29,7 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
@RunWith(PowerMockRunner.class)
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, aaps.class, android.util.Base64.class} )
@PrepareForTest( { WearUtil.class, Log.class, SharedPreferences.class, Context.class, Aaps.class, android.util.Base64.class} )
public class PersistenceTest {
@Before

View file

@ -3,7 +3,6 @@ package info.nightscout.androidaps.testing.mockers;
import android.content.Context;
import android.content.SharedPreferences;
import org.junit.Assert;
import org.mockito.ArgumentMatchers;
import org.mockito.invocation.InvocationOnMock;
import org.powermock.api.mockito.PowerMockito;
@ -11,7 +10,7 @@ import org.powermock.api.mockito.PowerMockito;
import java.util.HashMap;
import java.util.Map;
import info.nightscout.androidaps.aaps;
import info.nightscout.androidaps.Aaps;
import info.nightscout.androidaps.testing.mocks.SharedPreferencesMock;
import static org.mockito.Mockito.mock;
@ -24,9 +23,9 @@ public class AAPSMocker {
public static void prepareMock() throws Exception {
Context mockedContext = mock(Context.class);
mockStatic(aaps.class, InvocationOnMock::callRealMethod);
mockStatic(Aaps.class, InvocationOnMock::callRealMethod);
PowerMockito.when(aaps.class, "getAppContext").thenReturn(mockedContext);
PowerMockito.when(Aaps.class, "getAppContext").thenReturn(mockedContext);
PowerMockito.when(mockedContext, "getSharedPreferences", ArgumentMatchers.anyString(), ArgumentMatchers.anyInt()).thenAnswer(invocation -> {
final String key = invocation.getArgument(0);
@ -38,7 +37,7 @@ public class AAPSMocker {
return newPrefs;
}
});
PowerMockito.when(aaps.class, "areComplicationsUnicode").thenAnswer(invocation -> unicodeComplicationsOn);
PowerMockito.when(Aaps.class, "areComplicationsUnicode").thenAnswer(invocation -> unicodeComplicationsOn);
setMockedUnicodeComplicationsOn(true);
resetMockedSharedPrefs();