blob: 0dc547e12c5196e0dfc1dfa61c86a49f2e6628de [file] [log] [blame]
package org.apache.cordova.file;
import android.net.Uri;
public class LocalFilesystemURL {
public static final int TEMPORARY = 0;
public static final int PERSISTENT = 1;
Uri URL;
int filesystemType;
String fullPath;
public LocalFilesystemURL(Uri URL) {
this.URL = URL;
this.filesystemType = this.filesystemTypeForLocalURL(URL);
this.fullPath = this.fullPathForLocalURL(URL);
}
private String fullPathForLocalURL(Uri URL) {
int fsType = this.filesystemTypeForLocalURL(URL);
if (fsType == FileUtils.TEMPORARY) {
return URL.getPath().substring(10);
}
if (fsType == FileUtils.PERSISTENT) {
return URL.getPath().substring(11);
}
if (fsType == FileUtils.APPLICATION) {
return URL.getPath();
}
return null;
}
private int filesystemTypeForLocalURL(Uri URL) {
if ("filesystem".equals(URL.getScheme()) && "localhost".equals(URL.getHost())) {
String path = URL.getPath();
if (path != null) {
if (path.startsWith("/temporary")) {
return FileUtils.TEMPORARY;
} else if (path.startsWith("/persistent")) {
return FileUtils.PERSISTENT;
}
}
} else if ("content".equals(URL.getScheme())) {
return FileUtils.APPLICATION;
}
return -1;
}
public LocalFilesystemURL(String strURL) {
this(Uri.parse(strURL));
}
}