Change

This is very simple and looks really good: https://apps.garmin.com/en-US/apps/552d7805-b92c-41c4-8948-55b7792c9a7e

And I just want to change the pic (from scull to my own).

Is there an easy way to decompile and change?
Is it possible to get a source code?


EDIT: Any ideas how to change thread title?
  • 1) change title - not that i know of
    2) change pic - not that I know of (you have to search for the author to ask the code)
  • I Added a title (and then changed it)

    I think you can change the title if you do "edit Post>advanced". I just added a title to this one with edit., and the changed it with "advanced" under edit.

    No way to decompile. and the watceface your linking to is one done by garmin.

    But it appears to be an easy one to write yourself. Looks like it's the picture, and the time.

    Starting with new->CIQ Project, the project for a watch face is generated (only does 24 time, but that's an easy change), and all you have to do is change the position of the time, and add something like:

    <bitmap id="id_pic" x="center" y="10" filename="../images/pic.png" />

    to the watch_face_layout.xml file (and then find an image that looks good.) This took me about 10 minutes (most of the time was finding an image!)


    I changed the code for 12/24hr and to show the date. This is the "view" file.
    using Toybox.WatchUi as Ui;
    using Toybox.Graphics as Gfx;
    using Toybox.System as Sys;
    using Toybox.Lang as Lang;
    using Toybox.Time.Gregorian as Calendar;

    class PicWatView extends Ui.WatchFace {

    //! Load your resources here
    function onLayout(dc) {
    setLayout(Rez.Layouts.WatchFace(dc));
    }

    //! Restore the state of the app and prepare the view to be shown
    function onShow() {
    }

    //! Update the view
    function onUpdate(dc) {
    // Get and show the current time
    var now = Time.now();
    var today = Calendar.info(now, Time.FORMAT_MEDIUM);

    var settings=Sys.getDeviceSettings();
    var timeString;
    var dateString=Lang.format("$1$ $2$",[today.day_of_week,today.day]);

    if(settings.is24Hour) {
    timeString = Lang.format("$1$:$2$", [today.hour, today.min.format("%.2d")]);
    }
    else {
    var hour = today.hour % 12;
    hour = (hour == 0) ? 12 : hour;
    timeString = Lang.format("$1$:$2$", [hour, today.min.format("%.2d")]);
    }
    var view = View.findDrawableById("TimeLabel");
    view.setText(timeString);

    view = View.findDrawableById("DateLabel");
    view.setText(dateString);

    // Call the parent onUpdate function to redraw the layout
    View.onUpdate(dc);
    }

    //! The user has just looked at their watch. Timers and animations may be started here.
    function onExitSleep() {
    }

    //! Terminate any active timers and prepare for slow updates.
    function onEnterSleep() {
    }

    }


    and the watch_face_layout.xml (for the vivoactive)
    <layout id="WatchFace">
    <bitmap id="id_qr" x="center" y="10" filename="../images/QR.png" />
    <label id="TimeLabel" x="20" y="110" font="Gfx.FONT_LARGE" justification="Gfx.TEXT_JUSTIFY_LEFT" color="Gfx.COLOR_WHITE" />
    <label id="DateLabel" x="185" y="110" font="Gfx.FONT_LARGE" justification="Gfx.TEXT_JUSTIFY_RIGHT" color="Gfx.COLOR_WHITE" />
    </layout>


    and a new pic: