<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p>Dear Troy,</p>
    <p>After doing some more tests I can say that the Unicode support
      based on the new toUpper map works pretty well! I tested with
      German, French, Spanish and I did not find any issues. This means
      that the next release of Ezra Project for Android will have full
      i18n support!</p>
    <p>I wonder whether this could be a general solution that allows to
      get rid of SWORD's ICU dependency ... (would reduce the size of my
      Windows installer quite significantly, too).</p>
    <p>Best regards,<br>
      Tobias<br>
    </p>
    <div class="moz-cite-prefix">On 2/16/21 10:08 PM, Tobias Klein
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c306e845-8166-2df1-5ae5-cdb5ebd5570b@tklein.info">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <p>Dear Troy,</p>
      <p>I just generated a test build of Ezra Project using your latest
        SWORD update including the new Unicode toUpper map.<br>
        <br>
        I tested with the German language setting on Android and it
        works! The Umlauts are displayed correctly. Thank you for this
        change. I am going to do some additional tests with other
        languages soon.</p>
      <p>Best regards,<br>
        Tobias<br>
      </p>
      <div class="moz-cite-prefix">On 2/14/21 7:49 PM, Troy A. Griffitts
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:c3457460-657d-da00-4a2f-7b1ce7373582@crosswire.org">
        <meta http-equiv="Content-Type" content="text/html;
          charset=windows-1252">
        <p>Dear Tobias,</p>
        <p>I have spent a bit of time this morning investigating the
          cost of including a Unicode toUpper map from an official
          source in the SWORD source.</p>
        <p>Using this URL from IBM: <a class="moz-txt-link-freetext"
href="https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/nls/rbagslowtoupmaptable.htm"
            moz-do-not-send="true">https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/nls/rbagslowtoupmaptable.htm</a></p>
        <p>I have grabbed at least a UCS2 table (this includes all
          Unicode values which fit into 16bits) and the source file
          which is here:</p>
        <p><a class="moz-txt-link-freetext"
            href="https://crosswire.org/svn/sword/trunk/include/swtoupperdata.h"
            moz-do-not-send="true">https://crosswire.org/svn/sword/trunk/include/swtoupperdata.h</a></p>
        <p>only results in about 14k and is only included is you aren't
          compiling with ICU support, so this shouldn't impact most all
          SWORD builds.</p>
        <p>I've updated the default StringMgr::upperUTF8 to use this map
          and the testsuite passes.</p>
        <p>If you want to skip calling back into your JavaScript env to
          do the toUpper, then you should be able to fallback to this.</p>
        <p>Hope this helps,</p>
        <p>Troy</p>
        <p><br>
        </p>
        <div class="moz-cite-prefix">On 2/9/21 10:44 AM, Tobias Klein
          wrote:<br>
        </div>
        <blockquote type="cite"
          cite="mid:0FE4CBCC-38B6-4520-926E-DC4C0F8E7875@tklein.info">
          <meta http-equiv="Content-Type" content="text/html;
            charset=windows-1252">
          Dear Troy,
          <div class=""><br class="">
          </div>
          <div class="">Thank you so much! This confirms my suspicion.</div>
          <div class=""><br class="">
          </div>
          <div class="">Meanwhile I could reproduce this problem on one
            of my own devices (a seven-year old Nexus 7 which runs on
            Android 6).</div>
          <div class="">After reproducing it I made some <a
