yashsingh1/xdaforums huggingface dataset:
[Amazfit] xdauser2019:
Ok, thanks, i just asked :)

---------- Post added at 02:44 PM ---------- Previous post was at 02:41 PM ----------

I disagree, it's enough size of clock, so i don't see problem. As GreatAp mentioned before, it's open source project, so everybody can change, if you know how to do that with for example Android Studio on PC, by yours personal usage. It's faster problem is of 5th widget place, not clock size and some text in widget like BPM, Kcal and ect., which i don't think it's need it at all and which takes most place in watch face. By the way you can remove some widgets if you don't like in settings. There is no need to add all widget if you don't like it. It's at all one of best watch face for Verge which i found with most interchangeable details in it. Don't want more. It's free, it's great looking and if say honest it's much more powerful as others. I thought i will change it after soma days, weeks and ect. But untill now this watch face is in my watch and after update of GreatApo it's look much more great and just mentioned details for me is discomfort

---------- Post added at 02:45 PM ---------- Previous post was at 02:44 PM ----------

Really? I though it was copied from Amazfit Pace watch face, coz looks familiar https://en.amazfit.com/pace.html :)

SOME DAYS ago you mentioned about yours name used in https://amazfitwatchfaces.com/verge/view/477, looks like you are not alone victim. I created test watch face for one guy which creating app for watch faces creators and created test file, so without my permission was stolen watch face and uploaded in the same web site https://amazfitwatchfaces.com/verge/view/701 and as normal thing posted in here https://xdaforums.com/smartwatch/amazfit/wfzmaker-t3916386/page13. Joejoe did not asked my permission did that without my knowledge. As i understand videojochen here is the same joejoe. So that's how everything working theft without any shame feelings.
[Amazfit] darkvoid_66:
I can change everything in Android studio and make a smaller hour version for myself, so there is no problem. (thanks to your excellent source code. :good:)

But, in Europe we just use the 24 hour format, so I was just making a suggestion. No problem at all.

Sorry, but I did not understand what you wrote.

But I was just giving my opinion.

I know it's free and I appreciate the code. If GreatApo wants to live it like that, it's his call.
[Amazfit] xdauser2019:
In Watch app you must choose 24 hours, i don't know why, but after restart of Verge watch was changed to 12 hours system and some settings, but it was only several times and now it's fine everything :)

Sorry, i wanted to say what this is open source project this watch face, so everybody you want can change it how they want, inlcuded you, if i understand GreatApo right ofcourse :)
[Amazfit] GreatApo:
Most times I agree with the changes that users point out but I change make changes because there will be a problem elsewhere...
[Amazfit] darkvoid_66:
I'm having a hard time...

I have created my variant, but I cannot installed it, because GreatFit is installed I get an error saying "Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]"

I Google it and I found it thinks the app is already installed.

I've changed manifest package name, every string in strings.xml.

Can you point me out what I need to change?
[Amazfit] cjom:
In first post you have instructions how to uninstall previous installed versions...

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

adb uninstall com.dinodevs.greatfitwatchface
[Amazfit] darkvoid_66:
That's not what I was asking!
[Amazfit] GreatApo:
Did you also changed the Application ID from settings ("Project's structure")?
[Amazfit] darkvoid_66:
That's it!:angel:

Working fine now, thanks again.
[Amazfit] filipebig:
I install via adb in ROM 3.2.30 and doesnt change anything,only install watchface.

Can anybody help me? I install version 3.9
[Amazfit] GreatApo:
Long click your watchface, find GreatFit, touch settings, make changes, click save.
[Amazfit] marglcia:
please delete my entry ;)
[Amazfit] darkvoid_66:
GreatApo.

Can you explain what is the font_ratio in <integer name="font_ratio">75</integer><!-- /100, font height center point ratio -->

What is this ratio and how did you calculate this 75!

Thanks.
[Amazfit] GreatApo:
Screen off converts text to image hence the point of reference to position the test changes. I came up with this ration (it changes on each font) in order to have the same position system in screen on & off.

This sketch may give you a better view.

You can figure it out by trial and error (I am not aware if font design programs measure it, or if you can calculate it in Photoshop/Gimp).
[Amazfit] filipebig:
Thanks!

Works fine?
[Amazfit] domovoirt:
Thanx to dev for great app!

