<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Everyone,<br>
    <br>
    some new fixes & optimizations, and I've added a "latest"
    directory to the hub, so the latest builds are easy to reach for
    anyone interested:<br>
    <br>
<a class="moz-txt-link-freetext" href="https://github.com/openvehicles/Open-Vehicle-Android/tree/master/latest">https://github.com/openvehicles/Open-Vehicle-Android/tree/master/latest</a><br>
    <br>
    The builds are "officially" signed, so can be installed over an
    existing play store release and vice versa.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 16.10.22 um 19:16 schrieb Chris van
      der Meijden:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8eedf54970d94d82d26eda1251c604387aeb60cc.camel@arachnon.de">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>Hi Michael</div>
      <div><br>
      </div>
      <div>I compiled the new code without any troubles (again on the
        commandline with -x lint).</div>
      <div><br>
      </div>
      <div>Features and Parameters are working perfect now. My Fireplace
        app can send its "web intent" and my (simple) KWGT widget also
        does what it has to do.</div>
      <div><br>
      </div>
      <div>Everything seems fine for me. Many thanks, again.</div>
      <div><br>
      </div>
      <div>Regards</div>
      <div><br>
      </div>
      <div>Chris </div>
      <div><br>
      </div>
      <div>Am Sonntag, dem 16.10.2022 um 17:53 +0200 schrieb Michael
        Balzer:</div>
      <blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px
        #729fcf solid;padding-left:1ex">
        <div> New builds:<br>
        </div>
        <ul>
          <li><span style="color: rgb(0, 0, 0); font-family:
              ui-monospace, "Cascadia Mono", "Segoe UI
              Mono", "Source Code Pro", "Roboto
              Mono", Hack, "Liberation Mono", Menlo,
              Monaco, Consolas, monospace, monospace; font-size: 12px;
              font-style: normal; font-variant-ligatures: normal;
              font-variant-caps: normal; font-weight: 400;
              letter-spacing: normal; orphans: 2; text-align: start;
              text-indent: 0px; text-transform: none; white-space:
              normal; widows: 2; word-spacing: 0px;
              -webkit-text-stroke-width: 0px; background-color: rgb(255,
              255, 248); text-decoration-thickness: initial;
              text-decoration-style: initial; text-decoration-color:
              initial; display: inline !important; float: none;"><a
                class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22101601-release.apk"
                moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22101601-release.apk</a></span></li>
          <li><span style="color: rgb(0, 0, 0); font-family:
              ui-monospace, "Cascadia Mono", "Segoe UI
              Mono", "Source Code Pro", "Roboto
              Mono", Hack, "Liberation Mono", Menlo,
              Monaco, Consolas, monospace, monospace; font-size: 12px;
              font-style: normal; font-variant-ligatures: normal;
              font-variant-caps: normal; font-weight: 400;
              letter-spacing: normal; orphans: 2; text-align: start;
              text-indent: 0px; text-transform: none; white-space:
              normal; widows: 2; word-spacing: 0px;
              -webkit-text-stroke-width: 0px; background-color: rgb(255,
              255, 248); text-decoration-thickness: initial;
              text-decoration-style: initial; text-decoration-color:
              initial; display: inline !important; float: none;"><a
                class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22101601-debug.apk"
                moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22101601-debug.apk</a></span></li>
        </ul>
        <p>This also fixes the feature & parameter bug, but major
          change is the command activity & service rework.</p>
        <p>Command shortcuts now also work without the service enabled,
          i.e. start the service on demand. This even works reasonably
          fast.<br>
        </p>
        <p>I've removed all UI activities from the service, so this
          should now basically work the same way on all Android
          versions.</p>
        <p>The command activity now also supports queueing, multiple
          commands can be sent to it at once. It will execute them in
          series, with each result being shown for 5 seconds or
          according to user interaction. On commands returning multiple
          rows, only the first 10-15 will be shown.</p>
        <p>Command intent extras for action
          com.openvehicles.OVMS.action.COMMAND are now:</p>
        <pre><font face="monospace">* Intent extras expected/supported:
* - vehicleid (optional)
* - apikey or (with vehicleid) password
* - title (optional)
* - command (optional, no command means only change the car)
*
* Commands need to be in user input syntax:
*  - MMI/USSD commands: prefix "*", example: "*100#"
*  - Modem commands:    prefix "@", example: "@ATI"
*  - MP MSG commands:   prefix "#", example: "#31"
*  - Text commands:     everything else, example: "stat"</font><span style="color: rgb(140, 140, 140);"></span><span style="color:#8c8c8c;font-style:italic;">
</span></pre>
        <div> <br>
          Changes are on github, tests & feedback are welcome.<br>
          <br>
          If you've added command bookmarks somewhere before, you may
          need to delete and recreate them to see the title in the UI.<br>
          <br>
          Regards,<br>
          Michael<br>
          <br>
          <br>
        </div>
        <div class="moz-cite-prefix">Am 09.10.22 um 22:11 schrieb
          Michael Balzer:<br>
        </div>
        <div>
          <meta http-equiv="Content-Type" content="text/html;
            charset=UTF-8">
          <br>
        </div>
        <div class="moz-cite-prefix">Am 09.10.22 um 20:40 schrieb van
          der Meijden, Chris:<br>
        </div>
        <div> <br>
        </div>
        <blockquote type="cite"
          cite="mid:7C852916-C740-4E34-996B-D53DBFEBB4A8@arachnon.de"
          style="margin:0 0 0 .8ex; border-left:2px #729fcf
          solid;padding-left:1ex">
          <div>
            <meta http-equiv="content-type" content="text/html;
              charset=UTF-8">
            Features and Parameters are not showing. Clicking there
            brings me to Messages.<br>
          </div>
        </blockquote>
        <div> Oops, yes, confirmed.<br>
          <br>
          <br>
        </div>
        <blockquote type="cite"
          cite="mid:7C852916-C740-4E34-996B-D53DBFEBB4A8@arachnon.de"
          style="margin:0 0 0 .8ex; border-left:2px #729fcf
          solid;padding-left:1ex">
          <div><br>
            Starting in landscape and then turning to portrait is fixed
            :-)<br>
          </div>
        </blockquote>
        <div> Nothing changed with the old ScaleLayout, it's on my list,
          but with low priority.<br>
          <br>
          So I don't think it's fixed, was working sometimes before.<br>
          <br>
          <br>
          <br>
        </div>
        <blockquote type="cite"
          cite="mid:7C852916-C740-4E34-996B-D53DBFEBB4A8@arachnon.de"
          style="margin:0 0 0 .8ex; border-left:2px #729fcf
          solid;padding-left:1ex">
          <div><br>
            <br>
          </div>
          <div class="gmail_quote">Am 9. Oktober 2022 20:22:50 MESZ
            schrieb Chris van der Meijden <a
              class="moz-txt-link-rfc2396E"
              href="mailto:chris@arachnon.de" moz-do-not-send="true"><chris@arachnon.de></a>:
            <br>
            <blockquote type="cite" style="margin:0 0 0 .8ex;
              border-left:2px #729fcf solid;padding-left:1ex">
              <div>It compiled and runs without troubles, but I needed
                to build with</div>
              <div><br>
              </div>
              <div>
                <div>gradlew build -x lint</div>
              </div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>Am Sonntag, dem 09.10.2022 um 19:16 +0200 schrieb
                Michael Balzer:</div>
              <div> <br>
              </div>
              <blockquote type="cite" style="margin:0 0 0 .8ex;
                border-left:2px #729fcf solid;padding-left:1ex">
                <div> Chris, Michael, thanks for tests & feedback.<br>
                  <br>
                  Code changes so far are now in the hub:<br>
                </div>
                <div><a class="moz-txt-link-freetext"
