diff --git a/.gitignore b/.gitignore index 4fb75016..87c326a1 100644 --- a/.gitignore +++ b/.gitignore @@ -20,13 +20,38 @@ build/ # Local configuration file (sdk path, etc) local.properties +# Keystore files +*.jks + +# Google Services (e.g. APIs or Firebase) +google-services.json + # Proguard folder generated by Eclipse proguard/ # Log Files *.log +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + # Android Studio *.iml -/.idea/workspace.xml -/.idea/libraries +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/caches + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md +fastlane/README.md diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..cdd3a6b3 --- /dev/null +++ b/Gemfile @@ -0,0 +1,6 @@ +source "https://rubygems.org" + +gem "fastlane" + +plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') +eval_gemfile(plugins_path) if File.exist?(plugins_path) diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000..70d0659a --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,181 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.2) + addressable (2.7.0) + public_suffix (>= 2.0.2, < 5.0) + atomos (0.1.3) + aws-eventstream (1.1.0) + aws-partitions (1.304.0) + aws-sdk-core (3.94.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.239.0) + aws-sigv4 (~> 1.1) + jmespath (~> 1.0) + aws-sdk-kms (1.30.0) + aws-sdk-core (~> 3, >= 3.71.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.63.0) + aws-sdk-core (~> 3, >= 3.83.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.1.3) + aws-eventstream (~> 1.0, >= 1.0.2) + babosa (1.0.3) + claide (1.0.3) + colored (1.2) + colored2 (3.1.2) + commander-fastlane (4.4.6) + highline (~> 1.7.2) + declarative (0.0.10) + declarative-option (0.1.0) + digest-crc (0.5.1) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.7.5) + emoji_regex (1.0.1) + excon (0.73.0) + faraday (0.17.3) + multipart-post (>= 1.2, < 3) + faraday-cookie_jar (0.0.6) + faraday (>= 0.7.4) + http-cookie (~> 1.0.0) + faraday_middleware (0.13.1) + faraday (>= 0.7.4, < 1.0) + fastimage (2.1.7) + fastlane (2.146.1) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.3, < 3.0.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.2, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander-fastlane (>= 4.4.6, < 5.0.0) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 2.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 0.17) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 0.13.1) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-api-client (>= 0.29.2, < 0.37.0) + google-cloud-storage (>= 1.15.0, < 2.0.0) + highline (>= 1.7.2, < 2.0.0) + json (< 3.0.0) + jwt (~> 2.1.0) + mini_magick (>= 4.9.4, < 5.0.0) + multi_xml (~> 0.5) + multipart-post (~> 2.0.0) + plist (>= 3.1.0, < 4.0.0) + public_suffix (~> 2.0.0) + rubyzip (>= 1.3.0, < 2.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + slack-notifier (>= 2.0.0, < 3.0.0) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (>= 1.4.5, < 2.0.0) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) + fastlane-plugin-get_version_name (0.2.2) + gh_inspector (1.1.3) + google-api-client (0.36.4) + addressable (~> 2.5, >= 2.5.1) + googleauth (~> 0.9) + httpclient (>= 2.8.1, < 3.0) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + signet (~> 0.12) + google-cloud-core (1.5.0) + google-cloud-env (~> 1.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.3.1) + faraday (>= 0.17.3, < 2.0) + google-cloud-errors (1.0.0) + google-cloud-storage (1.26.0) + addressable (~> 2.5) + digest-crc (~> 0.4) + google-api-client (~> 0.33) + google-cloud-core (~> 1.2) + googleauth (~> 0.9) + mini_mime (~> 1.0) + googleauth (0.12.0) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (~> 0.14) + highline (1.7.10) + http-cookie (1.0.3) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.4.0) + json (2.3.0) + jwt (2.1.0) + memoist (0.16.2) + mini_magick (4.10.1) + mini_mime (1.0.2) + multi_json (1.14.1) + multi_xml (0.6.0) + multipart-post (2.0.0) + nanaimo (0.2.6) + naturally (2.2.0) + os (1.1.0) + plist (3.5.0) + public_suffix (2.0.5) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rouge (2.0.7) + rubyzip (1.3.0) + security (0.1.3) + signet (0.14.0) + addressable (~> 2.3) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.8) + CFPropertyList + naturally + slack-notifier (2.3.2) + terminal-notifier (2.0.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + tty-cursor (0.7.1) + tty-screen (0.7.1) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) + unicode-display_width (1.7.0) + word_wrap (1.0.0) + xcodeproj (1.16.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.2.6) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.0) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + ruby + +DEPENDENCIES + fastlane + fastlane-plugin-get_version_name + +BUNDLED WITH + 2.0.2 diff --git a/android_app/app/build.gradle b/android_app/app/build.gradle index d19d7445..e8a2a534 100644 --- a/android_app/app/build.gradle +++ b/android_app/app/build.gradle @@ -1,5 +1,17 @@ apply plugin: 'com.android.application' +def keystorePropertiesFile = rootProject.file("../../openScale.keystore") +def keystoreProperties = new Properties() +keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) + +def keystoreLightPropertiesFile = rootProject.file("../../openScale_light.keystore") +def keystoreLightProperties = new Properties() +keystoreLightProperties.load(new FileInputStream(keystoreLightPropertiesFile)) + +def keystoreProPropertiesFile = rootProject.file("../../openScale_pro.keystore") +def keystoreProProperties = new Properties() +keystoreProProperties.load(new FileInputStream(keystoreProPropertiesFile)) + android { compileSdkVersion 29 defaultConfig { @@ -29,10 +41,35 @@ android { lintOptions { abortOnError false } + + signingConfigs { + release { + storeFile file(rootDir.getCanonicalPath() + '/' + keystoreProperties['releaseKeyStore']) + keyAlias keystoreProperties['releaseKeyAlias'] + keyPassword keystoreProperties['releaseKeyPassword'] + storePassword keystoreProperties['releaseStorePassword'] + } + + light { + storeFile file(rootDir.getCanonicalPath() + '/' + keystoreLightProperties['releaseKeyStore']) + keyAlias keystoreLightProperties['releaseKeyAlias'] + keyPassword keystoreLightProperties['releaseKeyPassword'] + storePassword keystoreLightProperties['releaseStorePassword'] + } + + pro { + storeFile file(rootDir.getCanonicalPath() + '/' + keystoreProProperties['releaseKeyStore']) + keyAlias keystoreProProperties['releaseKeyAlias'] + keyPassword keystoreProProperties['releaseKeyPassword'] + storePassword keystoreProProperties['releaseStorePassword'] + } + } + buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + signingConfig signingConfigs.release } light { manifestPlaceholders = [ @@ -42,6 +79,7 @@ android { versionNameSuffix "-light" minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + signingConfig signingConfigs.light } pro { manifestPlaceholders = [ @@ -51,6 +89,7 @@ android { versionNameSuffix "-pro" minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + signingConfig signingConfigs.pro } } compileOptions { @@ -60,7 +99,7 @@ android { } dependencies { - implementation 'com.google.android.material:material:1.2.0-alpha03' + implementation 'com.google.android.material:material:1.2.0-alpha06' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' @@ -69,16 +108,16 @@ dependencies { // Simple CSV implementation 'com.j256.simplecsv:simplecsv:2.3' // Blessed Android - implementation 'com.github.weliem:blessed-android:1.2' + implementation 'com.github.weliem:blessed-android:1.15' // CustomActivityOnCrash implementation 'cat.ereza:customactivityoncrash:2.2.0' // AppIntro implementation 'com.github.AppIntro:AppIntro:6.0.0-alpha3' - implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.50' + implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.71' // Room - implementation 'androidx.room:room-runtime:2.2.3' - annotationProcessor 'androidx.room:room-compiler:2.2.3' - androidTestImplementation 'androidx.room:room-testing:2.2.3' + implementation 'androidx.room:room-runtime:2.2.5' + annotationProcessor 'androidx.room:room-compiler:2.2.5' + androidTestImplementation 'androidx.room:room-testing:2.2.5' // Timber implementation 'com.jakewharton.timber:timber:4.7.1' // Local unit tests diff --git a/android_app/build.gradle b/android_app/build.gradle index 2152d8a6..82b20d3e 100644 --- a/android_app/build.gradle +++ b/android_app/build.gradle @@ -6,7 +6,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.3' + classpath 'com.android.tools.build:gradle:3.6.3' } } diff --git a/android_app/gradle/wrapper/gradle-wrapper.properties b/android_app/gradle/wrapper/gradle-wrapper.properties index 9d6c5145..c24b7982 100644 --- a/android_app/gradle/wrapper/gradle-wrapper.properties +++ b/android_app/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Sep 28 10:19:36 CEST 2019 +#Sun Apr 05 15:10:31 CEST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip diff --git a/fastlane/Appfile b/fastlane/Appfile new file mode 100644 index 00000000..19b06996 --- /dev/null +++ b/fastlane/Appfile @@ -0,0 +1,2 @@ +json_key_file("../fastlane_secrect_keys.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one +package_name("com.health.openscale") # e.g. com.krausefx.app diff --git a/fastlane/Fastfile b/fastlane/Fastfile new file mode 100644 index 00000000..d7510b85 --- /dev/null +++ b/fastlane/Fastfile @@ -0,0 +1,122 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +opt_out_usage + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +# Add gradle get version name plugin +# fastlane add_plugin get_version_name + +default_platform(:android) + +platform :android do + versionName = get_version_name( + gradle_file_path:"android_app/app/build.gradle", + ext_constant_name:"versionName" + ) + + versionCode = get_version_name( + gradle_file_path:"android_app/app/build.gradle", + ext_constant_name:"versionCode" + ) + + desc "Generate openScale release version" + lane :release do |options| + gradle( + task: "clean", + project_dir: 'android_app/' + ) + gradle( + task: "assemble", + project_dir: 'android_app/', + build_type: "Release" + ) + end + + desc "Generate openScale light version" + lane :light do |options| + gradle( + task: "clean", + project_dir: 'android_app/' + ) + gradle( + task: "assemble", + project_dir: 'android_app/', + build_type: "Light" + ) + end + + desc "Generate openScale pro version" + lane :pro do |options| + gradle( + task: "clean", + project_dir: 'android_app/' + ) + gradle( + task: "assemble", + project_dir: 'android_app/', + build_type: "Pro" + ) + end + + desc "Deploy a new openScale light version to Google Play" + lane :deployLight do + gradle( + task: "clean", + project_dir: 'android_app/' + ) + gradle( + task: "assemble", + project_dir: 'android_app/', + build_type: "Light" + ) + upload_to_play_store( + package_name: "com.health.openscale.light", + track: "production", + metadata_path: "fastlane/openScale_light/", + apk: "android_app/app/build/outputs/apk/light/openScale-#{versionName}-light.apk" + ) + end + + desc "Deploy a new openScale pro version to Google Play" + lane :deployPro do + gradle( + task: "clean", + project_dir: 'android_app/' + ) + gradle( + task: "assemble", + project_dir: 'android_app/', + build_type: "Pro" + ) + upload_to_play_store( + package_name: "com.health.openscale.pro", + track: "production", + metadata_path: "fastlane/openScale_pro/", + apk: "android_app/app/build/outputs/apk/pro/openScale-#{versionName}-pro.apk" + ) + end + + desc "Deploy a new version to GitHub" + lane :deployGitHubRelease do + set_github_release( + repository_name: "oliexdev/openScale", + api_token: ENV["OLIEXDEV_GITHUB_API_TOKEN"], + name: "openScale #{versionName} release", + tag_name: "v#{versionName}", + description: (File.read("metadata/openScale/en-GB/changelogs/#{versionCode}.txt") rescue "No changelog provided"), + upload_assets: [ "android_app/app/build/outputs/apk/release/openScale-#{versionName}-release.apk" ] + ) + end +end diff --git a/fastlane/Pluginfile b/fastlane/Pluginfile new file mode 100644 index 00000000..45823f1d --- /dev/null +++ b/fastlane/Pluginfile @@ -0,0 +1,5 @@ +# Autogenerated by fastlane +# +# Ensure this file is checked in to source control! + +gem 'fastlane-plugin-get_version_name' diff --git a/fastlane/openScale/en-GB/changelogs/48.txt b/fastlane/openScale/en-GB/changelogs/48.txt new file mode 100644 index 00000000..58d29420 --- /dev/null +++ b/fastlane/openScale/en-GB/changelogs/48.txt @@ -0,0 +1,5 @@ +* added an App introduction +* added support for Soehnle Shape Sense scales +* enhanced support for Yunmai scale +* set CSV date format to ISO 8601:2004 +* fixed minor bugs \ No newline at end of file diff --git a/fastlane/openScale/en-GB/full_description.txt b/fastlane/openScale/en-GB/full_description.txt new file mode 100644 index 00000000..b0b001a6 --- /dev/null +++ b/fastlane/openScale/en-GB/full_description.txt @@ -0,0 +1,53 @@ +Monitor and track your weight, BMI, body fat, body water, muscle and other body metrics in an open source app that: +* has an easy to use user interface with graphs, +* doesn't require you to create an account, +* can be configured to only show the metrics you care about, and +* respects your privacy and lets you decide what to do with your data. + +

