OSDN Git Service

FOO
[evermemo/source.git] / workspace / EverMemo / src / com / yuji / em / utility / PrefUtilImpl.java
1 package com.yuji.em.utility;
2
3 import android.content.Context;
4 import android.content.SharedPreferences;
5 import android.content.SharedPreferences.Editor;
6 import android.content.pm.PackageManager.NameNotFoundException;
7
8 public class PrefUtilImpl implements PrefUtil {
9         private static final String EVER_CLIP_ACTIVITY = "EverMemoActivity";
10         private static final String PACKAGE_COM_YUJI_EM = "com.yuji.em";
11         private Context context;
12
13         public PrefUtilImpl(Context context) {
14                 this.context = context;
15         }
16
17         @Override
18         public SharedPreferences getSharedPreferences(){
19                 SharedPreferences pref = null;
20                 try {
21                         Context ctxt = context.createPackageContext(PACKAGE_COM_YUJI_EM,
22                                         Context.CONTEXT_RESTRICTED);
23                         pref = ctxt.getSharedPreferences(EVER_CLIP_ACTIVITY,
24                                         Context.MODE_PRIVATE);
25                 } catch (NameNotFoundException e) {
26                         Debug.d(this, null, e);
27                 }               
28                 return pref;
29         }
30         
31         @Override
32         public void put(String key, String value) {
33                 synchronized (this) {
34                         SharedPreferences pref = getSharedPreferences();
35                         if (pref == null){
36                                 return;
37                         }
38
39                         Editor e = pref.edit();
40                         e.putString(key, value);
41                         e.commit();
42                 }
43         }
44
45         @Override
46         public void put(String key, int value) {
47                 put(key, String.valueOf(value));
48         }
49
50         @Override
51         public void put(String key, long value) {
52                 put(key, String.valueOf(value));
53         }
54
55         @Override
56         public String get(String key) {
57                 String val;
58                 
59                 synchronized (this) {
60                         SharedPreferences pref = getSharedPreferences();
61                         if (pref == null){
62                                 return null;
63                         }
64
65                         val = pref.getString(key, null);
66                 }
67
68                 return val;
69         }
70
71         @Override
72         public int getInt(String key) {
73                 return Integer.parseInt(get(key));
74         }
75
76         @Override
77         public long getLong(String key) {
78                 return Long.parseLong(get(key));
79         }
80
81         @Override
82         public String get(String key, String initValue) {
83                 String value = get(key);
84                 if (value != null) {
85                         return value;
86                 }
87                 put(key, initValue);
88                 return initValue;
89         }
90
91         @Override
92         public int getInt(String key, int initValue) {
93                 return Integer.valueOf(get(key, String.valueOf(initValue)));
94         }
95
96         @Override
97         public long getLong(String key, long initValue) {
98                 return Long.valueOf(get(key, String.valueOf(initValue)));
99         }
100         
101         @Override
102         public void copy(String srcKey, String dstKey){
103                 String value = get(srcKey);
104                 put(dstKey, value);
105         }
106         
107         @Override
108         public void remove(String key) {
109                 put(key, null);
110         }
111 }