Upstream version 8.36.156.0
[platform/framework/web/crosswalk.git] / src / xwalk / runtime / android / core / src / org / xwalk / core / XWalkPathHelper.java
1 // Copyright (c) 2014 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.xwalk.core.extension;
6
7 import android.os.Environment;
8
9 import java.util.ArrayList;
10
11 import org.chromium.base.CalledByNative;
12 import org.chromium.base.JNINamespace;
13
14 @JNINamespace("xwalk")
15 public class XWalkPathHelper {
16     private final static String TAG = "XWalkPathHelper";
17
18     public XWalkPathHelper() {}
19
20     public static void initialize() {
21         nativeSetDirectory("EXTERNAL", Environment.getExternalStorageDirectory().getPath());
22
23         String names[] = {
24             "ALARMS",
25             "DCIM",
26             "DOWNLOADS",
27             "MOVIES",
28             "MUSIC",
29             "NOTIFICATIONS",
30             "PICTURES",
31             "PODCASTS",
32             "RINGTONES"
33         };
34         String dirs[] = {
35             Environment.DIRECTORY_ALARMS,
36             Environment.DIRECTORY_DCIM,
37             Environment.DIRECTORY_DOWNLOADS,
38             Environment.DIRECTORY_MOVIES,
39             Environment.DIRECTORY_MUSIC,
40             Environment.DIRECTORY_NOTIFICATIONS,
41             Environment.DIRECTORY_PICTURES,
42             Environment.DIRECTORY_PODCASTS,
43             Environment.DIRECTORY_RINGTONES
44         };
45         for (int i = 0; i < names.length; ++i) {
46             nativeSetDirectory(names[i],
47                   Environment.getExternalStoragePublicDirectory(dirs[i]).getPath());
48         }
49     }
50
51     public static void setCacheDirectory(String path) {
52         nativeSetDirectory("CACHEDIR", path);
53     }
54
55     public static void setExternalCacheDirectory(String path) {
56         nativeSetDirectory("EXTERNAL_CACHEDIR", path);
57     }
58
59     private static native void nativeSetDirectory(String virtualRoot, String path);
60 }