From 4ee88a7fe6bba336c10877da40d2947cc307410b Mon Sep 17 00:00:00 2001 From: mueller-ma Date: Sun, 2 Oct 2022 22:12:14 +0200 Subject: [PATCH] Parse Sunrise Switzerland (#140) Fixes #136 --- .../github/muellerma/prepaidbalance/utils/ResponseParser.kt | 3 +++ app/src/main/res/values-mcc228-mnc002/strings.xml | 5 +++++ .../github/muellerma/prepaidbalance/ResponseParserTest.kt | 6 ++++++ 3 files changed, 14 insertions(+) create mode 100644 app/src/main/res/values-mcc228-mnc002/strings.xml diff --git a/app/src/main/java/com/github/muellerma/prepaidbalance/utils/ResponseParser.kt b/app/src/main/java/com/github/muellerma/prepaidbalance/utils/ResponseParser.kt index aaa2006..5aacf5c 100644 --- a/app/src/main/java/com/github/muellerma/prepaidbalance/utils/ResponseParser.kt +++ b/app/src/main/java/com/github/muellerma/prepaidbalance/utils/ResponseParser.kt @@ -26,6 +26,9 @@ class ResponseParser { Matcher("Generic PLN", "^(.*?)((\\d)+\\.(\\d){1,2}) PLN(.*?)\$".toRegex()) { groups -> return@Matcher parseRegexGroupAsDouble(groups, 2) }, + Matcher("Generic CHF", "^(.*?)((\\d)+\\.(\\d){1,2}) CHF(.*?)\$".toRegex()) { groups -> + return@Matcher parseRegexGroupAsDouble(groups, 2) + }, Matcher("Generic", "^(.*?)((\\d)+\\.?(\\d)?(\\d)?)(.*)\$".toRegex()) { groups -> return@Matcher parseRegexGroupAsDouble(groups, 2) }, diff --git a/app/src/main/res/values-mcc228-mnc002/strings.xml b/app/src/main/res/values-mcc228-mnc002/strings.xml new file mode 100644 index 0000000..e39a5e0 --- /dev/null +++ b/app/src/main/res/values-mcc228-mnc002/strings.xml @@ -0,0 +1,5 @@ + + + + *121# + \ No newline at end of file diff --git a/app/src/test/java/com/github/muellerma/prepaidbalance/ResponseParserTest.kt b/app/src/test/java/com/github/muellerma/prepaidbalance/ResponseParserTest.kt index 6106981..5ee8818 100644 --- a/app/src/test/java/com/github/muellerma/prepaidbalance/ResponseParserTest.kt +++ b/app/src/test/java/com/github/muellerma/prepaidbalance/ResponseParserTest.kt @@ -95,5 +95,11 @@ class ResponseParserTest { 56.78, ResponseParser.getBalance("Current plan active until 08/10/2022 and will renew for \$12.34. Account Balance \$56.78. Add money by dialing *233 or redeem a refill card.") ) + + // Sunrise Switzerland + assertEquals( + 12.34, + ResponseParser.getBalance("Ihr Guthaben betrÃĪgt CHF 12.34") + ) } } \ No newline at end of file