OSDN Git Service

for Mac
[everfolder/source.git] / source / workspace / EverFolder / src / com / yuji / ef / Initialize.java
1 package com.yuji.ef;
2
3 import android.app.Activity;
4 import android.content.Context;
5
6 import com.yuji.ef.common.Constant;
7 import com.yuji.ef.dao.BookDao;
8 import com.yuji.ef.dao.DatabaseHelper;
9 import com.yuji.ef.dao.LockDao;
10 import com.yuji.ef.dao.NodeCacheDao;
11 import com.yuji.ef.exception.EfError;
12 import com.yuji.ef.exception.EfException;
13 import com.yuji.ef.pref.EditPrefUtil;
14 import com.yuji.ef.service.NoteUpdatorService;
15 import com.yuji.ef.utility.Encryption;
16 import com.yuji.ef.utility.SdLog;
17
18 public class Initialize {
19         private static Context context;
20         private static boolean isInit = true;
21         
22         public static void initialize(Context applicatonContext, Activity activity) throws EfException {
23                 if (!isInit) {
24                         return;
25                 }
26
27                 try {
28                         context = applicatonContext;
29                         
30                         EditPrefUtil pref = new EditPrefUtil(context);
31                         pref.getInt(Constant.PREF_UPDATE_TIME, 0);
32                         pref.get(Constant.PREF_UPDATE_DATETIME, "");
33                         pref.getInt(Constant.PREF_DELETE_LOCK, 0);
34                         pref.getInt(Constant.PREF_UPDATE_DATA, Constant.OFF);
35                         pref.getLong(Constant.PREF_NEXT_TIME, 0L);
36                         pref.getLong(Constant.PREF_LOGIN_DATE, 0L);
37                         pref.update();
38                         
39                         DatabaseHelper.addDao(NodeCacheDao.getInstance());
40                         DatabaseHelper.addDao(BookDao.getInstance());
41                         DatabaseHelper.init(context, "EverFolder.db");
42                         DatabaseHelper.addDao(LockDao.getInstance());                                   
43                         DatabaseHelper.init(context, "Lock.db");
44                         
45                         // #29573
46                         if (activity != null && activity.getClass() == EverFolderActivity.class){
47                                 pref.put(Constant.PREF_DELETE_LOCK, Constant.ON);
48                                 pref.update();
49                         }
50                         
51                         NoteUpdatorService.init(context);
52                         
53                         isInit = false;
54                 } catch (Exception e) {
55                         SdLog.put(e);
56                         EfException.msg(R.string.ErrorSystem, e);
57                         throw new EfException(EfError.INIT);
58                 }
59         }
60
61         public static Context getContext() {
62                 return context;
63         }
64 }