[Android Apps and Games] camro:
hi,

here i attach the latest k9-mail, which i compiled (thanks to cketti), and where the namespace is fixed,so, that user can also access to folders, which are on /

(because the nold k9-mail - does use on empty namespace - automatically use from NAMESPACEcmd the first in the list, which is normally always: /INBOX

so, user can'T access to a public folder.

til my dirty hack (patch) will be in GIT -> i upload here the version.

it is called "k9-mail v4.102 camel-hack"

.) Fixed creation of store URIs when a "path" was used. (done by cketti on 29.11.2011)

.) Fix for empty IMAP Folder Prefix (with Prefix=*, then it will use real empty Prefix. Because if totally empty, then it will use the first namespace - mostly INBOX)

(it is based on GIT - from 29.11.2011)

if you want to use the "/"(root) namespace, then you must insert a "*" (without ") on IMAP Folder Prefix

this can be set in -> account settings ->retrieve message -> incomming mail server -> IMAP Folder Frefix

PLS: after changing IMAP Folder Prefix to *, please adjust your settings for your folder

this thread is related to http://code.google.com/p/k9mail/issues/detail?id=1992 and several others which are "namespace" or "shared folder" or public folder related. you will find a lot of threads about this issue.

INSTALL: sometimes it could happen, that you can't install it over previous installed versions:

this is a known issue of different k9-mail versions.

1.) please backup (titanium backup) and export (in k9-mail on account view") your settings.

2.) uninstall k9-mail

3.) install my attached version.

4.) restore your k9 settings -> using titanium backup -> find k9-mail -> restore "only data"

(or you can import your previous saved k9-mail settings)

- -- -- - - -- - - -- -

now, i hope that cketti will add my patch to GIT.

the patch is:

ImapStore.java
line 573
} else {
int prefixLength = getCombinedPrefix().length();
- if (prefixLength > 0) {
+ if (prefixLength > -1) { //camel: set to -1 (orig=0), to get all folders from "", too
// Strip prefix from the folder name
ImapStore.java
line 2246
if (K9.DEBUG)
Log.d(K9.LOG_TAG, "NAMESPACE = " + hasCapability(CAPABILITY_NAMESPACE)
+ ", mPathPrefix = " + mSettings.getPathPrefix());

- if (mSettings.getPathPrefix() == null) {
+ if ((mSettings.getPathPrefix() == null) || (mSettings.getPathPrefix().equals("*"))) { // camel: to handle auto namespace and special case *
if (hasCapability(CAPABILITY_NAMESPACE)) {
if (K9.DEBUG)
Log.i(K9.LOG_TAG, "mPathPrefix is unset and server has NAMESPACE capability");
List<ImapResponse> namespaceResponses =
executeSimpleCommand(COMMAND_NAMESPACE);
for (ImapResponse response : namespaceResponses) {
ImapStore.java
line 2268
if (firstNamespace != null && firstNamespace instanceof ImapList) {
if (K9.DEBUG)
Log.d(K9.LOG_TAG, "Got first personal namespaces: " + firstNamespace);
bracketed = (ImapList)firstNamespace;
+ if (mSettings.getPathPrefix() == null) { // camel:case1: if empty, use namespace first NS
mSettings.setPathPrefix(bracketed.getString(0));
+ } else { // camel:case2: if *, then use empty path prefix
+	mSettings.setPathPrefix("");
+ }
mSettings.setPathDelimeter(bracketed.getString(1));
mSettings.setCombinedPrefix(null);
if (K9.DEBUG)

cu camel