href="https://github.com/ezra-project/ezra-project/commit/cc0fbefa4f61effcd096a2659467cfd15a02dd98#diff-151bc226d42b8410bbe0cc9ecb805021141761158eb0210757605792c749ecd5"
              class="" moz-do-not-send="true">adjustments in timeout
              parameters</a>. Timeouts can happen here because the
            respective functionality lives on the Nodejs-side of things
            (a separate process), which is made accessible in the
            Cordova Webview via IPC.</div>
          <div class=""><br class="">
          </div>
          <div class="">I will submit an updated test version of Ezra
            Project later today, which means you can have another look
            once this test version goes live in the Play Store about two
            days from now. I will send another note once it is
            available.</div>
          <div class=""><br class="">
          </div>
          <div class="">Best regards,</div>
          <div class="">Tobias</div>
          <div class=""><br class="">
            <div><br class="">
              <blockquote type="cite" class="">
                <div class="">Am 09.02.2021 um 02:42 schrieb Troy A.
                  Griffitts <<a href="mailto:scribe@crosswire.org"
                    class="" moz-do-not-send="true">scribe@crosswire.org</a>>:</div>
                <br class="Apple-interchange-newline">
                <div class="">
                  <meta http-equiv="Content-Type" content="text/html;
                    charset=windows-1252" class="">
                  <div class="">
                    <p class="">Dear Tobias,</p>
                    <p class="">My apologies for taking so long to reply
                      to your request.  Attached is the adb log when I
                      run ezra and open the settings menu.  I did a grep
                      for NODE as you requested, but didn't see anything
                      unusual, so I am sending you the entire log.</p>
                    <p class="">It may be as you suggested, the i18n
                      system, as I noticed this line:</p>
                    <p class="">02-08 18:39:22.300 22969 22969 D
                      SystemWebChromeClient: <a
                        class="moz-txt-link-freetext"
                        href="file:///android_asset/www/dist/ezra_init.js"
                        moz-do-not-send="true">file:///android_asset/www/dist/ezra_init.js</a>:
                      Line 19823 : Did not get node response for
                      i18n_get_translation<br class="">
                      <br class="">
                    </p>
                    <p class="">This is a Samsung Galaxy Tab A
                      (SM-T550), fully updated to what Samsung will
                      update for this hardware: Android 7.1.1.</p>
                    <p class="">Hope it's useful.  Let me know if there
                      is anything I can test for you.</p>
                    <p class="">Troy</p>
                    <p class=""><br class="">
                    </p>
                    <div class="moz-cite-prefix">On 2/6/21 4:27 AM,
                      Tobias Klein wrote:<br class="">
                    </div>
                    <blockquote type="cite"
                      cite="mid:be5e7cfc-aac2-02be-5396-9f93d02cd7fc@tklein.info"
                      class="">
                      <meta http-equiv="Content-Type"
                        content="text/html; charset=windows-1252"
                        class="">
                      <p class="">Hi Troy,</p>
                      <p class="">Would you mind trying once more with
                        the latest version (Beta 5), which is available
                        in the App Store now.<br class="">
                        I made some fixes, but I am still not sure
                        whether it will work on your device. In case
                        there are issues I'd be interested in the adb
                        debug log mentioned below.<br class="">
                      </p>
                      <p class="">Best regards,<br class="">
                        Tobias<br class="">
                      </p>
                      <div class="moz-cite-prefix">On 1/23/21 5:00 PM,
                        Tobias Klein wrote:<br class="">
                      </div>
                      <blockquote type="cite"
                        cite="mid:84556580-ef85-149d-e713-5021b82f9186@tklein.info"
                        class="">
                        <meta http-equiv="Content-Type"
                          content="text/html; charset=windows-1252"
                          class="">
                        <p class="">Hi Troy,</p>
                        <p class="">Could you let me know which specific
                          Android version you are using on your tablet.</p>
                        <p class="">Also, would you mind sending me a
                          debug log by:<br class="">
                          1) Running <tt class="">adb logcat | grep
                            NODE</tt><br class="">
                          2) Starting up the Ezra Project app<br
                            class="">
                          <br class="">
                          Best regards,<br class="">
                          Tobias<br class="">
                        </p>
                        <div class="moz-cite-prefix">On 1/22/21 3:21 AM,
                          Troy A. Griffitts wrote:<br class="">
                        </div>
                        <blockquote type="cite"
                          cite="mid:A8B1073E-BF42-4159-909C-5C2F5C981433@crosswire.org"
                          class="">
                          <meta http-equiv="content-type"
                            content="text/html; charset=windows-1252"
                            class="">
                          Hi Tobias! Excited you got things compiled.
                          Some things work for me on a Samsung Tab A and
                          some things don't. They all seem like details
                          now that you have a full stack compiled and
                          deployed! Looking forward to see what becomes
                          of it. Here's my screenshot.<br class="">
                          <br class="">
                          <br class="">
                          <br class="">
                          <div class="gmail_quote">On January 21, 2021
                            12:39:32 PM MST, Tobias Klein <a
                              class="moz-txt-link-rfc2396E"
                              href="mailto:contact@tklein.info"
                              moz-do-not-send="true"><contact@tklein.info></a>
                            wrote:
                            <blockquote class="gmail_quote"
                              style="margin: 0pt 0pt 0pt 0.8ex;
                              border-left: 1px solid rgb(204, 204, 204);
                              padding-left: 1ex;">
                              <pre class="k9mail">Hi all,

