onSwipe() on a widget doesn't work for S62

With S62, I cannot make onSwipe() work in my widget on simulator.( I have not tried it on real watch.)

A break point at the function doesn't hit at all.

If I swipe up<<>>down the widget is terminated.

If I change device to S70, it will work.

If I change App Type to Watch App in manifest, it wil also work. This issue happens with combination S62 with Widget.

Here are the code of app and delegate

using Toybox.System;
using Toybox.WatchUi;

class WidgetTestDelegate extends WatchUi.BehaviorDelegate  {
    
        //! Constructor
    public function initialize() {
        BehaviorDelegate.initialize();

    }
    
    function onKey(keyEvent) {
        var event=keyEvent.getKey();
        System.println("key");         // e.g. KEY_MENU = 7
        return true;
    }

    function onTap(clickEvent) {
        var event=clickEvent.getType();
        System.println(clickEvent.getCoordinates()); // e.g. [36, 40]
      //  System.println(clickEvent.getType());        // CLICK_TYPE_TAP = 0

        return true;
    }

    function onSwipe(swipeEvent) {
        var event=swipeEvent.getDirection();
        System.println("swipe"); // e.g. SWIPE_DOWN = 2
        return true;
    }
}

import Toybox.Application;
import Toybox.Lang;
import Toybox.WatchUi;

class WidgetTestApp extends Application.AppBase {

    function initialize() {
        AppBase.initialize();
    }

    // onStart() is called on application start up
    function onStart(state as Dictionary?) as Void {
    }

    // onStop() is called when your application is exiting
    function onStop(state as Dictionary?) as Void {
    }

    // Return the initial view of your application here
    function getInitialView() as [Views] or [Views, InputDelegates] {
    //    return [ new WidgetTestView() ];

        var view =  new WidgetTestView();
        var delegate =new WidgetTestDelegate();
        
        return [view, delegate];
    }

}

function getApp() as WidgetTestApp {
    return Application.getApp() as WidgetTestApp;
}

  • as you were caught by Travis just yesterday

    I admitted I was wrong in that case. Every time I am wrong I will admit it. You make the same mistakes over and over again and never learn (see: initially not understanding what System 6 is, recently not remembering what System 6 is, not fully reading people's comments/posts before replying to them, etc.) I think you don't care about being wrong on points that don't really affect you or involve situations that don't affect your apps (which is fine, I get it).

    At least I still care enough to post bug reports and to discuss things which look like bugs, instead of being in the default mode of "every bug report and feature request is invalid" for years. More than once you've said that some bug report is not valid (or doesn't matter) but Garmin (or other devs) don't agree. You've denied more than one bug or quirk simply because *you* couldn't see it (but others could).

    wouldn't try to insert words in other people's mouth

    In this case you have absolutely said multiple times that DeviceSettings.isGlanceModeEnabled indicates whether an app was "started from a glance or not" (direct quote from this thread, and you've similar words in other threads.)

    It's just not true.

    The official documentation for isGlanceModeEnabled says it "indicates if widget glances are enabled on the device", which (in general) is not the same as saying widgets are started from a glance or not. If others read what you say, they might believe it's the same though.

    A different way to say what isGlanceModeEnabled does, in a way that's relevant to the OP and for your purposes (i.e. to know whether the initial view of a widget can accept full input, including UP/DOWN buttons), might be:

    "For a CIQ app with a type of 'widget' in manifest.xml, if DeviceSettings.isGlanceModeEnabled is false or not present, the app was started as a full-screen widget. If It is present and true, then the app was not started as a full-screen widget. (*)"

    (* if the difference is relevant for the situation, maybe I would elaborate at that this point that the app could either be started as glance or from the app list.)

    Here I am not putting words in your mouth, I'm correcting something that you keep saying which is oversimplified and misleading.

    An even shorter way to say it might be "isGlanceModeEnabled tells you whether a CIQ widget was not started as a full-screen widget." While this is more accurate than saying isGlanceModeEnabled tells you whether an app was started from a glance, I don't like it because it may not be super precise.

  • I said it was true for a "Widget", As in the title of this thread! and being able to use up/down in a widget!

  •     function getInitialView() 
        {
        	var
    		ds 			= SYS.getDeviceSettings();
    		
    		if(ds has :isGlanceModeEnabled  && ds.isGlanceModeEnabled)
    		{	
    			var
    			// main view - PSXNotesView extends UII.View
    			lNotesView 	= new PSXNotesView(self);
    			
    			return  [
    						lNotesView, 
    						new PSXDelegate(lNotesView)
    					];
    		}
    		
    		//"emulatated glance" - PSXGlance extends UII.View
        	return [new PSXGlance(), new PSXGlanceDelegate()];
        }
            
    	function getGlanceView() 
    	{
    	    // "native glance" - PSXGlanceNative extends UII.GlanceView
    		return [new PSXGlanceNative()];
        }