Compare commits
258 Commits
Author | SHA1 | Date |
---|---|---|
Tibor Kaputa | 632c2a46b6 | |
Tibor Kaputa | 59a211ccb1 | |
Milan Šalka | dcd8591c17 | |
Puppelimies | 811fd86e84 | |
Tibor Kaputa | e39bd16b50 | |
FunkyMuse | b011416ed5 | |
FunkyMuse | f79c9c593b | |
FunkyMuse | 385ca47c91 | |
FunkyMuse | 88389e22cd | |
tibbi | 3637e6175b | |
tibbi | dc214504ed | |
tibbi | acb186c2b4 | |
Tibor Kaputa | 2bb6bec073 | |
FunkyMuse | 4f8558647f | |
FunkyMuse | 7597be2ba7 | |
FunkyMuse | 4ccfd733b6 | |
FunkyMuse | 9e0fe725b9 | |
FunkyMuse | 61af9b8aa9 | |
tibbi | c21635f326 | |
Tibor Kaputa | e6b25d3974 | |
FunkyMuse | e7deec218f | |
FunkyMuse | 0068a53cb5 | |
Tibor Kaputa | 0bfd1dd70d | |
Tibor Kaputa | 99402fe742 | |
FunkyMuse | dd2cd0fdfe | |
FunkyMuse | abe4d59e0a | |
FunkyMuse | eb5c2afa60 | |
tibbi | 0fde3717f0 | |
Tibor Kaputa | 7805c018ff | |
FunkyMuse | dcb42a642f | |
Tibor Kaputa | 0aa1f3e306 | |
FunkyMuse | 553cc16313 | |
FunkyMuse | 1a7070c278 | |
FunkyMuse | 51bd8a736c | |
tibbi | 2d350e14cd | |
tibbi | 797bcc497c | |
tibbi | 86df02faf0 | |
Tibor Kaputa | 6bc40d065b | |
Lionel HANNEQUIN | 90af6a8121 | |
gallegonovato | 86147e9c05 | |
Lionel HANNEQUIN | f5a253328f | |
Puppelimies | eeceb6cef4 | |
Tibor Kaputa | 7f80b38812 | |
gallegonovato | 3cc887b374 | |
Tibor Kaputa | e98523bfee | |
Tibor Kaputa | 5c588af2ae | |
Goran Gharib Karim | 77c979943e | |
Anonymous | 8e1fca95c8 | |
Goran Gharib Karim | 46faffcf16 | |
Tibor Kaputa | 7584b4366a | |
FunkyMuse | 4071468782 | |
FunkyMuse | 3ce8984b16 | |
FunkyMuse | 456bb7a0c8 | |
FunkyMuse | 9f4979ce9d | |
FunkyMuse | 631dd63448 | |
FunkyMuse | 9a4d13e279 | |
FunkyMuse | 8c7f434438 | |
FunkyMuse | 3cd957d1bf | |
FunkyMuse | e6cc16afcd | |
FunkyMuse | 811808c00f | |
Tibor Kaputa | abb5f4b0c6 | |
Ensar Sarajčić | 399feec434 | |
Tibor Kaputa | 2ac53c604c | |
Ensar Sarajčić | 069638f2b1 | |
tibbi | 204c26fa2a | |
tibbi | 47a6c64ac6 | |
tibbi | a4b3eb897f | |
Tibor Kaputa | 851a2bebfe | |
winver | 237be1f5f1 | |
tibbi | 40cac64e68 | |
Tibor Kaputa | 0fa8759bd4 | |
fatih ergin | 191730724b | |
Tibor Kaputa | 23efbc4857 | |
fatih ergin | 8e2e41c086 | |
fatih ergin | bcf0676fc7 | |
Tibor Kaputa | d8916a8b3e | |
Tibor Kaputa | 906e841c79 | |
Milan Šalka | a79e57fc61 | |
Tibor Kaputa | d93d299d3d | |
htetoh | 4cfb95a4d8 | |
Tibor Kaputa | 736014e4d8 | |
htetoh | dfad1f45ea | |
Tibor Kaputa | 61cf5f1ab2 | |
VfBFan | 38071bd8dd | |
tibbi | ab60af4694 | |
tibbi | 09cefd8926 | |
tibbi | 53f8259210 | |
Tibor Kaputa | 03e928081e | |
Tibor Kaputa | 0ed782cf33 | |
Denis Shilin | ca869e59df | |
Oskari Lavinto | 91671cc7fd | |
Cyndaquissshhh | 31fa73c239 | |
Anonymous | 88fc88e238 | |
Cyndaquissshhh | 92c84ab8d6 | |
gallegonovato | 43668111c9 | |
Mateus | d3ecf90d30 | |
Rex_sa | 8930197945 | |
Tibor Kaputa | f615b8f29c | |
tibbi | 993fee4aca | |
tibbi | c18925492b | |
tibbi | 3d3b305a86 | |
Tibor Kaputa | 4f34bae962 | |
Sergio Marques | 42fd58a88e | |
Balázs Meskó | e1f429de45 | |
Linerly | ee5ee452ee | |
Balázs Meskó | 11873fb2b7 | |
tibbi | 297a517658 | |
tibbi | efa92ddb2e | |
Tibor Kaputa | 99b3927479 | |
Digger | fa80727c5c | |
tibbi | 78a22c9611 | |
Tibor Kaputa | 9f48675055 | |
Ahmad0a | d2c2f4c5e5 | |
Milo Ivir | 865637234d | |
tibbi | f123e35844 | |
tibbi | 4af0dafe06 | |
tibbi | 4232204e56 | |
Tibor Kaputa | 34a9afc3e7 | |
Dan | 6e719c2b15 | |
Dan | 2f7f0cf3b5 | |
Dan | 97444d111c | |
Dan | 6ec4d0efd9 | |
Josep M. Ferrer | 994f629a98 | |
Dan | 7d72b5abaa | |
Josep M. Ferrer | 3fa070fdbf | |
Agnieszka C | e85813e34b | |
rehork | fb9930f40e | |
Tibor Kaputa | ee6d315b41 | |
Martin Božič | 5d8d4fd416 | |
VfBFan | 8955493feb | |
Tibor Kaputa | 566378a6ca | |
Tibor Kaputa | 71fb30085e | |
Tibor Kaputa | 21c2a42d43 | |
Tibor Kaputa | 14dd0fb088 | |
Tibor Kaputa | 9f98ba5142 | |
Abhi | 8f9868c3f7 | |
Martin Božič | 1cf80be6dd | |
Abhi | ce3034d0d4 | |
Abhi | 8b54f01502 | |
Abhi | 43b12d523d | |
Anonymous | cdc1198bd5 | |
Abhi | 82a24cb765 | |
Abhi | 4e9b1b8fd5 | |
Anonymous | d975bef4ce | |
Abhi | f041a1521b | |
Abhi | b82e13e30a | |
Anonymous | 8a9ed06413 | |
Ram | 7f0535656a | |
Alex | 0f1d28af2d | |
Alex | d882a664b7 | |
Alex | 08f9e2887c | |
Anonymous | 5ceb9d4853 | |
Alex | 6cb4f4a3fb | |
gallegonovato | 9c8b5b4c63 | |
Alex | 7dfd345ac1 | |
Tibor Kaputa | 30af8103df | |
spkprs | 169e92cef3 | |
Tibor Kaputa | 66d41fd502 | |
Tibor Kaputa | 5c3ec8cdb6 | |
Tibor Kaputa | 9fcc52ec23 | |
Anonymous | fa853f05f4 | |
bgo-eiu | 520dd403bd | |
Alex | 9f6847ede6 | |
Alex | 95c3dc6301 | |
Alex | 1f41033014 | |
Vri 🌈 | 0f2bb7ec76 | |
Tibor Kaputa | 08bf15793e | |
Tibor Kaputa | 7cb497dae4 | |
Alex | 55557be348 | |
gallegonovato | d20a726420 | |
gallegonovato | bc416b1a7d | |
gallegonovato | 2268480905 | |
Digger | eb05a8f051 | |
gallegonovato | 6b80858a98 | |
Digger | 22b559d6e0 | |
Tibor Kaputa | ebdf80ac1c | |
solokot | 4ed17d8fed | |
Tibor Kaputa | 03552065bd | |
Tibor Kaputa | 0d8f46839f | |
paula katos | 5232fa3f8b | |
Linerly | bde052bae3 | |
atilluF | 0c18d4d84f | |
Tibor Kaputa | 6561e0c6a9 | |
Martin Božič | f84b529ba1 | |
Alan Jacob Mathew | 69ff7a8ef9 | |
Anonymous | 0cd4557bde | |
tibbi | 76d1fc16ce | |
tibbi | eecea2ab38 | |
tibbi | 7aecc7fe9c | |
tibbi | 9701e46b69 | |
tibbi | 95c2747cbd | |
Tibor Kaputa | 3d813bd9ec | |
solokot | 3500bc65e4 | |
Josep M. Ferrer | d47c8e04b9 | |
gallegonovato | 0d982df5f8 | |
Agnieszka C | 9b42960159 | |
Tibor Kaputa | ec980b3f1f | |
tibbi | 84ed9e5a53 | |
Alan Jacob Mathew | dd4ab6f7a8 | |
tibbi | 4d39e74033 | |
Tibor Kaputa | 0590ee4039 | |
Tibor Kaputa | 6e541eaadb | |
Tibor Kaputa | 79c42226a2 | |
words wave | 72f1a188d8 | |
words wave | 9bf23480a4 | |
words wave | 58b24f33c3 | |
words wave | 785c24e712 | |
Kovacs Bea | 71ed62c49f | |
Milo Ivir | 91b421841f | |
Martin Božič | 43dd2a02b6 | |
Stefan Ivanov | 5a75dc7694 | |
Stefan Ivanov | 4d6063c0a1 | |
Stefan Ivanov | 561b44e42c | |
Stefan Ivanov | d40c6386c2 | |
Anonymous | 7157ce645c | |
Alan Jacob Mathew | dc8a5297eb | |
Martin Božič | ff956c34bc | |
Anonymous | 5a51b08a0b | |
Kauã Azevedo | 0e9c1769ad | |
Kauã Azevedo | a6a5c7bacf | |
Kauã Azevedo | a4f35fc4a9 | |
Kauã Azevedo | 6e3817c3de | |
Kauã Azevedo | 01fd1516d7 | |
Alan Jacob Mathew | 4c7de9d0dc | |
tibbi | 42b6fe7c2e | |
Tibor Kaputa | 0feea8c5fb | |
Tibor Kaputa | 50f1750971 | |
gallegonovato | 198deec190 | |
gallegonovato | 440ec9f72d | |
gallegonovato | 9535b90083 | |
Worldfast | 7b19ebb442 | |
gallegonovato | 733f032f0f | |
kyoya | bdc18ec42d | |
Tibor Kaputa | 7054142877 | |
Tibor Kaputa | 7fa23a06be | |
gallegonovato | 37ae7e3a52 | |
Josep M. Ferrer | 0c691e055b | |
atilluF | 979d332cb9 | |
Tibor Kaputa | eead66d6a1 | |
Tibor Kaputa | 6bb112ae30 | |
Milo Ivir | 4b39ab8130 | |
Tibor Kaputa | 93ea0fc3b9 | |
Milo Ivir | 21ccb8e769 | |
GEROGIANNIS | e8a9fee028 | |
Tibor Kaputa | 0a6dde4a73 | |
Worldfast | d578124746 | |
Worldfast | 64b000fcd5 | |
Worldfast | adf08b660f | |
Milo Ivir | 8b33f90351 | |
Worldfast | 3a2e8d3f4a | |
Worldfast | 97c1f9ce36 | |
Worldfast | 2ddbf3b8df | |
Tibor Kaputa | 457f849855 | |
Worldfast | a6e231174c | |
Worldfast | 13387fdbe7 | |
Worldfast | dfead88053 | |
Worldfast | 1320965e58 | |
Worldfast | fe7aa016ee |
28
CHANGELOG.md
|
@ -1,6 +1,34 @@
|
|||
Changelog
|
||||
==========
|
||||
|
||||
Version 5.8.0 *(2023-10-06)*
|
||||
----------------------------
|
||||
|
||||
* Added some UI and translation improvements
|
||||
|
||||
Version 5.7.3 *(2023-09-07)*
|
||||
----------------------------
|
||||
|
||||
* Added some translation improvements
|
||||
|
||||
Version 5.7.2 *(2023-05-15)*
|
||||
----------------------------
|
||||
|
||||
* Added some translation improvements
|
||||
|
||||
Version 5.7.1 *(2023-01-11)*
|
||||
----------------------------
|
||||
|
||||
* Use Material You design by default on Android 12+
|
||||
* Increased minimal required Android OS version to 6
|
||||
|
||||
Version 5.7.0 *(2022-10-03)*
|
||||
----------------------------
|
||||
|
||||
* Adding a Get Simple Phone button into the About section
|
||||
* Added Monochrome icon and Language picker support on Android 13+
|
||||
* Added some translation and UX improvements
|
||||
|
||||
Version 5.6.1 *(2022-08-12)*
|
||||
----------------------------
|
||||
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
### Reporting
|
||||
Before you report something, read the reporting rules [here](https://github.com/SimpleMobileTools/General-Discussion#how-do-i-suggest-an-improvement-ask-a-question-or-report-an-issue) please.
|
||||
|
||||
### Contributing as a developer
|
||||
Some instructions about code style and everything that has to be done to increase the change of your code getting accepted can be found at the [General Discussion](https://github.com/SimpleMobileTools/General-Discussion#contribution-rules-for-developers) section.
|
||||
|
||||
### Contributing as a non developer
|
||||
In case you just want to for example improve a translation, you can find the way of doing it [here](https://github.com/SimpleMobileTools/General-Discussion#how-can-i-suggest-an-edit-to-a-file).
|
|
@ -28,6 +28,6 @@ https://t.me/SimpleMobileTools
|
|||
<a href='https://play.google.com/store/apps/details?id=com.simplemobiletools.thankyou'><img src='https://simplemobiletools.com/images/button-google-play.svg' alt='Get it on Google Play' height=45/></a>
|
||||
|
||||
<div style="display:flex;">
|
||||
<img alt="App image" src="fastlane/metadata/android/en-GB/images/phoneScreenshots/1_en-GB.jpeg" width="30%">
|
||||
<img alt="App image" src="fastlane/metadata/android/en-GB/images/phoneScreenshots/2_en-GB.jpeg" width="30%">
|
||||
<img alt="App image" src="fastlane/metadata/android/en-US/images/phoneScreenshots/1_en-US.jpeg" width="30%">
|
||||
<img alt="App image" src="fastlane/metadata/android/en-US/images/phoneScreenshots/2_en-US.jpeg" width="30%">
|
||||
</div>
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
def keystorePropertiesFile = rootProject.file("keystore.properties")
|
||||
def keystoreProperties = new Properties()
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 31
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.simplemobiletools.thankyou"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 31
|
||||
versionCode 27
|
||||
versionName "5.6.1"
|
||||
setProperty("archivesBaseName", "thank-you")
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
release {
|
||||
keyAlias keystoreProperties['keyAlias']
|
||||
keyPassword keystoreProperties['keyPassword']
|
||||
storeFile file(keystoreProperties['storeFile'])
|
||||
storePassword keystoreProperties['storePassword']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
applicationIdSuffix ".debug"
|
||||
}
|
||||
release {
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
flavorDimensions "variants"
|
||||
productFlavors {
|
||||
core {}
|
||||
fdroid {}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDirs += 'src/main/kotlin'
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
checkReleaseBuilds false
|
||||
abortOnError false
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:9938692154'
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
import java.io.FileInputStream
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
import org.jetbrains.kotlin.konan.properties.Properties
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.android)
|
||||
alias(libs.plugins.kotlinAndroid)
|
||||
base
|
||||
}
|
||||
|
||||
base {
|
||||
archivesName.set("thank-you")
|
||||
}
|
||||
|
||||
val keystorePropertiesFile: File = rootProject.file("keystore.properties")
|
||||
val keystoreProperties = Properties()
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt()
|
||||
|
||||
defaultConfig {
|
||||
applicationId = libs.versions.app.version.appId.get()
|
||||
minSdk = project.libs.versions.app.build.minimumSDK.get().toInt()
|
||||
targetSdk = project.libs.versions.app.build.targetSDK.get().toInt()
|
||||
versionName = project.libs.versions.app.version.versionName.get()
|
||||
versionCode = project.libs.versions.app.version.versionCode.get().toInt()
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
register("release") {
|
||||
keyAlias = keystoreProperties.getProperty("keyAlias")
|
||||
keyPassword = keystoreProperties.getProperty("keyPassword")
|
||||
storeFile = file(keystoreProperties.getProperty("storeFile"))
|
||||
storePassword = keystoreProperties.getProperty("storePassword")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
viewBinding = true
|
||||
buildConfig = true
|
||||
compose = true
|
||||
}
|
||||
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get()
|
||||
kotlinOptions.freeCompilerArgs = listOf(
|
||||
"-opt-in=kotlin.RequiresOptIn",
|
||||
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
|
||||
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
|
||||
"-opt-in=androidx.compose.foundation.ExperimentalFoundationApi",
|
||||
"-Xcontext-receivers"
|
||||
)
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
applicationIdSuffix = ".debug"
|
||||
}
|
||||
release {
|
||||
isMinifyEnabled = true
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
)
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
signingConfig = signingConfigs.getByName("release")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
flavorDimensions.add("variants")
|
||||
productFlavors {
|
||||
register("core")
|
||||
register("fdroid")
|
||||
register("prepaid")
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
getByName("main").java.srcDirs("src/main/kotlin")
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
val currentJavaVersionFromLibs = JavaVersion.valueOf(libs.versions.app.build.javaVersion.get().toString())
|
||||
sourceCompatibility = currentJavaVersionFromLibs
|
||||
targetCompatibility = currentJavaVersionFromLibs
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get()
|
||||
}
|
||||
|
||||
namespace = libs.versions.app.version.appId.get()
|
||||
|
||||
lint {
|
||||
checkReleaseBuilds = false
|
||||
abortOnError = false
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(libs.simple.tools.commons)
|
||||
implementation(libs.bundles.lifecycle)
|
||||
implementation(libs.bundles.compose)
|
||||
debugImplementation(libs.bundles.compose.preview)
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.simplemobiletools.thankyou"
|
||||
android:installLocation="auto">
|
||||
|
||||
<uses-permission
|
||||
|
@ -17,6 +16,7 @@
|
|||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_launcher_name"
|
||||
android:localeConfig="@xml/locale_config"
|
||||
android:roundIcon="@mipmap/ic_launcher"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme">
|
||||
|
@ -27,11 +27,15 @@
|
|||
|
||||
<activity
|
||||
android:name=".activities.MainActivity"
|
||||
android:configChanges="orientation"
|
||||
android:enableOnBackInvokedCallback="true"
|
||||
android:exported="false" />
|
||||
|
||||
<activity
|
||||
android:name=".activities.SettingsActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="true"
|
||||
android:enableOnBackInvokedCallback="true"
|
||||
android:label="@string/settings"
|
||||
android:parentActivityName=".activities.MainActivity">
|
||||
|
||||
|
@ -43,28 +47,18 @@
|
|||
|
||||
<activity
|
||||
android:name="com.simplemobiletools.commons.activities.AboutActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="false"
|
||||
android:label="@string/about"
|
||||
android:parentActivityName=".activities.MainActivity" />
|
||||
|
||||
<activity
|
||||
android:name="com.simplemobiletools.commons.activities.LicenseActivity"
|
||||
android:exported="false"
|
||||
android:label="@string/third_party_licences"
|
||||
android:parentActivityName="com.simplemobiletools.commons.activities.AboutActivity" />
|
||||
|
||||
<activity
|
||||
android:name="com.simplemobiletools.commons.activities.CustomizationActivity"
|
||||
android:configChanges="orientation"
|
||||
android:exported="false"
|
||||
android:label="@string/customize_colors"
|
||||
android:parentActivityName=".activities.SettingsActivity" />
|
||||
|
||||
<activity
|
||||
android:name="com.simplemobiletools.commons.activities.FAQActivity"
|
||||
android:exported="false"
|
||||
android:label="@string/frequently_asked_questions"
|
||||
android:parentActivityName="com.simplemobiletools.commons.activities.AboutActivity" />
|
||||
|
||||
<provider
|
||||
android:name=".contentproviders.MyContentProvider"
|
||||
android:authorities="com.simplemobiletools.commons.provider"
|
||||
|
|
|
@ -2,39 +2,107 @@ package com.simplemobiletools.thankyou.activities
|
|||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import com.simplemobiletools.commons.extensions.appLaunched
|
||||
import com.simplemobiletools.commons.extensions.checkWhatsNew
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.runtime.snapshots.SnapshotStateList
|
||||
import com.simplemobiletools.commons.compose.alert_dialog.AlertDialogState
|
||||
import com.simplemobiletools.commons.compose.alert_dialog.rememberAlertDialogState
|
||||
import com.simplemobiletools.commons.compose.extensions.*
|
||||
import com.simplemobiletools.commons.compose.theme.AppThemeSurface
|
||||
import com.simplemobiletools.commons.dialogs.DonateAlertDialog
|
||||
import com.simplemobiletools.commons.dialogs.RateStarsAlertDialog
|
||||
import com.simplemobiletools.commons.dialogs.WhatsNewAlertDialog
|
||||
import com.simplemobiletools.commons.extensions.hideKeyboard
|
||||
import com.simplemobiletools.commons.extensions.updateTextColors
|
||||
import com.simplemobiletools.commons.extensions.launchMoreAppsFromUsIntent
|
||||
import com.simplemobiletools.commons.models.FAQItem
|
||||
import com.simplemobiletools.commons.models.Release
|
||||
import com.simplemobiletools.thankyou.BuildConfig
|
||||
import com.simplemobiletools.thankyou.R
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import com.simplemobiletools.thankyou.extensions.startAboutActivity
|
||||
import com.simplemobiletools.thankyou.screens.MainScreen
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
class MainActivity : SimpleActivity() {
|
||||
class MainActivity : ComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_main)
|
||||
appLaunched(BuildConfig.APPLICATION_ID)
|
||||
setupOptionsMenu()
|
||||
checkWhatsNewDialog()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
updateTextColors(activity_main)
|
||||
setupToolbar(main_toolbar)
|
||||
}
|
||||
|
||||
private fun setupOptionsMenu() {
|
||||
main_toolbar.setOnMenuItemClickListener { menuItem ->
|
||||
when (menuItem.itemId) {
|
||||
R.id.settings -> launchSettings()
|
||||
R.id.about -> launchAbout()
|
||||
else -> return@setOnMenuItemClickListener false
|
||||
enableEdgeToEdgeSimple()
|
||||
setContent {
|
||||
AppThemeSurface {
|
||||
val releasesList = remember { mutableStateListOf<Release>() }
|
||||
val checkWhatsNewAlertDialogState = getCheckWhatsNewAlertDialogState(releasesList)
|
||||
val linkColor = linkColor()
|
||||
val showMoreApps = onEventValue { !resources.getBoolean(R.bool.hide_google_relations) }
|
||||
MainScreen(
|
||||
linkColor = linkColor,
|
||||
showMoreApps = showMoreApps,
|
||||
openSettings = ::launchSettings,
|
||||
openAbout = ::launchAbout,
|
||||
moreAppsFromUs = ::launchMoreAppsFromUsIntent
|
||||
)
|
||||
AppLaunched()
|
||||
CheckWhatsNew(releasesList, checkWhatsNewAlertDialogState)
|
||||
}
|
||||
return@setOnMenuItemClickListener true
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun AppLaunched(
|
||||
donateAlertDialogState: AlertDialogState = getDonateAlertDialogState(),
|
||||
rateStarsAlertDialogState: AlertDialogState = getRateStarsAlertDialogState(),
|
||||
) {
|
||||
LaunchedEffect(Unit) {
|
||||
appLaunchedCompose(
|
||||
appId = BuildConfig.APPLICATION_ID,
|
||||
showDonateDialog = donateAlertDialogState::show,
|
||||
showRateUsDialog = rateStarsAlertDialogState::show,
|
||||
showUpgradeDialog = {}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun CheckWhatsNew(
|
||||
releasesList: SnapshotStateList<Release>,
|
||||
checkWhatsNewAlertDialogState: AlertDialogState
|
||||
) {
|
||||
DisposableEffect(Unit) {
|
||||
checkWhatsNewCompose(
|
||||
releases = listOf(
|
||||
Release(14, R.string.release_14),
|
||||
Release(3, R.string.release_3)
|
||||
),
|
||||
currVersion = BuildConfig.VERSION_CODE,
|
||||
showWhatsNewDialog = { releases ->
|
||||
releasesList.addAll(releases)
|
||||
checkWhatsNewAlertDialogState.show()
|
||||
}
|
||||
)
|
||||
onDispose {
|
||||
releasesList.clear()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun getCheckWhatsNewAlertDialogState(releasesList: SnapshotStateList<Release>) = rememberAlertDialogState().apply {
|
||||
DialogMember {
|
||||
WhatsNewAlertDialog(alertDialogState = this, releases = releasesList.toImmutableList())
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun getDonateAlertDialogState() =
|
||||
rememberAlertDialogState().apply {
|
||||
DialogMember {
|
||||
DonateAlertDialog(alertDialogState = this)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun getRateStarsAlertDialogState() = rememberAlertDialogState().apply {
|
||||
DialogMember {
|
||||
RateStarsAlertDialog(alertDialogState = this, onRating = ::rateStarsRedirectAndThankYou)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,12 +121,4 @@ class MainActivity : SimpleActivity() {
|
|||
|
||||
startAboutActivity(R.string.app_name, 0, BuildConfig.VERSION_NAME, faqItems, false)
|
||||
}
|
||||
|
||||
private fun checkWhatsNewDialog() {
|
||||
arrayListOf<Release>().apply {
|
||||
add(Release(14, R.string.release_14))
|
||||
add(Release(3, R.string.release_3))
|
||||
checkWhatsNew(this, BuildConfig.VERSION_CODE)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,77 +1,92 @@
|
|||
package com.simplemobiletools.thankyou.activities
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.NavigationIcon
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.simplemobiletools.commons.compose.alert_dialog.rememberAlertDialogState
|
||||
import com.simplemobiletools.commons.compose.extensions.enableEdgeToEdgeSimple
|
||||
import com.simplemobiletools.commons.compose.theme.AppThemeSurface
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationAdvancedAlertDialog
|
||||
import com.simplemobiletools.commons.extensions.getAppIconColors
|
||||
import com.simplemobiletools.commons.extensions.toggleAppIconColor
|
||||
import com.simplemobiletools.commons.helpers.isTiramisuPlus
|
||||
import com.simplemobiletools.thankyou.BuildConfig
|
||||
import com.simplemobiletools.thankyou.R
|
||||
import com.simplemobiletools.thankyou.extensions.config
|
||||
import kotlinx.android.synthetic.main.activity_settings.*
|
||||
import java.util.*
|
||||
import com.simplemobiletools.thankyou.extensions.launchChangeAppLanguageIntent
|
||||
import com.simplemobiletools.thankyou.extensions.startCustomizationActivity
|
||||
import com.simplemobiletools.thankyou.screens.SettingsScreen
|
||||
import java.util.Locale
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
class SettingsActivity : SimpleActivity() {
|
||||
class SettingsActivity : ComponentActivity() {
|
||||
|
||||
private val preferences by lazy { config }
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_settings)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
setupToolbar(settings_toolbar, NavigationIcon.Arrow)
|
||||
|
||||
setupCustomizeColors()
|
||||
setupUseEnglish()
|
||||
setupHideLauncherIcon()
|
||||
updateTextColors(settings_nested_scrollview)
|
||||
|
||||
arrayOf(settings_color_customization_label, settings_general_settings_label).forEach {
|
||||
it.setTextColor(getProperPrimaryColor())
|
||||
}
|
||||
|
||||
arrayOf(settings_color_customization_holder, settings_general_settings_holder).forEach {
|
||||
it.background.applyColorFilter(getProperBackgroundColor().getContrastColor())
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupCustomizeColors() {
|
||||
settings_customize_colors_holder.setOnClickListener {
|
||||
startCustomizationActivity()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupUseEnglish() {
|
||||
settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en")
|
||||
settings_use_english.isChecked = config.useEnglish
|
||||
|
||||
if (settings_use_english_holder.isGone()) {
|
||||
settings_hide_launcher_icon_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme)
|
||||
}
|
||||
|
||||
settings_use_english_holder.setOnClickListener {
|
||||
settings_use_english.toggle()
|
||||
config.useEnglish = settings_use_english.isChecked
|
||||
System.exit(0)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupHideLauncherIcon() {
|
||||
settings_hide_launcher_icon.isChecked = config.hideLauncherIcon
|
||||
settings_hide_launcher_icon_holder.setOnClickListener {
|
||||
if (config.hideLauncherIcon) {
|
||||
toggleHideLauncherIcon()
|
||||
} else {
|
||||
ConfirmationDialog(this, "", R.string.hide_launcher_icon_explanation, R.string.ok, R.string.cancel) {
|
||||
toggleHideLauncherIcon()
|
||||
enableEdgeToEdgeSimple()
|
||||
setContent {
|
||||
AppThemeSurface {
|
||||
val wasUseEnglishToggledFlow by preferences.wasUseEnglishToggledFlow.collectAsStateWithLifecycle(preferences.wasUseEnglishToggled)
|
||||
val useEnglishFlow by preferences.useEnglishFlow.collectAsStateWithLifecycle(preferences.useEnglish)
|
||||
val hideLauncherIconFlow by preferences.hideLauncherIconFlow.collectAsStateWithLifecycle(preferences.hideLauncherIcon)
|
||||
val displayLanguage = remember { Locale.getDefault().displayLanguage }
|
||||
val isUseEnglishEnabled by remember(wasUseEnglishToggledFlow) {
|
||||
derivedStateOf {
|
||||
(wasUseEnglishToggledFlow || Locale.getDefault().language != "en") && !isTiramisuPlus()
|
||||
}
|
||||
}
|
||||
val confirmHideIconAlertDialogState = getConfirmHideIconAlertDialogState()
|
||||
|
||||
SettingsScreen(
|
||||
displayLanguage = displayLanguage,
|
||||
isUseEnglishEnabled = isUseEnglishEnabled,
|
||||
isUseEnglishChecked = useEnglishFlow,
|
||||
onUseEnglishPress = { isChecked ->
|
||||
preferences.useEnglish = isChecked
|
||||
exitProcess(0)
|
||||
},
|
||||
onSetupLanguagePress = ::launchChangeAppLanguageIntent,
|
||||
isHidingLauncherIcon = hideLauncherIconFlow,
|
||||
hideLauncherIconClick = { isChecked ->
|
||||
if (isChecked) {
|
||||
confirmHideIconAlertDialogState.show()
|
||||
} else {
|
||||
toggleHideLauncherIcon()
|
||||
preferences.hideLauncherIcon = false
|
||||
}
|
||||
},
|
||||
customizeColors = ::startCustomizationActivity,
|
||||
goBack = ::finish
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun toggleHideLauncherIcon() {
|
||||
settings_hide_launcher_icon.toggle()
|
||||
config.hideLauncherIcon = settings_hide_launcher_icon.isChecked
|
||||
@Composable
|
||||
private fun getConfirmHideIconAlertDialogState() =
|
||||
rememberAlertDialogState().apply {
|
||||
DialogMember {
|
||||
ConfirmationAdvancedAlertDialog(
|
||||
alertDialogState = this,
|
||||
messageId = R.string.hide_launcher_icon_explanation,
|
||||
positive = R.string.ok,
|
||||
negative = R.string.cancel
|
||||
) { hideIcon ->
|
||||
preferences.hideLauncherIcon = hideIcon
|
||||
if (hideIcon) {
|
||||
toggleHideLauncherIcon()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun toggleHideLauncherIcon() {
|
||||
val appId = BuildConfig.APPLICATION_ID
|
||||
getAppIconColors().forEachIndexed { index, color ->
|
||||
toggleAppIconColor(appId, index, color, false)
|
||||
|
|
|
@ -6,13 +6,11 @@ import android.database.Cursor
|
|||
import android.database.sqlite.SQLiteDatabase
|
||||
import android.database.sqlite.SQLiteOpenHelper
|
||||
import com.simplemobiletools.commons.R
|
||||
import com.simplemobiletools.commons.helpers.INVALID_NAVIGATION_BAR_COLOR
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_ACCENT_COLOR
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_APP_ICON_COLOR
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_BACKGROUND_COLOR
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_ID
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_LAST_UPDATED_TS
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_NAVIGATION_BAR_COLOR
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_PRIMARY_COLOR
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.COL_TEXT_COLOR
|
||||
import com.simplemobiletools.commons.helpers.MyContentProvider.Companion.fillThemeContentValues
|
||||
|
@ -32,9 +30,10 @@ class MyContentProviderDbHelper private constructor(private val context: Context
|
|||
}
|
||||
|
||||
override fun onCreate(db: SQLiteDatabase) {
|
||||
db.execSQL("CREATE TABLE $TABLE_NAME ($COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_TEXT_COLOR INTEGER DEFAULT 0, $COL_BACKGROUND_COLOR INTEGER DEFAULT 0," +
|
||||
" $COL_PRIMARY_COLOR INTEGER DEFAULT 0, $COL_APP_ICON_COLOR INTEGER DEFAULT 0, $COL_NAVIGATION_BAR_COLOR INTEGER DEFAULT $INVALID_NAVIGATION_BAR_COLOR," +
|
||||
" $COL_LAST_UPDATED_TS INTEGER DEFAULT 0, $COL_ACCENT_COLOR INTEGER DEFAULT 0)")
|
||||
db.execSQL(
|
||||
"CREATE TABLE $TABLE_NAME ($COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_TEXT_COLOR INTEGER DEFAULT 0, $COL_BACKGROUND_COLOR INTEGER DEFAULT 0," +
|
||||
" $COL_PRIMARY_COLOR INTEGER DEFAULT 0, $COL_APP_ICON_COLOR INTEGER DEFAULT 0, $COL_LAST_UPDATED_TS INTEGER DEFAULT 0, $COL_ACCENT_COLOR INTEGER DEFAULT 0)"
|
||||
)
|
||||
}
|
||||
|
||||
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
|
||||
|
@ -42,10 +41,6 @@ class MyContentProviderDbHelper private constructor(private val context: Context
|
|||
db.execSQL("ALTER TABLE $TABLE_NAME ADD COLUMN $COL_APP_ICON_COLOR INTEGER DEFAULT 0")
|
||||
}
|
||||
|
||||
if (oldVersion < 3) {
|
||||
db.execSQL("ALTER TABLE $TABLE_NAME ADD COLUMN $COL_NAVIGATION_BAR_COLOR INTEGER DEFAULT $INVALID_NAVIGATION_BAR_COLOR")
|
||||
}
|
||||
|
||||
if (oldVersion < 4) {
|
||||
db.execSQL("ALTER TABLE $TABLE_NAME ADD COLUMN $COL_ACCENT_COLOR INTEGER DEFAULT 0")
|
||||
}
|
||||
|
@ -53,9 +48,10 @@ class MyContentProviderDbHelper private constructor(private val context: Context
|
|||
|
||||
private fun insertDefaultTheme() {
|
||||
val resources = context.resources
|
||||
val theme = SharedTheme(resources.getColor(R.color.theme_dark_text_color), resources.getColor(R.color.theme_dark_background_color),
|
||||
resources.getColor(R.color.color_primary), resources.getColor(R.color.color_primary), INVALID_NAVIGATION_BAR_COLOR, 0,
|
||||
resources.getColor(R.color.color_primary))
|
||||
val theme = SharedTheme(
|
||||
resources.getColor(R.color.theme_dark_text_color), resources.getColor(R.color.theme_dark_background_color),
|
||||
resources.getColor(R.color.color_primary), resources.getColor(R.color.color_primary), 0, resources.getColor(R.color.color_primary)
|
||||
)
|
||||
insertTheme(theme, mDb)
|
||||
}
|
||||
|
||||
|
@ -92,7 +88,15 @@ class MyContentProviderDbHelper private constructor(private val context: Context
|
|||
return null
|
||||
}
|
||||
|
||||
val cols = arrayOf(COL_TEXT_COLOR, COL_BACKGROUND_COLOR, COL_PRIMARY_COLOR, COL_APP_ICON_COLOR, COL_NAVIGATION_BAR_COLOR, COL_LAST_UPDATED_TS, COL_ACCENT_COLOR)
|
||||
val cols = arrayOf(
|
||||
COL_TEXT_COLOR,
|
||||
COL_BACKGROUND_COLOR,
|
||||
COL_PRIMARY_COLOR,
|
||||
COL_APP_ICON_COLOR,
|
||||
COL_LAST_UPDATED_TS,
|
||||
COL_ACCENT_COLOR
|
||||
)
|
||||
|
||||
val selection = "$COL_ID = ?"
|
||||
val selectionArgs = arrayOf(THEME_ID.toString())
|
||||
return mDb.query(TABLE_NAME, cols, selection, selectionArgs, null, null, null)
|
||||
|
|
|
@ -1,6 +1,90 @@
|
|||
package com.simplemobiletools.thankyou.extensions
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import androidx.annotation.RequiresApi
|
||||
import com.simplemobiletools.commons.activities.AboutActivity
|
||||
import com.simplemobiletools.commons.activities.CustomizationActivity
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||
import com.simplemobiletools.commons.dialogs.WhatsNewDialog
|
||||
import com.simplemobiletools.commons.extensions.baseConfig
|
||||
import com.simplemobiletools.commons.extensions.hideKeyboard
|
||||
import com.simplemobiletools.commons.extensions.launchViewIntent
|
||||
import com.simplemobiletools.commons.extensions.openDeviceSettings
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.FAQItem
|
||||
import com.simplemobiletools.commons.models.Release
|
||||
import com.simplemobiletools.thankyou.R
|
||||
import com.simplemobiletools.thankyou.helpers.Config
|
||||
|
||||
val Context.config: Config get() = Config.newInstance(applicationContext)
|
||||
|
||||
internal fun Activity.startAboutActivity(
|
||||
appNameId: Int, licenseMask: Long, versionName: String, faqItems: ArrayList<FAQItem>, showFAQBeforeMail: Boolean,
|
||||
getAppIconIDs: ArrayList<Int> = getAppIconIDs(),
|
||||
getAppLauncherName: String = launcherName()
|
||||
) {
|
||||
hideKeyboard()
|
||||
Intent(applicationContext, AboutActivity::class.java).apply {
|
||||
putExtra(APP_ICON_IDS, getAppIconIDs)
|
||||
putExtra(APP_LAUNCHER_NAME, getAppLauncherName)
|
||||
putExtra(APP_NAME, getString(appNameId))
|
||||
putExtra(APP_LICENSES, licenseMask)
|
||||
putExtra(APP_VERSION_NAME, versionName)
|
||||
putExtra(APP_FAQ, faqItems)
|
||||
putExtra(SHOW_FAQ_BEFORE_MAIL, showFAQBeforeMail)
|
||||
startActivity(this)
|
||||
}
|
||||
}
|
||||
|
||||
internal fun Activity.startCustomizationActivity(
|
||||
getAppIconIDs: ArrayList<Int> = getAppIconIDs(),
|
||||
getAppLauncherName: String = launcherName()
|
||||
) {
|
||||
Intent(applicationContext, CustomizationActivity::class.java).apply {
|
||||
putExtra(APP_ICON_IDS, getAppIconIDs)
|
||||
putExtra(APP_LAUNCHER_NAME, getAppLauncherName)
|
||||
startActivity(this)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
|
||||
internal fun Activity.launchChangeAppLanguageIntent() {
|
||||
try {
|
||||
Intent(Settings.ACTION_APP_LOCALE_SETTINGS).apply {
|
||||
data = Uri.fromParts("package", packageName, null)
|
||||
startActivity(this)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
openDeviceSettings()
|
||||
}
|
||||
}
|
||||
|
||||
private fun getAppIconIDs() = arrayListOf(
|
||||
R.mipmap.ic_launcher_red,
|
||||
R.mipmap.ic_launcher_pink,
|
||||
R.mipmap.ic_launcher_purple,
|
||||
R.mipmap.ic_launcher_deep_purple,
|
||||
R.mipmap.ic_launcher_indigo,
|
||||
R.mipmap.ic_launcher_blue,
|
||||
R.mipmap.ic_launcher_light_blue,
|
||||
R.mipmap.ic_launcher_cyan,
|
||||
R.mipmap.ic_launcher_teal,
|
||||
R.mipmap.ic_launcher_green,
|
||||
R.mipmap.ic_launcher_light_green,
|
||||
R.mipmap.ic_launcher_lime,
|
||||
R.mipmap.ic_launcher_yellow,
|
||||
R.mipmap.ic_launcher_amber,
|
||||
R.mipmap.ic_launcher,
|
||||
R.mipmap.ic_launcher_deep_orange,
|
||||
R.mipmap.ic_launcher_brown,
|
||||
R.mipmap.ic_launcher_blue_grey,
|
||||
R.mipmap.ic_launcher_grey_black
|
||||
)
|
||||
|
||||
private fun Context.launcherName() = getString(R.string.app_launcher_name)
|
||||
|
|
|
@ -2,13 +2,17 @@ package com.simplemobiletools.thankyou.helpers
|
|||
|
||||
import android.content.Context
|
||||
import com.simplemobiletools.commons.helpers.BaseConfig
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
class Config(context: Context) : BaseConfig(context) {
|
||||
companion object {
|
||||
const val HIDE_LAUNCHER_ICON = "hide_launcher_icon"
|
||||
fun newInstance(context: Context) = Config(context)
|
||||
}
|
||||
|
||||
var hideLauncherIcon: Boolean
|
||||
get() = prefs.getBoolean(HIDE_LAUNCHER_ICON, false)
|
||||
set(hideLauncherIcon) = prefs.edit().putBoolean(HIDE_LAUNCHER_ICON, hideLauncherIcon).apply()
|
||||
|
||||
val hideLauncherIconFlow: Flow<Boolean> = ::hideLauncherIcon.asFlowNonNull()
|
||||
}
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
package com.simplemobiletools.thankyou.helpers
|
||||
|
||||
// Shared Preferences
|
||||
val HIDE_LAUNCHER_ICON = "hide_launcher_icon"
|
|
@ -0,0 +1,102 @@
|
|||
@file:OptIn(ExperimentalMaterial3Api::class)
|
||||
|
||||
package com.simplemobiletools.thankyou.screens
|
||||
|
||||
import android.text.util.Linkify
|
||||
import android.view.Gravity
|
||||
import android.widget.TextView
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Settings
|
||||
import androidx.compose.material.icons.outlined.Info
|
||||
import androidx.compose.material3.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.toArgb
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import androidx.compose.ui.viewinterop.AndroidView
|
||||
import com.simplemobiletools.commons.R
|
||||
import com.simplemobiletools.commons.compose.extensions.MyDevices
|
||||
import com.simplemobiletools.commons.compose.lists.*
|
||||
import com.simplemobiletools.commons.compose.menus.ActionItem
|
||||
import com.simplemobiletools.commons.compose.menus.ActionMenu
|
||||
import com.simplemobiletools.commons.compose.menus.OverflowMode
|
||||
import com.simplemobiletools.commons.compose.theme.AppThemeSurface
|
||||
import com.simplemobiletools.commons.compose.theme.SimpleTheme
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
@Composable
|
||||
internal fun MainScreen(
|
||||
showMoreApps: Boolean,
|
||||
openSettings: () -> Unit,
|
||||
openAbout: () -> Unit,
|
||||
moreAppsFromUs: () -> Unit,
|
||||
linkColor: Color,
|
||||
) {
|
||||
SimpleScaffold(customTopBar = { scrolledColor: Color, _: MutableInteractionSource, scrollBehavior: TopAppBarScrollBehavior, statusBarColor: Int, colorTransitionFraction: Float, contrastColor: Color ->
|
||||
TopAppBar(
|
||||
title = {},
|
||||
actions = {
|
||||
val actionMenus = rememberActionItems(openSettings, openAbout, showMoreApps, moreAppsFromUs)
|
||||
var isMenuVisible by remember { mutableStateOf(false) }
|
||||
ActionMenu(items = actionMenus, numIcons = 2, isMenuVisible = isMenuVisible, onMenuToggle = { isMenuVisible = it }, iconsColor = scrolledColor)
|
||||
},
|
||||
scrollBehavior = scrollBehavior,
|
||||
colors = simpleTopAppBarColors(statusBarColor, colorTransitionFraction, contrastColor),
|
||||
modifier = Modifier.topAppBarPaddings(),
|
||||
windowInsets = topAppBarInsets()
|
||||
)
|
||||
}) { paddingValues ->
|
||||
val textColor = SimpleTheme.colorScheme.onSurface.toArgb()
|
||||
|
||||
AndroidView(
|
||||
factory = { context ->
|
||||
TextView(context).apply {
|
||||
setText(com.simplemobiletools.thankyou.R.string.main_text)
|
||||
textSize = 16.sp.value
|
||||
setLineSpacing(3.dp.value, 1f)
|
||||
gravity = Gravity.CENTER_HORIZONTAL
|
||||
Linkify.addLinks(this, Linkify.WEB_URLS)
|
||||
Linkify.addLinks(this, Linkify.EMAIL_ADDRESSES)
|
||||
}
|
||||
}, modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.padding(bottom = paddingValues.calculateBottomPadding())
|
||||
.padding(40.dp),
|
||||
update = { textView ->
|
||||
textView.setLinkTextColor(linkColor.toArgb())
|
||||
textView.setTextColor(textColor)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun rememberActionItems(
|
||||
openSettings: () -> Unit,
|
||||
openAbout: () -> Unit,
|
||||
showMoreApps: Boolean,
|
||||
moreAppsFromUs: () -> Unit
|
||||
) = remember {
|
||||
val settings =
|
||||
ActionItem(R.string.settings, icon = Icons.Filled.Settings, doAction = openSettings, overflowMode = OverflowMode.NEVER_OVERFLOW)
|
||||
val about = ActionItem(R.string.about, icon = Icons.Outlined.Info, doAction = openAbout, overflowMode = OverflowMode.NEVER_OVERFLOW)
|
||||
|
||||
val list = if (showMoreApps) {
|
||||
listOf(settings, about, ActionItem(R.string.more_apps_from_us, doAction = moreAppsFromUs, overflowMode = OverflowMode.ALWAYS_OVERFLOW))
|
||||
} else {
|
||||
listOf(settings, about)
|
||||
}
|
||||
list.toImmutableList()
|
||||
}
|
||||
|
||||
@Composable
|
||||
@MyDevices
|
||||
private fun MainScreenPreview() {
|
||||
AppThemeSurface {
|
||||
MainScreen(showMoreApps = true, openSettings = {}, openAbout = {}, moreAppsFromUs = {}, linkColor = SimpleTheme.colorScheme.onSurface)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
package com.simplemobiletools.thankyou.screens
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.simplemobiletools.commons.R
|
||||
import com.simplemobiletools.commons.compose.extensions.MyDevices
|
||||
import com.simplemobiletools.commons.compose.lists.SimpleColumnScaffold
|
||||
import com.simplemobiletools.commons.compose.settings.*
|
||||
import com.simplemobiletools.commons.compose.theme.AppThemeSurface
|
||||
import com.simplemobiletools.commons.compose.theme.SimpleTheme
|
||||
import com.simplemobiletools.commons.helpers.isTiramisuPlus
|
||||
|
||||
@Composable
|
||||
internal fun SettingsScreen(
|
||||
displayLanguage: String,
|
||||
isUseEnglishEnabled: Boolean,
|
||||
isUseEnglishChecked: Boolean,
|
||||
isHidingLauncherIcon: Boolean,
|
||||
onUseEnglishPress: (Boolean) -> Unit,
|
||||
onSetupLanguagePress: () -> Unit,
|
||||
hideLauncherIconClick: (Boolean) -> Unit,
|
||||
customizeColors: () -> Unit,
|
||||
goBack: () -> Unit,
|
||||
) {
|
||||
SimpleColumnScaffold(title = stringResource(id = R.string.settings), goBack = goBack) {
|
||||
SettingsGroup(title = {
|
||||
SettingsTitleTextComponent(text = stringResource(id = R.string.color_customization))
|
||||
}) {
|
||||
SettingsPreferenceComponent(
|
||||
label = stringResource(id = R.string.customize_colors),
|
||||
doOnPreferenceClick = customizeColors,
|
||||
)
|
||||
}
|
||||
SettingsHorizontalDivider()
|
||||
SettingsGroup(title = {
|
||||
SettingsTitleTextComponent(text = stringResource(id = R.string.general_settings))
|
||||
}) {
|
||||
|
||||
if (isUseEnglishEnabled) {
|
||||
SettingsCheckBoxComponent(
|
||||
label = stringResource(id = R.string.use_english_language),
|
||||
initialValue = isUseEnglishChecked,
|
||||
onChange = onUseEnglishPress,
|
||||
)
|
||||
}
|
||||
if (isTiramisuPlus()) {
|
||||
SettingsPreferenceComponent(
|
||||
label = stringResource(id = R.string.language),
|
||||
value = displayLanguage,
|
||||
doOnPreferenceClick = onSetupLanguagePress,
|
||||
preferenceLabelColor = SimpleTheme.colorScheme.onSurface,
|
||||
)
|
||||
}
|
||||
SettingsCheckBoxComponent(
|
||||
label = stringResource(id = com.simplemobiletools.thankyou.R.string.hide_launcher_icon),
|
||||
initialValue = isHidingLauncherIcon,
|
||||
onChange = hideLauncherIconClick,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@MyDevices
|
||||
private fun SettingsScreenPreview() {
|
||||
AppThemeSurface {
|
||||
SettingsScreen(
|
||||
displayLanguage = "English",
|
||||
isUseEnglishEnabled = false,
|
||||
isUseEnglishChecked = false,
|
||||
isHidingLauncherIcon = false,
|
||||
onUseEnglishPress = {},
|
||||
onSetupLanguagePress = {},
|
||||
hideLauncherIconClick = {},
|
||||
customizeColors = {},
|
||||
goBack = {},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="108dp" android:height="108dp" android:viewportWidth="108" android:viewportHeight="108">
|
||||
<path android:fillColor="#FFFFFFFF" android:pathData="M54.43 44.51c1.05-1.34 1.81-2.29 2.77-3.24 4.58-4.67 9.54-5.44 14.5-2.29 4.77 2.96 6.96 9.15 4.96 14.69-0.67 1.72-1.53 3.43-2.67 4.86-4.86 5.91-10.78 10.68-17.07 14.88-1.62 1.05-3.24 1.24-4.96 0.1-6.59-4.3-12.7-9.16-17.56-15.27-3.53-4.38-4.39-9.44-1.62-14.59 3.81-7.06 12.21-8.39 18.02-2.96 1.05 0.95 2.1 2.19 3.62 3.81z"/>
|
||||
</vector>
|
|
@ -1,46 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/main_coordinator"
|
||||
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="com.simplemobiletools.calculator.activities.MainActivity"
|
||||
tools:ignore="HardcodedText">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/main_app_bar_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/main_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:menu="@menu/menu_main"
|
||||
app:title="@string/app_launcher_name"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/activity_main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:autoLink="email|web"
|
||||
android:gravity="center_horizontal"
|
||||
android:lineSpacingExtra="3dp"
|
||||
android:padding="40dp"
|
||||
android:text="@string/main_text"
|
||||
android:textSize="@dimen/bigger_text_size" />
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -1,118 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/settings_coordinator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/settings_app_bar_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/settings_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:title="@string/settings"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/settings_nested_scrollview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settings_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/settings_color_customization_label"
|
||||
style="@style/SettingsSectionLabelStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/color_customization" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settings_color_customization_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/medium_margin"
|
||||
android:background="@drawable/section_holder_stroke"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_customize_colors_holder"
|
||||
style="@style/SettingsHolderTextViewOneLinerStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_all_corners">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/settings_customize_colors_label"
|
||||
style="@style/SettingsTextLabelStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/customize_colors" />
|
||||
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/settings_general_settings_label"
|
||||
style="@style/SettingsSectionLabelStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/general_settings" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settings_general_settings_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/medium_margin"
|
||||
android:background="@drawable/section_holder_stroke"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_use_english_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_top_corners">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_use_english"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/use_english_language" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_hide_launcher_icon_holder"
|
||||
style="@style/SettingsHolderCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ripple_bottom_corners">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||
android:id="@+id/settings_hide_launcher_icon"
|
||||
style="@style/SettingsCheckboxStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/hide_launcher_icon" />
|
||||
|
||||
</RelativeLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<item
|
||||
android:id="@+id/settings"
|
||||
android:icon="@drawable/ic_settings_cog_vector"
|
||||
android:title="@string/settings"
|
||||
app:showAsAction="always" />
|
||||
<item
|
||||
android:id="@+id/about"
|
||||
android:icon="@drawable/ic_info_vector"
|
||||
android:title="@string/about"
|
||||
app:showAsAction="always" />
|
||||
</menu>
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_orange_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_orange_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_amber_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_amber_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_blue_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_blue_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_blue_grey_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_blue_grey_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_brown_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_brown_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_cyan_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_cyan_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_deep_orange_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_deep_orange_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_deep_purple_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_deep_purple_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_green_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_green_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_grey_black"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_grey_black" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_indigo_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_indigo_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_light_blue_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_light_blue_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_light_green_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_light_green_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_lime_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_lime_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_pink_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_pink_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_purple_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_purple_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_red_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_red_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_teal_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_teal_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/md_yellow_700"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<background android:drawable="@color/md_yellow_700" />
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_monochrome" />
|
||||
</adaptive-icon>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Обикновено Благодаря</string>
|
||||
<string name="app_launcher_name">Благодаря</string>
|
||||
<string name="main_text">Благодаря Ви за подкерпата!
|
||||
<string name="app_name">Просто - Благодарим Ви</string>
|
||||
<string name="app_launcher_name">Благодарим ви</string>
|
||||
<string name="main_text">Благодаря ви, че ни подкрепихте!
|
||||
\n
|
||||
\nПишенте ни на
|
||||
\nПуснете ни линия на
|
||||
\n hello@simplemobiletools.com,
|
||||
\n Ще се радваме да чуем всички ваши отзиви и предложения.
|
||||
\n ще се радваме да чуем всичките ви отзиви и предложения.
|
||||
\n
|
||||
\n(Моля, запазете приложението инсталирано, за да не виждате отново диалоговият прозорец „Покупка“ и да имате всички функции на приложението са отключени)</string>
|
||||
\n(Моля, дръжте приложението инсталирано, за да избегнете виждането на диалога \"Покупка\" и да имате отключени всички функции на приложението)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Скриване на иконата в лаунчъра</string>
|
||||
<string name="hide_launcher_icon_explanation">За да се покаже отново иконата в лаунчъра, ще трябва да инсталирате отново приложението. Не се притеснявайте, няма да се налага да плащате отново.</string>
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">سوپاسگوزاری</string>
|
||||
<string name="app_launcher_name">سوپاس</string>
|
||||
<string name="main_text">سوپاس بۆ پاڵپشتیت!
|
||||
\n
|
||||
\nپەیامێک بنێرە بۆمان
|
||||
\n hello@simplemobiletools.com,
|
||||
\n هەر سەرنج و تێبینی و پێشنیارێکت هەیە پێمان بڵێ.
|
||||
\n
|
||||
\n(تکایە ئەم بەرنامەیە لای خۆت بهێڵەوە و مەیسڕەوە بۆ ئەوەی تایبەتمەندییەکانی وەشانی پارەدان لەدەست نەدەیت)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">شاردنەوەی ئایکۆن</string>
|
||||
<string name="hide_launcher_icon_explanation">بۆ دووبارە پیشاندانەوەی ئایکۆنەکە پێویستە دووبارە بەرنامەکە دابەزێنیتەوە، بێخەمبە پێویست ناکات دووبارە پارە بدەیتەوە.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Schlichtes Dankeschön</string>
|
||||
<string name="app_name">Einfaches Dankeschön</string>
|
||||
<string name="app_launcher_name">Dankeschön</string>
|
||||
<string name="main_text">Vielen Dank für deine Unterstützung!
|
||||
\n
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Απλά Σας ευχαριστούμε</string>
|
||||
<string name="app_launcher_name">Σας ευχαριστούμε</string>
|
||||
<string name="main_text">Σας ευχαριστούμε που μας υποστηρίξατε!
|
||||
<string name="app_name">Απλά Σας Ευχαριστούμε</string>
|
||||
<string name="app_launcher_name">Σας Ευχαριστούμε</string>
|
||||
<string name="main_text">Σας ευχαριστούμε που μας υποστηρίζετε!
|
||||
\n
|
||||
\nΑφήστε μας μια γραμμή στο
|
||||
\n hello@simplemobiletools.com,
|
||||
|
@ -16,4 +16,4 @@
|
|||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Thank You</string>
|
||||
<string name="app_name">Gracias Simple</string>
|
||||
<string name="app_launcher_name">Gracias</string>
|
||||
<string name="main_text">¡Gracias por apoyarnos!
|
||||
<string name="main_text">Gracias por apoyarnos!
|
||||
\n
|
||||
\nEscríbenos
|
||||
\nEscríbe a
|
||||
\n hello@simplemobiletools.com,
|
||||
\n nos encantaría escuchar toda tu retroalimentación y sugerencias.
|
||||
\n nos encantaría escuchar todos tus comentarios y sugerencias.
|
||||
\n
|
||||
\n(Por favor, mantén la aplicación instalada para evitar ver el cuadro de \'Comprar\' y tener todas las características de las aplicaciones desbloqueadas)</string>
|
||||
\n(Por favor, mantén la aplicación instalada para evitar ver el cuadro de diálogo \"Comprar\" y tener todas las funciones de la aplicación desbloqueadas)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Ocultar el ícono del launcher</string>
|
||||
<string name="hide_launcher_icon_explanation">Para volver a mostrar el ícono del launcher, tendrás que reinstalar la aplicación. No te preocupes, no tendrás que pagar de nuevo.</string>
|
||||
<string name="hide_launcher_icon">Oculta el icono del lanzador</string>
|
||||
<string name="hide_launcher_icon_explanation">Para que el icono del aplicación vuelva a aparecer, tendrás que volver a instalar la aplicación. No te preocupes, no tendrás que volver a pagar.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Thank You</string>
|
||||
<string name="app_name">Yksinkertainen kiitos</string>
|
||||
<string name="app_launcher_name">Kiitos</string>
|
||||
<string name="main_text">Kiitos tuestasi!
|
||||
\n
|
||||
\nLaita ihmeessä palautetta osoitteeseen
|
||||
\n hello@simplemobiletools.com,
|
||||
\n haluaisimme kuulla kaikki palautteesi ja ehdotuksesi.
|
||||
\nLähetä ihmeessä palautetta osoitteeseen
|
||||
\n hello@simplemobiletools.com.
|
||||
\n Kuulisimme kaikki mielipiteesi ja ehdotuksesi mielellämme.
|
||||
\n
|
||||
\n(Pidä sovellus asennettuna, jotta et näe \"Osta\"-valintaikkunaa ja kaikkien sovellusten ominaisuuksien lukitus on avattu)</string>
|
||||
\n(Pidä sovellus asennettuna, jotta ostovalinnat pysyvät piilossa ja sovellusten kaikki ominaisuudet käytössäsi.)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Piilota kuvake aloitusnäyttösovelluksesta</string>
|
||||
<string name="hide_launcher_icon_explanation">Kuvakkeen tuominen uudelleen näkyviin vaatii sovelluksen uudelleenasentamisen. Ei huolta, et joudu ostamaan sovellusta uudelleen.</string>
|
||||
<string name="hide_launcher_icon">Piilota kuvake käynnistimestä</string>
|
||||
<string name="hide_launcher_icon_explanation">Kuvakkeen pslautus vaatii sovelluksen uudelleenasennuksen. Ei huolta, sillä et kuitenkaan joudu ostamaan sitä uudelleen.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simpleng Pasasalamat</string>
|
||||
<string name="app_launcher_name">Salamat</string>
|
||||
<string name="main_text">Salamat sa pagsuporta sa amin!
|
||||
\n
|
||||
\nKausapin kami sa
|
||||
\n hello@simplemobiletools.com,
|
||||
\n gusto naming marinig ang mga feeback at mungkahi mo.
|
||||
\n
|
||||
\n(Mangyaring panatilihing naka-install ang app para ma-unlock ang lahat ng mga feature ng mga app at maiwasan ang diyalogong \'Bilhin\')</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Itago ang icon sa lancher</string>
|
||||
<string name="hide_launcher_icon_explanation">Kailangan mong i-reinstall ang app para magpakita ulit ang icon sa launcher. Huwag mag-alala, hindi mo na kailangang magbayad ulit.</string>
|
||||
</resources>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Remerciement</string>
|
||||
<string name="app_name">Merci simple</string>
|
||||
<string name="app_launcher_name">Merci</string>
|
||||
<string name="main_text">Merci pour votre soutien !
|
||||
\n
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Egyszerű „köszönöm”</string>
|
||||
<string name="app_launcher_name">Köszönöm</string>
|
||||
<string name="app_name">Egyszerű köszönet</string>
|
||||
<string name="app_launcher_name">Köszönet</string>
|
||||
<string name="main_text">Köszönjük, hogy támogat minket!
|
||||
\n
|
||||
\nÍrjunk nekik a következő címre:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Semplice Ringraziamento</string>
|
||||
<string name="app_name">Ringraziamento Semplice</string>
|
||||
<string name="app_launcher_name">Grazie</string>
|
||||
<string name="main_text">Grazie per supportarci!
|
||||
\n
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Thank You</string>
|
||||
<string name="app_launcher_name">Thank You</string>
|
||||
<string name="main_text">応援ありがとうございます!
|
||||
<string name="app_name">Simple 感謝</string>
|
||||
<string name="app_launcher_name">感謝</string>
|
||||
<string name="main_text">応援ありがとうございます!
|
||||
\n
|
||||
\nhello@simplemobiletools.com
|
||||
\nまでご連絡ください。
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">ಸರಳ ಧನ್ಯವಾದಗಳು</string>
|
||||
<string name="app_launcher_name">ಧನ್ಯವಾದಗಳು</string>
|
||||
<string name="main_text">ನಮ್ಮನ್ನು ಬೆಂಬಲಿಸಿದ್ದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು!
|
||||
\n
|
||||
\nನಮಗೆ ಒಂದು ಸಾಲನ್ನು ಬಿಡಿ
|
||||
\n hello@simplemobiletools.com,
|
||||
\n ನಿಮ್ಮ ಎಲ್ಲಾ ಪ್ರತಿಕ್ರಿಯೆ ಮತ್ತು ಸಲಹೆಗಳನ್ನು ಕೇಳಲು ನಾವು ಇಷ್ಟಪಡುತ್ತೇವೆ.
|
||||
\n
|
||||
\n(Please keep the app installed to avoid seeing the \'Purchase\' dialog and have all app features unlocked)</string>
|
||||
<string name="hide_launcher_icon">ಲಾಂಚರ್ ಐಕಾನ್ ಅನ್ನು ಮರೆಮಾಡಿ</string>
|
||||
<string name="hide_launcher_icon_explanation">ಲಾಂಚರ್ ಐಕಾನ್ ಅನ್ನು ಮತ್ತೆ ಪ್ರದರ್ಶಿಸಲು, ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸಬೇಕು. ಚಿಂತಿಸಬೇಡ, ನೀವು ಮತ್ತೆ ಪಾವತಿಸಬೇಕಾಗಿಲ್ಲ.</string>
|
||||
</resources>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">സിമ്പിൾ താങ്ക്യു</string>
|
||||
<string name="app_launcher_name">താങ്ക്യു</string>
|
||||
<string name="main_text">ഞങ്ങളെ പിന്തുണയ്ക്കുന്നതിന് നന്ദി!
|
||||
\n
|
||||
\nഞങ്ങളുമായി ബന്ധപ്പെടാൻ
|
||||
\n hello@simplemobiletools.com,
|
||||
\n നിങ്ങളുടെ എല്ലാ ഫീഡ്ബാക്കും നിർദ്ദേശങ്ങളും കേൾക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു.
|
||||
\n
|
||||
\n(\'വാങ്ങാൻ\' ഡയലോഗ് കാണാതിരിക്കാനും എല്ലാ ആപ്പ് ഫീച്ചറുകളും അൺലോക്ക് ചെയ്യാനും ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്തുവെക്കുക )</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">ലോഞ്ചർ ഐക്കൺ മറയ്ക്കുക</string>
|
||||
<string name="hide_launcher_icon_explanation">ലോഞ്ചർ ഐക്കൺ വീണ്ടും പ്രദർശിപ്പിക്കുവാൻ, നിങ്ങൾ ആപ്പ് വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യണം. വിഷമിക്കേണ്ട, നിങ്ങൾ വീണ്ടും പണം നൽകേണ്ടതില്ല.</string>
|
||||
</resources>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">ရိုးရှင်းပရီမီယမ်</string>
|
||||
<string name="app_launcher_name">ကျေးဇူး</string>
|
||||
<string name="main_text">ငါတို့ကိုထောက်ပံ့ ပေးတဲ့အတွက်ကျေးဇူးတင်ပါတယ်!\n\nnအီးမေးလ်ပို့လိုပါက \n hello@simplemobiletools.com,\n ငါတို့\'d မင်းဆီကတုန့်ပြန်မှုကိုကြားချင်ပါတယ်.\n\n(ကျေးဇူးပြု၍ ဒီအက်ပ်ကိုမဖျက်ပစ်ပါနဲ့ ဖော်ပြပါစာသားကို \'Purchase\' မတွေ့ချင်ရင် ဒါမှမဟုတ် အက်ပ်လုပ်ဆောင်ချက်တွေအကုန်လုံးသုံးချင်ရင်)</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">ပင်မစာမျက်နှာမှအိုင်ကွန်ကို ဖျောက်ထားပါ</string>
|
||||
<string name="hide_launcher_icon_explanation">အိုင်ကွန်ကိုပြန်ပြချင်ရင် ဒီအက်ပ်ကိုပြန်သွင်းရန်လိုပါသည်။သင်နောက်တခါငွေထပ်ပေးချေစရာမလိုပါဘူး.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Thank You</string>
|
||||
<string name="app_launcher_name">Thank You</string>
|
||||
<string name="main_text">Thank you for supporting us!
|
||||
\n
|
||||
\nDrop us a line at
|
||||
\n hello@simplemobiletools.com,
|
||||
\n we\'d love to hear all your feedback and suggestions.
|
||||
\n
|
||||
\n(Please keep the app installed to avoid seeing the \'Purchase\' dialog and have all app features unlocked)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Hide the launcher icon</string>
|
||||
<string name="hide_launcher_icon_explanation">To have the launcher icon displayed again, you will have to reinstall the app. Don\'t worry, you won\'t have to pay again.</string>
|
||||
</resources>
|
|
@ -5,15 +5,15 @@
|
|||
<string name="main_text">Obrigado por nos apoiar!
|
||||
\n
|
||||
\nEscreva para
|
||||
\n hello@simplemobiletools.com,
|
||||
\n adoraríamos ouvir todos os seus comentários e sugestões.
|
||||
\nhello@simplemobiletools.com,
|
||||
\nadoraríamos ouvir todos os seus comentários e sugestões.
|
||||
\n
|
||||
\n(Por favor, mantenha o aplicativo instalado para evitar ver o diálogo \'Comprar\' e ter todos os recursos do aplicativo desbloqueados)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Ocultar o ícone do aplicativo</string>
|
||||
<string name="hide_launcher_icon_explanation">Para que o ícone do aplicativo seja exibido novamente, você terá que reinstalar o aplicativo. Não se preocupe, você não precisará pagar novamente.</string>
|
||||
<string name="hide_launcher_icon">Ocultar o ícone do iniciador</string>
|
||||
<string name="hide_launcher_icon_explanation">Deverá reinstalar o aplicativo para o ícone do iniciador aparecer de novo. Não se preocupe, não deverá pagar de novo.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Thank You</string>
|
||||
<string name="app_name">Obrigado Simples</string>
|
||||
<string name="app_launcher_name">Obrigado</string>
|
||||
<string name="main_text">Agradecemos a sua ajuda!
|
||||
<string name="main_text">Obrigado por nos apoiar!
|
||||
\n
|
||||
\nEscreva um e-mail para
|
||||
\nEscreva para
|
||||
\nhello@simplemobiletools.com,
|
||||
\npois gostaríamos de saber as suas opiniões e sugestões.
|
||||
\nadoraríamos ouvir todos os seus comentários e sugestões.
|
||||
\n
|
||||
\n(Mantenha esta aplicação instalada para impedir a exibição do diálogo \'Comprar\' e para ter acesso a todas as funcionalidades da nossas outras aplicações)</string>
|
||||
\n(Por favor, mantenha a aplicação instalada para evitar ver o diálogo \'Comprar\' e ter todos os recursos da aplicação desbloqueadas)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Ocultar ícone</string>
|
||||
<string name="hide_launcher_icon_explanation">Para voltar a mostrar o ícone terá que reinstalar a aplicação. Mas não se preocupe porque não ter que a compra novamente.</string>
|
||||
<string name="hide_launcher_icon">Ocultar o ícone do iniciador</string>
|
||||
<string name="hide_launcher_icon_explanation">Deverá reinstalar a aplicação para o ícone do iniciador aparecer de novo. Não se preocupe, não deverá pagar de novo.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
<resources>
|
||||
<string name="app_name">Simple Thank You</string>
|
||||
<string name="app_launcher_name">Obrigado</string>
|
||||
<string name="main_text">Obrigado pelo seu apoio!
|
||||
<string name="main_text">Obrigado por nos apoiar!
|
||||
\n
|
||||
\nEscreva-nos para
|
||||
\nEscreva para
|
||||
\nhello@simplemobiletools.com,
|
||||
\nadorávamos saber o que acha e que nos deixasse as suas sugestões.
|
||||
\nadoraríamos ouvir todos os seus comentários e sugestões.
|
||||
\n
|
||||
\n(Por favor mantenha a aplicação instalada para que não apareça a solicitação \'Comprar\' e possa manter todas as mais-valias desbloqueadas)</string>
|
||||
\n(Por favor, mantenha a aplicação instalada para evitar ver o diálogo \'Comprar\' e ter todos os recursos da aplicação desbloqueadas)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Ocultar o ícone do launcher</string>
|
||||
<string name="hide_launcher_icon_explanation">Para voltar a exibir o íone do launcher, terá de reinstalar a aplicação. Não se preocupe, não terá de pagar novamente.</string>
|
||||
<string name="hide_launcher_icon">Ocultar ícone do iniciador</string>
|
||||
<string name="hide_launcher_icon_explanation">Deve reinstalar a aplicação para o ícone aparecer novamente. Não se preocupe pois não lhe vamos cobrar qualquer quantia.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Thank You</string>
|
||||
<string name="app_name">Простое спасибо</string>
|
||||
<string name="app_launcher_name">Спасибо</string>
|
||||
<string name="main_text">Спасибо вам за поддержку!
|
||||
\n
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Simple Thank You</string>
|
||||
<string name="app_launcher_name">Hvala</string>
|
||||
<string name="main_text">Hvala za vašo podporo!
|
||||
\n
|
||||
\nPišite nam na
|
||||
\n hello@simplemobiletools.com,
|
||||
\n z veseljem bomo prisluhnili vašemu odzivu in predlogom.
|
||||
\n
|
||||
\n(prosimo vas, da aplikacija ostane nameščena, saj se na ta način izognete pogovornemu oknu \"Nakup\" in ohranite vse funkcije aplikacije odklenjene)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Skrij ikono zaganjalnika</string>
|
||||
<string name="hide_launcher_icon_explanation">Če želite znova prikazati ikono zaganjalnika, morate znova namestiti aplikacijo. Ne skrbite, ne bo vam treba ponovno plačati.</string>
|
||||
</resources>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Једноставно хвала</string>
|
||||
<string name="app_launcher_name">Хвала вам</string>
|
||||
<string name="main_text">Хвала вам што нас подржавате!
|
||||
\n
|
||||
\nЈавите нам се на
|
||||
\nhello@simplemobiletools.com,
|
||||
\nволели бисмо да чујемо све ваше повратне информације и сугестије.
|
||||
\n
|
||||
\n(Молимо да задржите инсталирану апликацију да не бисте видели дијалог „Куповина“ и да бисте откључали све функције апликације)</string>
|
||||
<string name="hide_launcher_icon">Сакријте икону покретача</string>
|
||||
<string name="hide_launcher_icon_explanation">Да би се икона покретача поново приказала, мораћете поново да инсталирате апликацију. Не брините, нећете морати поново да плаћате.</string>
|
||||
</resources>
|
|
@ -16,4 +16,4 @@
|
|||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">எளிமையான நன்றி</string>
|
||||
<string name="app_launcher_name">நன்றி</string>
|
||||
<string name="main_text">எங்களை ஆதரித்ததற்கு நன்றி!
|
||||
\n
|
||||
\nஎங்களுக்கு ஒரு வரியை விடுங்கள்
|
||||
\n hello@simplemobiletools.com,
|
||||
\n உங்களின் அனைத்து கருத்துகளையும் பரிந்துரைகளையும் கேட்க விரும்புகிறோம்.
|
||||
\n
|
||||
\n(Please keep the app installed to avoid seeing the \'Purchase\' dialog and have all app features unlocked)</string>
|
||||
<string name="hide_launcher_icon">துவக்கி ஐகானை மறை</string>
|
||||
<string name="hide_launcher_icon_explanation">துவக்கி ஐகானை மீண்டும் காட்ட, நீங்கள் பயன்பாட்டை மீண்டும் நிறுவ வேண்டும். கவலைப்பட வேண்டாம், நீங்கள் மீண்டும் பணம் செலுத்த வேண்டியதில்லை.</string>
|
||||
</resources>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">సింపుల్ ధన్యవాదాలు</string>
|
||||
<string name="app_launcher_name">ధన్యవాదాలు</string>
|
||||
<string name="main_text">మాకు మద్దతు ఇచ్చినందుకు ధన్యవాదాలు!
|
||||
\n
|
||||
\nమాకు ఒక లైన్ వదలండి
|
||||
\n hello@simplemobiletools.com,
|
||||
\n మేము మీ అన్ని అభిప్రాయాలు మరియు సూచనలను వినడానికి ఇష్టపడతాము.
|
||||
\n
|
||||
\n(Please keep the app installed to avoid seeing the \'Purchase\' dialog and have all app features unlocked)</string>
|
||||
<string name="hide_launcher_icon">లాంచర్ చిహ్నాన్ని దాచండి</string>
|
||||
<string name="hide_launcher_icon_explanation">లాంచర్ చిహ్నాన్ని మళ్లీ ప్రదర్శించడానికి, మీరు యాప్ని మళ్లీ ఇన్స్టాల్ చేయాలి. చింతించకండి, మీరు మళ్లీ చెల్లించాల్సిన అవసరం లేదు.</string>
|
||||
</resources>
|
|
@ -8,10 +8,10 @@
|
|||
\n hello@simplemobiletools.com,
|
||||
\n ми б хотіли почути ваші відгуки і пропозиції.
|
||||
\n
|
||||
\n(Будь ласка, залиште додаток встановленим, щоб не бачити діалогове вікно \'Купити\' , а також розблокувати всі можливості, які надає додаток)</string>
|
||||
\n(Будь ласка, залиште застосунок встановленим, щоб не бачити діалогове вікно \'Купити\' , а також розблокувати всі можливості, які надає застосунок)</string>
|
||||
<!-- Settings -->
|
||||
<string name="hide_launcher_icon">Приховати додаток у Меню</string>
|
||||
<string name="hide_launcher_icon_explanation">Щоб знову побачити додаток у Меню, вам доведеться знову встановити додаток. Не хвилюйтесь, ви не будете знову сплачувати.</string>
|
||||
<string name="hide_launcher_icon">Приховати значок лаунчера</string>
|
||||
<string name="hide_launcher_icon_explanation">Щоб знову побачити значок лаунчеру, вам доведеться знову встановити застосунок. Не хвилюйтесь, ви не будете знову сплачувати.</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
|
30
build.gradle
|
@ -1,30 +0,0 @@
|
|||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.6.21'
|
||||
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.2.1'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven { url "https://jitpack.io" }
|
||||
}
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
plugins {
|
||||
alias(libs.plugins.android).apply(false)
|
||||
alias(libs.plugins.kotlinAndroid).apply(false)
|
||||
}
|
|
@ -1 +1 @@
|
|||
شكراً لكم
|
||||
البسيط (شكراً لكم)
|
||||
|
|
|
@ -20,4 +20,4 @@ Reddit:
|
|||
https://www.reddit.com/r/SimpleMobileTools
|
||||
|
||||
Telegram:
|
||||
https://t.me/SimpleMobileTools
|
||||
https://t.me/SimpleMobileTools
|
|
@ -1,23 +1,23 @@
|
|||
If you like our apps which are free, non-intrusive and have no ads, please consider supporting us in some way. It will be hugely appreciated.
|
||||
Ако харесвате нашите приложения, които са безплатни, не са натрапчиви и нямат реклами, моля, помислете дали да не ни подкрепите по някакъв начин. Ще ви бъдем много благодарни.
|
||||
|
||||
Having this app installed will unlock every feature, allow color customization and prevent the displaying of a "Donate please" dialog in the free apps. Other than that, it also allows using a Shared Theme, which means that as soon as you change a color in one app, all other apps will be updated. Newly installed apps from the suite will automagically receive the shared colors too.
|
||||
Инсталирането на това приложение ще отключи всяка функция, ще позволи персонализиране на цветовете и ще предотврати показването на диалогов прозорец "Donate please" в безплатните приложения. Освен това то позволява и използването на споделена тема, което означава, че щом промените цвета в едно приложение, всички останали приложения ще бъдат актуализирани. Новоинсталираните приложения от пакета също автоматично ще получат споделените цветове.
|
||||
|
||||
Please keep the app installed at least for a day, to avoid getting automatically refunded.
|
||||
Моля, дръжте приложението инсталирано поне един ден, за да избегнете автоматичното му възстановяване.
|
||||
|
||||
This app is not a replacement for the Pro app versions. You will still have to purchase them separately, in case you want to use them.
|
||||
Това приложение не е заместител на Про версиите на приложенията. Все пак ще трябва да ги закупите отделно, в случай че искате да ги използвате.
|
||||
|
||||
It comes with material design and dark theme by default, provides great user experience for easy usage. The lack of internet access gives you more privacy, security and stability than other apps.
|
||||
По подразбиране то идва с Material Design и тъмна тема, която осигурява страхотно потребителско изживяване за лесно използване. Липсата на достъп до интернет ви осигурява повече поверителност, сигурност и стабилност в сравнение с други приложения.
|
||||
|
||||
Contains no ads or unnecessary permissions. It is fully opensource, provides customizable colors.
|
||||
Не съдържа реклами или ненужни разрешения. То е с изцяло отворен код, предоставя възможност за персонализиране на цветовете.
|
||||
|
||||
Check out the full suite of Simple Tools here:
|
||||
Разгледайте пълния набор от прости инструменти тук:
|
||||
https://www.simplemobiletools.com
|
||||
|
||||
Facebook:
|
||||
Фейсбук:
|
||||
https://www.facebook.com/simplemobiletools
|
||||
|
||||
Reddit:
|
||||
https://www.reddit.com/r/SimpleMobileTools
|
||||
|
||||
Telegram:
|
||||
https://t.me/SimpleMobileTools
|
||||
https://t.me/SimpleMobileTools
|
|
@ -1 +1 @@
|
|||
A warm Thank You for supporting our modern & easy Simple Mobile Tools apps!
|
||||
Благодарим ви, че подкрепяте нашите лесни приложения Simple Mobile Tools!
|
|
@ -1 +1 @@
|
|||
Обикновено Благодаря
|
||||
Просто ви Благодарим
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
Máte-li rádi naše aplikace, které jsou bezplatné, nevtíravé a bez reklam, zauvažujte prosím nad naším podpořením. Budeme za to velmi vděční.
|
||||
|
||||
Po nainstalování této aplikace se vám přestane v bezplatných aplikacích zobrazovat okno "Podpořte nás prosím". Také budete moci použít sdílený motiv, což znamená, že ve chvíli, kdy změníte barvu v jedné z aplikací, ostatní se změní též. Sdílené barvy budou automagicky aplikované i na nově instalované aplikace z této kolekce aplikací.
|
||||
Po nainstalování této aplikace se vám přestane v bezplatných aplikacích zobrazovat okno "Podpořte nás prosím". V budoucnu možná bude odemykat dodatečné funkce. Také budete moci použít sdílený motiv, což znamená, že ve chvíli, kdy změníte barvu v jedné z aplikací, ostatní se změní též. Sdílené barvy budou automagicky aplikované i na nově instalované aplikace z této kolekce aplikací.
|
||||
|
||||
V budoucnu možná bude odemykat dodatečné funkce. Ponechejte si prosím aplikaci nainstalovanou alespoň jeden den, předejdete tak automatickému vrácení platby.
|
||||
Ponechejte si prosím aplikaci nainstalovanou alespoň jeden den, předejdete tak automatickému vrácení platby.
|
||||
|
||||
Tato aplikace není náhradou za Pro verze aplikací. Pokud je chcete používat, stále je budete muset zakoupit zvlášť.
|
||||
|
||||
Ve výchozím nastavení je dodávána s designem Material a tmavým motivem, který poskytuje skvělé uživatelské prostředí pro snadné používání. Absence přístupu k internetu vám poskytuje větší soukromí, bezpečnost a stabilitu než jiné aplikace.
|
||||
|
||||
Neobsahuje žádné reklamy ani nepotřebná oprávnění. Má otevřený zdrojový kód a možnost změny barev.
|
||||
|
||||
Check out the full suite of Simple Tools here:
|
||||
Kompletní sadu jednoduchých nástrojů si můžete prohlédnout zde:
|
||||
https://www.simplemobiletools.com
|
||||
|
||||
Facebook:
|
||||
|
@ -18,4 +20,4 @@ Reddit:
|
|||
https://www.reddit.com/r/SimpleMobileTools
|
||||
|
||||
Telegram:
|
||||
https://t.me/SimpleMobileTools
|
||||
https://t.me/SimpleMobileTools
|
|
@ -1 +1 @@
|
|||
Děkujeme za podporu!
|
||||
Děkujeme za podporu!
|
|
@ -1 +1 @@
|
|||
Jednoduché děkuji
|
||||
Jednoduché děkuji
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
Hvis du kan lide vores apps, som er gratis, ikke påtrængende og uden reklamer, kan du overveje at støtte os på en eller anden måde. Det vil blive meget værdsat.
|
||||
Hvis du kan lide vores apps, som er gratis, ikke påtrængende og uden reklamer, kan du overveje at støtte os på en eller anden måde. Det vil blive enormt værdsat.
|
||||
|
||||
Hvis du har denne app installeret, forhindrer du, at der vises en dialogboks med \"Donér venligst\" i de gratis apps. Udover det giver den også mulighed for at bruge et delt tema, hvilket betyder, at så snart du ændrer en farve i én app, vil alle andre apps blive opdateret.
|
||||
Hvis du har denne app installeret, vil du låse alle funktioner op, tillade farvetilpasning og forhindre, at der vises en "Donér venligst"-dialog i de gratis apps. Derudover giver den også mulighed for at bruge et delt tema, hvilket betyder, at så snart du ændrer en farve i én app, vil alle andre apps blive opdateret. Nyinstallerede apps fra suiten vil også automatisk få de delte farver.
|
||||
|
||||
Nyligt installerede apps fra pakken vil automatisk også få de delte farver. Det vil måske låse op for flere ekstra funktioner i fremtiden.
|
||||
Lad appen forblive installeret i mindst en dag, for at undgå at blive automatisk refunderet.
|
||||
|
||||
Lad venligst appen være installeret i mindst en dag for at undgå at blive automatisk refunderet. Denne app er ikke en erstatning for Pro-appversionerne.
|
||||
Denne app er ikke en erstatning for Pro-appversionerne. Du skal stadig købe dem separat, hvis du ønsker at bruge dem.
|
||||
|
||||
Du skal stadig købe dem separat, hvis du ønsker at bruge dem. Indeholder ingen reklamer eller unødvendige tilladelser. Den er fuldt ud opensource, giver tilpassede farver.
|
||||
Den leveres med material design og et mørkt tema som standard, hvilket giver en fantastisk brugeroplevelse for nem brug. Den manglende internet adgang giver dig mere privatliv, sikkerhed og stabilitet end andre apps.
|
||||
|
||||
Indeholder ingen reklamer eller unødvendige tilladelser. Den er fuldt ud open source og giver tilpassede farver.
|
||||
|
||||
Se hele pakken af Simple Tools her:
|
||||
https://www.simplemobiletools.com
|
||||
|
@ -18,4 +20,4 @@ Reddit:
|
|||
https://www.reddit.com/r/SimpleMobileTools
|
||||
|
||||
Telegram:
|
||||
https://t.me/SimpleMobileTools
|
||||
https://t.me/SimpleMobileTools
|
|
@ -1,14 +1,16 @@
|
|||
Wenn Ihnen unsere Apps gefallen, die kostenlos sind, nicht aufdringlich wirken und keine Werbung enthalten, ziehen Sie bitte in Betracht, uns in irgendeiner Weise zu unterstützen. Wir werden das sehr schätzen.
|
||||
Wenn Ihnen unsere Apps gefallen, die kostenlos und werbefrei sind, dann unterstützen Sie uns bitte auf irgendeine Weise. Wir werden es sehr zu schätzen wissen.
|
||||
|
||||
Wenn diese Anwendung installiert ist, wird die Anzeige eines "Bitte spenden"-Dialogs in den kostenlosen Anwendungen verhindert. Abgesehen davon erlaubt sie auch die Verwendung eines Shared Theme, d.h. sobald Sie eine Farbe in einer Anwendung ändern, werden alle anderen Anwendungen aktualisiert. Neu installierte Anwendungen aus der Suite erhalten automatisch auch die gemeinsamen Farben.
|
||||
Mit der Installation dieser App werden alle Funktionen freigeschaltet, die Farbanpassung ermöglicht und die Anzeige eines "Bitte spenden"-Dialogs in den kostenlosen Apps verhindert. Außerdem ermöglicht sie die Verwendung eines gemeinsamen Themas, d. h. sobald Sie eine Farbe in einer App ändern, werden alle anderen Apps aktualisiert. Neu installierte Apps aus der Suite erhalten automatisch auch die gemeinsamen Farben.
|
||||
|
||||
Es könnte in Zukunft weitere zusätzliche Funktionen freischalten. Bitte lassen Sie die Anwendung mindestens einen Tag lang installiert, um eine automatische Rückerstattung zu vermeiden.
|
||||
Bitte lassen Sie die App mindestens einen Tag lang installiert, um eine automatische Rückerstattung zu vermeiden.
|
||||
|
||||
Diese Anwendung ist kein Ersatz für die Pro-Anwendungsversionen. Sie müssen sie trotzdem separat erwerben, falls Sie sie benutzen möchten.
|
||||
Diese App ist kein Ersatz für die Pro-App-Versionen. Sie müssen diese weiterhin separat erwerben, falls Sie sie nutzen möchten.
|
||||
|
||||
Enthält keine Werbung oder unnötige Berechtigungen. Vollständig quelloffen. Die Farben sind anpassbar.
|
||||
Die App ist standardmäßig im Material Design und mit einem dunklen Thema ausgestattet, was die Bedienung sehr erleichtert. Der fehlende Internetzugang bietet Ihnen mehr Privatsphäre, Sicherheit und Stabilität als andere Apps.
|
||||
|
||||
Einen Überblick über die komplette Suite von Simple Tools gibt es hier:
|
||||
Enthält keine Werbung oder unnötige Berechtigungen. Es ist vollständig OpenSource und bietet anpassbare Farben.
|
||||
|
||||
Sehen Sie sich die vollständige Suite von Simple Tools hier an:
|
||||
https://www.simplemobiletools.com
|
||||
|
||||
Facebook:
|
||||
|
|
Before Width: | Height: | Size: 318 KiB After Width: | Height: | Size: 608 KiB |
Before Width: | Height: | Size: 330 KiB After Width: | Height: | Size: 635 KiB |
Before Width: | Height: | Size: 875 KiB After Width: | Height: | Size: 807 KiB |
Before Width: | Height: | Size: 1002 KiB After Width: | Height: | Size: 992 KiB |
Before Width: | Height: | Size: 875 KiB After Width: | Height: | Size: 807 KiB |
Before Width: | Height: | Size: 1002 KiB After Width: | Height: | Size: 992 KiB |
|
@ -1 +1 @@
|
|||
Ein herzliches Dankeschön für die Unterstützung unserer einfachen Apps!
|
||||
Ein herzliches Dankeschön für die Unterstützung unserer einfachen Apps!
|
||||
|
|
|
@ -1 +1 @@
|
|||
Schlichtes Danke
|
||||
Einfaches Dankeschön
|
||||
|
|
|
@ -2,10 +2,14 @@
|
|||
|
||||
Η εγκατάσταση αυτής της εφαρμογής θα αποτρέψει την εμφάνιση ενός διαλόγου "Κάντε δωρεά" στις δωρεάν εφαρμογές. Εκτός από αυτό, επιτρέπει επίσης τη χρήση ενός κοινόχρηστου θέματος, που σημαίνει ότι μόλις αλλάξετε ένα χρώμα σε μία εφαρμογή, όλες οι άλλες εφαρμογές θα ενημερωθούν. Οι νέες εφαρμογές που εγκαθίστανται από τη σουίτα θα λαμβάνουν αυτόματα και τα κοινόχρηστα χρώματα.
|
||||
|
||||
Ενδέχεται να ξεκλειδώσει περισσότερα επιπλέον χαρακτηριστικά στο μέλλον. Διατηρήστε την εφαρμογή εγκατεστημένη τουλάχιστον για μία ημέρα, για να αποφύγετε την αυτόματη επιστροφή χρημάτων.
|
||||
Παρακαλούμε διατηρήστε την εφαρμογή εγκατεστημένη τουλάχιστον για μία ημέρα, για να αποφύγετε την αυτόματη επιστροφή χρημάτων.
|
||||
|
||||
Αυτή η εφαρμογή δεν αποτελεί αντικατάσταση για τις εκδόσεις εφαρμογών Pro. Θα χρειαστεί να τις αγοράσετε ξεχωριστά, σε περίπτωση που θέλετε να τις χρησιμοποιήσετε.
|
||||
|
||||
Έρχεται με material design και σκοτεινό θέμα από προεπιλογή, παρέχει εξαιρετική εμπειρία χρήσης για εύκολη χρήση. Η έλλειψη πρόσβασης στο διαδίκτυο σας προσφέρει περισσότερη ιδιωτικότητα, ασφάλεια και σταθερότητα σε σχέση με άλλες εφαρμογές.
|
||||
|
||||
Δεν περιέχει διαφημίσεις ή περιττές άδειες χρήσης. Είναι πλήρως ανοιχτού κώδικα, παρέχει προσαρμόσιμα χρώματα.
|
||||
|
||||
Δείτε την πλήρη σειρά των Απλών Εργαλείων εδώ:
|
||||
https://www.simplemobiletools.com
|
||||
|
||||
|
@ -16,4 +20,4 @@ Reddit:
|
|||
https://www.reddit.com/r/SimpleMobileTools
|
||||
|
||||
Telegram:
|
||||
https://t.me/SimpleMobileTools
|
||||
https://t.me/SimpleMobileTools
|
|
@ -20,4 +20,4 @@ Reddit:
|
|||
https://www.reddit.com/r/SimpleMobileTools
|
||||
|
||||
Telegram:
|
||||
https://t.me/SimpleMobileTools
|
||||
https://t.me/SimpleMobileTools
|
|
@ -0,0 +1,3 @@
|
|||
* Adding a Get Simple Phone button into the About section
|
||||
* Added Monochrome icon and Language picker support on Android 13+
|
||||
* Added some translation and UX improvements
|
|
@ -0,0 +1,2 @@
|
|||
* Use Material You design by default on Android 12+
|
||||
* Increased minimal required Android OS version to 6
|
|
@ -0,0 +1 @@
|
|||
* Added some translation improvements
|
|
@ -0,0 +1 @@
|
|||
* Added some translation improvements
|
|
@ -0,0 +1 @@
|
|||
* Added some UI and translation improvements
|
|
@ -20,4 +20,4 @@ Reddit:
|
|||
https://www.reddit.com/r/SimpleMobileTools
|
||||
|
||||
Telegram:
|
||||
https://t.me/SimpleMobileTools
|
||||
https://t.me/SimpleMobileTools
|
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 15 KiB |