href="https://github.com/openvehicles/Open-Vehicle-Android/commit/c23b3dbd772bdae7e82601797cd3a71c2623a78c"
                    moz-do-not-send="true">https://github.com/openvehicles/Open-Vehicle-Android/commit/c23b3dbd772bdae7e82601797cd3a71c2623a78c</a><br>
                  <br>
                  This has become a very large commit, and it mixes some
                  version update changes that became necessary &
                  deprecation fixes I should have kept separate, but
                  cannot disentangle now.<br>
                  <br>
                  Some things still to do for the release, most notably
                  removing UI interaction from the service. So if any
                  other stuff shall be added to the next release, tell
                  me & go ahead preparing that.<br>
                  <br>
                  Regards,<br>
                  Michael<br>
                  <br>
                  <br>
                </div>
                <div class="moz-cite-prefix">Am 09.10.22 um 17:09
                  schrieb Chris van der Meijden:<br>
                </div>
                <div>
                  <meta http-equiv="content-type" content="text/html;
                    charset=UTF-8">
                </div>
                <div>I tested the new build. Everything is working fine
                  for me.</div>
                <div><br>
                </div>
                <div>I think it is a good idea to restrict the respond
                  to only action.COMMAND and leave SendCommand for
                  background operation.</div>
                <div><br>
                </div>
                <div><br>
                </div>
                <div>Am Sonntag, dem 09.10.2022 um 16:05 +0200 schrieb
                  Michael Balzer:</div>
                <div> <br>
                </div>
                <div> <br>
                </div>
                <blockquote type="cite" style="margin:0 0 0 .8ex;
                  border-left:2px #729fcf solid;padding-left:1ex">
                  <div> Chris, Michael,<br>
                    <br>
                    new builds with the announced new security scheme:<br>
                  </div>
                  <div> </div>
                  <ul>
                    <li><span style="color: rgb(0, 0, 0); font-family:
                        ui-monospace, "Cascadia Mono",
                        "Segoe UI Mono", "Source Code
                        Pro", "Roboto Mono", Hack,
                        "Liberation Mono", Menlo, Monaco,
                        Consolas, monospace, monospace; font-size: 12px;
                        font-style: normal; font-variant-ligatures:
                        normal; font-variant-caps: normal; font-weight:
                        400; letter-spacing: normal; orphans: 2;
                        text-align: start; text-indent: 0px;
                        text-transform: none; white-space: normal;
                        widows: 2; word-spacing: 0px;
                        -webkit-text-stroke-width: 0px;
                        background-color: rgb(238, 238, 238);
                        text-decoration-thickness: initial;
                        text-decoration-style: initial;
                        text-decoration-color: initial; display: inline
                        !important; float: none;"><a
                          class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-release.apk"
                          moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-release.apk</a></span></li>
                    <li><span style="color: rgb(0, 0, 0); font-family:
                        ui-monospace, "Cascadia Mono",
                        "Segoe UI Mono", "Source Code
                        Pro", "Roboto Mono", Hack,
                        "Liberation Mono", Menlo, Monaco,
                        Consolas, monospace, monospace; font-size: 12px;
                        font-style: normal; font-variant-ligatures:
                        normal; font-variant-caps: normal; font-weight:
                        400; letter-spacing: normal; orphans: 2;
                        text-align: start; text-indent: 0px;
                        text-transform: none; white-space: normal;
                        widows: 2; word-spacing: 0px;
                        -webkit-text-stroke-width: 0px;
                        background-color: rgb(255, 255, 248);
                        text-decoration-thickness: initial;
                        text-decoration-style: initial;
                        text-decoration-color: initial; display: inline
                        !important; float: none;"><a
                          class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-debug.apk"
                          moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-debug.apk</a></span></li>
                  </ul>
                  <p>This adds a new API key authorization to both
                    Intent interfaces. The API key is automatically
                    generated on App launch, and can be viewed, copied
                    and regenerated from the general options page.</p>
                  <p>It can be used for both command intents by passing
                    in as extra "apikey", allowing to omit the vehicle
                    password. The vehicle id is now also optional on
                    both interfaces, if omitted the current vehicle will
                    be used. To change the car you can either pass the
                    vehicle password or the apikey along with the
                    vehicle id.<br>
                  </p>
                  <div> So with am, you can now use:<br>
                  </div>
                  <div> </div>
                  <ul>
                    <li><font face="monospace">am broadcast -a
                        com.openvehicles.OVMS.SendCommand -e apikey … -e
                        command "stat"</font></li>
                    <li><font face="monospace">am start -a
                        com.openvehicles.OVMS.action.COMMAND -e apikey …
                        -e command "stat"</font><br>
                    </li>
                  </ul>
                  <p>The second guarantees the activity is started, so
                    the response will be visible.<br>
                  </p>
                  <p>I'll probably restrict displaying the response to
                    action.COMMAND in the next build, so SendCommand
                    will be for background operations while
                    action.COMMAND is for interactive uses.<br>
                  </p>
                  <div> Android 10 (API 29) has a new limitation for
                    displaying results (starting UI activities) from a
                    service (<a class="moz-txt-link-freetext"
href="https://developer.android.com/guide/components/activities/background-starts"
                      moz-do-not-send="true">https://developer.android.com/guide/components/activities/background-starts</a>),
                    so that works only by chance now anyway.<br>
                    <br>
                    Regards,<br>
                    Michael<br>
                    <br>
                    <br>
                  </div>
                  <div class="moz-cite-prefix">Am 09.10.22 um 12:45
                    schrieb Chris van der Meijden:<br>
                  </div>
                  <div>
                    <meta http-equiv="content-type" content="text/html;
                      charset=UTF-8">
                  </div>
                  <div>Hi Michael,</div>
                  <div><br>
                  </div>
                  <div>thank you for your response. As always of great
                    help :-)</div>
                  <div><br>
                  </div>
                  <div>Good that you could find a possible security risc
                    concerning the credentials.</div>
                  <div><br>
                  </div>
                  <div>Regards</div>
                  <div><br>
                  </div>
                  <div>Chris</div>
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div>Am Sonntag, dem 09.10.2022 um 10:53 +0200 schrieb
                    Michael Balzer:</div>
                  <div> <br>
                  </div>
                  <div> <br>
                  </div>
                  <div> <br>
                  </div>
                  <blockquote type="cite" style="margin:0 0 0 .8ex;
                    border-left:2px #729fcf solid;padding-left:1ex">
                    <div> Chris,<br>
                      <br>
                      AFAIK you need to have an adb connection or a
                      rooted Android to use "am", so not suitable as a
                      general way to call OVMS commands.<br>
                      <br>
                      With your (rooted) Lineageos you should be able to
                      use it like this:<br>
                      <br>
                      <font face="monospace">am broadcast -a
                        com.openvehicles.OVMS.SendCommand -e
                        sel_vehicleid xxx -e sel_server_password xxx -e
                        msg_command "7,stat"</font><br>
                      <br>
                      And I missed mentioning I also added support for
                      user command syntax to "SendCommand", so you can
                      now alternatively do<br>
                      <br>
                      <font face="monospace">am broadcast -a
                        com.openvehicles.OVMS.SendCommand -e
                        sel_vehicleid xxx -e sel_server_password xxx -e
                        command "stat"</font><br>
                      <br>
                      Playing with am, I found out…<br>
                      <br>
                      <font face="monospace">am start -n
                        com.openvehicles.OVMS/.api.CommandActivity -a
                        com.openvehicles.OVMS.action.COMMAND -e command
                        "stat"</font><br>
                      <br>
                      …actually works to trigger the new command
                      receiver. I thought restricting the new receiver
                      to app-internal intents would be possible, but it
                      apparently isn't. That bothers me, it means any
                      App could issue a command without knowing the
                      credentials or an auth key and without a previous
                      explicit user interaction to allow this.<br>
                      <br>
                      So I need to add a credentials check to the new
                      action, which means you will need to reinstall all
                      bookmarks / shortcut assignments. Please wait with
                      complex setups until I've added that.<br>
                      <br>
                      Regards,<br>
                      Michael<br>
                      <br>
                      <br>
                      <br>
                    </div>
                    <div class="moz-cite-prefix">Am 08.10.22 um 19:30
                      schrieb Chris van der Meijden:<br>
                    </div>
                    <div>
                      <meta http-equiv="content-type"
                        content="text/html; charset=UTF-8">
                    </div>
                    <div>I have been playing with the "SH" function of
                      KWGT and tried to send a broadcast over the shell,
                      like adb:</div>
                    <div><br>
                    </div>
                    <div style="orphans: auto; widows: auto;"><span
                        style="font-family: inherit; font-size:
                        var(--fs-body1); font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-color); orphans:
                        2; widows: 2; background-color:
                        var(--highlight-bg);">'am broadcast -</span><span
                        class="hljs-selector-tag" style="font-family:
                        inherit; font-size: 13px; font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-keyword);
                        orphans: 2; widows: 2; margin: 0px; padding:
                        0px; border: 0px; font-variant-ligatures:
                        inherit; font-variant-position: inherit;
                        font-variant-numeric: inherit;
                        font-variant-alternates: inherit;
                        font-variant-east-asian: inherit; font-stretch:
                        inherit; line-height: inherit; vertical-align:
                        baseline; box-sizing: inherit;">a</span><span
                        style="font-family: inherit; font-size:
                        var(--fs-body1); font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-color); orphans:
                        2; widows: 2; background-color:
                        var(--highlight-bg);"> com</span><span
                        class="hljs-selector-class" style="font-family:
                        inherit; font-size: 13px; font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-keyword);
                        orphans: 2; widows: 2; margin: 0px; padding:
                        0px; border: 0px; font-variant-ligatures:
                        inherit; font-variant-position: inherit;
                        font-variant-numeric: inherit;
                        font-variant-alternates: inherit;
                        font-variant-east-asian: inherit; font-stretch:
                        inherit; line-height: inherit; vertical-align:
                        baseline; box-sizing: inherit;">.whereismywifeserver</span><span
                        class="hljs-selector-class" style="font-family:
                        inherit; font-size: 13px; font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-keyword);
                        orphans: 2; widows: 2; margin: 0px; padding:
                        0px; border: 0px; font-variant-ligatures:
                        inherit; font-variant-position: inherit;
                        font-variant-numeric: inherit;
                        font-variant-alternates: inherit;
                        font-variant-east-asian: inherit; font-stretch:
                        inherit; line-height: inherit; vertical-align:
                        baseline; box-sizing: inherit;">.intent</span><span
                        class="hljs-selector-class" style="font-family:
                        inherit; font-size: 13px; font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-keyword);
                        orphans: 2; widows: 2; margin: 0px; padding:
                        0px; border: 0px; font-variant-ligatures:
                        inherit; font-variant-position: inherit;
                        font-variant-numeric: inherit;
                        font-variant-alternates: inherit;
                        font-variant-east-asian: inherit; font-stretch:
                        inherit; line-height: inherit; vertical-align:
                        baseline; box-sizing: inherit;">.TEST </span><span
                        class="hljs-attr" style="font-family: inherit;
                        font-size: 13px; font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-attribute);
                        orphans: 2; widows: 2; margin: 0px; padding:
                        0px; border: 0px; font-variant-ligatures:
                        inherit; font-variant-position: inherit;
                        font-variant-numeric: inherit;
                        font-variant-alternates: inherit;
                        font-variant-east-asian: inherit; font-stretch:
                        inherit; line-height: inherit; vertical-align:
                        baseline; box-sizing: inherit;">--es</span><span
                        style="font-family: inherit; font-size:
                        var(--fs-body1); font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-color); orphans:
                        2; widows: 2; background-color:
                        var(--highlight-bg);"> sms_body "test </span><span
                        class="hljs-selector-tag" style="font-family:
                        inherit; font-size: 13px; font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-keyword);
                        orphans: 2; widows: 2; margin: 0px; padding:
                        0px; border: 0px; font-variant-ligatures:
                        inherit; font-variant-position: inherit;
                        font-variant-numeric: inherit;
                        font-variant-alternates: inherit;
                        font-variant-east-asian: inherit; font-stretch:
                        inherit; line-height: inherit; vertical-align:
                        baseline; box-sizing: inherit;">from</span><span
                        style="font-family: inherit; font-size:
                        var(--fs-body1); font-style: inherit;
                        font-variant-caps: inherit; white-space:
                        inherit; color: var(--highlight-color); orphans:
                        2; widows: 2; background-color:
                        var(--highlight-bg);"> adb"'</span></div>
                    <div><br>
                    </div>
                    <div>That did not work, there where "rights" issues.</div>
                    <div><br>
                    </div>
                    <div>I took a look at the commands documentation. I
                      will play a bit with that.</div>
                    <div><br>
                    </div>
                    <div>Thanx for explaining!</div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                    <div>Am Samstag, dem 08.10.2022 um 18:54 +0200
                      schrieb Michael Balzer:</div>
                    <div> <br>
                    </div>
                    <div> <br>
                    </div>
                    <div> <br>
                    </div>
                    <div> <br>
                    </div>
                    <blockquote type="cite" style="margin:0 0 0 .8ex;
                      border-left:2px #729fcf solid;padding-left:1ex">
                      <div> Chris,<br>
                        <br>
                        "com.openvehicles.OVMS.SendCommand" is the old
                        command action, it's still supported and should
                        work the same way as before, except there are
                        some new extras in the response intent.<br>
                        <br>
                        The "SendCommand" interface is raw MP function
                        level, that's why you need to prefix "7," for
                        text commands (7 = execute text command). Other
                        MP commands work just the same way as raw
                        commands, e.g. "20,<pin>" will lock the
                        car if supported. (<a
                          class="moz-txt-link-freetext"
                          href="https://docs.openvehicles.com/en/latest/protocol_v2/commands.html"
                          moz-do-not-send="true">https://docs.openvehicles.com/en/latest/protocol_v2/commands.html</a>)<br>
                        <br>
                        The newly added command intent action is
                        "com.openvehicles.OVMS.action.COMMAND", it just
                        takes one extra "command", which takes the
                        command just as entered in the notification
                        page. See help there for the syntax, text
                        commands can be given as in the shell, to send
                        the above MP lock command, you'd enter
                        "#20,<pin>". This action currently always
                        sends the command to the currently selected
                        vehicle.<br>
                        <br>
                        KWGT doesn't support sending intents, that's why
                        I've done all this.<br>
                        <br>
                        To call a stored command from KWGT, set a
                        suitable element's touch handler to "start
                        shortcut". After clicking on that action, you
                        can open a selector. It will show the list of
                        shortcut providers installed including the OVMS
                        App now. Click on the OVMS entry, then select
                        the command from the list of stored commands.<br>
                        <br>
                        Regards,<br>
                        Michael<br>
                        <br>
                        <br>
                      </div>
                      <div class="moz-cite-prefix">Am 08.10.22 um 17:54
                        schrieb Chris van der Meijden:<br>
                      </div>
                      <div>
                        <meta http-equiv="content-type"
                          content="text/html; charset=UTF-8">
                      </div>
                      <div>Hi Michael</div>
                      <div><br>
                      </div>
                      <div>I just installed the release apk on my
                        degoogled Lineageos 19.1.</div>
                      <div><br>
                      </div>
                      <div>Installation went without any troubles. I
                        tested the broadcast with my fireplace app via
                        webinent:</div>
                      <div><br>
                      </div>
                      <div>action: 'com.openvehicles.OVMS.SendCommand',</div>
                      <div>extras: { </div>
                      <div>   sel_vehicleid: vid,</div>
                      <div>   sel_server_password: pwd,</div>
                      <div>   msg_command: '7,climatecontrol on'</div>
                      <div> }</div>
                      <div><br>
                      </div>
                      <div>It works still fine and I can see the
                        response dialog in the OVMS app.</div>
                      <div><br>
                      </div>
                      <div>I don't understand the "MP function". Do you
                        have an example for for i.e. "climatecontrol on"
                        via Buttons in KWGT? I'd love to test that :-)</div>
                      <div><br>
                      </div>
                      <div>And do you know if there is a way to send
                        intent broadcasts with KWGT? I tried with a
                        "GLOBALE", but I could not get that to work.</div>
                      <div><br>
                      </div>
                      <div>Regards</div>
                      <div><br>
                      </div>
                      <div>Chris</div>
                      <div><br>
                      </div>
                      <div><br>
                      </div>
                      <div>Am Samstag, dem 08.10.2022 um 15:37 +0200
                        schrieb Michael Balzer:</div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <blockquote type="cite" style="margin:0 0 0 .8ex;
                        border-left:2px #729fcf solid;padding-left:1ex">
                        <div> New test build:<br>
                        </div>
                        <div> </div>
                        <ul>
                          <li><span style="color: rgb(0, 0, 0);
                              font-family: ui-monospace, "Cascadia
                              Mono", "Segoe UI Mono",
                              "Source Code Pro", "Roboto
                              Mono", Hack, "Liberation
                              Mono", Menlo, Monaco, Consolas,
                              monospace, monospace; font-size: 12px;
                              font-style: normal;
                              font-variant-ligatures: normal;
                              font-variant-caps: normal; font-weight:
                              400; letter-spacing: normal; orphans: 2;
                              text-align: start; text-indent: 0px;
                              text-transform: none; white-space: normal;
                              widows: 2; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              background-color: rgb(255, 255, 248);
                              text-decoration-thickness: initial;
                              text-decoration-style: initial;
                              text-decoration-color: initial; display:
                              inline !important; float: none;"><a
                                class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-release.apk"
                                moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-release.apk</a></span></li>
                          <li><span style="color: rgb(0, 0, 0);
                              font-family: ui-monospace, "Cascadia
                              Mono", "Segoe UI Mono",
                              "Source Code Pro", "Roboto
                              Mono", Hack, "Liberation
                              Mono", Menlo, Monaco, Consolas,
                              monospace, monospace; font-size: 12px;
                              font-style: normal;
                              font-variant-ligatures: normal;
                              font-variant-caps: normal; font-weight:
                              400; letter-spacing: normal; orphans: 2;
                              text-align: start; text-indent: 0px;
                              text-transform: none; white-space: normal;
                              widows: 2; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              background-color: rgb(255, 255, 248);
                              text-decoration-thickness: initial;
                              text-decoration-style: initial;
                              text-decoration-color: initial; display:
                              inline !important; float: none;"><a
                                class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-debug.apk"
                                moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-debug.apk</a></span><span
                              style="color: rgb(0, 0, 0); font-family:
                              ui-monospace, "Cascadia Mono",
                              "Segoe UI Mono", "Source
                              Code Pro", "Roboto Mono",
                              Hack, "Liberation Mono", Menlo,
                              Monaco, Consolas, monospace, monospace;
                              font-size: 12px; font-style: normal;
                              font-variant-ligatures: normal;
                              font-variant-caps: normal; font-weight:
                              400; letter-spacing: normal; orphans: 2;
                              text-align: start; text-indent: 0px;
                              text-transform: none; white-space: normal;
                              widows: 2; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              background-color: rgb(255, 255, 248);
                              text-decoration-thickness: initial;
                              text-decoration-style: initial;
                              text-decoration-color: initial; display:
                              inline !important; float: none;"></span></li>
                        </ul>
                        <div> <br>
                          This includes major extensions & code
                          rewrites, I think I'll bump the version to 4.0
                          when releasing this to Google Play.<br>
                          <br>
                          Main goal & outcome of this effort:
                          command bookmarks.<br>
                          <br>
                          The App now offers stored commands (see
                          notifications tab). Stored commands can be
                          pinned to the launcher and selected from third
                          party Apps like KWGT as shortcuts to execute
                          on triggers / actions.<br>
                          <br>
                          So this enabled custom widgets to include
                          buttons triggering car commands.<br>
                          <br>
                          Commands are given using the user syntax, i.e.
                          don't need the MP function prefix. You can
                          still call an MP function by using the user
                          syntax, i.e. "#…".<br>
                          <br>
                          Command responses are shown as a dialog with a
                          timeoout of 5 seconds unless you hold it by
                          touching or begin scrolling a long response.
                          If the App is paused it will be resumed and
                          switch to the notifications page (which keeps
                          a record of all commands & responses). If
                          the App isn't running, only the response
                          dialog is shown on the launcher.<br>
                          <br>
                          All this of course needs the service to be
                          enabled & allow commands to be sent.<br>
                          <br>
                          Command responses are also broadcasted now, so
                          KWGT et al can receive them -- but they will
                          currently need to know the command sent
                          previously and copy command responses if they
                          need to keep them, I don't know if KWGT can do
                          that (Automagic can). KWGT seems to only have
                          a simple variable storage model.<br>
                          <br>
                          I think about extending the ApiService to keep
                          a command queue so the broadcast can at least
                          carry the command, the response is supposedly
                          produced for. Unfortunately the MP API cannot
                          guarantee this, as it doesn't currently return
                          a copy of the original command or a command ID
                          reference with the response, so this would at
                          best be a guess. Not sure if users actually
                          need this.<br>
                          <br>
                          <br>
                          Note: I haven't pushed the code changes to
                          github yet, I'd first like to get some test
                          feedback. I've tested this on Android 6, 7, 11
                          & 13, but not on any degoogled Androids.<br>
                          <br>
                          Regards,<br>
                          Michael<br>
                          <br>
                          <br>
                        </div>
                        <div class="moz-cite-prefix">Am 26.09.22 um
                          17:26 schrieb Chris van der Meijden:<br>
                        </div>
                        <div>
                          <meta http-equiv="content-type"
                            content="text/html; charset=UTF-8">
                        </div>
                        <div>For an includable example it would be nice
                          if we could send the vehicle image from the
                          OVMS app to KWGT.</div>
                        <div><br>
                        </div>
                        <div>You can assign "Activities" to the "Touch"
                          event on an image. Would be cool if that
                          works, so we can start the remote climate
                          control similar to how I do that with my
                          OVMS-Fireplace app:</div>
                        <div><br>
                        </div>
                        <div><a
                            href="https://github.com/devmarxx/OVMS-Fireplace"
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext">https://github.com/devmarxx/OVMS-Fireplace</a></div>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                        <div>Am Montag, dem 26.09.2022 um 13:56 +0200
                          schrieb Michael Balzer:</div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <blockquote type="cite" style="margin:0 0 0
                          .8ex; border-left:2px #729fcf
                          solid;padding-left:1ex">
                          <div> Nice, please go ahead if you want to
                            create an includable example widget :-)<br>
                            <br>
                            I've found out you can also use progress
                            bars to display values, enable formula input
                            on the "step" & set the formular to e.g.
                            $br(ovms, car_soc)$.<br>
                            <br>
                            Works, although I need to convert all car
                            model values to strings for KWGT. Btw, I
                            also need to unroll the TPMS arrays, they
                            are split into a "_cnt" & "_<n>"
                            variables. I need to add an info on this to
                            the wiki.<br>
                            <br>
                            I haven't found out how to send a broadcast
                            from KWGT yet, is that possible? That would
                            enable creating command shortcuts &
                            buttons as with Automagic.<br>
                            <br>
                            Regards,<br>
                            Michael<br>
                            <br>
                            <br>
                            <br>
                          </div>
                          <div class="moz-cite-prefix">Am 26.09.22 um
                            12:13 schrieb Chris van der Meijden:<br>
                          </div>
                          <div>
                            <meta http-equiv="content-type"
                              content="text/html; charset=UTF-8">
                          </div>
                          <div>Correction:</div>
                          <div><br>
                          </div>
                          <div>$br(ovms, <span style="color: rgb(36, 41,
                              47); font-family: -apple-system,
                              BlinkMacSystemFont, "Segoe UI",
                              Helvetica, Arial, sans-serif, "Apple
                              Color Emoji", "Segoe UI
                              Emoji"; font-size: 16px; orphans: 2;
                              widows: 2; background-color: rgb(246, 248,
                              250);">sel_vehicle_label)$</span></div>
                          <div><br>
                          </div>
                          <div>Am Montag, dem 26.09.2022 um 12:05 +0200
                            schrieb Chris van der Meijden:</div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <blockquote type="cite" style="margin:0 0 0
                            .8ex; border-left:2px #729fcf
                            solid;padding-left:1ex">
                            <div>I like the new KWGT Widget feature:</div>
                            <div><br>
                            </div>
                            <div><img
                                src="cid:part1.H9gIrSW7.Sa8hpPEL@expeedo.de"
                                class="" moz-do-not-send="true"
                                width="600px" height="492px"></div>
                            <div><br>
                            </div>
                            <div>Above is the Tesla Widget of our Model
                              3, beneath that my OVMS KWGT widget of our
                              VW e-UP.</div>
                            <div><br>
                            </div>
                            <div>I had to allow "Passing data to other
                              apps". The syntax for getting the intent
                              variables to text in KWGT is i.e.</div>
                            <div><br>
                            </div>
                            <div>$br(ovms, car_sel_vehicle_label)$</div>
                            <div><br>
                            </div>
                            <div>Other variables can be found here:</div>
                            <div><a
