This commit is contained in:
Milos Kozak 2018-06-25 20:04:03 +02:00
commit 6d1fa2ffda
5 changed files with 28 additions and 18 deletions

View file

@ -103,14 +103,11 @@ public class ProfileSwitch implements Interval, DataPointWithLabelInterface {
if(LocalProfilePlugin.LOCAL_PROFILE.equals(name)){ if(LocalProfilePlugin.LOCAL_PROFILE.equals(name)){
name = DecimalFormatter.to2Decimal(getProfileObject().percentageBasalSum()) + "U "; name = DecimalFormatter.to2Decimal(getProfileObject().percentageBasalSum()) + "U ";
} }
//Test if name is already containing percentage or timeshift if (isCPP) {
if (!name.endsWith("h)") || !name.endsWith("%)")) { name += "(" + percentage + "%";
if (isCPP) { if (timeshift != 0)
name += "(" + percentage + "%"; name += "," + timeshift + "h";
if (timeshift != 0) name += ")";
name += "," + timeshift + "h";
name += ")";
}
} }
return name; return name;
} }

View file

@ -109,7 +109,7 @@ public class ConfigBuilderFragment extends SubscriberFragment {
createViewsForPlugins(R.string.configbuilder_sensitivity, R.string.configbuilder_sensitivity_description, PluginType.SENSITIVITY, MainApp.getSpecificPluginsVisibleInListByInterface(SensitivityInterface.class, PluginType.SENSITIVITY)); createViewsForPlugins(R.string.configbuilder_sensitivity, R.string.configbuilder_sensitivity_description, PluginType.SENSITIVITY, MainApp.getSpecificPluginsVisibleInListByInterface(SensitivityInterface.class, PluginType.SENSITIVITY));
createViewsForPlugins(R.string.configbuilder_aps, R.string.configbuilder_aps_description, PluginType.APS, MainApp.getSpecificPluginsVisibleInList(PluginType.APS)); createViewsForPlugins(R.string.configbuilder_aps, R.string.configbuilder_aps_description, PluginType.APS, MainApp.getSpecificPluginsVisibleInList(PluginType.APS));
createViewsForPlugins(R.string.configbuilder_loop, R.string.configbuilder_loop_description, PluginType.LOOP, MainApp.getSpecificPluginsVisibleInList(PluginType.LOOP)); createViewsForPlugins(R.string.configbuilder_loop, R.string.configbuilder_loop_description, PluginType.LOOP, MainApp.getSpecificPluginsVisibleInList(PluginType.LOOP));
createViewsForPlugins(R.string.configbuilder_constraints, R.string.configbuilder_constraints_description, PluginType.CONSTRAINTS, MainApp.getSpecificPluginsVisibleInListByInterface(ConstraintsInterface.class, PluginType.CONSTRAINTS)); createViewsForPlugins(R.string.constraints, R.string.configbuilder_constraints_description, PluginType.CONSTRAINTS, MainApp.getSpecificPluginsVisibleInListByInterface(ConstraintsInterface.class, PluginType.CONSTRAINTS));
createViewsForPlugins(R.string.configbuilder_treatments, R.string.configbuilder_treatments_description, PluginType.TREATMENT, MainApp.getSpecificPluginsVisibleInList(PluginType.TREATMENT)); createViewsForPlugins(R.string.configbuilder_treatments, R.string.configbuilder_treatments_description, PluginType.TREATMENT, MainApp.getSpecificPluginsVisibleInList(PluginType.TREATMENT));
createViewsForPlugins(R.string.configbuilder_general, R.string.configbuilder_general_description, PluginType.GENERAL, MainApp.getSpecificPluginsVisibleInList(PluginType.GENERAL)); createViewsForPlugins(R.string.configbuilder_general, R.string.configbuilder_general_description, PluginType.GENERAL, MainApp.getSpecificPluginsVisibleInList(PluginType.GENERAL));
} }

View file

@ -8,14 +8,23 @@ import java.util.regex.Pattern;
*/ */
public class PercentageSplitter { public class PercentageSplitter {
// "Profile name (200%,2h)"
private static final Pattern percentagePattern = Pattern.compile("(.+)\\(\\d+%,\\d+h\\)");
// "Profile name (200%)"
private static final Pattern percentageShiftPattern = Pattern.compile("(.+)\\(\\d+%\\)");
/** Removes the suffix for percentage and timeshift from a profile name. */
public static String pureName(String name) { public static String pureName(String name) {
String newName = name; Matcher percentageMatch = percentagePattern.matcher(name);
String s = "(.*)\\((\\d+)\\%\\)"; if (percentageMatch.find()) {
Pattern r = Pattern.compile(s); return percentageMatch.group(1).trim();
Matcher m = r.matcher(name);
if (m.find()) {
newName = m.group(1);
} }
return newName;
Matcher percentageShiftMatch = percentageShiftPattern.matcher(name);
if (percentageShiftMatch.find()) {
return percentageShiftMatch.group(1).trim();
}
return name;
} }
} }

View file

@ -88,7 +88,6 @@
<string name="configbuilder">Konfigurationsverktyg</string> <string name="configbuilder">Konfigurationsverktyg</string>
<string name="configbuilder_aps">APS</string> <string name="configbuilder_aps">APS</string>
<string name="configbuilder_bgsource">BG-källa</string> <string name="configbuilder_bgsource">BG-källa</string>
<string name="configbuilder_constraints">Begränsningar</string>
<string name="configbuilder_general">Generella inställningar</string> <string name="configbuilder_general">Generella inställningar</string>
<string name="configbuilder_insulin">Insulin</string> <string name="configbuilder_insulin">Insulin</string>
<string name="configbuilder_loop">Loop</string> <string name="configbuilder_loop">Loop</string>

View file

@ -14,7 +14,12 @@ public class PercentageSplitterTest {
} }
@Test @Test
public void pureNameTest() throws Exception { public void pureNameTestPercentageOnly() {
assertEquals("Fiasp", PercentageSplitter.pureName("Fiasp(101%)")); assertEquals("Fiasp", PercentageSplitter.pureName("Fiasp(101%)"));
} }
@Test
public void pureNameTestPercentageAndShift() {
assertEquals("Fiasp", PercentageSplitter.pureName("Fiasp (101%,2h)"));
}
} }