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)){
name = DecimalFormatter.to2Decimal(getProfileObject().percentageBasalSum()) + "U ";
}
//Test if name is already containing percentage or timeshift
if (!name.endsWith("h)") || !name.endsWith("%)")) {
if (isCPP) {
name += "(" + percentage + "%";
if (timeshift != 0)
name += "," + timeshift + "h";
name += ")";
}
if (isCPP) {
name += "(" + percentage + "%";
if (timeshift != 0)
name += "," + timeshift + "h";
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_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_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_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 {
// "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) {
String newName = name;
String s = "(.*)\\((\\d+)\\%\\)";
Pattern r = Pattern.compile(s);
Matcher m = r.matcher(name);
if (m.find()) {
newName = m.group(1);
Matcher percentageMatch = percentagePattern.matcher(name);
if (percentageMatch.find()) {
return percentageMatch.group(1).trim();
}
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_aps">APS</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_insulin">Insulin</string>
<string name="configbuilder_loop">Loop</string>

View file

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