<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Troy,<br>
      <br>
      Thanks for your help! This is how it looks after wiping the
      /sdcard/sword directory and freshly starting up Bishop:</p>
    <p><tt>01-02 21:10:58.863  9973 10061 D libsword.so: libsword:
        init() begin</tt><tt><br>
      </tt><tt>01-02 21:10:58.863  9973 10061 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 21:10:58.864  9973 10061 D libsword.so: libsword:
        init() saving basic: /sdcard/sword/mods.d/globals.conf</tt><tt><br>
      </tt><tt>01-02 21:10:58.864  9973 10061 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 21:10:58.865  9973 10061 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 21:10:58.866  9973 10061 D libsword.so: libsword:
        extraConfig Exists at path:
        /data/user/0/org.crosswire.bishop/files/extraConfig.conf</tt><tt><br>
      </tt><tt>01-02 21:10:58.866  9973 10061 D libsword.so: libsword:
        init() creating WebMgr using path:
        /data/user/0/org.crosswire.bishop/files</tt><tt><br>
      </tt><tt>01-02 21:10:58.870  9973 10061 I libsword.so: Checking at
        provided path: /data/user/0/org.crosswire.bishop/files/...</tt><tt><br>
      </tt><tt>01-02 21:10:58.870  9973 10061 I libsword.so: Found
        mods.d/</tt><br>
    </p>
    <div class="moz-cite-prefix">It still fails in the same way as
      before.<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">The portion of the code that is
      involved here is this, right?</div>
    <div class="moz-cite-prefix">
      <pre style="color: rgb(0, 0, 0); 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; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; overflow-wrap: break-word; white-space: pre-wrap;">SWLOGD("libsword: init() saving basic: %s", confPath.c_str());
                        SWConfig config(confPath.c_str());
                        config["Globals"]["HiAndroid"] = "weeee";
                        config.save();
                }
                if (!FileMgr::existsFile(confPath.c_str())) {
                        baseDir = STORAGE_BASE;
                        confPath = baseDir + "/mods.d/globals.conf";
SWLOGD("libsword: init() sword config STILL not found, attempting to create parent of: %s", confPath.c_str());


</pre>
    </div>
    <div class="moz-cite-prefix">Maybe the config.save() fails for some
      other reason?<br>
      <br>
      Meanwhile I have managed to port Ezra Project &
      node-sword-interface to Android and it works with this device and
      /sdcard/sword as the base directory for the SWORD engine.<br>
    </div>
    <div class="moz-cite-prefix"><br>
      Can you provide me a debug version of Bishop with more debug
      output around config.save()?<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">Best regards,<br>
      Tobias<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 1/2/21 4:37 PM, Troy A. Griffitts
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:7A344555-5749-4582-AD11-E19B967FF968@crosswire.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      It's not used for anything in particular, just as a write test. We
      used to store (I guess we still do) stuff in a [globals] section
      like a directory to scan for new module when SWORD first starts up
      and then it would install those, letting an external program or
      user just dump stuff to a folder, which would get install the next
      time their app started up. That was typically used when we
      supported individual module downloads by users from our webserver,
      but we discourage that now and instead encourage use of
      installmgr.<br>
      <br>
      Anyway, you found exactly the problem. SWORD couldn't write to
      /sdcard/sword.<br>
      <br>
      I suspect maybe file permission?<br>
      <br>
      We should probably all read up on the changes Timmy mentions.<br>
      <br>
      I would try this, remove /sdcard/sword entirely and see what
      Bishop does.<br>
      <br>
      I have had troubles myself making changes to my sdcard, using adb
      shell to cd to /sdcard and mkdir xyz, then using a file browser
      and looking on the sdcard and not seeing my folder. I wonder if it
      has anything to do with the multiple profile support, i.e., can
      one user take a photo to the sdcard and then change profiles on
      the phone and have another user see that photo.<br>
      <br>
      Anyway, it seems we need to read and experiment a bit.<br>
      <br>
      Troy<br>
      <br>
      <div class="gmail_quote">On January 2, 2021 2:49:52 AM MST, Tobias
        Klein <a class="moz-txt-link-rfc2396E" href="mailto:contact@tklein.info"><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;">
          <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>
        </blockquote>
      </div>
      <br>
      -- <br>
      Sent from my Android device with K-9 Mail. Please excuse my
      brevity.
    </blockquote>
  </body>
</html>