Skip to content

Commit adb31d0

Browse files
authored
Merge pull request #53 from osservatorionessuno/credits
Update licenses, add credits section in app
2 parents dc74d20 + f64714a commit adb31d0

File tree

5 files changed

+83
-77
lines changed

5 files changed

+83
-77
lines changed

COPYING

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ copyright notices and license terms:
1010
modified:
1111

1212
* AdbConnectionManager.java
13-
* AdbViewModel.java
1413

1514
Distributed under the GNU General Public License, version 3
1615

@@ -22,3 +21,18 @@ copyright notices and license terms:
2221

2322
Distributed under the Apache License 2.0
2423
<https://github.com/RikkaApps/Shizuku/blob/master/LICENSE>
24+
25+
Bugbane translations are possible thanks to volountaries contributions.
26+
Translations are licensed under GPL 3.0 terms.
27+
28+
The complete list of translators is available at the following URL:
29+
<https://hosted.weblate.org/credits/bugbane/>
30+
31+
* English
32+
33+
* Davide TheZero (TheZ3ro) - 7
34+
35+
* Italian
36+
37+
* TheZ3ro (TheZ3ro) - 82
38+
* Giulio B. (giulio) - 4

LICENSES/BSD-3-Clause

Lines changed: 0 additions & 36 deletions
This file was deleted.

LICENSES/MIT

Lines changed: 0 additions & 33 deletions
This file was deleted.

app/src/main/java/org/osservatorionessuno/bugbane/AboutActivity.kt

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import androidx.compose.foundation.verticalScroll
1212
import androidx.compose.material.icons.Icons
1313
import androidx.compose.material.icons.automirrored.filled.ArrowBack
1414
import androidx.compose.material.icons.filled.Email
15+
import androidx.compose.material.icons.filled.Translate
1516
import androidx.compose.material.icons.filled.Favorite
1617
import androidx.compose.material3.*
1718
import androidx.compose.runtime.*
@@ -43,11 +44,12 @@ fun AboutContent() {
4344

4445
val contactUrl = stringResource(R.string.about_contact_url)
4546
val donateUrl = stringResource(R.string.about_donate_url)
47+
val moreCreditsUrl = stringResource(R.string.more_credits_url)
4648

4749
Scaffold(
4850
topBar = {
4951
TopAppBar(
50-
title = { Text(stringResource(R.string.about_title)) },
52+
title = { Text(stringResource(R.string.settings_about)) },
5153
navigationIcon = {
5254
IconButton(onClick = { (context as? ComponentActivity)?.finish() }) {
5355
Icon(
@@ -145,6 +147,60 @@ fun AboutContent() {
145147
}
146148
}
147149
}
150+
Card(
151+
modifier = Modifier.fillMaxWidth(),
152+
elevation = CardDefaults.cardElevation(defaultElevation = 2.dp)
153+
) {
154+
Column(
155+
modifier = Modifier.padding(20.dp)
156+
) {
157+
Text(
158+
text = stringResource(R.string.about_credits_title),
159+
style = MaterialTheme.typography.headlineSmall,
160+
fontWeight = FontWeight.Bold
161+
)
162+
Spacer(modifier = Modifier.height(8.dp))
163+
Text(
164+
text = stringResource(R.string.about_credits_description),
165+
style = MaterialTheme.typography.bodyMedium,
166+
lineHeight = MaterialTheme.typography.bodyMedium.lineHeight * 1.2
167+
)
168+
Spacer(modifier = Modifier.height(12.dp))
169+
Text(
170+
text = stringResource(R.string.credits),
171+
style = MaterialTheme.typography.bodyMedium,
172+
lineHeight = MaterialTheme.typography.bodyMedium.lineHeight * 1.2
173+
)
174+
Spacer(modifier = Modifier.height(12.dp))
175+
Button(
176+
onClick = {
177+
val intent = Intent(Intent.ACTION_VIEW).apply {
178+
data = Uri.parse(moreCreditsUrl)
179+
}
180+
context.startActivity(intent)
181+
},
182+
modifier = Modifier.fillMaxWidth(),
183+
colors = ButtonDefaults.buttonColors(
184+
containerColor = MaterialTheme.colorScheme.secondary,
185+
contentColor = MaterialTheme.colorScheme.onSecondary
186+
)
187+
) {
188+
Icon(
189+
imageVector = Icons.Default.Translate,
190+
contentDescription = null,
191+
modifier = Modifier.size(20.dp)
192+
)
193+
Spacer(modifier = Modifier.width(8.dp))
194+
Text(
195+
text = stringResource(R.string.more_credits_button),
196+
style = MaterialTheme.typography.bodyLarge.copy(
197+
fontWeight = FontWeight.Medium
198+
)
199+
)
200+
}
201+
Spacer(modifier = Modifier.height(8.dp))
202+
}
203+
}
148204
}
149205
}
150206
}

app/src/main/res/values/strings.xml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@
6767
<string name="settings_indicators_last_update">Last update: %1$s</string>
6868
<string name="settings_indicators_count">Indicator files: %1$d</string>
6969
<string name="settings_indicators_desc">The indicators of compromise (IoCs) are used to identify signs of infections or surveillance on Android devices. They are updated periodically to ensure the accuracy of the analysis.</string>
70-
<string name="settings_about">About Us</string>
71-
<string name="settings_about_desc">Bugbane is an open-source project made by Osservatorio Nessuno. Learn more about Osservatorio Nessuno</string>
70+
<string name="settings_about">About Us &amp; Credits</string>
71+
<string name="settings_about_desc">Bugbane is an open-source project developed by Osservatorio Nessuno OdV.</string>
7272
<string name="settings_version">Bugbane version: %1$s</string>
7373

7474
<!-- Indicator update notification -->
@@ -133,13 +133,18 @@
133133
<string name="analysis_details_analysis_completed">Analysis completed: %1$s</string>
134134

135135
<!-- About screen strings -->
136-
<string name="about_title">About Us</string>
137136
<string name="about_organization_title">Osservatorio Nessuno</string>
138-
<string name="about_organization_description">Osservatorio Nessuno OdV is a registered non-profit Italian organization, run entirely by volunteers. We are committed to defending the right to privacy, anonymity, freedom of information, expression, and communication, as well as digital rights more broadly.
139-
\n\n
140-
For years, many of our members have voluntarily offered support to activists affected by technological repression, providing self-defense tools, consultations, and assistance to individuals under prosecution.</string>
137+
<string name="about_organization_description">Osservatorio Nessuno OdV is a registered non-profit Italian organization, run entirely by volunteers. We are committed to defending the right to privacy, anonymity, freedom of information, expression, and communication, as well as digital rights more broadly.</string>
141138
<string name="about_contact_button">Contact Us</string>
142139
<string name="about_contact_url">https://osservatorionessuno.org/contacts/</string>
143140
<string name="about_donate_button">Donate</string>
144141
<string name="about_donate_url">https://osservatorionessuno.org/donate/</string>
142+
<string name="about_credits_title">Credits</string>
143+
<string name="about_credits_description">Bugbane has been developed by Osservatorio Nessuno OdV with the help of the following volunteers:</string>
144+
<string name="credits">Giulio @lsd-cat (maintainer, italian translation)
145+
Davide @thez3ro (maintainer, italian translation)
146+
Rowen @rocodes (maintainer)
147+
</string>
148+
<string name="more_credits_button">Translators</string>
149+
<string name="more_credits_url">https://hosted.weblate.org/credits/bugbane/</string>
145150
</resources>

0 commit comments

Comments
 (0)