mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-14 18:26:11 -04:00
Compare commits
20
Commits
v1.3.13
...
v1.3.14-rc0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
753d311593 | ||
|
|
5bae3d9931 | ||
|
|
a3495a8218 | ||
|
|
5fa68f77a2 | ||
|
|
dbba2e9791 | ||
|
|
6207f26a68 | ||
|
|
7fcd39822e | ||
|
|
d20f8a604f | ||
|
|
a742646127 | ||
|
|
f5078d5ef2 | ||
|
|
3784084abc | ||
|
|
2f463b7735 | ||
|
|
7be5625d66 | ||
|
|
aef14a9cd2 | ||
|
|
67648a04d3 | ||
|
|
58345e3194 | ||
|
|
4cb2ad9a5a | ||
|
|
27395d8e22 | ||
|
|
230c5ea180 | ||
|
|
4d4370ddce |
+2
-1
@@ -1,4 +1,5 @@
|
|||||||
# These are supported funding model platforms
|
# These are supported funding model platforms
|
||||||
|
github:
|
||||||
|
- d4rken
|
||||||
custom:
|
custom:
|
||||||
- "https://www.buymeacoffee.com/tydarken"
|
- "https://www.buymeacoffee.com/tydarken"
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ jobs:
|
|||||||
tag_name: ${{ steps.tagger.outputs.tag }}
|
tag_name: ${{ steps.tagger.outputs.tag }}
|
||||||
name: ${{ steps.tagger.outputs.tag }}
|
name: ${{ steps.tagger.outputs.tag }}
|
||||||
generate_release_notes: true
|
generate_release_notes: true
|
||||||
files: app/build/outputs/apk/beta/*.apk
|
files: app/build/outputs/apk/foss/beta/*.apk
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ jobs:
|
|||||||
tag_name: ${{ steps.tagger.outputs.tag }}
|
tag_name: ${{ steps.tagger.outputs.tag }}
|
||||||
name: ${{ steps.tagger.outputs.tag }}
|
name: ${{ steps.tagger.outputs.tag }}
|
||||||
generate_release_notes: true
|
generate_release_notes: true
|
||||||
files: app/build/outputs/apk/release/*.apk
|
files: app/build/outputs/apk/foss/release/*.apk
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
|||||||
+37
-37
@@ -8,20 +8,20 @@ GEM
|
|||||||
artifactory (3.0.15)
|
artifactory (3.0.15)
|
||||||
atomos (0.1.3)
|
atomos (0.1.3)
|
||||||
aws-eventstream (1.2.0)
|
aws-eventstream (1.2.0)
|
||||||
aws-partitions (1.554.0)
|
aws-partitions (1.610.0)
|
||||||
aws-sdk-core (3.126.0)
|
aws-sdk-core (3.131.3)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
aws-partitions (~> 1, >= 1.525.0)
|
aws-partitions (~> 1, >= 1.525.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
jmespath (~> 1.0)
|
jmespath (~> 1, >= 1.6.1)
|
||||||
aws-sdk-kms (1.54.0)
|
aws-sdk-kms (1.58.0)
|
||||||
aws-sdk-core (~> 3, >= 3.126.0)
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-s3 (1.112.0)
|
aws-sdk-s3 (1.114.0)
|
||||||
aws-sdk-core (~> 3, >= 3.126.0)
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.4)
|
aws-sigv4 (~> 1.4)
|
||||||
aws-sigv4 (1.4.0)
|
aws-sigv4 (1.5.1)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
babosa (1.0.4)
|
babosa (1.0.4)
|
||||||
claide (1.1.0)
|
claide (1.1.0)
|
||||||
@@ -36,8 +36,8 @@ GEM
|
|||||||
unf (>= 0.0.5, < 1.0.0)
|
unf (>= 0.0.5, < 1.0.0)
|
||||||
dotenv (2.7.6)
|
dotenv (2.7.6)
|
||||||
emoji_regex (3.2.3)
|
emoji_regex (3.2.3)
|
||||||
excon (0.91.0)
|
excon (0.92.4)
|
||||||
faraday (1.9.3)
|
faraday (1.10.0)
|
||||||
faraday-em_http (~> 1.0)
|
faraday-em_http (~> 1.0)
|
||||||
faraday-em_synchrony (~> 1.0)
|
faraday-em_synchrony (~> 1.0)
|
||||||
faraday-excon (~> 1.1)
|
faraday-excon (~> 1.1)
|
||||||
@@ -56,8 +56,8 @@ GEM
|
|||||||
faraday-em_synchrony (1.0.0)
|
faraday-em_synchrony (1.0.0)
|
||||||
faraday-excon (1.1.0)
|
faraday-excon (1.1.0)
|
||||||
faraday-httpclient (1.0.1)
|
faraday-httpclient (1.0.1)
|
||||||
faraday-multipart (1.0.3)
|
faraday-multipart (1.0.4)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (~> 2)
|
||||||
faraday-net_http (1.0.1)
|
faraday-net_http (1.0.1)
|
||||||
faraday-net_http_persistent (1.2.0)
|
faraday-net_http_persistent (1.2.0)
|
||||||
faraday-patron (1.0.0)
|
faraday-patron (1.0.0)
|
||||||
@@ -66,7 +66,7 @@ GEM
|
|||||||
faraday_middleware (1.2.0)
|
faraday_middleware (1.2.0)
|
||||||
faraday (~> 1.0)
|
faraday (~> 1.0)
|
||||||
fastimage (2.2.6)
|
fastimage (2.2.6)
|
||||||
fastlane (2.204.3)
|
fastlane (2.208.0)
|
||||||
CFPropertyList (>= 2.3, < 4.0.0)
|
CFPropertyList (>= 2.3, < 4.0.0)
|
||||||
addressable (>= 2.8, < 3.0.0)
|
addressable (>= 2.8, < 3.0.0)
|
||||||
artifactory (~> 3.0)
|
artifactory (~> 3.0)
|
||||||
@@ -106,9 +106,9 @@ GEM
|
|||||||
xcpretty (~> 0.3.0)
|
xcpretty (~> 0.3.0)
|
||||||
xcpretty-travis-formatter (>= 0.0.3)
|
xcpretty-travis-formatter (>= 0.0.3)
|
||||||
gh_inspector (1.1.3)
|
gh_inspector (1.1.3)
|
||||||
google-apis-androidpublisher_v3 (0.16.0)
|
google-apis-androidpublisher_v3 (0.25.0)
|
||||||
google-apis-core (>= 0.4, < 2.a)
|
google-apis-core (>= 0.7, < 2.a)
|
||||||
google-apis-core (0.4.2)
|
google-apis-core (0.7.0)
|
||||||
addressable (~> 2.5, >= 2.5.1)
|
addressable (~> 2.5, >= 2.5.1)
|
||||||
googleauth (>= 0.16.2, < 2.a)
|
googleauth (>= 0.16.2, < 2.a)
|
||||||
httpclient (>= 2.8.1, < 3.a)
|
httpclient (>= 2.8.1, < 3.a)
|
||||||
@@ -117,19 +117,19 @@ GEM
|
|||||||
retriable (>= 2.0, < 4.a)
|
retriable (>= 2.0, < 4.a)
|
||||||
rexml
|
rexml
|
||||||
webrick
|
webrick
|
||||||
google-apis-iamcredentials_v1 (0.10.0)
|
google-apis-iamcredentials_v1 (0.13.0)
|
||||||
google-apis-core (>= 0.4, < 2.a)
|
google-apis-core (>= 0.7, < 2.a)
|
||||||
google-apis-playcustomapp_v1 (0.7.0)
|
google-apis-playcustomapp_v1 (0.10.0)
|
||||||
google-apis-core (>= 0.4, < 2.a)
|
google-apis-core (>= 0.7, < 2.a)
|
||||||
google-apis-storage_v1 (0.11.0)
|
google-apis-storage_v1 (0.18.0)
|
||||||
google-apis-core (>= 0.4, < 2.a)
|
google-apis-core (>= 0.7, < 2.a)
|
||||||
google-cloud-core (1.6.0)
|
google-cloud-core (1.6.0)
|
||||||
google-cloud-env (~> 1.0)
|
google-cloud-env (~> 1.0)
|
||||||
google-cloud-errors (~> 1.0)
|
google-cloud-errors (~> 1.0)
|
||||||
google-cloud-env (1.5.0)
|
google-cloud-env (1.6.0)
|
||||||
faraday (>= 0.17.3, < 2.0)
|
faraday (>= 0.17.3, < 3.0)
|
||||||
google-cloud-errors (1.2.0)
|
google-cloud-errors (1.2.0)
|
||||||
google-cloud-storage (1.36.1)
|
google-cloud-storage (1.37.0)
|
||||||
addressable (~> 2.8)
|
addressable (~> 2.8)
|
||||||
digest-crc (~> 0.4)
|
digest-crc (~> 0.4)
|
||||||
google-apis-iamcredentials_v1 (~> 0.1)
|
google-apis-iamcredentials_v1 (~> 0.1)
|
||||||
@@ -137,20 +137,20 @@ GEM
|
|||||||
google-cloud-core (~> 1.6)
|
google-cloud-core (~> 1.6)
|
||||||
googleauth (>= 0.16.2, < 2.a)
|
googleauth (>= 0.16.2, < 2.a)
|
||||||
mini_mime (~> 1.0)
|
mini_mime (~> 1.0)
|
||||||
googleauth (1.1.0)
|
googleauth (1.2.0)
|
||||||
faraday (>= 0.17.3, < 2.0)
|
faraday (>= 0.17.3, < 3.a)
|
||||||
jwt (>= 1.4, < 3.0)
|
jwt (>= 1.4, < 3.0)
|
||||||
memoist (~> 0.16)
|
memoist (~> 0.16)
|
||||||
multi_json (~> 1.11)
|
multi_json (~> 1.11)
|
||||||
os (>= 0.9, < 2.0)
|
os (>= 0.9, < 2.0)
|
||||||
signet (>= 0.16, < 2.a)
|
signet (>= 0.16, < 2.a)
|
||||||
highline (2.0.3)
|
highline (2.0.3)
|
||||||
http-cookie (1.0.4)
|
http-cookie (1.0.5)
|
||||||
domain_name (~> 0.5)
|
domain_name (~> 0.5)
|
||||||
httpclient (2.8.3)
|
httpclient (2.8.3)
|
||||||
jmespath (1.5.0)
|
jmespath (1.6.1)
|
||||||
json (2.6.1)
|
json (2.6.2)
|
||||||
jwt (2.3.0)
|
jwt (2.4.1)
|
||||||
memoist (0.16.2)
|
memoist (0.16.2)
|
||||||
mini_magick (4.11.0)
|
mini_magick (4.11.0)
|
||||||
mini_mime (1.1.2)
|
mini_mime (1.1.2)
|
||||||
@@ -161,9 +161,9 @@ GEM
|
|||||||
optparse (0.1.1)
|
optparse (0.1.1)
|
||||||
os (1.1.4)
|
os (1.1.4)
|
||||||
plist (3.6.0)
|
plist (3.6.0)
|
||||||
public_suffix (4.0.6)
|
public_suffix (4.0.7)
|
||||||
rake (13.0.6)
|
rake (13.0.6)
|
||||||
representable (3.1.1)
|
representable (3.2.0)
|
||||||
declarative (< 0.1.0)
|
declarative (< 0.1.0)
|
||||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||||
uber (< 0.2.0)
|
uber (< 0.2.0)
|
||||||
@@ -173,9 +173,9 @@ GEM
|
|||||||
ruby2_keywords (0.0.5)
|
ruby2_keywords (0.0.5)
|
||||||
rubyzip (2.3.2)
|
rubyzip (2.3.2)
|
||||||
security (0.1.3)
|
security (0.1.3)
|
||||||
signet (0.16.0)
|
signet (0.17.0)
|
||||||
addressable (~> 2.8)
|
addressable (~> 2.8)
|
||||||
faraday (>= 0.17.3, < 2.0)
|
faraday (>= 0.17.5, < 3.a)
|
||||||
jwt (>= 1.5, < 3.0)
|
jwt (>= 1.5, < 3.0)
|
||||||
multi_json (~> 1.10)
|
multi_json (~> 1.10)
|
||||||
simctl (1.6.8)
|
simctl (1.6.8)
|
||||||
@@ -192,11 +192,11 @@ GEM
|
|||||||
uber (0.1.0)
|
uber (0.1.0)
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.8)
|
unf_ext (0.0.8.2)
|
||||||
unicode-display_width (1.8.0)
|
unicode-display_width (1.8.0)
|
||||||
webrick (1.7.0)
|
webrick (1.7.0)
|
||||||
word_wrap (1.0.0)
|
word_wrap (1.0.0)
|
||||||
xcodeproj (1.21.0)
|
xcodeproj (1.22.0)
|
||||||
CFPropertyList (>= 2.3.3, < 4.0)
|
CFPropertyList (>= 2.3.3, < 4.0)
|
||||||
atomos (~> 0.1.3)
|
atomos (~> 0.1.3)
|
||||||
claide (>= 1.0.2, < 2.0)
|
claide (>= 1.0.2, < 2.0)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Companion App for AirPods (CAPod)
|
# Companion App for AirPods (CAPod)
|
||||||
[](https://github.com/d4rken-org/capod/releases/latest)
|
[](https://github.com/d4rken-org/capod/releases/latest)
|
||||||
[](https://github.com/d4rken/capod/actions/workflows/code-checks.yml)
|
[](https://github.com/d4rken/capod/actions/workflows/code-checks.yml)
|
||||||
[](https://crowdin.com/project/capod)
|
[](https://crowdin.com/project/capod)
|
||||||
[](https://github.com/d4rken-org/capod/releases/latest)
|
[](https://github.com/d4rken-org/capod/releases/latest)
|
||||||
|
|
||||||
@@ -36,17 +36,18 @@ Currently supported models:
|
|||||||
|
|
||||||
* [Google Play](https://play.google.com/store/apps/details?id=eu.darken.capod)
|
* [Google Play](https://play.google.com/store/apps/details?id=eu.darken.capod)
|
||||||
* [GitHub](https://github.com/d4rken-org/capod/releases/latest)
|
* [GitHub](https://github.com/d4rken-org/capod/releases/latest)
|
||||||
|
* [IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/eu.darken.capod)
|
||||||
|
|
||||||
## Support the project
|
## Support the project
|
||||||
|
|
||||||
* Buy the CAPod Pro In-App purchase on [Google Play](https://play.google.com/store/apps/details?id=eu.darken.capod)
|
* Buy the CAPod Pro In-App purchase on [Google Play](https://play.google.com/store/apps/details?id=eu.darken.capod)
|
||||||
|
* [Sponsor development](https://github.com/sponsors/d4rken) on GitHub
|
||||||
* Help translate CAPod [on Crowdin](https://crowdin.com/project/capod)
|
* Help translate CAPod [on Crowdin](https://crowdin.com/project/capod)
|
||||||
|
|
||||||
## Get help
|
## Get help
|
||||||
|
|
||||||
* [Github Issues](https://github.com/d4rken-org/capod/issues)
|
* [Github Issues](https://github.com/d4rken-org/capod/issues)
|
||||||
* [Discord](https://discord.gg/vHubYPp)
|
* [Discord](https://discord.gg/vHubYPp)
|
||||||
* [Email](mailto:support@darken.eu)
|
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class UpgradeControlFoss @Inject constructor(
|
|||||||
upgradedAt = Instant.now(),
|
upgradedAt = Instant.now(),
|
||||||
reason = FossUpgrade.Reason.DONATED
|
reason = FossUpgrade.Reason.DONATED
|
||||||
)
|
)
|
||||||
webpageTool.open("https://github.com/d4rken-org/capod")
|
webpageTool.open("https://github.com/d4rken-org/capod#support-the-project")
|
||||||
Toast.makeText(activity, R.string.general_thank_you_label, Toast.LENGTH_SHORT).show()
|
Toast.makeText(activity, R.string.general_thank_you_label, Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
setNegativeButton(R.string.foss_upgrade_alreadydonated_label) { _, _ ->
|
setNegativeButton(R.string.foss_upgrade_alreadydonated_label) { _, _ ->
|
||||||
|
|||||||
@@ -1,2 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources></resources>
|
<resources>
|
||||||
|
<string name="foss_upgrade_donate_label">Ахвяраваць</string>
|
||||||
|
<string name="foss_upgrade_alreadydonated_label">Я ўжо ахвяраваў</string>
|
||||||
|
<string name="foss_upgrade_no_money_label" comment="Can't be too long otherwise the dialog ellipsizes it. foss_upgrade_no_money_label" maxLength="35">Я патраціў усе грошы на AirPods</string>
|
||||||
|
</resources>
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="foss_upgrade_donate_label">Spenden</string>
|
<string name="foss_upgrade_donate_label">Spenden</string>
|
||||||
<string name="foss_upgrade_alreadydonated_label">Ich habe schon gespendet</string>
|
<string name="foss_upgrade_alreadydonated_label">Ich habe schon gespendet</string>
|
||||||
<string name="foss_upgrade_no_money_label">Ich gebe mein ganzes Geld für AirPods aus</string>
|
<string name="foss_upgrade_no_money_label" comment="Can't be too long otherwise the dialog ellipsizes it. foss_upgrade_no_money_label" maxLength="35">Hab alles für AirPods ausgegeben</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="foss_upgrade_donate_label">Derma</string>
|
<string name="foss_upgrade_donate_label">Derma</string>
|
||||||
<string name="foss_upgrade_alreadydonated_label">Saya sudah menderma</string>
|
<string name="foss_upgrade_alreadydonated_label">Saya sudah menderma</string>
|
||||||
<string name="foss_upgrade_no_money_label">Saya belanjakan semua wang saya untuk AirPods</string>
|
<string name="foss_upgrade_no_money_label" comment="Can't be too long otherwise the dialog ellipsizes it. foss_upgrade_no_money_label" maxLength="35">Saya belanjakan semua wang saya untuk AirPods</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="foss_upgrade_donate_label">Quyên tặng</string>
|
<string name="foss_upgrade_donate_label">Quyên tặng</string>
|
||||||
<string name="foss_upgrade_alreadydonated_label">Tôi đã quyên góp</string>
|
<string name="foss_upgrade_alreadydonated_label">Tôi đã quyên góp</string>
|
||||||
<string name="foss_upgrade_no_money_label">Tôi tiêu hết tiền cho AirPods</string>
|
<string name="foss_upgrade_no_money_label" comment="Can't be too long otherwise the dialog ellipsizes it. foss_upgrade_no_money_label" maxLength="35">Tôi tiêu hết tiền cho AirPods</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="foss_upgrade_donate_label">抖內</string>
|
<string name="foss_upgrade_donate_label">抖內</string>
|
||||||
<string name="foss_upgrade_alreadydonated_label">我已經抖內了</string>
|
<string name="foss_upgrade_alreadydonated_label">我已經抖內了</string>
|
||||||
<string name="foss_upgrade_no_money_label">我已經為 AirPods 傾家蕩產了</string>
|
<string name="foss_upgrade_no_money_label" comment="Can't be too long otherwise the dialog ellipsizes it. foss_upgrade_no_money_label" maxLength="35">我已經為 AirPods 傾家蕩產了</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -1,2 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources></resources>
|
<resources>
|
||||||
|
<string name="upgrades_gplay_unavailable_error">Службы Google Play недаступныя.</string>
|
||||||
|
<string name="upgrades_no_purchases_found_check_account">Пакупак не знойдзена. Вы выкарыстоўваеце правільны ўліковы запіс?</string>
|
||||||
|
</resources>
|
||||||
|
|||||||
@@ -42,4 +42,5 @@ object BuildConfigWrap {
|
|||||||
|
|
||||||
val VERSION_DESCRIPTION_LONG: String = "v$VERSION_NAME ($VERSION_CODE) [$GIT_SHA] ${FLAVOR}_$BUILD_TYPE"
|
val VERSION_DESCRIPTION_LONG: String = "v$VERSION_NAME ($VERSION_CODE) [$GIT_SHA] ${FLAVOR}_$BUILD_TYPE"
|
||||||
val VERSION_DESCRIPTION_SHORT: String = "v$VERSION_NAME [$GIT_SHA] $FLAVOR"
|
val VERSION_DESCRIPTION_SHORT: String = "v$VERSION_NAME [$GIT_SHA] $FLAVOR"
|
||||||
|
val VERSION_DESCRIPTION_TINY: String = "v$VERSION_NAME"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ class SettingsFragment : Fragment2(R.layout.settings_fragment),
|
|||||||
}
|
}
|
||||||
|
|
||||||
ui.toolbar.apply {
|
ui.toolbar.apply {
|
||||||
subtitle = BuildConfigWrap.VERSION_DESCRIPTION_SHORT
|
subtitle = BuildConfigWrap.VERSION_DESCRIPTION_TINY
|
||||||
setNavigationOnClickListener { requireActivity().onBackPressed() }
|
setNavigationOnClickListener { requireActivity().onBackPressed() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,17 +28,12 @@ class SupportFragment : PreferenceFragment2() {
|
|||||||
@Inject lateinit var clipboardHelper: ClipboardHelper
|
@Inject lateinit var clipboardHelper: ClipboardHelper
|
||||||
|
|
||||||
private val installIdPref by lazy { findPreference<Preference>("support.installid")!! }
|
private val installIdPref by lazy { findPreference<Preference>("support.installid")!! }
|
||||||
private val supportMailPref by lazy { findPreference<Preference>("support.email.darken")!! }
|
|
||||||
|
|
||||||
override fun onPreferencesCreated() {
|
override fun onPreferencesCreated() {
|
||||||
installIdPref.setOnPreferenceClickListener {
|
installIdPref.setOnPreferenceClickListener {
|
||||||
vm.copyInstallID()
|
vm.copyInstallID()
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
supportMailPref.setOnPreferenceClickListener {
|
|
||||||
vm.sendSupportMail()
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
super.onPreferencesCreated()
|
super.onPreferencesCreated()
|
||||||
}
|
}
|
||||||
@@ -52,8 +47,6 @@ class SupportFragment : PreferenceFragment2() {
|
|||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
vm.emailEvent.observe2(this) { startActivity(it) }
|
|
||||||
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,11 +1,7 @@
|
|||||||
package eu.darken.capod.main.ui.settings.support
|
package eu.darken.capod.main.ui.settings.support
|
||||||
|
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Build
|
|
||||||
import androidx.lifecycle.SavedStateHandle
|
import androidx.lifecycle.SavedStateHandle
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import eu.darken.capod.common.BuildConfigWrap
|
|
||||||
import eu.darken.capod.common.EmailTool
|
|
||||||
import eu.darken.capod.common.InstallId
|
import eu.darken.capod.common.InstallId
|
||||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||||
import eu.darken.capod.common.livedata.SingleLiveEvent
|
import eu.darken.capod.common.livedata.SingleLiveEvent
|
||||||
@@ -16,33 +12,11 @@ import javax.inject.Inject
|
|||||||
class SupportFragmentVM @Inject constructor(
|
class SupportFragmentVM @Inject constructor(
|
||||||
private val handle: SavedStateHandle,
|
private val handle: SavedStateHandle,
|
||||||
private val dispatcherProvider: DispatcherProvider,
|
private val dispatcherProvider: DispatcherProvider,
|
||||||
private val emailTool: EmailTool,
|
|
||||||
private val installId: InstallId,
|
private val installId: InstallId,
|
||||||
) : ViewModel3(dispatcherProvider) {
|
) : ViewModel3(dispatcherProvider) {
|
||||||
|
|
||||||
val emailEvent = SingleLiveEvent<Intent>()
|
|
||||||
val clipboardEvent = SingleLiveEvent<String>()
|
val clipboardEvent = SingleLiveEvent<String>()
|
||||||
|
|
||||||
fun sendSupportMail() = launch {
|
|
||||||
|
|
||||||
val bodyInfo = StringBuilder("\n\n\n")
|
|
||||||
|
|
||||||
bodyInfo.append("--- Infos for the developer ---\n")
|
|
||||||
|
|
||||||
bodyInfo.append("App version: ").append(BuildConfigWrap.VERSION_DESCRIPTION_LONG).append("\n")
|
|
||||||
|
|
||||||
bodyInfo.append("Device: ").append(Build.FINGERPRINT).append("\n")
|
|
||||||
bodyInfo.append("Install ID: ").append(installId.id).append("\n")
|
|
||||||
|
|
||||||
val email = EmailTool.Email(
|
|
||||||
receipients = listOf("support@darken.eu"),
|
|
||||||
subject = "[CAPod] Question/Suggestion/Request\n",
|
|
||||||
body = bodyInfo.toString()
|
|
||||||
)
|
|
||||||
|
|
||||||
emailEvent.postValue(emailTool.build(email))
|
|
||||||
}
|
|
||||||
|
|
||||||
fun copyInstallID() = launch {
|
fun copyInstallID() = launch {
|
||||||
clipboardEvent.postValue(installId.id)
|
clipboardEvent.postValue(installId.id)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,4 +26,114 @@
|
|||||||
<string name="permission_bluetooth_label">Bluetooth</string>
|
<string name="permission_bluetooth_label">Bluetooth</string>
|
||||||
<string name="permission_bluetooth_description">Гэтай праграме патрабуецца дазвол на выкарыстанне Bluetooth для злучэння са спалучанымі прыладамі.</string>
|
<string name="permission_bluetooth_description">Гэтай праграме патрабуецца дазвол на выкарыстанне Bluetooth для злучэння са спалучанымі прыладамі.</string>
|
||||||
<string name="permission_access_fine_location_label">Доступ да дакладнага месцазнаходжання</string>
|
<string name="permission_access_fine_location_label">Доступ да дакладнага месцазнаходжання</string>
|
||||||
|
<string name="permission_access_fine_location_description">CAPod выкарыстоўвае дазвол \"Дакладнае месцазнаходжанне\" для атрымання даных Bluetooth Low Energy. Вашы навушнікі з дапамогай тэхналогіі Bluetooth Low Energy перадаюць інфармацыю пра свой стан. Гэта праграма НЕ будзе карыстацца данымі Bluetooth для вызначэння вашага месцазнаходжання.</string>
|
||||||
|
<string name="permission_background_location_label">Доступ да месцазнаходжання ў фоне</string>
|
||||||
|
<string name="permission_background_location_description">CAPod выкарыстоўвае службу \"Доступ да месцазнаходжання ў фоне\" для ўключэння такіх функцый, як \"Апавяшчэнні\" і \"Аўтапакдлючэнне\", калі праграма закрыта. Фонавы доступ да месцазнаходжання дазваляе праграме атрымліваць даныя Bluetooth Low Energy у фоне. Гэтая праграма НЕ будзе выкарыстоўваць даныя Bluetooth для вызначэння Вашага месцазнаходжання.</string>
|
||||||
|
<string name="permission_ignore_battery_optimizations_label">Адключыць аптымізацыю батарэі</string>
|
||||||
|
<string name="permission_ignore_battery_optimizations_description">Аптымізацыя батарэі перашкаджае гэтай праграме надзейна атрымліваць даныя Bluetooth падчас яе знаходжання ў фоне.</string>
|
||||||
|
<string name="pods_dual_left_label">Левы навушнік</string>
|
||||||
|
<string name="pods_dual_right_label">Правы навушнік</string>
|
||||||
|
<string name="pods_case_label">Футляр</string>
|
||||||
|
<string name="pods_case_status_open_label">Адчынены</string>
|
||||||
|
<string name="pods_case_status_closed_label">Зачынены</string>
|
||||||
|
<string name="pods_connection_state_disconnected_label">Не падключаны да прылады</string>
|
||||||
|
<string name="pods_connection_state_idle_label">Злучаны з прыладай, але ў рэжыме чакання</string>
|
||||||
|
<string name="pods_connection_state_music_label">У рэжыме музыкі</string>
|
||||||
|
<string name="pods_connection_state_call_label">У рэжыме выкліку</string>
|
||||||
|
<string name="pods_connection_state_ringing_label">Выклік</string>
|
||||||
|
<string name="pods_connection_state_hanging_up_label">Адбой выкліку</string>
|
||||||
|
<string name="pods_connection_state_unknown_label">Невядомы стан падключэння</string>
|
||||||
|
<string name="pods_unknown_raw_data_label">Неапрацаваныя даныя</string>
|
||||||
|
<string name="pods_unknown_label">Невядомая прылада</string>
|
||||||
|
<string name="pods_unknown_contact_dev">Гэта невядомая прылада, але яна выкарыстоўвае падобны фармат даных. Забяспечце яго падтрымку — звяжыцеся са мной :)</string>
|
||||||
|
<string name="pods_none_label_short">Няма прылады</string>
|
||||||
|
<string name="pods_charging_label">Зарадка</string>
|
||||||
|
<string name="pods_inear_label">У вуху</string>
|
||||||
|
<string name="pods_microphone_label">Мікрафон</string>
|
||||||
|
<string name="pods_yours">Вашы</string>
|
||||||
|
<string name="headset_being_worn_label">Надзеты</string>
|
||||||
|
<string name="pods_case_unknown_state">Невядомы стан</string>
|
||||||
|
<string name="overview_nomaindevice_label">Няма асноўнай прылады</string>
|
||||||
|
<string name="overview_nomaindevice_description">Сярод усіх выяўленых прылад не знойдзена вашай. Уключыце сілкаванне і падключыце вашу прыладу, або змяніце налады.</string>
|
||||||
|
<string name="settings_label">Налады</string>
|
||||||
|
<string name="settings_privacy_policy_label">Палітыка канфідэнцыяльнасці</string>
|
||||||
|
<string name="settings_privacy_policy_desc">Адказнасць за апрацоўку даных.</string>
|
||||||
|
<string name="settings_licenses_label">Ліцэнзіі</string>
|
||||||
|
<string name="settings_category_other_label">Іншае</string>
|
||||||
|
<string name="settings_general_label">Налады</string>
|
||||||
|
<string name="settings_general_description">Генеральныя налады, якія ўплываюць на ўсю праграму.</string>
|
||||||
|
<string name="settings_acknowledgements_label">Падзякі</string>
|
||||||
|
<string name="changelog_label">Спіс змяненняў</string>
|
||||||
|
<string name="settings_support_email_developer_label" comment="settings_support_email_developer_label Pressing this setting will open your default email app with a template for a mail to me and some device info (e.g. versions).">Ліст распрацоўшчыку</string>
|
||||||
|
<string name="settings_support_installid_label">ID інсталяцыі</string>
|
||||||
|
<string name="settings_support_installid_desc">Аўтаматычныя справаздачы пра памылкі з\'яўляюцца ананімнымі. Падзяліцеся вашым ID інсталяцыі, калі распрацоўшчыку спатрэбіцца доступ да вашых справаздач пра памылкі.</string>
|
||||||
|
<string name="settings_support_label">Падтрымка</string>
|
||||||
|
<string name="settings_support_description">Калі неабходна дапамога.</string>
|
||||||
|
<string name="issue_tracker_label">Спіс праблем</string>
|
||||||
|
<string name="issue_tracker_description">Агульнадаступны спіс для справаздач пра памылкі і запыту новых функцый (толькі англійская мова).</string>
|
||||||
|
<string name="discord_label">Discord</string>
|
||||||
|
<string name="discord_description">Месца для гутарак і задавання пытанняў.</string>
|
||||||
|
<string name="settings_support_email_developer_description">Звярніце ўвагу, што я магу адказваць толькі на нямецкай або англійскай мове.</string>
|
||||||
|
<string name="settings_debug_autoreports_label">Аўтаматычная справаздача пра памылкі</string>
|
||||||
|
<string name="settings_debug_autoreports_description">Аўтаматычныя справаздачы пра памылкі, напрыклад, дэталі пра збой у праграме, якія могуць дапамагчы ў вырашэнні праблемы.</string>
|
||||||
|
<string name="settings_debug_mode_label">Рэжым адладкі</string>
|
||||||
|
<string name="settings_debug_mode_description">Паказваць дадатковую інфармацыю з мэтай вырашэння ўзнікшых праблем.</string>
|
||||||
|
<string name="settings_monitor_mode_label">Рэжым маніторынгу</string>
|
||||||
|
<string name="settings_monitor_mode_description">Пры якіх умовах гэта праграма збірае даныя Bluetooth.</string>
|
||||||
|
<string name="settings_scanner_mode_label">Рэжым сканера</string>
|
||||||
|
<string name="settings_scanner_mode_description">На якім рэжыме мае сканцэнтравацца сканер даных Bluetooth Low Energy — прадукцыйным або эканоміі энергіі?</string>
|
||||||
|
<string name="settings_monitor_mode_manual_label">Калі праграма адкрыта</string>
|
||||||
|
<string name="settings_monitor_mode_automatic_label">Калі прылада падключана</string>
|
||||||
|
<string name="settings_monitor_mode_always_label">Заўсёды</string>
|
||||||
|
<string name="settings_scanner_mode_lowpower_label">Эканомія энергіі</string>
|
||||||
|
<string name="settings_scanner_mode_balanced_label">Збалансаваны</string>
|
||||||
|
<string name="settings_scanner_mode_lowlatency_label">Малая затрымка</string>
|
||||||
|
<string name="settings_autopause_label">Аўтапаўза</string>
|
||||||
|
<string name="settings_autopause_description">Прайграванне аўдыяфайла прыпыняецца, калі навушнік прыбраны з вашага вуха.</string>
|
||||||
|
<string name="settings_showall_label">Паказаць усе прылады</string>
|
||||||
|
<string name="settings_showall_description">Паказаць прылады іншых людзей, якія знаходзяцца побач з вамі.</string>
|
||||||
|
<string name="settings_autopplay_label">Аўтапрайграванне</string>
|
||||||
|
<string name="settings_autoplay_description">Пачаць прайграванне аўдыяфайлаў пры абуджэнні прылады.</string>
|
||||||
|
<string name="settings_fake_data_label">Пустыя даныя</string>
|
||||||
|
<string name="settings_fake_data_description">Адлюстроўваць пустыя даныя, напрыклад, сімуляваць прылады, якіх не існуе.</string>
|
||||||
|
<string name="settings_debug_label">Налады аладкі</string>
|
||||||
|
<string name="settings_debug_description">Дадатковыя налады для вырашэння праблем з дапамогай праграмы.</string>
|
||||||
|
<string name="settings_signal_minimum_label">Мінімальная якасць сігналу</string>
|
||||||
|
<string name="settings_signal_minimum_description">Мінімальная якасць сігналу, неабходная прыладзе, для распазнання яе як вашай.</string>
|
||||||
|
<string name="settings_autoconnect_label">Аўтазлучэнне</string>
|
||||||
|
<string name="settings_autoconnect_description">Калі Android не падключаецца аўтаматычна, мы можам даслаць яму запыт. Такім чынам рэжым маніторынгу зменіць свой статус на \'Заўсёды\'.</string>
|
||||||
|
<string name="settings_autoconnect_condition_label">Умова аўтаматычнага падключэння</string>
|
||||||
|
<string name="settings_autoconnect_condition_description">Калі неабходна здзейсняць спробу падключэння да вашай прылады?</string>
|
||||||
|
<string name="settings_reaction_label">Рэакцыі</string>
|
||||||
|
<string name="settings_reaction_description">Рэакцыі на падзеі і дзеянні.</string>
|
||||||
|
<string name="settings_category_yourdevice_label">Ваша прылада</string>
|
||||||
|
<string name="settings_maindevice_address_label">Адрас вашай прылады</string>
|
||||||
|
<string name="settings_maindevice_address_description">Адрас вашай звязанай прылады. Праграма выкарыстоўвае яго для вызначэння падключэння да вашага тэлефона.</string>
|
||||||
|
<string name="settings_maindevice_address_none">Няма</string>
|
||||||
|
<string name="settings_maindevice_model_label">Мадэль вашай прылады</string>
|
||||||
|
<string name="settings_maindevice_model_description">Мадэль вашай прылады. Гэта дапамагае праграме апазнаць вашу прыладу, калі яна не падключана да вашага тэлефона.</string>
|
||||||
|
<string name="settings_reaction_autoconnect_whenseen_label">Пры выяўленні</string>
|
||||||
|
<string name="settings_reaction_autoconnect_caseopen_label">Футляр адкрыты</string>
|
||||||
|
<string name="settings_reaction_autoconnect_inear_label">У вуху</string>
|
||||||
|
<string name="upgrade_capod_label">Палепшыць CAPod</string>
|
||||||
|
<string name="upgrade_capod_description">Атрымайце дадатковыя функцыі і падтрымайце распрацоўшчыка.</string>
|
||||||
|
<string name="settings_popup_caseopen_label">Паказваць апавяшчэнне</string>
|
||||||
|
<string name="settings_popup_caseopen_description">Паказваць апавяшчэнне, калі футляр прылады адчынены (эксперыментальная функцыя).</string>
|
||||||
|
<string name="overview_bluetooth_disabled_label">Bluetooth адключаны</string>
|
||||||
|
<string name="overview_bluetooth_disabled_description">Bluetooth адключаны, уключыце яго ;)</string>
|
||||||
|
<string name="help_translate_label">Пераклад</string>
|
||||||
|
<string name="help_translate_description">Дапамажыце перакласці гэту праграму на вашу мову.</string>
|
||||||
|
<string name="settings_onepod_mode_label">Рэжым аднаго навушніка</string>
|
||||||
|
<string name="settings_onepod_mode_description">Нашэнне абодвух навушнікаў не абавязкова, нашэнне аднаго навушніка цалкам дастаткова для запуску рэакцый.</string>
|
||||||
|
<string name="permission_system_alert_window_label">Акно сістэмных папярэджанняў</string>
|
||||||
|
<string name="permission_system_alert_window_description">Дазвольце CAPod накладанне паверх іншых праграм для карэктнай работы функцыі \"Апавяшчэнні\".</string>
|
||||||
|
<string name="last_seen_x">Апошні раз быў: %s</string>
|
||||||
|
<string name="first_seen_x">Упершыню быў: %s</string>
|
||||||
|
<string name="settings_blescanner_unfiltered_label">Нефільтраваныя даныя BLE</string>
|
||||||
|
<string name="settings_blescanner_unfiltered_description">Выдаліце ўсе фільтры са сканера BLE, каб паказаць усе перададзеныя даныя BLE. Карысна пры дадаванні падтрымкі новых тыпаў навушнікаў.</string>
|
||||||
|
<string name="permission_required_title">Патрабуецца наступны дазвол:</string>
|
||||||
|
<string name="settings_compatibility_mode_label">Рэжым сумяшчальнасці</string>
|
||||||
|
<string name="settings_compatibility_mode_description">Рэжым адключае аптымізацыю для паляпшэння сумяшчальнасці. Паспрабуйце яго, калі вы не бачыце ніякіх даных.</string>
|
||||||
|
<string name="translators_thanks_title">Перакладчыкі</string>
|
||||||
|
<string name="translators_thanks_description" comment="translators_thanks_description You can voluntarily add your name here to have it displayed in the app. It will be shown in the Settings>Acknowledgements>Thank you section. Separate names by semicolons and an optional email may be included in brackets, example: darken(darken@darken.eu);John Doe(john@example.com) "darken" is just a placeholder and does not have to be kept if/when you add yours. Be nice to each other!">Goshaproject(goooosha@gmail.com)</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<string name="general_thank_you_label">Danke</string>
|
<string name="general_thank_you_label">Danke</string>
|
||||||
<string name="general_value_not_available_label">k.A.</string>
|
<string name="general_value_not_available_label">k.A.</string>
|
||||||
<string name="general_grant_permission_action">Berechtigung erteilen</string>
|
<string name="general_grant_permission_action">Berechtigung erteilen</string>
|
||||||
<string name="general_upgrade_action">Aktualisierung</string>
|
<string name="general_upgrade_action">Upgrade</string>
|
||||||
<string name="general_check_action">Überprüfen</string>
|
<string name="general_check_action">Überprüfen</string>
|
||||||
<string name="general_close_action">Schließen</string>
|
<string name="general_close_action">Schließen</string>
|
||||||
<string name="debug_debuglog_size_label">Größe</string>
|
<string name="debug_debuglog_size_label">Größe</string>
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
<string name="settings_reaction_autoconnect_whenseen_label">Wenn gesehen</string>
|
<string name="settings_reaction_autoconnect_whenseen_label">Wenn gesehen</string>
|
||||||
<string name="settings_reaction_autoconnect_caseopen_label">Fall ist offen</string>
|
<string name="settings_reaction_autoconnect_caseopen_label">Fall ist offen</string>
|
||||||
<string name="settings_reaction_autoconnect_inear_label">Im Ohr</string>
|
<string name="settings_reaction_autoconnect_inear_label">Im Ohr</string>
|
||||||
<string name="upgrade_capod_label">Aktualisieren Sie CAPod</string>
|
<string name="upgrade_capod_label">Verbesser CAPod</string>
|
||||||
<string name="upgrade_capod_description">Erhalten Sie zusätzliche Funktionen und unterstützen Sie den Entwickler.</string>
|
<string name="upgrade_capod_description">Erhalten Sie zusätzliche Funktionen und unterstützen Sie den Entwickler.</string>
|
||||||
<string name="settings_popup_caseopen_label">Popup zeigen</string>
|
<string name="settings_popup_caseopen_label">Popup zeigen</string>
|
||||||
<string name="settings_popup_caseopen_description">Ein Popup anzeigen, wenn das Gerätegehäuse geöffnet wird (experimentell).</string>
|
<string name="settings_popup_caseopen_description">Ein Popup anzeigen, wenn das Gerätegehäuse geöffnet wird (experimentell).</string>
|
||||||
|
|||||||
@@ -135,13 +135,5 @@
|
|||||||
<string name="settings_compatibility_mode_label">Mode kompatibilitas</string>
|
<string name="settings_compatibility_mode_label">Mode kompatibilitas</string>
|
||||||
<string name="settings_compatibility_mode_description">Nonaktifkan pengoptimalan untuk meningkatkan kompatibilitas. Coba ini jika anda tidak melihat data apa pun.</string>
|
<string name="settings_compatibility_mode_description">Nonaktifkan pengoptimalan untuk meningkatkan kompatibilitas. Coba ini jika anda tidak melihat data apa pun.</string>
|
||||||
<string name="translators_thanks_title">Penerjemah</string>
|
<string name="translators_thanks_title">Penerjemah</string>
|
||||||
<string name="translators_thanks_description" comment="translators_thanks_description You can voluntarily add your name here to have it displayed in the app. It will be shown in the Settings>Acknowledgements>Thank you section. Separate names by semicolons and an optional email may be included in brackets, example: darken(darken@darken.eu);John Doe(john@example.com) "darken" is just a placeholder and does not have to be kept if/when you add yours. Be nice to each other!">nama anda dapat ditambahkan sebagai relawan di sini dan ditampilkan di aplikasi. Itu akan ditampilkan pada bagian Pengaturan>Penghargaan>Terima kasih
|
<string name="translators_thanks_description" comment="translators_thanks_description You can voluntarily add your name here to have it displayed in the app. It will be shown in the Settings>Acknowledgements>Thank you section. Separate names by semicolons and an optional email may be included in brackets, example: darken(darken@darken.eu);John Doe(john@example.com) "darken" is just a placeholder and does not have to be kept if/when you add yours. Be nice to each other!">darken</string>
|
||||||
|
|
||||||
Pisahkan nama dengan titik koma dan email opsional dapat dimasukkan dalam tanda kurung, contoh:
|
|
||||||
|
|
||||||
𝓼𝓾𝓵𝓽𝓪𝓷 𝓱𝓪𝓶𝓴𝓪(sultanhamka@gmail.com); John Doe(john@example.com)
|
|
||||||
|
|
||||||
\"𝓼𝓾𝓵𝓽𝓪𝓷 𝓱𝓪𝓶𝓴𝓪\" hanyalah pengganti dan tidak harus disimpan jika/ketika anda menambahkan milik anda.
|
|
||||||
|
|
||||||
Bersikap baik satu sama lain!</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -71,7 +71,7 @@
|
|||||||
<string name="settings_support_description">Jika anda perlukan bantuan.</string>
|
<string name="settings_support_description">Jika anda perlukan bantuan.</string>
|
||||||
<string name="issue_tracker_label">Penjejak isu</string>
|
<string name="issue_tracker_label">Penjejak isu</string>
|
||||||
<string name="issue_tracker_description">Penjejak isu awam untuk laporan pepijat dan permintaan ciri (bahasa Inggeris sahaja).</string>
|
<string name="issue_tracker_description">Penjejak isu awam untuk laporan pepijat dan permintaan ciri (bahasa Inggeris sahaja).</string>
|
||||||
<string name="discord_label">Perselisihan</string>
|
<string name="discord_label">Discord</string>
|
||||||
<string name="discord_description">Tempat melepak dan bertanya soalan.</string>
|
<string name="discord_description">Tempat melepak dan bertanya soalan.</string>
|
||||||
<string name="settings_support_email_developer_description">Ambil perhatian bahawa saya hanya boleh membalas dalam bahasa Jerman atau Inggeris.</string>
|
<string name="settings_support_email_developer_description">Ambil perhatian bahawa saya hanya boleh membalas dalam bahasa Jerman atau Inggeris.</string>
|
||||||
<string name="settings_debug_autoreports_label">Laporan pepijat automatik</string>
|
<string name="settings_debug_autoreports_label">Laporan pepijat automatik</string>
|
||||||
|
|||||||
@@ -95,6 +95,7 @@
|
|||||||
<string name="last_seen_x">Востаннє був: %s</string>
|
<string name="last_seen_x">Востаннє був: %s</string>
|
||||||
<string name="first_seen_x">Уперше був: %s</string>
|
<string name="first_seen_x">Уперше був: %s</string>
|
||||||
<string name="permission_required_title">Необхідні наступні дозволи:</string>
|
<string name="permission_required_title">Необхідні наступні дозволи:</string>
|
||||||
|
<string name="settings_compatibility_mode_label">Режим сумісності</string>
|
||||||
<string name="translators_thanks_title">Перекладачі</string>
|
<string name="translators_thanks_title">Перекладачі</string>
|
||||||
<string name="translators_thanks_description" comment="translators_thanks_description You can voluntarily add your name here to have it displayed in the app. It will be shown in the Settings>Acknowledgements>Thank you section. Separate names by semicolons and an optional email may be included in brackets, example: darken(darken@darken.eu);John Doe(john@example.com) "darken" is just a placeholder and does not have to be kept if/when you add yours. Be nice to each other!">Ievgen Gil</string>
|
<string name="translators_thanks_description" comment="translators_thanks_description You can voluntarily add your name here to have it displayed in the app. It will be shown in the Settings>Acknowledgements>Thank you section. Separate names by semicolons and an optional email may be included in brackets, example: darken(darken@darken.eu);John Doe(john@example.com) "darken" is just a placeholder and does not have to be kept if/when you add yours. Be nice to each other!">Ievgen Gil</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -21,8 +21,8 @@
|
|||||||
<string name="debug_debuglog_record_action">Ghi nhật ký gỡ lỗi</string>
|
<string name="debug_debuglog_record_action">Ghi nhật ký gỡ lỗi</string>
|
||||||
<string name="permission_bluetooth_connect_label">Kết nối Bluetooth</string>
|
<string name="permission_bluetooth_connect_label">Kết nối Bluetooth</string>
|
||||||
<string name="permission_bluetooth_connect_description">Ứng dụng này yêu cầu quyền \"Kết nối Bluetooth\" để tương tác với các thiết bị được ghép nối và bắt đầu kết nối.</string>
|
<string name="permission_bluetooth_connect_description">Ứng dụng này yêu cầu quyền \"Kết nối Bluetooth\" để tương tác với các thiết bị được ghép nối và bắt đầu kết nối.</string>
|
||||||
<string name="permission_bluetooth_scan_label">Quét Bluetooth</string>
|
<string name="permission_bluetooth_scan_label">Quét qua Bluetooth</string>
|
||||||
<string name="permission_bluetooth_scan_description">Quyền \"quét Bluetooth\" cho phép ứng dụng này khám phá và nhận dữ liệu Bluetooth từ các thiết bị lân cận, chẳng hạn như AirPods của bạn.</string>
|
<string name="permission_bluetooth_scan_description">Quyền \"quét qua Bluetooth\" cho phép ứng dụng này khám phá và nhận dữ liệu Bluetooth từ các thiết bị lân cận, chẳng hạn như AirPods của bạn.</string>
|
||||||
<string name="permission_bluetooth_label">Bluetooth</string>
|
<string name="permission_bluetooth_label">Bluetooth</string>
|
||||||
<string name="permission_bluetooth_description">Ứng dụng này yêu cầu quyền \"Bluetooth\" để kết nối với các thiết bị Bluetooth được ghép nối.</string>
|
<string name="permission_bluetooth_description">Ứng dụng này yêu cầu quyền \"Bluetooth\" để kết nối với các thiết bị Bluetooth được ghép nối.</string>
|
||||||
<string name="permission_access_fine_location_label">Truy cập vị trí chính xác</string>
|
<string name="permission_access_fine_location_label">Truy cập vị trí chính xác</string>
|
||||||
|
|||||||
@@ -83,8 +83,8 @@
|
|||||||
<string name="settings_scanner_mode_label">掃描模式</string>
|
<string name="settings_scanner_mode_label">掃描模式</string>
|
||||||
<string name="settings_scanner_mode_description">低功耗藍牙掃描器應該優先考慮效能還是節能?</string>
|
<string name="settings_scanner_mode_description">低功耗藍牙掃描器應該優先考慮效能還是節能?</string>
|
||||||
<string name="settings_monitor_mode_manual_label">應用程式開啟時</string>
|
<string name="settings_monitor_mode_manual_label">應用程式開啟時</string>
|
||||||
<string name="settings_monitor_mode_automatic_label">裝置連結時</string>
|
<string name="settings_monitor_mode_automatic_label">裝置連線時</string>
|
||||||
<string name="settings_monitor_mode_always_label">總是</string>
|
<string name="settings_monitor_mode_always_label">一律</string>
|
||||||
<string name="settings_scanner_mode_lowpower_label">節電</string>
|
<string name="settings_scanner_mode_lowpower_label">節電</string>
|
||||||
<string name="settings_scanner_mode_balanced_label">平衡</string>
|
<string name="settings_scanner_mode_balanced_label">平衡</string>
|
||||||
<string name="settings_scanner_mode_lowlatency_label">低延遲</string>
|
<string name="settings_scanner_mode_lowlatency_label">低延遲</string>
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
<string name="settings_signal_minimum_label">最低訊號質量</string>
|
<string name="settings_signal_minimum_label">最低訊號質量</string>
|
||||||
<string name="settings_signal_minimum_description">可以被認為是你的裝置的最低訊號質量。</string>
|
<string name="settings_signal_minimum_description">可以被認為是你的裝置的最低訊號質量。</string>
|
||||||
<string name="settings_autoconnect_label">自動連線</string>
|
<string name="settings_autoconnect_label">自動連線</string>
|
||||||
<string name="settings_autoconnect_description">如果 Android 不會自動連線,我們也可以要求它。這將把監視模式設定為「總是」。</string>
|
<string name="settings_autoconnect_description">如果 Android 不會自動連線,我們也可以要求它。這將把監視模式設定為「一律」。</string>
|
||||||
<string name="settings_autoconnect_condition_label">自動連線條件</string>
|
<string name="settings_autoconnect_condition_label">自動連線條件</string>
|
||||||
<string name="settings_autoconnect_condition_description">何時連線到你的裝置?</string>
|
<string name="settings_autoconnect_condition_description">何時連線到你的裝置?</string>
|
||||||
<string name="settings_reaction_label">反應</string>
|
<string name="settings_reaction_label">反應</string>
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
<string name="overview_bluetooth_disabled_description">藍牙已停用,啟用它 ;)</string>
|
<string name="overview_bluetooth_disabled_description">藍牙已停用,啟用它 ;)</string>
|
||||||
<string name="help_translate_label">翻譯</string>
|
<string name="help_translate_label">翻譯</string>
|
||||||
<string name="help_translate_description">協助翻譯為你的最愛語言。</string>
|
<string name="help_translate_description">協助翻譯為你的最愛語言。</string>
|
||||||
<string name="settings_onepod_mode_label">單隻耳模式</string>
|
<string name="settings_onepod_mode_label">單耳模式</string>
|
||||||
<string name="settings_onepod_mode_description">不需要同時佩戴兩隻耳機,單隻耳機就可充分觸發反應。</string>
|
<string name="settings_onepod_mode_description">不需要同時佩戴兩隻耳機,單隻耳機就可充分觸發反應。</string>
|
||||||
<string name="permission_system_alert_window_label">系統警報視窗</string>
|
<string name="permission_system_alert_window_label">系統警報視窗</string>
|
||||||
<string name="permission_system_alert_window_description">允許 CAPod 在其他應用程式上繪圖,使「顯示彈出式視窗」功能成為可能。</string>
|
<string name="permission_system_alert_window_description">允許 CAPod 在其他應用程式上繪圖,使「顯示彈出式視窗」功能成為可能。</string>
|
||||||
|
|||||||
@@ -1,15 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<Preference
|
|
||||||
android:icon="@drawable/ic_github_onsurface"
|
|
||||||
android:summary="@string/issue_tracker_description"
|
|
||||||
android:title="@string/issue_tracker_label">
|
|
||||||
<intent
|
|
||||||
android:action="android.intent.action.VIEW"
|
|
||||||
android:data="https://github.com/d4rken-org/capod/issues" />
|
|
||||||
</Preference>
|
|
||||||
<Preference
|
<Preference
|
||||||
android:icon="@drawable/ic_discord_onsurface"
|
android:icon="@drawable/ic_discord_onsurface"
|
||||||
android:summary="@string/discord_description"
|
android:summary="@string/discord_description"
|
||||||
@@ -19,10 +10,13 @@
|
|||||||
android:data="https://discord.gg/rrxxng35jq" />
|
android:data="https://discord.gg/rrxxng35jq" />
|
||||||
</Preference>
|
</Preference>
|
||||||
<Preference
|
<Preference
|
||||||
android:icon="@drawable/ic_email_onsurface"
|
android:icon="@drawable/ic_github_onsurface"
|
||||||
android:key="support.email.darken"
|
android:summary="@string/issue_tracker_description"
|
||||||
android:summary="@string/settings_support_email_developer_description"
|
android:title="@string/issue_tracker_label">
|
||||||
android:title="@string/settings_support_email_developer_label" />
|
<intent
|
||||||
|
android:action="android.intent.action.VIEW"
|
||||||
|
android:data="https://github.com/d4rken-org/capod/issues" />
|
||||||
|
</Preference>
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/settings_category_other_label">
|
<PreferenceCategory app:title="@string/settings_category_other_label">
|
||||||
<Preference
|
<Preference
|
||||||
|
|||||||
+2
-3
@@ -8,13 +8,12 @@ buildscript {
|
|||||||
'version' : [
|
'version' : [
|
||||||
'major': 1,
|
'major': 1,
|
||||||
'minor': 3,
|
'minor': 3,
|
||||||
'patch': 13,
|
'patch': 14,
|
||||||
'build': 0,
|
'build': 0,
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
|
|
||||||
ext.buildConfig.version['name'] = "${buildConfig.version.major}.${buildConfig.version.minor}.${buildConfig.version.patch}"
|
ext.buildConfig.version['name'] = "${buildConfig.version.major}.${buildConfig.version.minor}.${buildConfig.version.patch}-rc${buildConfig.version.build}"
|
||||||
ext.buildConfig.version['fullName'] = "${buildConfig.version.name}.${buildConfig.version.build}"
|
|
||||||
ext.buildConfig.version['code'] = buildConfig.version.major * 1000000 + buildConfig.version.minor * 10000 + buildConfig.version.patch * 100 + buildConfig.version.build
|
ext.buildConfig.version['code'] = buildConfig.version.major * 1000000 + buildConfig.version.minor * 10000 + buildConfig.version.patch * 100 + buildConfig.version.build
|
||||||
|
|
||||||
ext.versions = [
|
ext.versions = [
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
json_key_file "~/.appconfig/eu.darken.capod/gplay-capod-ci_api.json"
|
|
||||||
package_name "eu.darken.capod"
|
|
||||||
+7
-5
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
# This is the minimum version number required.
|
# This is the minimum version number required.
|
||||||
# Update this, if you use features of a newer version
|
# Update this, if you use features of a newer version
|
||||||
fastlane_version "2.175.0"
|
fastlane_version "2.208.0"
|
||||||
|
|
||||||
default_platform :android
|
default_platform :android
|
||||||
|
|
||||||
@@ -21,27 +21,29 @@ platform :android do
|
|||||||
end
|
end
|
||||||
|
|
||||||
lane :beta do
|
lane :beta do
|
||||||
gradle(task: 'clean assembleGplayBeta')
|
gradle(task: 'clean bundleGplayBeta')
|
||||||
sh "bash ./remove_unsupported_languages.sh"
|
sh "bash ./remove_unsupported_languages.sh"
|
||||||
supply(
|
supply(
|
||||||
track: 'beta',
|
track: 'beta',
|
||||||
|
package_name: 'eu.darken.capod',
|
||||||
skip_upload_changelogs: 'false',
|
skip_upload_changelogs: 'false',
|
||||||
|
skip_upload_apk: 'true',
|
||||||
skip_upload_images: 'true',
|
skip_upload_images: 'true',
|
||||||
skip_upload_screenshots: 'true',
|
skip_upload_screenshots: 'true',
|
||||||
skip_upload_aab: 'true',
|
|
||||||
skip_upload_metadata: 'true',
|
skip_upload_metadata: 'true',
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
lane :production do
|
lane :production do
|
||||||
gradle(task: 'clean assembleGplayRelease')
|
gradle(task: 'clean bundleGplayRelease')
|
||||||
sh "bash ./remove_unsupported_languages.sh"
|
sh "bash ./remove_unsupported_languages.sh"
|
||||||
supply(
|
supply(
|
||||||
track: 'beta',
|
track: 'beta',
|
||||||
|
package_name: 'eu.darken.capod',
|
||||||
skip_upload_changelogs: 'false',
|
skip_upload_changelogs: 'false',
|
||||||
|
skip_upload_apk: 'true',
|
||||||
skip_upload_images: 'true',
|
skip_upload_images: 'true',
|
||||||
skip_upload_screenshots: 'true',
|
skip_upload_screenshots: 'true',
|
||||||
skip_upload_aab: 'true',
|
|
||||||
skip_upload_metadata: 'true',
|
skip_upload_metadata: 'true',
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
CAPod is a companion app for AirPods.
|
CAPod — праграма-кампаньён для AirPods.
|
||||||
|
|
||||||
Features:
|
Магчымасці:
|
||||||
* Battery level for pods and cases.
|
* Узровень зараду батарэі для навушнікаў і футляраў.
|
||||||
* Charging status for pods and case.
|
* Статус зарадкі для навушнікаў і футляра.
|
||||||
* Additional infos about connection, microphone and case.
|
* Дадатковыя звесткі пра злучэнне, мікрафон і футляр.
|
||||||
* Can receive and show all nearby devices.
|
* Магчымасць атрымання і адлюстравання інфармацыі пра ўсе прылады паблізу.
|
||||||
* Ear detection with automatic play/pause.
|
* Выяўленне вуха з аўтаматычным прайграваннем/паўзай.
|
||||||
* Automatically connect phone and AirPods.
|
* Аўтаматычнае злучэнне тэлефона і AirPods.
|
||||||
* Show popup when case is opened.
|
* Адлюстраванне апавяшчэння пры адкрытым футляры.
|
||||||
|
|
||||||
CAPod is ad-free. Some features require an in-app purchase.
|
CAPod не змяшчае рэкламы. Некаторыя функцыі патрабуюць пакупак у праграме.
|
||||||
|
|
||||||
Most popular AirPods and Beats devices are supported.
|
Падтрымліваюцца найбольш папулярныя мадэлі AirPods і Beats.
|
||||||
If your device is similar to AirPods but not yet supported, send me a short mail.
|
Калі ваша прылада падобная да AirPods, але яшчэ не падтрымліваецца, дашліце мне кароткі ліст па эл. пошце.
|
||||||
|
|
||||||
Got a cool idea for a new feature? Reach out!
|
Маеце файную ідэю для новай функцыі? Вам сюды!
|
||||||
@@ -1 +1 @@
|
|||||||
CAPod is a companion app for AirPods on Android.
|
CAPod — праграма-кампаньён для AirPods на Android.
|
||||||
@@ -1 +1 @@
|
|||||||
CAPod - Companion for AirPods
|
CAPod - кампаньён для AirPods
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v1.3.13(1031300)
|
||||||
|
• Updated translations
|
||||||
|
• Updated internal dependencies
|
||||||
|
• Tweaked placement of UI elements
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v1.3.13(1031301)
|
||||||
|
• Updated translations
|
||||||
|
• Updated internal dependencies
|
||||||
|
• Tweaked placement of UI elements
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v1.3.13(1031302)
|
||||||
|
• Updated translations
|
||||||
|
• Updated internal dependencies
|
||||||
|
• Tweaked placement of UI elements
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v1.3.13(1031303)
|
||||||
|
• Updated translations
|
||||||
|
• Updated internal dependencies
|
||||||
|
• Tweaked placement of UI elements
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v1.3.13(1031304)
|
||||||
|
• Updated translations
|
||||||
|
• Updated internal dependencies
|
||||||
|
• Tweaked placement of UI elements
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v1.3.13(1031305)
|
||||||
|
• Updated translations
|
||||||
|
• Updated internal dependencies
|
||||||
|
• Tweaked placement of UI elements
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v1.3.13(1031306)
|
||||||
|
• Updated translations
|
||||||
|
• Updated internal dependencies
|
||||||
|
• Tweaked placement of UI elements
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
v1.3.13(1031307)
|
||||||
|
• Updated translations
|
||||||
|
• Updated internal dependencies
|
||||||
|
• Tweaked placement of UI elements
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Bugfixes and performance improvements.
|
||||||
|
¯\_(ツ)_/¯
|
||||||
|
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
CAPod is a companion app for AirPods.
|
CAPod is a companion app for AirPods.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
|
||||||
* Battery level for pods and cases.
|
* Battery level for pods and cases.
|
||||||
* Charging status for pods and case.
|
* Charging status for pods and case.
|
||||||
* Additional infos about connection, microphone and case.
|
* Additional infos about connection, microphone and case.
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
CAPod - Companion for AirPods
|
A CAPod az AirPods kísérőalkalmazása
|
||||||
@@ -1 +1 @@
|
|||||||
CAPod - Companion for AirPods
|
CAPod - Complemento para AirPods
|
||||||
@@ -1 +1 @@
|
|||||||
CAPod - Companion for AirPods
|
CAPod - Bạn đồng hành cho AirPods
|
||||||
@@ -9,7 +9,7 @@ CAPod 是一個能提供 AirPods 相關功能的應用程式。
|
|||||||
* 自動連線手機和 AirPods。
|
* 自動連線手機和 AirPods。
|
||||||
* 開啟充電盒時顯示彈出式視窗。
|
* 開啟充電盒時顯示彈出式視窗。
|
||||||
|
|
||||||
CAPod 是無廣告的應用程式。 一些功能需要應用內購買。
|
CAPod 是無廣告的應用程式。 一些功能需要應用內購。
|
||||||
|
|
||||||
支援大部分流行的 AirPods 和 Beats 裝置。
|
支援大部分流行的 AirPods 和 Beats 裝置。
|
||||||
如果你的裝置和 AirPods 相似但不支援,請寄給我一封郵件。
|
如果你的裝置和 AirPods 相似但不支援,請寄給我一封郵件。
|
||||||
|
|||||||
Reference in New Issue
Block a user