From eaa34927098de5965a6278c68ad2797ee574d1ca Mon Sep 17 00:00:00 2001 From: Hamish <133548095+Hamster45105@users.noreply.github.com> Date: Wed, 15 May 2024 19:01:36 +1000 Subject: [PATCH] Small fixes - Add help page (copied from the Unitto website) - Update README - Add security page (copied from Unitto wiki) - Update body mass button to link to new NumberHub help page - Remove Rate this app button - Remove TOS and Privacy Policy buttons --- HELP.md | 59 +++++++++++++++++++ README.md | 26 +++++--- SECURITY.md | 29 +++++++++ core/base/src/main/res/values-tr/strings.xml | 2 +- .../feature/bodymass/BodyMassScreen.kt | 2 +- .../feature/settings/SettingsScreen.kt | 8 --- .../feature/settings/about/AboutScreen.kt | 28 --------- 7 files changed, 107 insertions(+), 47 deletions(-) create mode 100644 HELP.md create mode 100644 SECURITY.md diff --git a/HELP.md b/HELP.md new file mode 100644 index 00000000..8a056592 --- /dev/null +++ b/HELP.md @@ -0,0 +1,59 @@ +# Help + +## ⌚ Add more time zones? + +No. + +
+But... why? + +Each time zone has its' own set of rules: +- Offset from GMT +- Daylight saving time offset +- Date when daylight saving time is used + +This data always changes. +There are 3 solutions: + +### 1. Paid API service + +**✅Pros:** +- Almost all time zones and cities +- Always up-to-date + +**❌Cons:** +- Costs money +- Needs Internet, can go down, needs a caching mechanism +- Can change API and break Unitto +- Needs to be translated + +### 2. Create my own API service +Pros and cons are same, except this one is free cheaper (you still need to pay). + +### 3. Android's time zone provider (this is what Unitto uses) + +read more: https://source.android.com/docs/core/permissions/timezone-rules + +**✅Pros:** +- Almost all time zones +- Free +- No need to translate (provided by system) +- Doesn't break Unitto +- Works offline, never goes down + +**❌Cons:** +- Less cities +- Less frequent updates (or none if you are unlucky) +
+ +## 👩‍⚕️ Body Mass Index + +Please note that the values displayed in the app are intended for entertainment purposes only. They can not replace professional medical advice. Please don't use Body Mass calculator if you are: +- Under 21 +- Pregnant +- Diagnosed with an eating disorder + +Please contact your care provider for more information. + +## 💵 Wrong Currency Rates? +Currency rates are updated daily. There's no real-time market monitoring in the app. \ No newline at end of file diff --git a/README.md b/README.md index 44e1339b..508c87d9 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ +# NumberHub +➗ Your Hub for ✖️ Math / 💲 Currency rates / 📆 Date calculations / ⌚ Time zones + +> [!NOTE] +> This app was originally created by [sadellie](https://github.com/sadellie). + Unfortunately, it has been archived on March 1st, 2024 (https://github.com/sadellie/unitto) without any notice or explanation. Since there has been no activity from sadellie on GitHub since then, I guess they are not actively working on projects anymore. I will maintain this app, but I do not plan to add new features. I don't have enough time to do that, but you are welcome to contribute. I will review and merge your pull requests. +

@@ -7,14 +14,15 @@

