[Amazfit] GreatApo:
View attachment 4609489View attachment 4769941

GreatFit​

Introduction

This is the most advanced - open source APK WatchFace for Amazfit! Compartible with both Pace, Stratos and Verge!

ONE WATCHFACE TO RULE THEM ALL! I am here to support the unsupported ;)

This project is not a watchface for Wear OS. This is an APK that you can install on the custom Android 5.1 version of your Amazfit, that will create a new, multi-parametric watchface withing the launcher with more features than default watchfaces. GreatFit Project has 2 goals:

- 1. To provide multi-parametric sources for other developers [DONE]

- 2. To create a full parametric watchface that would be controlled from our phones. If the second goal is achieved, we will have something like Facer!

You can find a video review in Spanish by jfulgen here.

If you want to support my work or the other devs involved, now is your chance to buy us a beer or help us gather the money for our next watch device or just help development / translating / bug reporting:

- GreatApo's donation button

- Amazmod OpenCollective

- Hunt down the other Devs from credits and give them some love too!​

Images

View attachment 4579404View attachment 4579405View attachment 4579406View attachment 4579407View attachment 4579408View attachment 4579409View attachment 4579410View attachment 4579411View attachment 4579412View attachment 4579413View attachment 4579414View attachment 4579415View attachment 4579416View attachment 4579417View attachment 4579418​

Features

Amazfit apk watch face with settings

8 different color styles

Many translations (Months/Days) are included (same languages available in my Calendar widget) Supports 21 languages: English, Bulgarian, Chinese, Croatian, Czech, Dutch, French, German, Greek, Hebrew, Hungarian, Italian, Japanese, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Thai, Turkish (look in the changelogs for translators)

Ability to change widgets/progress bars

Seconds are enabled based on your system settings

More weather widgets (humidity, wind direction and strength, UV status, city, max/min temperature)

New watch alarm widget

New air pressure, altitude/dive depth (calculated based on air pressure & temperature)

New xdrip values widget (will be supported with Xdrip by Klaus3d3)

New phone battery widget/bar (needs amazfit service+phone app)

New phone alarm widget (needs amazfit service+phone app)

New calories progress bar (set target in settings)

New heart-rate progress bar (min 0 bpm, max 200 bpm)

New world time widget, you can select the time zone (GMT) it displays

New notifications widget, see unread notifications (needs amazfit service+phone app)

New moonphase widget

New walked distance widget (based on steps and height)

Better image resolution when raising hand

