930ec0127ca8ce556e5e3f95c2c108495347708c
[platform/framework/web/crosswalk.git] / src / xwalk / runtime / android / core_internal / src / org / xwalk / core / internal / 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.internal.extension;
6
7 import android.os.Environment;
8
9 import java.io.File;
10 import java.util.ArrayList;
11
12 import org.chromium.base.CalledByNative;
13 import org.chromium.base.JNINamespace;
14
15 @JNINamespace("xwalk")
16 public class XWalkPathHelper {
17     private final static String TAG = "XWalkPathHelper";
18
19     public XWalkPathHelper() {}
20
21     public static void initialize() {
22         nativeSetDirectory("EXTERNAL", Environment.getExternalStorageDirectory().getPath());
23
24         String names[] = {
25             "ALARMS",
26             "DCIM",
27             "DOWNLOADS",
28             "MOVIES",
29             "MUSIC",
30             "NOTIFICATIONS",
31             "PICTURES",
32             "PODCASTS",
33             "RINGTONES"
34         };
35         String dirs[] = {
36             Environment.DIRECTORY_ALARMS,
37             Environment.DIRECTORY_DCIM,
38             Environment.DIRECTORY_DOWNLOADS,
39             Environment.DIRECTORY_MOVIES,
40             Environment.DIRECTORY_MUSIC,
41             Environment.DIRECTORY_NOTIFICATIONS,
42             Environment.DIRECTORY_PICTURES,
43             Environment.DIRECTORY_PODCASTS,
44             Environment.DIRECTORY_RINGTONES
45         };
46         for (int i = 0; i < names.length; ++i) {
47             File dir = Environment.getExternalStoragePublicDirectory(dirs[i]);
48             if (null != dir) {
49                 nativeSetDirectory(names[i], dir.getPath());
50             }
51         }
52     }
53
54     public static void setCacheDirectory(String path) {
55         nativeSetDirectory("CACHEDIR", path);
56     }
57
58     public static void setExternalCacheDirectory(String path) {
59         nativeSetDirectory("EXTERNAL_CACHEDIR", path);
60     }
61
62     private static native void nativeSetDirectory(String virtualRoot, String path);
63 }