<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I just created an empty file /sdcard/sword/mods.d/globals.conf,
      but I still get the same error message as below.</p>
    <p>It seems like the method FileMgr::existsFile is not detecting the
      file /sdcard/sword/mods.d/globals.conf on my tablet.</p>
    <p>Best regards,<br>
      Tobias<br>
    </p>
    <div class="moz-cite-prefix">On 1/2/21 10:49 AM, Tobias Klein wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:f2b24c10-8aab-f32d-8ec3-70f3f39d7cf0@tklein.info">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Ok!</p>
      <p>Below is a full dump of <tt>adb logcat | grep libsword</tt>.</p>
      <p>Seems like this is the key section, though:<br>
        <br>
        <tt>01-02 10:35:25.259  5450  5538 D libsword.so: libsword:
          init() sword config not found, attempting to create parent of:
          /sdcard/sword/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.260  5450  5538 D libsword.so: libsword:
          init() saving basic: /sdcard/sword/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.260  5450  5538 D libsword.so: libsword:
          init() sword config STILL not found, attempting to create
          parent of:
          /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.262  5450  5538 D libsword.so: libsword:
          init() saving basic:
          /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf</tt></p>
      <p>What is mods.d/globals.conf used for? It seems like this file
        is missing in my existing SWORD file structure.<br>
      </p>
      <p>Best regards,<br>
        Tobias</p>
      <p>Complete log:<br>
      </p>
      <p><tt>01-02 10:35:25.258  5450  5538 I libsword.so: LOOKING UP
          LOCALE DIRECTORY...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          for provided SWConfig("sword.conf")...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          working directory for sword.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          working directory for mods.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          working directory for mods.d...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          working directory ../library/ for mods.d...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          $SWORD_PATH...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Parsing
          /etc/sword.conf:/usr/local/etc/sword.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          for /etc/sword.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          for /usr/local/etc/sword.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          $ALLUSERSPROFILE/Application Data/sword/...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          $HOME/Library/Application Support/Sword/...</tt><tt><br>
        </tt><tt>01-02 10:35:25.258  5450  5538 I libsword.so: Checking
          home directory for ~/.sword...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: LOOKING
          UP LOCALE DIRECTORY COMPLETE.</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: LOOKING
          UP LOCALE DIRECTORY...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          for provided SWConfig("sword.conf")...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          working directory for sword.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          working directory for mods.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          working directory for mods.d...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          working directory ../library/ for mods.d...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          $SWORD_PATH...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Parsing
          /etc/sword.conf:/usr/local/etc/sword.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          for /etc/sword.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          for /usr/local/etc/sword.conf...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          $ALLUSERSPROFILE/Application Data/sword/...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          $HOME/Library/Application Support/Sword/...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: Checking
          home directory for ~/.sword...</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 I libsword.so: LOOKING
          UP LOCALE DIRECTORY COMPLETE.</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 D libsword.so: libsword:
          init() begin</tt><tt><br>
        </tt><tt>01-02 10:35:25.259  5450  5538 D libsword.so: libsword:
          init() sword config not found, attempting to create parent of:
          /sdcard/sword/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.260  5450  5538 D libsword.so: libsword:
          init() saving basic: /sdcard/sword/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.260  5450  5538 D libsword.so: libsword:
          init() sword config STILL not found, attempting to create
          parent of:
          /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.262  5450  5538 D libsword.so: libsword:
          init() saving basic:
          /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.263  5450  5538 D libsword.so: libsword:
          extraConfig Exists at path:
          /data/user/0/org.crosswire.bishop/files/extraConfig.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.263  5450  5538 D libsword.so: libsword:
          init() creating WebMgr using path:
          /data/user/0/org.crosswire.bishop/files</tt><tt><br>
        </tt><tt>01-02 10:35:25.267  5450  5538 I libsword.so: Checking
          at provided path: /data/user/0/org.crosswire.bishop/files/...</tt><tt><br>
        </tt><tt>01-02 10:35:25.267  5450  5538 I libsword.so: Found
          mods.d/</tt><tt><br>
        </tt><tt>01-02 10:35:25.267  5450  5538 D libsword.so: libsword:
          WebMgr c-tor(path: /data/user/0/org.crosswire.bishop/files,
          extraConfPath:
          /data/user/0/org.crosswire.bishop/files/extraConfig.conf)</tt><tt><br>
        </tt><tt>01-02 10:35:25.267  5450  5538 D libsword.so: libsword:
          WebMgr::c-tor extraConfPath supplied:
          /data/user/0/org.crosswire.bishop/files/extraConfig.conf)</tt><tt><br>
        </tt><tt>01-02 10:35:25.267  5450  5538 I libsword.so: LOADING
          MODULE CONFIGURATIONS...</tt><tt><br>
        </tt><tt>01-02 10:35:25.267  5450  5538 I libsword.so: LOADING
          MODULE CONFIGURATIONS COMPLETE.</tt><tt><br>
        </tt><tt>01-02 10:35:25.267  5450  5538 I libsword.so: LOADING
          MODULE LIBRARY...</tt><tt><br>
        </tt><tt>01-02 10:35:25.268  5450  5538 D libsword.so: libsword:
          WebMgr::createAllModules</tt><tt><br>
        </tt><tt>01-02 10:35:25.268  5450  5538 D libsword.so: libsword:
          WebMgr::createAllModules extraConfig supplied:
          /data/user/0/org.crosswire.bishop/files/extraConfig.conf)</tt><tt><br>
        </tt><tt>01-02 10:35:25.268  5450  5538 D libsword.so: libsword:
          WebMgr::createAllModules extraConfig exists. Augmenting
          modules config</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so: libsword:
          SWMgr::createAllModules</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 I libsword.so: LOADING
          MODULE LIBRARY COMPLETE.</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so: libsword:
          init() augmenting modules from:
          /sdcard/Android/data/net.bible.android.activity/files</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so: libsword:
          init() augmenting modules from: /sdcard/sword</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so: libsword:
          init() adding locales from baseDir.</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so:
          LocaleMgr::loadConfigDir loading
          /data/user/0/org.crosswire.bishop/files/locales.d</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so:
          LocaleMgr::loadConfigDir loading
          /data/user/0/org.crosswire.bishop/files/uilocales.d</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so:
          LocaleMgr::loadConfigDir loading /sdcard/sword/locales.d</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so:
          LocaleMgr::loadConfigDir loading /sdcard/sword/uilocales.d</tt><tt><br>
        </tt><tt>01-02 10:35:25.269  5450  5538 D libsword.so: libsword:
          init() end.</tt><tt><br>
        </tt><tt>01-02 10:35:25.413  5450  5538 D libsword.so: setting
          STORAGE_BASE to: /data/user/0/org.crosswire.bishop/files</tt><tt><br>
        </tt><tt>01-02 10:35:25.416  5450  5538 D libsword.so: libsword:
          init() begin</tt><tt><br>
        </tt><tt>01-02 10:35:25.416  5450  5538 D libsword.so: libsword:
          init() sword config not found, attempting to create parent of:
          /sdcard/sword/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.417  5450  5538 D libsword.so: libsword:
          init() saving basic: /sdcard/sword/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.417  5450  5538 D libsword.so: libsword:
          init() sword config STILL not found, attempting to create
          parent of:
          /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.417  5450  5538 D libsword.so: libsword:
          init() saving basic:
          /data/user/0/org.crosswire.bishop/files/mods.d/globals.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.417  5450  5538 D libsword.so: libsword:
          extraConfig Exists at path:
          /data/user/0/org.crosswire.bishop/files/extraConfig.conf</tt><tt><br>
        </tt><tt>01-02 10:35:25.417  5450  5538 D libsword.so: libsword:
          init() creating WebMgr using path:
          /data/user/0/org.crosswire.bishop/files</tt><tt><br>
        </tt><tt>01-02 10:35:25.418  5450  5538 I libsword.so: Checking
          at provided path: /data/user/0/org.crosswire.bishop/files/...</tt><tt><br>
        </tt><tt>01-02 10:35:25.418  5450  5538 I libsword.so: Found
          mods.d/</tt><tt><br>
        </tt><tt>01-02 10:35:25.418  5450  5538 D libsword.so: libsword:
          WebMgr c-tor(path: /data/user/0/org.crosswire.bishop/files,
          extraConfPath:
          /data/user/0/org.crosswire.bishop/files/extraConfig.conf)</tt><tt><br>
        </tt><tt>01-02 10:35:25.418  5450  5538 D libsword.so: libsword:
          WebMgr::c-tor extraConfPath supplied:
          /data/user/0/org.crosswire.bishop/files/extraConfig.conf)</tt><tt><br>
        </tt><tt>01-02 10:35:25.418  5450  5538 I libsword.so: LOADING
          MODULE CONFIGURATIONS...</tt><tt><br>
        </tt><tt>01-02 10:35:25.419  5450  5538 I libsword.so: LOADING
          MODULE CONFIGURATIONS COMPLETE.</tt><tt><br>
        </tt><tt>01-02 10:35:25.419  5450  5538 I libsword.so: LOADING
          MODULE LIBRARY...</tt><tt><br>
        </tt><tt>01-02 10:35:25.419  5450  5538 D libsword.so: libsword:
          WebMgr::createAllModules</tt><tt><br>
        </tt><tt>01-02 10:35:25.419  5450  5538 D libsword.so: libsword:
          WebMgr::createAllModules extraConfig supplied:
          /data/user/0/org.crosswire.bishop/files/extraConfig.conf)</tt><tt><br>
        </tt><tt>01-02 10:35:25.419  5450  5538 D libsword.so: libsword:
          WebMgr::createAllModules extraConfig exists. Augmenting
          modules config</tt><tt><br>
        </tt><tt>01-02 10:35:25.419  5450  5538 D libsword.so: libsword:
          SWMgr::createAllModules</tt><tt><br>
        </tt><tt>01-02 10:35:25.419  5450  5538 I libsword.so: LOADING
          MODULE LIBRARY COMPLETE.</tt><tt><br>
        </tt><tt>01-02 10:35:25.419  5450  5538 D libsword.so: libsword:
          init() augmenting modules from:
          /sdcard/Android/data/net.bible.android.activity/files</tt><tt><br>
        </tt><tt>01-02 10:35:25.420  5450  5538 D libsword.so: libsword:
          init() augmenting modules from: /sdcard/sword</tt><tt><br>
        </tt><tt>01-02 10:35:25.420  5450  5538 D libsword.so: libsword:
          init() adding locales from baseDir.</tt><tt><br>
        </tt><tt>01-02 10:35:25.420  5450  5538 D libsword.so:
          LocaleMgr::loadConfigDir loading
          /data/user/0/org.crosswire.bishop/files/locales.d</tt><tt><br>
        </tt><tt>01-02 10:35:25.420  5450  5538 D libsword.so:
          LocaleMgr::loadConfigDir loading
          /data/user/0/org.crosswire.bishop/files/uilocales.d</tt><tt><br>
        </tt><tt>01-02 10:35:25.420  5450  5538 D libsword.so:
          LocaleMgr::loadConfigDir loading /sdcard/sword/locales.d</tt><tt><br>
        </tt><tt>01-02 10:35:25.420  5450  5538 D libsword.so:
          LocaleMgr::loadConfigDir loading /sdcard/sword/uilocales.d</tt><tt><br>
        </tt><tt>01-02 10:35:25.420  5450  5538 D libsword.so: libsword:
          init() end.</tt><tt><br>
        </tt><tt>01-02 10:35:25.420  5450  5538 D libsword.so:
          getModInfoList returning 0 length array</tt><tt><br>
        </tt><tt>01-02 10:35:25.456  5450  5538 W libsword.so:
          LocaleMgr::getLocale failed to find locales</tt><tt><br>
        </tt><tt>01-02 10:35:25.460  5450  5538 W libsword.so:
          LocaleMgr::getLocale failed to find locales</tt><br>
      </p>
      <div class="moz-cite-prefix">On 1/1/21 10:57 PM, Troy A. Griffitts
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:7705424F-5A5A-40A1-A49C-B978DAEFE231@crosswire.org">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        Hmmm. That's odd. If you can adb logcat your tablet while it is
        plugged into your laptop and have a look at the output when
        Bishop starts up, it might give us a clue. Bishop is pretty
        noisy to the logs. The detection logic is located in init(),
        here:<br>
        <br>
        <a