I have one problem on my Verge - after some changes in settings, Greatfit begin to distort colors and finally hanging watch up. Any ideas?
[Amazfit] GreatApo:
:/ not really. :(
[Amazfit] darkvoid_66:
Hi GreatApo,

I've already been able to get a feel for Android Studio and I can already understand your template code.

I created a new watchface that it's looking good and I can master the part of writing to the screen with the screen-on. I can draw, write custom strings that have nothing to do with system data using canvas.drawText function.

However I am not able to get a good grip the Slpt screen of part.

It seems highly tricky and I can not type my own custom strings.

I can draw pictures using SlptPictureView()

But writing text I'm limited to the sltp variables.

Can you help me out and give me an example on how to write a custom string text? For example I wanted to write the string "qwerty" on screen of.
[Amazfit] Fadhil0909:
I've been using greatfit for 3 days on amazfit stratos. It works great, but i have this weird bug. The clock is not updating itself when the watch is in locked state, i have to unlock the watch first to get the current time, does anybody experience the same thing? Thanks
[Amazfit] cramer52:
Hey GreatApo,

thanks for the new update and the analog feature. Is it possible to have different backgrounds for the digital and analog mode? It didn't seem to be easy to implement that in the code. Therefore I tried to install 2 different Versions of the App with different Names. I renamed it in Android Studio and installed it on my Amazfit Pace. Unfortanetly the lauchner always crashes when I try to select the renamed Version. Do you have any Idea how I could implement that?

Thanks for your help love the Watchface.
[Amazfit] MaxPresi:
Same here

I have the same problem. The Verge hangs as soon as it turns off the screen or so it locks (enters the lo-fi mode). There was no other watchface apk. :crying:
[Amazfit] PsychoTribe:
I had the same problem but when i made few restarts manually (when the watch is not hanged) everything works as expected. Just reboot it after you make the final changes and it should be ok. At least for me it is.
[Amazfit] GreatApo:
Go to app/src/main/java/com/dinodevs/greatfitwatchface/widget/MainClock.java and change line 176:

//From
this.background = Util.decodeImage(service.getResources(),"background.png");

//To
if(settings.digital_clock) {
this.background = Util.decodeImage(service.getResources(),"background.png");
}else{
this.background = Util.decodeImage(service.getResources(),"background_analog.png");
}

and line 349:

//From
background.setImagePicture(SimpleFile.readFileFromAssets(service, "background"+ ((better_resolution)?"_better":"") + ((settings.isVerge())?"_verge":"") +"_slpt.png"));

//To
if(settings.digital_clock) {
background.setImagePicture(SimpleFile.readFileFromAssets(service, "background"+ ((better_resolution)?"_better":"") + ((settings.isVerge())?"_verge":"") +"_slpt.png"));
}else{
background.setImagePicture(SimpleFile.readFileFromAssets(service, "background"+ ((better_resolution)?"_better":"") + ((settings.isVerge())?"_verge":"") +"_slpt_analog.png"));
}

Then have to make the 6 background images for the analog clock (copy the existing once and edit them) with names: (since you have the Pace you don't need to make the images with Verge in their name)

background_analog.png

background_better_slpt_analog.png

background_better_verge_slpt_analog.png

background_slpt_analog.png

background_verge_slpt_analog.png

On the other hand, if you want to solve your current problem, take a look in the first post, at the "Code help" section there is a link with changes that you need to make if you need to have 2 GreatFit based apps on your phone (change names etc).

I don't know why it happens (libs related), however, once you get it working, it stays that way :fingers-crossed:

I use the "slpt clock only" option on my Verge and it is stable :)
[Amazfit] cramer52:
Hey GreatApo,

thanks for your help that worked perfectly. One last question is it possible to get the minute and hour watch hand in the foreground. Right now they get overlayed by widgets and bars. Thanks for your help.
[Amazfit] GreatApo:
That's a tough one... I general, the way you create everything is the way they are placed. Indeed the time hands need to be above everything (so the last widget) and they are not. A simple solution would be to place their slpt code last (at the end of the GreatWidget.java). There is also a parameter called "level" in ingenic's code, that may (or may not :P) be the layer level. I have never test it but if you want to try it out, add these lines in the code (MainClock.java):

//After line 491
slptAnalogSecondView.level = 9;

//After line 483
slptAnalogMinuteView.level = 9;

//After line 476
slptAnalogHourView.level = 9;

The default value is 0, hence, changing 9 to 1 may also work. Let me know if it worked or your watch explode... (just kidding)

Edit: I don't see it working... :(
[Amazfit] domovoirt:
Problem resolved - after settings change one needs to change watchface to another and back.
[Amazfit] no2:
No altitude refresh

I have Amazfit Stratos 2, last ROM (2.3.10.4). Restarted. Reinstalled twice. Widged 1 with altitude/dive, not refreshes. Only shows "-M", air pressure refreshes ok. Previous version 3.8 works fine.

Best regards
[Amazfit] GreatApo:
Since pressure works then altitude should work too... Your temperature works? In this version the method calculating the altitude changed to a more reliable formula taking account temperature too.
[Amazfit] silent_control:
I saw in the battery code that you can choose between using the battery progress images from "app/src/main/assets/battery/batteryX.png" or the static power symbol "app/src/main/assets/icons/battery/battery.png". Is there a way to switch between them in the settings of the apk? I can only find the power symbol battery widget and the "bar1" option for battery, but I can't seem to find how to activate the battery progress widget.
[Amazfit] Pepetor:
Possibly with binary code?

Hi! Great work! Since I installed, this is my watch face...

I have a question. Is it posible to change the digits of hours and minutes from numbers to a binary code?

I had a wear os watch, and I miss the binary watch face.

I'm talking about something like this one (I can't post images yet)