Ability to show only time when screen is off (to save battery, doesn't apply on raise of hand screen)

Status bar position and enable/disable

Font weight selection in settings

White background option

Many other options available in settings

Bugs:

Sometimes lock screen mode does not work or shows widget one over the other, just change to an other watchface and change back to GreatFit.

If you start facing crashes after changing something in settings, try the "reset" button.

The refresh of custom widgets in SLPT mode is buggy. To make it work enable the watchface data forward in Amazmod (phone)

Installation

ADB install command:

adb install -r GreatFit.X.X.apk

ADB uninstall command: (run this first if you get installation error message)

adb uninstall com.dinodevs.greatfitwatchface

Clear data: (not cleared with uninstall, run this if GreatFit crashes when changing versions)

adb shell pm clear com.dinodevs.greatfitwatchface
adb shell settings put system CustomWatchfaceData 0

The second command will reset your notifications counter.​

About "Amazmod" app:

Two apps to be more precise: Amazmod app installed on the phone (playstore link) and Amazmod Service app for the watch (Github link).

Changelog

Version 4.1 (26/08/2019)
Improvements:
- New Walked distance widget (based on height, imperial/metric, thanks to alvaroDigio)
- New max/min temperatures widget (thanks to lfom)
- Option to show pressure in mmHg added
- Settings seekbars where changed to buttons
- Low battery mode icon added
- World time widget changed to GMT zone based
Fixes:
- SLPT update now works as it should (thanks to lfom)
- Pressure & Altitude improvements/fixes
- Verge white bg flat tire fix
- If white bg: Clock only slpt on verge is now black
- Clock only slpt default true on verge
- AM/PM improvements
- 0 floor fix
- Moonphase white bg slpt icons fix
- libs updated with missing receiver folder (fixes some crashes)
- World Time +30min fix for slpt
- Notifications number font fix
- Crashes related to weather widget

Version 4.0 (13/07/2019)
Improvements:
• Different fond weights selection added in settings: Thin (default), Regular, Bold
• White background option added in "other settings", this will also turn icons/text to black (except from the main colored elements like hour)
• Description added in settings to the "Notification" widget

Version 3.9 (24/05/2019)
Improvements:
• Verge compatibility added
• Analog clock support added (enable/disable Digital/Analog from settings)
• New Moonphase widget (by AndreaOmodeo)
• Bulgarian translation added (by danireo)
• New "Show clock only" feature that shows only clock in screen off mode (doesn't apply on raise of hand)
• Altitude calculation is now based on hypsometric formula (accounting for pressure & temperature)
• Pressure sensor management system improved (moved inside GreatWidget)
• Images size & quality optimizations
• Project info added in settings (info toast removed)
• New app icon
Fixes:
• Calories icon not shown in slpt fix
• Translation fixes
• Centered text cropped in slpt view fix
• Hours colliding with minutes fix
• Deactivate AM/PM crash fix
• Wind direction arrows fix
• Phone alarm and notifications widgets activation fixes
• Steps progress bar not limited to 100% fix

Version 3.8 (16/01/2019)
• Romanian translation by xonx (xda)
• Update 2.3.8.0 SLPT crash fix (for stratos)

Version 3.7 (01/12/2018)
• Phone/Watch Alarm is now translated
• GreatFit's version added in the watchface refresh toast
• Fixed December been overwritten by October in months array
• Fixed Hebrew wrong days translation
• Fixed wind direction arrow will not show for Chinese by JoshGuGu

Version 3.6 (01/10/2018)
• New notifications widget, see unread notifications (needs amazfit service+phone app)
• Option not to show first 0 digit in months
• Added each language's name in English as subtitles in language options
• New watchface preview image (clean launcher cache)
• Croatian translation added by TumiBC
• Thai translation added by iamping
• German translation shortcuts fix
• Hungarian translation fix by gidano
• Turkish translation fixes by webcin
• Month bug fixed (month>September)
• Fixed indicator's on/off setting (default style has no indicator)
• Wind as arrows setting now works
• Custom time refresher improvements (fixes AM/PM not changing)
• Other small fixes when changing widgets

Version 3.5 (09/09/2018)
• Phone alarm widget now shows up (needs latest Amazmod dev version/next release)
• Month as 3 letters text, screen off fix
• Adjusted widget's 3 icon position
• World time widget: added 30min time difference support

Version 3.4 (01/09/2018)
• Phone's battery progress bar added
• New widget world time added (a second time where you can set the time difference)
• Weather image widget improvements: temperature is shown as its text
• Status bar and its settings now work
• AM/PM always show option
• New Widget 5 position added (left-center, by default it's empty, if it doesn't show up click the reset button)
• "None" even if selected on an other bar fix
• Xdrip widget font size fix
• Today/Total distance widgets units when screen is on fix
• Total distance widget now works (was not initialized)

Version 3.3 (30/08/2018)
• Russian translation: Better 3 letters days format
• "None" widget option now appears even if it is selected in other widget position
• Calories bar in slpt fixed
• Heart rate bar added
• Heart rate flashing icon added

Version 3.2 (28/08/2018)
• Dive depth scale fix
• Fixed huami's libraries crashes related to activities

Version 3.1 (24/08/2018)
• Air pressure / Altitude widget fixes
• Better weather icons
• Altitude will also show the depth if are you diving
• Update sensor service improved/fixed
• Air pressure refresh rate in settings
• Altitude display fixed

Version 3.0 (23/08/2018)
• Blue color added
• Ability to change widgets in settings
• Ability to change progress bars in settings
• Ability to change other features in settings
• New calories progress bar (set target in settings)
• Better image resolution then raising hand

Version 2.1 (03/08/2018)
• New settings (Change color & language)
• New watch alarm widget
• New air pressure, altitude (calculated based on air pressure)
• New xdrip values widget (will be supported with Xdrip by Klaus3d3)
• New phone battery widget (needs amazfit service+phone app)

Version 2.0 (09/07/2018)
• Code re-written
• More weather widgets (humidity, wind direction and strength, UV status, city)
• Seconds are enabled based on your system settings (refresh the watchface)

Version 1.1 (15/05/2018)
• Settings and colors added

Version 1.0 (06/05/2018)
• Alpha/Initial release

Downloads

Since Pace was also updated to Watch OS version 2+, from now on only WOS2 version will be supported.

Latest version download (link)

Sources (link)

- GreatFit.4.0-Pace-Stratos.apk is for Stratos/Pace[/STRIKE]

- GreatFit.4.0-Verge-Stratos-Pace.apk ONE APK TO RULE ALL WATCHES :p (better use it on verge only)

(if you don't see screen off mode, update your watch to the lattest version)

GreatFit's code help:

• Customize/make a new watchface based on GreatFit: change all images (folder: app\src\main\assets), change positions/colors/elements (file: app/src/main/res/values/arrays.xml), change package name and the names of Greatfit/GreatfitSlpt classes, change strings (file: app/src/main/res/values/strings.xml)

• Change hours color

• To change font, read this and that (additional example, scroll down), and see a sketch about font ration here

• Changes you HAVE TO DO if you are making your own watchface (else it will conflict with GreatFit), 1st changes and 2nd changes

• How to debug the app and about the screen on/off code (quick info about how the screen on/off mode work in the code)

• Libs fixes / Smali

• Some info about coding new widget based on daily steps data

• List of URIs from where you can pull data

• How to write in screen off mode (slpt mode)

• About progress elements in screen off mode (slpt mode)

• Basic attributes of screen off items (slpt mode)​

Mods by other devs:

• White background version / bold font by Alex Gneusheff (v3.8: Facebook post, Google Drive link, v3.9 XDA)

• White background, more fonts, Spanish settings menu and more, by PatriceLoco (post)

• Larger font of Widget 4, by giol (version 1, version 2), made for a better view of a different timezone timer (word time widget) but it can be used for other options too (preview photo v1, preview photo v2). Version 2 can be independently installed and its pkg name is: com.dinodevs.clonefitwatchface​

Credit where credit is due

This project couldn't be possible without getting familiar with the source code provided by Manual Alvarez. Additional work has be done by Fabio Barbon, Luis Baena (@LBA97) and Saúl Alemán (@Nxsaul). (Check Github for links)
Translations are ported from my Pace Calendar widget project and GramThanos jsCalendar project (Check Github for links). Translators are also mentioned in changelog.
Special thanks to:
• lfom, GramThanos, Renzettis and the rest of the Amazmod team for helping me out
• KieronQuinn for the settings style code (from his AmazfitStepNotify app)
• and all those invisible people giving back to the community by helping or donating!

This project couldn't be possible without the following free software:
• Android Studio
• APK Easy Tool (decompile-recompile)
• Notepad++ (smali editing)
• JD-gui & jadx (jar file decompilers)
• dex2jar (file type converter)
• SVADeodexerForArt (working deodexer for amazfit's system)
• 7zip

Some image icons are created with the free font "fontawesome.com"