summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-04-08 22:54:33 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-05-19 12:13:36 +0000
commitcfe2c6e272b2a7c4805711f596386522807633a4 (patch)
tree324fb1e193894da4cccadfd0ca3629631712356f /android
parent56e30f0fbae11a847af17e1adedf097b384b3ed8 (diff)
downloadmullvadvpn-cfe2c6e272b2a7c4805711f596386522807633a4.tar.xz
mullvadvpn-cfe2c6e272b2a7c4805711f596386522807633a4.zip
Refactor Android string resource map construction
Diffstat (limited to 'android')
-rw-r--r--android/translations-converter/src/main.rs26
1 files changed, 5 insertions, 21 deletions
diff --git a/android/translations-converter/src/main.rs b/android/translations-converter/src/main.rs
index d755913243..583ed8c5e1 100644
--- a/android/translations-converter/src/main.rs
+++ b/android/translations-converter/src/main.rs
@@ -49,28 +49,12 @@ fn main() {
serde_xml_rs::from_reader(strings_file).expect("Failed to read string resources file");
string_resources.normalize();
- string_resources.retain(|string| string.translatable);
- let mut known_urls = HashMap::with_capacity(string_resources.len());
- let mut known_strings = HashMap::with_capacity(string_resources.len());
-
- for string in string_resources {
- let destination = if string.value.starts_with("https://mullvad.net/en/") {
- &mut known_urls
- } else {
- &mut known_strings
- };
-
- if destination
- .insert(string.value.to_string(), string.name)
- .is_some()
- {
- panic!(
- "String {:?} has more than one Android resource ID",
- string.value
- );
- }
- }
+ let (known_urls, known_strings): (HashMap<_, _>, HashMap<_, _>) = string_resources
+ .into_iter()
+ .filter(|resource| resource.translatable)
+ .map(|resource| (resource.value.to_string(), resource.name))
+ .partition(|(string, _id)| string.starts_with("https://mullvad.net/en/"));
let plurals_file = File::open(resources_dir.join("values/plurals.xml"))
.expect("Failed to open plurals resources file");