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
This commit is contained in:
Hamish 2024-05-15 19:01:36 +10:00
parent 3f6fa9172c
commit eaa3492709
7 changed files with 107 additions and 47 deletions

59
HELP.md Normal file
View File

@ -0,0 +1,59 @@
# Help
## ⌚ Add more time zones?
No.
<details>
<summary>But... why?</summary>
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)
</details>
## 👩‍⚕️ 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.

View File

@ -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.
<p align="middle"> <p align="middle">
<img src="./fastlane/metadata/android/en-US/images/featureGraphic.png" width="97%" /> <img src="./fastlane/metadata/android/en-US/images/featureGraphic.png" width="97%" />
<img src="./fastlane/metadata/android/en-US/images/phoneScreenshots/slide1.png" width="19%" /> <img src="./fastlane/metadata/android/en-US/images/phoneScreenshots/slide1.png" width="19%" />
@ -7,14 +14,15 @@
<img src="./fastlane/metadata/android/en-US/images/phoneScreenshots/slide5.png" width="19%" /> <img src="./fastlane/metadata/android/en-US/images/phoneScreenshots/slide5.png" width="19%" />
</p> </p>
## Notice ## Download
This app was originally created by [sadellie](https://github.com/sadellie). <a href="https://github.com/Myzel394/NumberHub/releases">
Unfortunately, it has been archived on March 1st, 2024 (https://github.com/sadellie/unitto) <img src="https://user-images.githubusercontent.com/69304392/148696068-0cfea65d-b18f-4685-82b5-329a330b1c0d.png"
without any notice or explanation. alt="Download from GitHub releases" align="center" height="80" /></a>
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. <a href="https://apps.obtainium.imranr.dev/redirect?r=obtainium://add/https://github.com/Myzel394/NumberHub//">
I don't have enough time to do that, but you are welcome to contribute. <img src="https://github.com/ImranR98/Obtainium/blob/main/assets/graphics/badge_obtainium.png"
I will review and merge your pull requests. alt="Get it on Obtainium" align="center" height="54" /></a>
## Help
See [HELP.md](HELP.md)

29
SECURITY.md Normal file
View File

@ -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`.

View File

@ -204,7 +204,7 @@ private fun BodyMassScreen(
ElevatedButton( ElevatedButton(
onClick = { 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 Text(text = stringResource(R.string.time_zone_no_results_button)) // TODO Rename

View File

@ -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( ListItem(
icon = Icons.Default.Info, icon = Icons.Default.Info,
headlineText = stringResource(R.string.settings_about_unitto), headlineText = stringResource(R.string.settings_about_unitto),

View File

@ -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 // OPEN SOURCE
item { item {
ListItem( ListItem(