href="https://github.com/openvehicles/Open-Vehicle-Android/wiki/Update-Broadcast-Intent-data"
                                moz-do-not-send="true"
                                class="moz-txt-link-freetext">https://github.com/openvehicles/Open-Vehicle-Android/wiki/Update-Broadcast-Intent-data</a></div>
                            <div><br>
                            </div>
                            <div>The image is local on the filesystem of
                              the phone and does not come by intent.</div>
                            <div><br>
                            </div>
                            <div><br>
                            </div>
                            <div>Am Sonntag, dem 25.09.2022 um 16:23
                              +0200 schrieb Michael Balzer:</div>
                            <div> No, icon can only be 0 from the else
                              branch, in that case it shall fall back to
                              the default image.<br>
                              <br>
                              But I've meanwhile found (I think) your
                              maps/track crash, commit is already in the
                              hub. The checkbox handler didn't check if
                              the map object is initialized.<br>
                              <br>
                            </div>
                            <div><a class="moz-txt-link-freetext"
href="https://github.com/openvehicles/Open-Vehicle-Android/blob/master/OpenVehicleApp/src/main/java/com/openvehicles/OVMS/ui/FragMap.java#L319"
                                moz-do-not-send="true">https://github.com/openvehicles/Open-Vehicle-Android/blob/master/OpenVehicleApp/src/main/java/com/openvehicles/OVMS/ui/FragMap.java#L319</a><br>
                              <br>
                              Regards,<br>
                              Michael<br>
                              <br>
                              <br>
                            </div>
                            <div class="moz-cite-prefix">Am 25.09.22 um
                              15:46 schrieb Chris van der Meijden:<br>
                            </div>
                            <div>
                              <meta http-equiv="content-type"
                                content="text/html; charset=UTF-8">
                            </div>
                            <div>Just guessing, but does </div>
                            <div><br>
                            </div>
                            <div>int icon;</div>
                            <div><br>
                            </div>
                            <div>in <a