16 8 4 2 1 (hours in digits)

o Ø Ø o Ø (hours in binary code)

o Ø o o Ø Ø (minutes in binary code)

32 16 8 4 2 1 (minutes in digits)

The hour is 13:19 (or 1:19 PM)

I would try to do it, but I'm not good on this.

Thanks a lot for your job!
[Amazfit] darkvoid_66:
Hi GreatApo after your last advise, I've made a lot of progress and I'm already finishing my custom rom.

But again I'm stuck and I would like some help if you can.

I'm developing a custom widget and I need to access step counts and step goal from slpt inside customRefresher.

you have the method getSlptTime I would need something like getSlptStepCount and getSlptStepGoal, but I can't seem to make it happen.

Can you help me out?
[Amazfit] no2:
Air pressure correctly updates. Temperature works, but altitud/dive do not shows any value ("-M"). I reinstalled version 3.8, and perfectly works, updating altitud/dive and air pressure.

Best regards
[Amazfit] bigodon:
something I would love to see is bigger fonts (bold ones), this is something I noticed, small fonts and thin version on font doesn't look good enough, sometimes is hard to read battery percentage for example

can this little request take under consideration for the next version?

amazing watchface, thanks and cannot wait for the next updates
[Amazfit] GreatApo:
I haven't added it in settings. I don't remember if it is completely scripted (probably is). If I remember correctly you can enable it from the arrays.xml and then compile the watchface.

Screen on is easy, you just change lines 256-265 in MainClock.java, however, because screen of auto-updates and you can only handle the first and the second digit separately you need to manually make an interval and restart the screen every minute.

You can access the data like weather data (search for "getSlptWeather", you can also see this file search for "content://com.huami.watch.health.heartdata"). Here are some system URI's where you may find the data you need :P (run them on ADB to see the data)

adb shell content query --uri content://com.huami.watch.health.historydata
adb shell content query --uri content://com.huami.watch.sport.provider/sport_summary_data_info
adb shell content query --uri content://settings/secure/measurement
adb shell content query --uri content://settings/secure/sport_today_distance
adb shell content query --uri content://settings/secure/sport_total_distance
adb shell content query --uri content://com.huami.watch.health/daily_motion
adb shell content query --uri content://com.huami.watch.health/daily_motion_batch
adb shell content query --uri content://com.huami.watch.reports.database.DataReportProvider/weeklysports
adb shell content query --uri content://com.huami.watch.reports.database.DataReportProvider/weeklysports/#
adb shell content query --uri content://com.huami.watch.reports.database.DataReportProvider/daily_reports
adb shell content query --uri content://com.huami.watch.reports.database.DataReportProvider/daily_reports/#

adb shell content query --uri content://settings/global
adb shell content query --uri content://settings/system
adb shell content query --uri content://com.huami.watch.companion.settings
adb shell content query --uri content://settings/secure

:( bugged then... I will try to replicate it.

There are some mods in the first page with bold/bigger fonts, however there are not updated to the latest version.
[Amazfit] xdauser2019:
GreatApo, are you one of VergeIT web site watch faces creator?
[Amazfit] GreatApo:
No, they are providing credits to people that have worked on the watchfaces since their work is based on them. That is always a nice think to do.
[Amazfit] xdauser2019:
Maybe you are right ;) I just wondering why vergeit all or most watch face is in Italy langugae if it's for international usage. I tried one watch face which i liked, but it's italy language and the same problem which had yours watch face with widget when is using low light mode (when must to be only time widget in black background)
[Amazfit] GreatApo:
The web page is Verge - IT :P of course it is mainly italic... :P

What was the problem?
[Amazfit] Pepetor:
But how I draw an image? This way you "paint" a digit...

Thanks for the reply!!!!
[Amazfit] GreatApo:
You don't have to draw an image, you can draw the characters. If you want to draw an image take a look at, for example, the HeartRateWidget, at line 132 an image is drawn (you will need to define a variable in the init function, line 77).
[Amazfit] Pepetor:
So... where are the characters in your code? I can't see them!!!

Thanks, I will try to change the digits to circles... if I do it, I will share with you so you can add if you like!

See you!
[Amazfit] xdauser2019:
It's not weird for you Italy language, but dedicated for International usage? It's the same as to release Amazfit watch for US with China soft :)

Problem that in light low mode just dim screen, but must show only time without any widget in black background, the same was with yours watch face, then you add option to leave only time in this mode :)
[Amazfit] GreatApo:
For the screen on mode digits are given in the function parameters seconds/minutes/hours MainClock.java line 250. After that you can handle how they are printed. That is the easy part.

Now let me explain more the screen of mode. You can just handle the position of the digits (btw these digits are defined in lines 55 & 56). You can for example change them and make them appear like words as: nine, two, one. The problem is that since you only define their positions and string/image, you can't handle them as one number, eg. 10 o'clock is 1 and 0 not 10. There is no direct way to display "ten" but instead "one zero" will be displayed.

This problem was also faced when showing the month as text, because you can't utilize both digits to define, for example, December (12). You can only set a string to 1 and a different string to 2. A workaround is to manually refresh the screen and manually set the digits. For the problem of months, I use the second digit to define the month, that means that there are no months after September (9) if the current month when you set the watchface is less than 10. If the month when you set the watchface is >=10 then the month linked to 0 will be October (=10), 1 November (=11) etc. The screen off intent generally refreshed when the day changes hence the month is refreshed correctly most times.

Now in your case, you do have this problem because 10 is 2^3+2 (your second digit depends on the value of the first one). This means that you need both digits to define your binary time string. Hence, you need to manually set the time and refresh the screen. This while drain some battery while it is quite unstable (it stacks sometimes). If you want to try it, take a look at the world time feature in the GreatWidget.

I am not trying to intimidate you. I am just trying to explain that this is not that easy as you think.

Yeah, I mean they probably didn't start it as international. There was an Italian telegram group before the webpage appear, with everything in Italic :P
[Amazfit] djalex29:
Hi! When you change widgets, graphics are overlaid. What could be the problem?
[Amazfit] GreatApo:
Just change to an other watchface and change back or reboot until it is fixed. You can also try changing the settings a couple of times.

It is a new bug of the new libraries. I haven't found its source. In the next version I may release an additional version for stratos with the previous libraries (there is no difference for stratos) just for stability.
[Amazfit] Pepetor:
Hahaha... thanks for the explanation.

It's really a little messy, and as you say, it will drain the battery faster, so I don't know if it's a good idea...

I take a look at this, and think if it's really worth it.

Thank you so much!!!!!
[Amazfit] GreatApo:
If you play clever it wont be that battery heavy. Try to reduce the refreshes. Your second digit depends on the first one, however the first one refreshes every 10 minutes, hence you need to refresh the watchface only every 10 minutes (except from the first refresh) and the intermediate refreshes can be automatic ;)
[Amazfit] xdauser2019:
GreatApo, great example and story about success :) Will be great if they will edit some old great watch face for multilanguages, i like some, but until they in Italic, i can't use it :) Thanks for explain, as always :)
[Amazfit] cjom:
I just decompiled GreatFit v3.9 using APK Easy Tool 1.55, copied font and layout from Alex Gneusheff's mod and then recompiled.

