mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-16 11:16:12 -04:00
Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
753d311593 | ||
|
|
5bae3d9931 | ||
|
|
a3495a8218 | ||
|
|
5fa68f77a2 | ||
|
|
dbba2e9791 | ||
|
|
6207f26a68 | ||
|
|
7fcd39822e |
+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)
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ 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
|
||||||
|
|
||||||
|
|||||||
@@ -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">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">抖內</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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -17,11 +17,6 @@
|
|||||||
android:action="android.intent.action.VIEW"
|
android:action="android.intent.action.VIEW"
|
||||||
android:data="https://github.com/d4rken-org/capod/issues" />
|
android:data="https://github.com/d4rken-org/capod/issues" />
|
||||||
</Preference>
|
</Preference>
|
||||||
<Preference
|
|
||||||
android:icon="@drawable/ic_email_onsurface"
|
|
||||||
android:key="support.email.darken"
|
|
||||||
android:summary="@string/settings_support_email_developer_description"
|
|
||||||
android:title="@string/settings_support_email_developer_label" />
|
|
||||||
|
|
||||||
<PreferenceCategory app:title="@string/settings_category_other_label">
|
<PreferenceCategory app:title="@string/settings_category_other_label">
|
||||||
<Preference
|
<Preference
|
||||||
|
|||||||
+3
-4
@@ -8,13 +8,12 @@ buildscript {
|
|||||||
'version' : [
|
'version' : [
|
||||||
'major': 1,
|
'major': 1,
|
||||||
'minor': 3,
|
'minor': 3,
|
||||||
'patch': 13,
|
'patch': 14,
|
||||||
'build': 5,
|
'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 = [
|
||||||
|
|||||||
@@ -26,12 +26,10 @@ platform :android do
|
|||||||
supply(
|
supply(
|
||||||
track: 'beta',
|
track: 'beta',
|
||||||
package_name: 'eu.darken.capod',
|
package_name: 'eu.darken.capod',
|
||||||
aab: '../app/build/outputs/bundle/gplayBeta/app-gplay-beta.aab',
|
|
||||||
skip_upload_changelogs: 'false',
|
skip_upload_changelogs: 'false',
|
||||||
skip_upload_apk: 'true',
|
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
|
||||||
@@ -42,12 +40,10 @@ platform :android do
|
|||||||
supply(
|
supply(
|
||||||
track: 'beta',
|
track: 'beta',
|
||||||
package_name: 'eu.darken.capod',
|
package_name: 'eu.darken.capod',
|
||||||
aab: '../app/build/outputs/bundle/gplayRelease/app-gplay-release.aab',
|
|
||||||
skip_upload_changelogs: 'false',
|
skip_upload_changelogs: 'false',
|
||||||
skip_upload_apk: 'true',
|
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(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
|
||||||
@@ -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