title="OpenVehicleApp/src/main/java/com/openvehicles/OVMS/receiver/MyGcmListenerService.java"
                                class="Link--primary Truncate-text"
href="https://github.com/devmarxx/Open-Vehicle-Android/commit/3c13100a6a25257fe694be3050a1b76ca2b6fb44#diff-c13198cb33bb355f600c37f8889cedcb72346835dbb7e357c031c57aba424487"
                                style="box-sizing: border-box;
                                background-color: rgb(246, 248, 250);
                                min-width: 1ch; max-width: fit-content;
                                overflow: hidden; text-overflow:
                                ellipsis; white-space: nowrap;
                                font-family: ui-monospace,
                                SFMono-Regular, "SF Mono",
                                Menlo, Consolas, "Liberation
                                Mono", monospace; font-size: 12px;
                                font-variant-ligatures: normal; orphans:
                                2; widows: 2; color:
                                var(--color-accent-fg) !important;"
                                moz-do-not-send="true">MyGcmListenerService.java</a> at
                              line 132</div>
                            <div><br>
                            </div>
                            <div>not need to be initialized like</div>
                            <div><br>
                            </div>
                            <div>int icon = 0;</div>
                            <div><br>
                            </div>
                            <div>now you use</div>
                            <div><br>
                            </div>
                            <div>
                              <div><span style="color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">.</span><span class="pl-en" style="box-sizing: border-box; color: var(--color-prettylights-syntax-entity); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">setSmallIcon</span><span style="color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">(</span><span class="x x-first x-last" style="box-sizing: border-box; border-radius: 0.2em; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">(</span><span class="pl-s1" style="box-sizing: border-box; color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">icon</span><span class="x x-first" style="box-sizing: border-box; border-top-left-radius: 0.2em; border-bottom-left-radius: 0.2em; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;"> != </span><span class="pl-c1 x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">0</span><span class="x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">) ? </span><span class="pl-s1 x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">icon</span><span class="x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;"> : </span><span class="pl-smi x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">R</span><span class="x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">.</span><span class="pl-s1 x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">drawable</span><span class="x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">.</span><span class="pl-s1 x x-last" style="box-sizing: border-box; border-top-right-radius: 0.2em; border-bottom-right-radius: 0.2em; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">map_car_default</span><span style="color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">)</span></div>
                            </div>
                            <div><br>
                            </div>
                            <div>at line 150 now?</div>
                            <div><br>
                            </div>
                            <div>As the images and the Google stuff are
                              related to that integer it made me
                              thinking ...</div>
                            <div><br>
                            </div>
                            <div><br>
                            </div>
                            <div>Am Sonntag, dem 25.09.2022 um 11:52
                              +0200 schrieb Michael Balzer:</div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <blockquote type="cite" style="margin:0 0 0
                              .8ex; border-left:2px #729fcf
                              solid;padding-left:1ex">
                              <div> Chris,<br>
                                <br>
                                that's not a crash log, that's just a
                                warning.<br>
                                <br>
                                On that warning: the App requests
                                android.permission.ACCESS_FINE_LOCATION
                                by it's manifest. Maybe with LineageOS
                                you need to manually give it that
                                permission?<br>
                                <br>
                                A crash log has class "E" (error) and
                                includes an exception and a backtrace,
                                for an example see: <a
                                  class="moz-txt-link-freetext"
                                  href="https://issuetracker.google.com/issues/201308676#comment4"
                                  moz-do-not-send="true">https://issuetracker.google.com/issues/201308676#comment4</a><br>
                                <br>
                                On the crash: maybe it's because you
                                don't have the Google components, not
                                sure if FragMap can handle that.<br>
                                <br>
                                The forum post relates to /e/OS … maybe
                                I need some emulator images running
                                alternative Androids now…<br>
                                <br>
                                Regards,<br>
                                Michael<br>
                                <br>
                                <br>
                              </div>
                              <div class="moz-cite-prefix">Am 25.09.22
                                um 11:40 schrieb Chris van der Meijden:<br>
                              </div>
                              <div>
                                <meta http-equiv="content-type"
                                  content="text/html; charset=UTF-8">
                              </div>
                              <div>Hey Michael,</div>
                              <div><br>
                              </div>
                              <div>this is from logcat when I change
                                "Track vehicle" and the app crashes:</div>
                              <div><br>
                              </div>
                              <div>09-25 11:16:01.410 1710 1839 W
                                BroadcastQueue: Permission Denial:
                                receiving Intent {
                                act=android.intent.action.SERVICE_STATE
                                flg=0x1000010 (has extras) } to
                                ProcessRecord{8dcdd54
                                2053:com.android.systemui/u0a148}
                                (pid=2053, uid=10148) requires
                                android.permission.ACCESS_FINE_LOCATION
                                due to sender android (uid 1001)</div>
                              <div><br>
                              </div>
                              <div>I saw now, that this crash also
                                happens in the production app.</div>
                              <div><br>
                              </div>
                              <div>The widget is running well. I will
                                keep the app running for while and will
                                see if it stays stable.</div>
                              <div><br>
                              </div>
                              <div>Regards</div>
                              <div><br>
                              </div>
                              <div>Chris</div>
                              <div><br>
                              </div>
                              <div>Am Samstag, dem 24.09.2022 um 23:02
                                +0200 schrieb Michael Balzer:</div>
                              <div> <br>
                              </div>
                              <div> <br>
                              </div>
                              <div> <br>
                              </div>
                              <div> <br>
                              </div>
                              <div> <br>
                              </div>
                              <div> <br>
                              </div>
                              <div> <br>
                              </div>
                              <div> <br>
                              </div>
                              <div> <br>
                              </div>
                              <blockquote type="cite" style="margin:0 0
                                0 .8ex; border-left:2px #729fcf
                                solid;padding-left:1ex">
                                <div> Chris,<br>
                                  <br>
                                  thanks for testing. A crash log would
                                  help on any crashes you see. Btw, I
                                  don't bump the revision until the
                                  actual release build.<br>
                                  <br>
                                  Crashes related to the car image don't
                                  occur immediately, it sometimes takes
                                  hours of use before it happens. When
                                  it does, clearing the App cache fixes
                                  the crash for another random period.<br>
                                  <br>
                                  Speed optimization was one goal. What
                                  about the widget?<br>
                                  <br>
                                  Thanks,<br>
                                  Michael<br>
                                  <br>
                                  <br>
                                </div>
                                <div class="moz-cite-prefix">Am 24.09.22
                                  um 22:43 schrieb Chris van der
                                  Meijden:<br>
                                </div>
                                <div>
                                  <meta http-equiv="content-type"
                                    content="text/html; charset=UTF-8">
                                </div>
                                <div>Hey Michael,</div>
                                <div><br>
                                </div>
                                <div>I just installed the "release"
                                  Version on LineageOS 19.1 (Android 12)
                                  without Google components.</div>
                                <div><br>
                                </div>
                                <div>The vehicle setup was without any
                                  troubles. I could select the yellow VW
                                  e-UP image without crashing.</div>
                                <div><br>
                                </div>
                                <div>The App version is set wrong under
                                  "Vehicle info" (3.19.1, 2021122401).</div>
                                <div><br>
                                </div>
                                <div>Everything seems to be faster than
                                  before.</div>
                                <div><br>
                                </div>
                                <div>When I change the checkbox on
                                  "Track vehicle" under "Position" the
                                  App crashes. But after a new start of
                                  the app the value of the checkbox has
                                  changed.</div>
                                <div><br>
                                </div>
                                <div>Perhaps this first impression is of
                                  some help.</div>
                                <div><br>
                                </div>
                                <div>Regards</div>
                                <div><br>
                                </div>
                                <div>Chris</div>
                                <div><br>
                                </div>
                                <div>Am Samstag, dem 24.09.2022 um 20:10
                                  +0200 schrieb Michael Balzer:</div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <div> <br>
                                </div>
                                <blockquote type="cite" style="margin:0
                                  0 0 .8ex; border-left:2px #729fcf
                                  solid;padding-left:1ex">
                                  <div> Everyone,<br>
                                    <br>
                                    I'm currently working on the next
                                    Android release including
                                    KustomWidget support and a native
                                    app widget based on the old
                                    Automagic gauge widget.<br>
                                    <br>
                                    Automagic has been dead for some
                                    time now, and it keeps crashing on
                                    Androids >= 7.<br>
                                    <br>
                                    My changes so far are in the hub,
                                    APK builds are available here:<br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div> </div>
                                  <ul>
                                    <li><a class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-release.apk"
                                        moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-release.apk</a></li>
                                    <li>debug build for extended
                                      logging: <a
                                        class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-debug.apk"
                                        moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-debug.apk</a></li>
                                  </ul>
                                  <div> <br>
                                    There's an issue with the App
                                    related to Android >= 10 though,
                                    which I haven't found yet. It's been
                                    reported in the forum:<br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div><br>
                                  </div>
                                  <div> </div>
                                  <ul>
                                    <li><a class="moz-txt-link-freetext"