Edit: Per request I added two screenshots. Usually I don't use widgets but one picture shows some examples.

Edit 2: Reuploaded apk pulled from my watch and added a third screenshot.
[Amazfit] GreatApo:
Good call. I will add a link to your post on the main post next to the original mod.
[Amazfit] xdauser2019:
Please screenshot some - thanks in advance :)
[Amazfit] cjom:
Added two in my post.
[Amazfit] xdauser2019:
Thanks a lot
[Amazfit] ahsim:
check status icons - like airplane mode, charging or connection status, they are shifted in your mod
[Amazfit] aho3:
hello,

I try 3.4 and it wouldn't install, say is incompatible on amazfit stratos?! I used Huami apk installer but no success>>>
[Amazfit] GreatApo:
You probably have an older version installed...

Run the uninstall command from ADB.

Download ADB from here: (SDK tools)

https://developer.android.com/studio/releases/platform-tools#download

You will download some files. One of them is adb.exe, shift-right click (press shift and right click the folder, not any file) and select Run command prompt or power shell. A blue or black command window will pop up. Connect your phone to your pc. Write:

adb.exe uninstall com.dinodevs.greatfitwatchface

and hit [enter]. If the window is blue (powershell) add a ".\" infront of the command :)
[Amazfit] dwo:
Time Zone

Could you add 0,5h steps in Time Zone for second time? I know that there isn't so many TZ with this step but it could help me and someone else.
[Amazfit] lfom:
[MENTION=3668555]GreatApo[/MENTION] Amazfit Tools causes problems when it tries to uninstall apps, using "adb uninstall" doesn't work, you must use:

adb shell pm uninstall package_name
[Amazfit] GreatApo:
That is in my schedule.

It's not so easy as it seems. I am trying to provide the best solution possible in terms of battery saving. To break the problem down, minutes are the same with real time because they are handled by ingenic's libraries. This way the screen doesn't refresh (only the digits). On the other hand, every hour I refresh the whole screen to change the hour digits.

To change the minutes, without refreshing the whole screen each minute or each ten minutes, what can and will be done is change the digits displayed! So if the watch is supposed to show 30, it will show 00!

Digits = [0,1,2,3,4,5,6,7,8,9] will change to [3,4,5,0,1,2,-,-,-,-]. (Mined that first and second digits are handled differently).

This is the solutions I came up to in order not to drain the battery. I just don't know yet how to display that in settings.

Updated: Ready! Commit
[Amazfit] dwo:
Greate work ;) I'm waiting for next version to test new Time Zone.

I'm wondering about widget with show you days to some date +/- of course will be great if you can set it in settinngs. Additionally it could be set like bar.

Did you try to add two different bars?

---------- Post added at 09:41 PM ---------- Previous post was at 09:34 PM ----------

You can add additional switch with will be reverting the numbers(digits).
[Amazfit] GreatApo:
I didn't understand that... :confused:

Don't worry, I properly code it :victory:
[Amazfit] dwo:
I'm sorry I didn't specify it. I'm talking about counter which is counting days from or to some date. You can set start and end date it count how many days are between and show amount of days or progress in %.

I thought also about callory counter. I used before 3 garmin watches and all of it count callories from whole day. It means if you are sitinng walking etc. Probably some alghoritm count it takeing your: age, high, weight and HR. I know it isn't so easy and requrie additional variables.

If you want you can add not so difficult version. We can set dayly amount of callory counted ouerself and watch will be add additionaly calories from our activities.

If I can suggest something you can add additional widget on the right side of Month name. What do you think about it?

One more issue. If I'm trying to set Always am/pm to off. Every time I get "Unfortunately, GreatFit Watchface has stopped. When I'm going into settings and the watch is going to standby the time is showing without am/pm but I can't wake up the watch.
[Amazfit] GreatApo:
Oh, I got you now!

The thing is calories are provided directly to the slpt screen and to change them i would have to provide a completely different widget that would refreshes the whole slpt screen and it will also drain more battery. But yes, it is possible!

Would be way too populated

Settings reset fixes this? Something crashes but I can't see what... I log cat could be useful :)