Bluetooth scales

+openScale has built-in support for a number of Bluetooth (BLE or "smart") scales from many manufacturers, e.g. Beurer, Sanitas, Yunmai, Xiaomi, etc. (see model list below). Together with our users we constantly improve and extend the set of supported scales and in many cases pick up where the original app falls short. + +For scales without Bluetooth, or Bluetooth scales not (yet) supported by openScale, measurements can be manually entered in a quick and easy way. + +

Privacy

+This app has no ads and requests no unnecessary permissions. The location permission is only needed to find a Bluetooth scale. Once found the permission can be revoked (or never granted if Bluetooth isn't used). + +

Supported metrics

+Weight, BMI (body mass index), body water, muscle, LBM (lean body mass), body fat, bone mass, waist circumference, waist-to-height ratio, hip circumference, waist-hip ratio, visceral fat, chest circumference, thigh circumference, biceps circumference, neck circumference, body fat caliper, BMR (basal metabolic rate), TDEE (Total Daily Energy Expenditure) and Calories. Each entry can also have an optional comment. + +Note: don't worry if you think the list is too long: metrics you don't use can be disabled and hidden. + +

Other features

+- Resizable widget to show the latest measurement on the home screen +- Configure your weight unit: kg, lb or st +- Set a goal to help keep your diet +- Displays all your data on a chart and in a table to track your progress +- Evaluates measurements and gives a quick visual feedback to show you if you're within or outside the recommended range given your age, sex, height etc. +- Import or export your data from/into a CSV (comma separated value) file +- Supports body fat, body water and lean body mass estimations based on scientific publications. Useful if your scale doesn't support those measurements. +- Support for multiple users +- Partially or fully translated into more than 27 languages +- Optional dark theme selectable + +

Supported Bluetooth scales

+- Custom made Bluetooth scale +- Beurer BF700, BF710 and BF800 +- Digoo DG-S038H +- Excelvan CF369BLE +- Exingtech Y1 +- Hesley (Yunchen) +- MGB +- Medisana BS444, BS440 +- Runtastic Libra +- Sanitas SBF70 +- Silvercrest SBF75 +- Xiaomi Mi scale v1 and v2 +- Yunmai Mini and SE +- iHealth HS3 +- Easy Home 64050 +- and many more + +Please see https://github.com/oliexdev/openScale/wiki/Supported-scales-in-openScale for the full list and the level of support for each scale. + +

Support

+If you find a bug, have an idea on how to improve openScale or have a question, please visit the openScale project page on GitHub: https://github.com/oliexdev/openScale \ No newline at end of file diff --git a/fastlane/openScale/en-GB/images/featureGraphic.png b/fastlane/openScale/en-GB/images/featureGraphic.png new file mode 100644 index 00000000..2185848d Binary files /dev/null and b/fastlane/openScale/en-GB/images/featureGraphic.png differ diff --git a/fastlane/openScale/en-GB/images/icon.png b/fastlane/openScale/en-GB/images/icon.png new file mode 100644 index 00000000..b42a868c Binary files /dev/null and b/fastlane/openScale/en-GB/images/icon.png differ diff --git a/fastlane/openScale/en-GB/images/phoneScreenshots/1_en-GB.png b/fastlane/openScale/en-GB/images/phoneScreenshots/1_en-GB.png new file mode 100644 index 00000000..250721a1 Binary files /dev/null and b/fastlane/openScale/en-GB/images/phoneScreenshots/1_en-GB.png differ diff --git a/fastlane/openScale/en-GB/images/phoneScreenshots/2_en-GB.png b/fastlane/openScale/en-GB/images/phoneScreenshots/2_en-GB.png new file mode 100644 index 00000000..edfd1ee3 Binary files /dev/null and b/fastlane/openScale/en-GB/images/phoneScreenshots/2_en-GB.png differ diff --git a/fastlane/openScale/en-GB/images/phoneScreenshots/3_en-GB.png b/fastlane/openScale/en-GB/images/phoneScreenshots/3_en-GB.png new file mode 100644 index 00000000..c98a312d Binary files /dev/null and b/fastlane/openScale/en-GB/images/phoneScreenshots/3_en-GB.png differ diff --git a/fastlane/openScale/en-GB/images/phoneScreenshots/4_en-GB.png b/fastlane/openScale/en-GB/images/phoneScreenshots/4_en-GB.png new file mode 100644 index 00000000..f82dcdfa Binary files /dev/null and b/fastlane/openScale/en-GB/images/phoneScreenshots/4_en-GB.png differ diff --git a/fastlane/openScale/en-GB/images/phoneScreenshots/5_en-GB.png b/fastlane/openScale/en-GB/images/phoneScreenshots/5_en-GB.png new file mode 100644 index 00000000..0cdd7147 Binary files /dev/null and b/fastlane/openScale/en-GB/images/phoneScreenshots/5_en-GB.png differ diff --git a/fastlane/openScale/en-GB/images/phoneScreenshots/6_en-GB.png b/fastlane/openScale/en-GB/images/phoneScreenshots/6_en-GB.png new file mode 100644 index 00000000..af7fc9d9 Binary files /dev/null and b/fastlane/openScale/en-GB/images/phoneScreenshots/6_en-GB.png differ diff --git a/fastlane/openScale/en-GB/images/phoneScreenshots/7_en-GB.png b/fastlane/openScale/en-GB/images/phoneScreenshots/7_en-GB.png new file mode 100644 index 00000000..6d55013d Binary files /dev/null and b/fastlane/openScale/en-GB/images/phoneScreenshots/7_en-GB.png differ diff --git a/fastlane/openScale/en-GB/images/phoneScreenshots/8_en-GB.png b/fastlane/openScale/en-GB/images/phoneScreenshots/8_en-GB.png new file mode 100644 index 00000000..ceef2166 Binary files /dev/null and b/fastlane/openScale/en-GB/images/phoneScreenshots/8_en-GB.png differ diff --git a/fastlane/openScale/en-GB/short_description.txt b/fastlane/openScale/en-GB/short_description.txt new file mode 100644 index 00000000..5c54de77 --- /dev/null +++ b/fastlane/openScale/en-GB/short_description.txt @@ -0,0 +1 @@ +Open-source weight and body metrics tracker, with support for Bluetooth scales \ No newline at end of file diff --git a/fastlane/openScale/en-GB/title.txt b/fastlane/openScale/en-GB/title.txt new file mode 100644 index 00000000..ab86a53e --- /dev/null +++ b/fastlane/openScale/en-GB/title.txt @@ -0,0 +1 @@ +openScale \ No newline at end of file diff --git a/fastlane/openScale_light/en-GB/changelogs/48.txt b/fastlane/openScale_light/en-GB/changelogs/48.txt new file mode 100644 index 00000000..58d29420 --- /dev/null +++ b/fastlane/openScale_light/en-GB/changelogs/48.txt @@ -0,0 +1,5 @@ +* added an App introduction +* added support for Soehnle Shape Sense scales +* enhanced support for Yunmai scale +* set CSV date format to ISO 8601:2004 +* fixed minor bugs \ No newline at end of file diff --git a/fastlane/openScale_light/en-GB/full_description.txt b/fastlane/openScale_light/en-GB/full_description.txt new file mode 100644 index 00000000..841bd01d --- /dev/null +++ b/fastlane/openScale_light/en-GB/full_description.txt @@ -0,0 +1,37 @@ +Monitor and track your weight, BMI, body fat, body water, muscle and other body metrics in an open source app that: +* has an easy to use user interface with graphs, +* doesn't require you to create an account, +* can be configured to only show the metrics you care about, and +* respects your privacy and lets you decide what to do with your data. + +

Bluetooth scales (pro version)

+ +openScale has built-in support for a number of Bluetooth (BLE or "smart") scales from many manufacturers, e.g. Beurer, Sanitas, Yunmai, Xiaomi, etc. (see model list below). Together with our users we constantly improve and extend the set of supported scales and in many cases pick up where the original app falls short. + +For scales without Bluetooth, or Bluetooth scales not (yet) supported by openScale, measurements can be manually entered in a quick and easy way. + +Note: Please install openScale pro version to enable Bluetooth support + +

Privacy

+This app has no ads and requests no unnecessary permissions. The location permission is only needed to find a Bluetooth scale. Once found the permission can be revoked (or never granted if Bluetooth isn't used). + +

Supported metrics

+Weight, BMI (body mass index), body water, muscle, LBM (lean body mass), body fat, bone mass, waist circumference, waist-to-height ratio, hip circumference, waist-hip ratio, visceral fat, chest circumference, thigh circumference, biceps circumference, neck circumference, body fat caliper, BMR (basal metabolic rate), TDEE (Total Daily Energy Expenditure) and Calories. Each entry can also have an optional comment. + +Note: don't worry if you think the list is too long: metrics you don't use can be disabled and hidden. + +

Other features

+- Synchronize your weight to GoogleFit with openScale sync +- Resizable widget to show the latest measurement on the home screen +- Configure your weight unit: kg, lb or st +- Set a goal to help keep your diet +- Displays all your data on a chart and in a table to track your progress +- Evaluates measurements and gives a quick visual feedback to show you if you're within or outside the recommended range given your age, sex, height etc. +- Import or export your data from/into a CSV (comma separated value) file +- Supports body fat, body water and lean body mass estimations based on scientific publications. Useful if your scale doesn't support those measurements. +- Support for multiple users +- Partially or fully translated into more than 27 languages +- Optional dark theme selectable + +

Support

+If you find a bug, have an idea on how to improve openScale or have a question, please visit the openScale project page on GitHub: https://github.com/oliexdev/openScale \ No newline at end of file diff --git a/fastlane/openScale_light/en-GB/images/featureGraphic.png b/fastlane/openScale_light/en-GB/images/featureGraphic.png new file mode 100644 index 00000000..2185848d Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/featureGraphic.png differ diff --git a/fastlane/openScale_light/en-GB/images/icon.png b/fastlane/openScale_light/en-GB/images/icon.png new file mode 100644 index 00000000..9f4a425b Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/icon.png differ diff --git a/fastlane/openScale_light/en-GB/images/phoneScreenshots/1_en-GB.png b/fastlane/openScale_light/en-GB/images/phoneScreenshots/1_en-GB.png new file mode 100644 index 00000000..250721a1 Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/phoneScreenshots/1_en-GB.png differ diff --git a/fastlane/openScale_light/en-GB/images/phoneScreenshots/2_en-GB.png b/fastlane/openScale_light/en-GB/images/phoneScreenshots/2_en-GB.png new file mode 100644 index 00000000..edfd1ee3 Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/phoneScreenshots/2_en-GB.png differ diff --git a/fastlane/openScale_light/en-GB/images/phoneScreenshots/3_en-GB.png b/fastlane/openScale_light/en-GB/images/phoneScreenshots/3_en-GB.png new file mode 100644 index 00000000..f82dcdfa Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/phoneScreenshots/3_en-GB.png differ diff --git a/fastlane/openScale_light/en-GB/images/phoneScreenshots/4_en-GB.png b/fastlane/openScale_light/en-GB/images/phoneScreenshots/4_en-GB.png new file mode 100644 index 00000000..0cdd7147 Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/phoneScreenshots/4_en-GB.png differ diff --git a/fastlane/openScale_light/en-GB/images/phoneScreenshots/5_en-GB.png b/fastlane/openScale_light/en-GB/images/phoneScreenshots/5_en-GB.png new file mode 100644 index 00000000..af7fc9d9 Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/phoneScreenshots/5_en-GB.png differ diff --git a/fastlane/openScale_light/en-GB/images/phoneScreenshots/6_en-GB.png b/fastlane/openScale_light/en-GB/images/phoneScreenshots/6_en-GB.png new file mode 100644 index 00000000..6d55013d Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/phoneScreenshots/6_en-GB.png differ diff --git a/fastlane/openScale_light/en-GB/images/phoneScreenshots/7_en-GB.png b/fastlane/openScale_light/en-GB/images/phoneScreenshots/7_en-GB.png new file mode 100644 index 00000000..ceef2166 Binary files /dev/null and b/fastlane/openScale_light/en-GB/images/phoneScreenshots/7_en-GB.png differ diff --git a/fastlane/openScale_light/en-GB/short_description.txt b/fastlane/openScale_light/en-GB/short_description.txt new file mode 100644 index 00000000..bc7affcf --- /dev/null +++ b/fastlane/openScale_light/en-GB/short_description.txt @@ -0,0 +1 @@ +Open-source weight and body metrics tracker \ No newline at end of file diff --git a/fastlane/openScale_light/en-GB/title.txt b/fastlane/openScale_light/en-GB/title.txt new file mode 100644 index 00000000..e21db42b --- /dev/null +++ b/fastlane/openScale_light/en-GB/title.txt @@ -0,0 +1 @@ +openScale light \ No newline at end of file diff --git a/fastlane/openScale_pro/en-GB/changelogs/48.txt b/fastlane/openScale_pro/en-GB/changelogs/48.txt new file mode 100644 index 00000000..58d29420 --- /dev/null +++ b/fastlane/openScale_pro/en-GB/changelogs/48.txt @@ -0,0 +1,5 @@ +* added an App introduction +* added support for Soehnle Shape Sense scales +* enhanced support for Yunmai scale +* set CSV date format to ISO 8601:2004 +* fixed minor bugs \ No newline at end of file diff --git a/fastlane/openScale_pro/en-GB/full_description.txt b/fastlane/openScale_pro/en-GB/full_description.txt new file mode 100644 index 00000000..924206f6 --- /dev/null +++ b/fastlane/openScale_pro/en-GB/full_description.txt @@ -0,0 +1,54 @@ +Monitor and track your weight, BMI, body fat, body water, muscle and other body metrics in an open source app that: +* has an easy to use user interface with graphs, +* doesn't require you to create an account, +* can be configured to only show the metrics you care about, and +* respects your privacy and lets you decide what to do with your data. + +

Bluetooth scales

+openScale has built-in support for a number of Bluetooth (BLE or "smart") scales from many manufacturers, e.g. Beurer, Sanitas, Yunmai, Xiaomi, etc. (see model list below). Together with our users we constantly improve and extend the set of supported scales and in many cases pick up where the original app falls short. + +For scales without Bluetooth, or Bluetooth scales not (yet) supported by openScale, measurements can be manually entered in a quick and easy way. + +

Privacy

+This app has no ads and requests no unnecessary permissions. The location permission is only needed to find a Bluetooth scale. Once found the permission can be revoked (or never granted if Bluetooth isn't used). + +

Supported metrics

+Weight, BMI (body mass index), body water, muscle, LBM (lean body mass), body fat, bone mass, waist circumference, waist-to-height ratio, hip circumference, waist-hip ratio, visceral fat, chest circumference, thigh circumference, biceps circumference, neck circumference, body fat caliper, BMR (basal metabolic rate), TDEE (Total Daily Energy Expenditure) and Calories. Each entry can also have an optional comment. + +Note: don't worry if you think the list is too long: metrics you don't use can be disabled and hidden. + +

Other features

+- Synchronize your weight to GoogleFit with openScale sync +- Resizable widget to show the latest measurement on the home screen +- Configure your weight unit: kg, lb or st +- Set a goal to help keep your diet +- Displays all your data on a chart and in a table to track your progress +- Evaluates measurements and gives a quick visual feedback to show you if you're within or outside the recommended range given your age, sex, height etc. +- Import or export your data from/into a CSV (comma separated value) file +- Supports body fat, body water and lean body mass estimations based on scientific publications. Useful if your scale doesn't support those measurements. +- Support for multiple users +- Partially or fully translated into more than 27 languages +- Optional dark theme selectable + +

Supported Bluetooth scales

+- Custom made Bluetooth scale +- Beurer BF700, BF710 and BF800 +- Digoo DG-S038H +- Excelvan CF369BLE +- Exingtech Y1 +- Hesley (Yunchen) +- MGB +- Medisana BS444, BS440 +- Runtastic Libra +- Sanitas SBF70 +- Silvercrest SBF75 +- Xiaomi Mi scale v1 and v2 +- Yunmai Mini and SE +- iHealth HS3 +- Easy Home 64050 +- and many more + +Please see https://github.com/oliexdev/openScale/wiki/Supported-scales-in-openScale for the full list and the level of support for each scale. + +

Support

+If you find a bug, have an idea on how to improve openScale or have a question, please visit the openScale project page on GitHub: https://github.com/oliexdev/openScale \ No newline at end of file diff --git a/fastlane/openScale_pro/en-GB/images/featureGraphic.png b/fastlane/openScale_pro/en-GB/images/featureGraphic.png new file mode 100644 index 00000000..2185848d Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/featureGraphic.png differ diff --git a/fastlane/openScale_pro/en-GB/images/icon.png b/fastlane/openScale_pro/en-GB/images/icon.png new file mode 100644 index 00000000..e2ce0fbb Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/icon.png differ diff --git a/fastlane/openScale_pro/en-GB/images/phoneScreenshots/1_en-GB.png b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/1_en-GB.png new file mode 100644 index 00000000..250721a1 Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/1_en-GB.png differ diff --git a/fastlane/openScale_pro/en-GB/images/phoneScreenshots/2_en-GB.png b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/2_en-GB.png new file mode 100644 index 00000000..edfd1ee3 Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/2_en-GB.png differ diff --git a/fastlane/openScale_pro/en-GB/images/phoneScreenshots/3_en-GB.png b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/3_en-GB.png new file mode 100644 index 00000000..c98a312d Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/3_en-GB.png differ diff --git a/fastlane/openScale_pro/en-GB/images/phoneScreenshots/4_en-GB.png b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/4_en-GB.png new file mode 100644 index 00000000..f82dcdfa Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/4_en-GB.png differ diff --git a/fastlane/openScale_pro/en-GB/images/phoneScreenshots/5_en-GB.png b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/5_en-GB.png new file mode 100644 index 00000000..0cdd7147 Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/5_en-GB.png differ diff --git a/fastlane/openScale_pro/en-GB/images/phoneScreenshots/6_en-GB.png b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/6_en-GB.png new file mode 100644 index 00000000..af7fc9d9 Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/6_en-GB.png differ diff --git a/fastlane/openScale_pro/en-GB/images/phoneScreenshots/7_en-GB.png b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/7_en-GB.png new file mode 100644 index 00000000..6d55013d Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/7_en-GB.png differ diff --git a/fastlane/openScale_pro/en-GB/images/phoneScreenshots/8_en-GB.png b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/8_en-GB.png new file mode 100644 index 00000000..ceef2166 Binary files /dev/null and b/fastlane/openScale_pro/en-GB/images/phoneScreenshots/8_en-GB.png differ diff --git a/fastlane/openScale_pro/en-GB/short_description.txt b/fastlane/openScale_pro/en-GB/short_description.txt new file mode 100644 index 00000000..5c54de77 --- /dev/null +++ b/fastlane/openScale_pro/en-GB/short_description.txt @@ -0,0 +1 @@ +Open-source weight and body metrics tracker, with support for Bluetooth scales \ No newline at end of file diff --git a/fastlane/openScale_pro/en-GB/title.txt b/fastlane/openScale_pro/en-GB/title.txt new file mode 100644 index 00000000..7e3f2e77 --- /dev/null +++ b/fastlane/openScale_pro/en-GB/title.txt @@ -0,0 +1 @@ +openScale pro \ No newline at end of file