I'm glad to announce the first working test candidate of Ezra Project on 
Android (tagged Ezra Project 0.17.0-Beta3).

Here is a link to the app, which is now in the "open testing phase".

<a href="https://play.google.com/store/apps/details?id=de.ezraproject.cordova" moz-do-not-send="true" class="">https://play.google.com/store/apps/details?id=de.ezraproject.cordova</a>

Note that the app requires at least Android 7 and a 10" display.

Here's some technical background info:

The code base of Ezra Project only needed slight modifications to 
support running with a Cordova wrapper as an Android app.

The pure cordova part now lives here: 
<a href="https://github.com/ezra-project/ezra-project-cordova" moz-do-not-send="true" class="">https://github.com/ezra-project/ezra-project-cordova</a>
That repository simply includes the main Ezra Project repository as a 
submodule.

The following additional aspects were added on Android:

- Write permission handling on startup
- Added an option to keep the screen on (it otherwise turns off after a 
short time without user interaction)
- Added platform-specific startup code
- Added platform-specific full screen handling

There is still some work left to replace certain mouse-dependent 
features with a touch-screen compatible UX.

Under the hood, a major refactoring of the "backend functionality" was 
required first. All functionality that is directly interacting with the 
filesystem was moved to a separate process (Sword, Settings, i18n, 
Database). The architecture is the same in the Electron app and the 
Cordova app. For each, frontend and backend are separated in two 
different processes and interacting with each other via an IPC layer. 
This IPC layer is in detail a bit different for Electron and Cordova, 
but behaves the same from an interface perspective.

I'd be happy about feedback!

Best regards,
Tobias<hr class="">sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a href="http://crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true" class="">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page
</pre>
                            </blockquote>
                          </div>
                          <br class="">
                          -- <br class="">
                          Sent from my Android device with K-9 Mail.
                          Please excuse my brevity. </blockquote>
                        <br class="">
                        <fieldset class="mimeAttachmentHeader"></fieldset>
                        <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
                      </blockquote>
                      <br class="">
                      <fieldset class="mimeAttachmentHeader"></fieldset>
                      <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
                    </blockquote>
                  </div>
                  <span id="cid:E4705A37-C440-48B6-9691-D0EEC6E72058"><ezra.log></span>_______________________________________________<br
                    class="">
                  sword-devel mailing list: <a
                    href="mailto:sword-devel@crosswire.org" class=""
                    moz-do-not-send="true">sword-devel@crosswire.org</a><br
                    class="">
                  <a
                    href="http://crosswire.org/mailman/listinfo/sword-devel"
                    class="" moz-do-not-send="true">http://crosswire.org/mailman/listinfo/sword-devel</a><br
                    class="">
                  Instructions to unsubscribe/change your settings at
                  above page</div>
              </blockquote>
            </div>
            <br class="">
          </div>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
        </blockquote>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org" moz-do-not-send="true">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel" moz-do-not-send="true">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
      </blockquote>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page</pre>
    </blockquote>
  </body>
</html>