href="https://crosswire.org/svn/sword/trunk/bindings/java-jni/jni/swordstub.cpp"
          moz-do-not-send="true">https://crosswire.org/svn/sword/trunk/bindings/java-jni/jni/swordstub.cpp</a><br>
        <br>
        <br>
        <br>
        <div class="gmail_quote">On January 1, 2021 2:18:29 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;">
            <div dir="auto">
              <div dir="auto">Thanks Troy!</div>
              <div dir="auto"><span style="font-size: 12pt;"><br>
                </span></div>
              <div dir="auto"><span style="font-size: 12pt;">I see this
                  working with Bishop on my phone (Android 8.1.0). There
                  Bishop reads from and writes to /sdcard/sword.</span></div>
              <div dir="auto"><br>
              </div>
              <div dir="auto">However, it is not working on my Tablet
                (Android 10). I do have SWORD directories there with
                this structure:</div>
              <div dir="auto">/sdcard/sword</div>
              <div dir="auto">/sdcard/sword/installMgr</div>
              <div dir="auto">/sdcard/sword/mods.d</div>
              <div dir="auto">/sdcard/sword/modules</div>
              <div dir="auto"><br>
              </div>
              <div dir="auto">When starting Bishop on the Tablet it asks
                for permissions and after confirmation it does not show
                any existing modules based on the structure above.</div>
              <div dir="auto"><br>
              </div>
              <div dir="auto">Best regards,</div>
              <div dir="auto">Tobias</div>
              <div dir="auto"><br>
              </div>
              <div id="aqm-original" style="color: black;">
                <!-- body start -->
                <div class="aqm-original-body">
                  <div style="color: black;">
                    <p style="color: black; font-size: 10pt;
                      font-family: sans-serif; margin: 8pt 0;">Am 1.
                      Januar 2021 21:34:00 schrieb "Troy A. Griffitts" <a
                        class="moz-txt-link-rfc2396E"
                        href="mailto:scribe@crosswire.org"
                        moz-do-not-send="true"><scribe@crosswire.org></a>:</p>
                    <blockquote type="cite" class="gmail_quote"
                      style="margin: 0 0 0 0.75ex; border-left: 1px
                      solid #808080; padding-left: 0.75ex;"> Yes, that's
                      exactly right. Upon install, Bishop asks for
                      permissions to read and right files to
                      /sdcard/sword/. If it is able, it does, if not, it
                      writes to its app’s private data area.<br>
                      <br>
                      I don't believe there is anything like this
                      available on iOS, but I am no expert. I would be
                      interested to learn how iOS handles other common
                      data files which have multiple apps needing the
                      ability to read and write, like photos.<br>
                      <br>
                      Thanks for wanting to coordinate on where files
                      are stored.<br>
                      <br>
                      Troy<br>
                      <br>
                      <div class="gmail_quote">On January 1, 2021
                        1:07:16 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;">
                          <div dir="auto">
                            <div dir="auto">Hi Troy!</div>
                            <div dir="auto"><br>
                            </div>
                            Happy new year!
                            <div dir="auto"><br>
                            </div>
                            <div dir="auto">Where does Bishop store the
                              SWORD data files on Android? I was
                              browsing the filesystem but could not find
                              the respective directory.</div>
                            <div dir="auto"><br>
                            </div>
                            <div dir="auto">I am asking because I am
                              working on Android support for
                              node-sword-interface and I wanted to align
                              this and use a common place for the SWORD
                              data files. So far I thought /sdcard/sword
                              would be the right place.</div>
                            <div dir="auto"><br>
                            </div>
                            <div dir="auto">Best regards,</div>
                            <div dir="auto">Tobias</div>
                          </div>
                        </blockquote>
                      </div>
                      <br>
                      -- <br>
                      Sent from my Android device with K-9 Mail. Please
                      excuse my brevity.</blockquote>
                  </div>
                </div>
                <!-- body end --> </div>
              <div dir="auto"><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
        -- <br>
        Sent from my Android device with K-9 Mail. Please excuse my
        brevity. <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>