From 856c735ba33245d6f859ea23dd4f8a3013fd1b48 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Wed, 25 Aug 2021 21:17:55 +0200 Subject: [PATCH] Add all contributors to About screen You all are amazing, thank you for helping me make this app :) --- CHANGELOG.md | 1 + .../protect/card_locker/AboutActivity.java | 28 +++++++++++++++++-- app/src/main/res/values/strings.xml | 1 + 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8031ccc99..f1987cc4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Changes: - Add theming colour support (thanks, Subhashish Anand!) - Don't close scan activity on camera error (so manual entry is still possible) +- Add all contributors to the about dialog ## v2.3.0 (2021-08-19) diff --git a/app/src/main/java/protect/card_locker/AboutActivity.java b/app/src/main/java/protect/card_locker/AboutActivity.java index 0ab4f86cb..ee2c3d356 100644 --- a/app/src/main/java/protect/card_locker/AboutActivity.java +++ b/app/src/main/java/protect/card_locker/AboutActivity.java @@ -1,6 +1,5 @@ package protect.card_locker; -import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; @@ -13,6 +12,10 @@ import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.Toolbar; import androidx.core.text.HtmlCompat; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Calendar; import java.util.List; @@ -35,6 +38,23 @@ public class AboutActivity extends CatimaAppCompatActivity actionBar.setDisplayHomeAsUpEnabled(true); } + StringBuilder contributors = new StringBuilder().append("
"); + + BufferedReader reader = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.contributors), StandardCharsets.UTF_8)); + + try { + while (true) { + String tmp = reader.readLine(); + + if (tmp == null || tmp.isEmpty()) { + break; + } + + contributors.append("
"); + contributors.append(tmp); + } + } catch (IOException ignored) {} + final List USED_LIBRARIES = new ArrayList<>(); USED_LIBRARIES.add(new ThirdPartyInfo("Color Picker", "https://github.com/jaredrummler/ColorPicker", "Apache 2.0")); USED_LIBRARIES.add(new ThirdPartyInfo("Commons CSV", "https://commons.apache.org/proper/commons-csv/", "Apache 2.0")); @@ -49,13 +69,13 @@ public class AboutActivity extends CatimaAppCompatActivity StringBuilder libs = new StringBuilder().append("
"); for (ThirdPartyInfo entry : USED_LIBRARIES) { - libs.append("
").append(entry.name()).append(" (").append(entry.license()).append(")
"); + libs.append("
").append(entry.name()).append(" (").append(entry.license()).append(")"); } StringBuilder resources = new StringBuilder().append("
"); for (ThirdPartyInfo entry : USED_ASSETS) { - resources.append("
").append(entry.name()).append(" (").append(entry.license()).append(")
"); + resources.append("
").append(entry.name()).append(" (").append(entry.license()).append(")"); } String appName = getString(R.string.app_name); @@ -88,6 +108,8 @@ public class AboutActivity extends CatimaAppCompatActivity "

" + getString(R.string.app_license) + "

" + + String.format(getString(R.string.app_contributors), contributors.toString()) + + "

" + String.format(getString(R.string.app_libraries), libs.toString()) + "

" + String.format(getString(R.string.app_resources), resources.toString()), HtmlCompat.FROM_HTML_MODE_COMPACT)); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 42c405a1c..bcfa001e2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -237,5 +237,6 @@ green_theme grey_theme brown_theme + Made possible by: %s