venu and venu sq differences

My wf run fine on Venu but there is still have problem with venu sq

Error is in strange place connected with colour or screen  type. Questions:

- what is the differences between scren types: amoled / Transflective Liquid-Crystal? should I treat it diferent?

- venu sq: High Color, venu unknown

  • ok, I've probably found problem, its' connected with resources and jungle an properties

    I have one code for all device and for example for venu sq there is a line

    venusq.resourcePath = $(venusq.resourcePath);resources_No_attit_flors_therm

    because it has no floors for eaxmple

    should I put all settings and properties from  [resource|settings] into [resources_No_attit_flors_therm|settings]?

    when on sim I change setting it doesn't save for venu but for fenix 6 it' ok

    what is the correct order for lines in jungle if there is a few lines for one device?

    #nO2

    approachs60.resourcePath = $(approachs60.resourcePath);resources-round-240x240;resources-round-240x240_No02

    #properies

    approachs60.resourcePath = $(approachs60.resourcePath);resources_No_attit_flors_therm

  • So after a few another days, I know that my wf:

    1. run well on all devices on sim.

    2. run well o fenix 5x, fenix 6 pro, fenix 6x pro, fr6545m, vivoactive 3 and maybe other

    3. don't run wel on

    - venu sq music 2.4 - 3 types of errors: start in onExitSleep, onEnterSleep ( Unhandled Exception) and in deferent places (look like there no global variable Symbol Not Found Error, can be connected with background)

    - vivoactive 4:  1 type of  error: start in onExitSleep, 

    - venu:  1 type of  error: start after onEntertSleep:

    -- in high power

    - after trying to enter sleep mode

    but there is no errors (strange) in ERA

    So question is, what is the main difference between devices 1 na 2/3: of course AMOLED (besides vvivoactive 4), what else?

  • 3.2.4  of course

    minSdkVersion="2.3.0"

  • Send me source code or a PRG that I can use to reproduce.

  • How can I send you PRG? I don't know your email an there is no attachment here/private message.

    For what device? venu sq - 006-B3596-00?

    app is in store:

    https://apps.garmin.com/en-US/apps/b754fc6a-a5dd-4ff1-9397-db9020b3b25f

    thx

  • I've analysed may code and I think the problem is with amoled it has to be drawn fully  every second

    let see my situation

    class time extends UII.Drawable
    {
        var hour = null;
        
        function draw(dc)
        {
            var h = now().hour;
            if(h != hour)
            {
                hour = h;
                drawhours(dc)
            }
        }
        ...
    }
    
    class V extends UII.WatchFace
    {
        ...
        function onUpdate(dc)
        {
            mTime.draw(dc);
        }
    }

    It run well on no amoled devices but on amoled something clear screen not me (I don't call dc.clear, View.onUpdate(dc) etc).

    Maybe there is electronic "switching off  displays" and I have to "bright" every single pixel every second? Maybe sdk knows that I didn't draw next time hour (it doesn't change) and "turn off" this pixel. Maybe I have to check

    (... has :requiresBurnInProtection) and draw every second full screen because in case of amoled is it necessary?

    Practically now I use the same code all the time besides of always on mode where is the same code like onPartial but with shifting time

  • And why it run in different way on simulator?

  • but on amoled onUpdate is called every minute in low power so system has to bright pixels for 1 minutes

  • Each time onUpdate is called, you want to update the whole screen.  The only safe time to only do a part is when onPartialUpdate is called.

    With requiresBurninProtection, you want to do a simplified screen when in low power, and devices like the Venu and Venu SQ don't ever call onPartialUpdate.

    There are a bunch of threads about trying to only update part of the screen in onUpdate. it can cause issues.