<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    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 class="moz-cite-prefix">Am 08.10.22 um 19:30 schrieb Chris van
      der Meijden:<br>
    </div>
    <blockquote type="cite"
      cite="mid:f742df8f1e372fd793c32227a26d8ec0237c40a4.camel@arachnon.de">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <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>
      <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>
        <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>
          <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>
            <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.2JcqmQ6g.Z60Jol2D@expeedo.de"
                  class="" 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>
              <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>
                <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>
                  <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>
      <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>