-## Notice +## Download -This app was originally created by [sadellie](https://github.com/sadellie). -Unfortunately, it has been archived on March 1st, 2024 (https://github.com/sadellie/unitto) -without any notice or explanation. -Since there has been no activity from sadellie on GitHub since then, I guess -they are not actively working on projects anymore. + + -I will maintain this app, but I do not plan to add new features. -I don't have enough time to do that, but you are welcome to contribute. -I will review and merge your pull requests. + + + +## Help +See [HELP.md](HELP.md) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..8952d1f2 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,29 @@ +### `com.sadellie.unitto.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION` + +Read (boring): https://developer.android.com/about/versions/14/behavior-changes-14#runtime-receivers-exported + +### `android.permission.INTERNET` + +Used in **Unit Converter** to update currency rates. Requests are made only when you select a currency unit. + +### `android.permission.ACCESS_NETWORK_STATE` + +Used in Unit Converter as a callback. Retries to update currency rates if there was an error (no network, for example) and the Internet connection is back. + +### `android.permission.WAKE_LOCK` + +Not used explicitly. Added automatically by Widget feature. + +### `android.permission.RECEIVE_BOOT_COMPLETED` + +Not used explicitly. Added automatically by Widget feature. + +### `android.permission.FOREGROUND_SERVICE` + +Not used explicitly. Added automatically by Widget feature. + +### Non-free network service + +Non-free doesn't mean that you need to pay, put your credit card away. In this context it means that you can't host it on your machine (why would anyone want to host a currency API service?). + +The app uses [Free Currency Rates API by fawazahmed0](https://github.com/fawazahmed0/exchange-api). Requests are send to `cdn.jsdelivr.net`. \ No newline at end of file diff --git a/core/base/src/main/res/values-tr/strings.xml b/core/base/src/main/res/values-tr/strings.xml index b03731db..272adc89 100644 --- a/core/base/src/main/res/values-tr/strings.xml +++ b/core/base/src/main/res/values-tr/strings.xml @@ -146,7 +146,7 @@ Maybe this can be labeled better? Let me know. It should be something that can d Boşluk Başlangıç ekranı Uygulamayı başlattığınızda hangi ekranın gösterileceğini seçin - + Sistem diff --git a/feature/bodymass/src/main/java/app/myzel394/numberhub/feature/bodymass/BodyMassScreen.kt b/feature/bodymass/src/main/java/app/myzel394/numberhub/feature/bodymass/BodyMassScreen.kt index d1b48193..bd08efdb 100644 --- a/feature/bodymass/src/main/java/app/myzel394/numberhub/feature/bodymass/BodyMassScreen.kt +++ b/feature/bodymass/src/main/java/app/myzel394/numberhub/feature/bodymass/BodyMassScreen.kt @@ -204,7 +204,7 @@ private fun BodyMassScreen( ElevatedButton( onClick = { - openLink(mContext, "https://sadellie.github.io/unitto/help#body-mass-index") + openLink(mContext, "https://github.com/Myzel394/NumberHub/blob/master/HELP.md#body-mass-index") }, ) { Text(text = stringResource(R.string.time_zone_no_results_button)) // TODO Rename diff --git a/feature/settings/src/main/java/app/myzel394/numberhub/feature/settings/SettingsScreen.kt b/feature/settings/src/main/java/app/myzel394/numberhub/feature/settings/SettingsScreen.kt index d1967982..f5432ca8 100644 --- a/feature/settings/src/main/java/app/myzel394/numberhub/feature/settings/SettingsScreen.kt +++ b/feature/settings/src/main/java/app/myzel394/numberhub/feature/settings/SettingsScreen.kt @@ -329,14 +329,6 @@ private fun SettingsScreen( ) } - if (BuildConfig.STORE_LINK.isNotEmpty()) { - ListItem( - icon = Icons.Default.RateReview, - headlineText = stringResource(R.string.settings_rate_this_app), - modifier = Modifier.clickable { openLink(mContext, BuildConfig.STORE_LINK) }, - ) - } - ListItem( icon = Icons.Default.Info, headlineText = stringResource(R.string.settings_about_unitto), diff --git a/feature/settings/src/main/java/app/myzel394/numberhub/feature/settings/about/AboutScreen.kt b/feature/settings/src/main/java/app/myzel394/numberhub/feature/settings/about/AboutScreen.kt index d3e20f72..7a479ed2 100644 --- a/feature/settings/src/main/java/app/myzel394/numberhub/feature/settings/about/AboutScreen.kt +++ b/feature/settings/src/main/java/app/myzel394/numberhub/feature/settings/about/AboutScreen.kt @@ -85,34 +85,6 @@ private fun AboutScreen( ) } - // TERMS AND CONDITIONS - item { - ListItem( - icon = Icons.Default.PrivacyTip, - headlineText = stringResource(R.string.settings_terms_and_conditions), - modifier = Modifier.clickable { - openLink( - mContext, - "https://sadellie.github.io/unitto/terms", - ) - }, - ) - } - - // PRIVACY POLICY - item { - ListItem( - icon = Icons.Default.Policy, - headlineText = stringResource(R.string.settings_privacy_policy), - modifier = Modifier.clickable { - openLink( - mContext, - "https://sadellie.github.io/unitto/privacy", - ) - }, - ) - } - // OPEN SOURCE item { ListItem(