href="https://www.openvehicles.com/node/3410" moz-do-not-send="true">https://www.openvehicles.com/node/3410</a></li>
                                  </ul>
                                  <p>I could use some help with that,
                                    I've got no idea other than blaming
                                    Android.<br>
                                  </p>
                                  <div> I've seen the effect in my
                                    emulator tests, and it seems to
                                    occur more frequently with
                                    non-roadster images.<br>
                                    <br>
                                    Regards,<br>
                                    Michael<br>
                                    <br>
                                  </div>
                                  <pre><div>_______________________________________________</div></pre>
                                  <pre><div>OvmsDev mailing list</div></pre>
                                  <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                                  <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                                </blockquote>
                                <div><br>
                                </div>
                                <div><span></span></div>
                                <div> <br>
                                  <fieldset
                                    class="moz-mime-attachment-header"></fieldset>
                                </div>
                                <pre>_______________________________________________</pre>
                                <pre>OvmsDev mailing list</pre>
                                <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                                <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                                <div> <br>
                                </div>
                                <pre><div>_______________________________________________</div></pre>
                                <pre><div>OvmsDev mailing list</div></pre>
                                <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                                <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                              </blockquote>
                              <div><br>
                              </div>
                              <div><span></span></div>
                              <div> <br>
                                <fieldset
                                  class="moz-mime-attachment-header"></fieldset>
                              </div>
                              <pre>_______________________________________________</pre>
                              <pre>OvmsDev mailing list</pre>
                              <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                              <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                              <div> <br>
                              </div>
                              <pre><div>_______________________________________________</div></pre>
                              <pre><div>OvmsDev mailing list</div></pre>
                              <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                              <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                            </blockquote>
                            <div><br>
                            </div>
                            <div><span></span></div>
                            <div> <br>
                              <fieldset
                                class="moz-mime-attachment-header"></fieldset>
                            </div>
                            <pre>_______________________________________________</pre>
                            <pre>OvmsDev mailing list</pre>
                            <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                            <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                            <div> <br>
                            </div>
                            <pre><div>_______________________________________________</div></pre>
                            <pre><div>OvmsDev mailing list</div></pre>
                            <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                            <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                            <div><br>
                            </div>
                            <div><span></span></div>
                            <div>_______________________________________________<br>
                            </div>
                            <div>OvmsDev mailing list<br>
                            </div>
                            <div><a
                                href="mailto:OvmsDev@lists.openvehicles.com"
                                moz-do-not-send="true"
                                class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
                            </div>
                            <div><a
                                href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                                moz-do-not-send="true"
                                class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
                            </div>
                          </blockquote>
                          <div><br>
                          </div>
                          <div><span></span></div>
                          <div> <br>
                            <fieldset class="moz-mime-attachment-header"></fieldset>
                          </div>
                          <pre>_______________________________________________</pre>
                          <pre>OvmsDev mailing list</pre>
                          <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                          <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                          <div> <br>
                          </div>
                          <pre><div>_______________________________________________</div></pre>
                          <pre><div>OvmsDev mailing list</div></pre>
                          <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                          <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                        </blockquote>
                        <div><br>
                        </div>
                        <div><span></span></div>
                        <div> <br>
                          <fieldset class="moz-mime-attachment-header"></fieldset>
                        </div>
                        <pre>_______________________________________________</pre>
                        <pre>OvmsDev mailing list</pre>
                        <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                        <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                        <div> <br>
                        </div>
                        <pre><div>_______________________________________________</div></pre>
                        <pre><div>OvmsDev mailing list</div></pre>
                        <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                        <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                      </blockquote>
                      <div><br>
                      </div>
                      <div><span></span></div>
                      <div> <br>
                        <fieldset class="moz-mime-attachment-header"></fieldset>
                      </div>
                      <pre>_______________________________________________</pre>
                      <pre>OvmsDev mailing list</pre>
                      <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                      <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                      <div> <br>
                      </div>
                      <pre><div>_______________________________________________</div></pre>
                      <pre><div>OvmsDev mailing list</div></pre>
                      <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                      <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                    </blockquote>
                    <div><br>
                    </div>
                    <div><span></span></div>
                    <div> <br>
                      <fieldset class="moz-mime-attachment-header"></fieldset>
                    </div>
                    <pre>_______________________________________________</pre>
                    <pre>OvmsDev mailing list</pre>
                    <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                    <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                    <div> <br>
                    </div>
                    <pre><div>_______________________________________________</div></pre>
                    <pre><div>OvmsDev mailing list</div></pre>
                    <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                    <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                  </blockquote>
                  <div><br>
                  </div>
                  <div><span></span></div>
                  <div> <br>
                    <fieldset class="moz-mime-attachment-header"></fieldset>
                  </div>
                  <pre>_______________________________________________</pre>
                  <pre>OvmsDev mailing list</pre>
                  <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                  <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                  <div> <br>
                  </div>
                  <pre><div>_______________________________________________</div></pre>
                  <pre><div>OvmsDev mailing list</div></pre>
                  <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                  <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                </blockquote>
                <div><br>
                </div>
                <div><span></span></div>
                <div> <br>
                  <fieldset class="moz-mime-attachment-header"></fieldset>
                </div>
                <pre>_______________________________________________</pre>
                <pre>OvmsDev mailing list</pre>
                <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                <div> <br>
                </div>
                <pre><div>_______________________________________________</div></pre>
                <pre><div>OvmsDev mailing list</div></pre>
                <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
              </blockquote>
              <div><br>
              </div>
              <div><span></span></div>
              <br>
            </blockquote>
          </div>
          <div> <br>
            <fieldset class="moz-mime-attachment-header"></fieldset>
          </div>
          <pre>_______________________________________________</pre>
          <pre>OvmsDev mailing list</pre>
          <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
          <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
        </blockquote>
        <div> <br>
        </div>
        <pre>-- </pre>
        <pre>Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal</pre>
        <pre>Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
        <div> <br>
          <fieldset class="moz-mime-attachment-header"></fieldset>
        </div>
        <pre>_______________________________________________</pre>
        <pre>OvmsDev mailing list</pre>
        <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
        <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
        <div> <br>
        </div>
        <pre><div>_______________________________________________
</div></pre>
        <pre><div>OvmsDev mailing list
</div></pre>
        <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a>
</div></pre>
        <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</div></pre>
      </blockquote>
      <div><br>
      </div>
      <div><span></span></div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
  </body>
</html>