OSDN Git Service

T29419
authorYuji Konishi <yuji.k64613@gmail.com>
Sat, 1 Sep 2012 03:33:38 +0000 (12:33 +0900)
committerYuji Konishi <yuji.k64613@gmail.com>
Sat, 1 Sep 2012 03:33:38 +0000 (12:33 +0900)
T29418
T29348

source/workspace/EverFolder/src/com/yuji/ef/EverFolderActivity.java
source/workspace/EverFolder/src/com/yuji/ef/service/NoteUpdatorService.java
source/workspace/EverFolder/src/com/yuji/ef/task/NoteUpdateTask.java
source/workspace/EverFolder/src/com/yuji/ef/utility/FolderUtil.java

index 2291ee8..dad2936 100644 (file)
@@ -79,20 +79,24 @@ public class EverFolderActivity extends BaseActivity implements LockListener {
        private boolean isInit = true;
        private boolean isInCycle = false;
        private boolean isResult = false;
-       
+
        private BroadcastReceiver receiver = new BroadcastReceiver() {
                @Override
                public void onReceive(Context context, Intent intent) {
                        String action = intent.getAction();
 
                        if (action.compareTo(Constant.ACTION_UPDATE) == 0) {
-//                             LockDao lockDao = (LockDao) LockDao.getInstance();
-//                             lock = lockDao.lock(EverFolderActivity.this,
-//                                             Constant.LOCK_UPDATE_NOTE);
-//                             if (lock) {
-//                                     updateList();
-//                             }
-//                             setStatus();
+                               if (isInCycle && !lock) {
+                                       LockDao lockDao = (LockDao) LockDao.getInstance();
+                                       lock = lockDao.lock(EverFolderActivity.this,
+                                                       Constant.LOCK_UPDATE_NOTE);
+                                       if (lock) {
+                                               updateList();
+                                               // ほんとは、setStatus()に入れたい
+                                               layout.setVisibility(View.VISIBLE);
+                                       }
+                                       setStatus();
+                               }
                        }
                }
        };
@@ -562,15 +566,14 @@ public class EverFolderActivity extends BaseActivity implements LockListener {
        public void sendLockResult(boolean b) {
                NodeDao dao = (NodeDao) NodeCacheDao.getInstance();
 
-               if (isResult){
-                        if (dao.isEmpty()) {
-                                finish();
-                                return;
-                        }                      
+               if (isResult) {
+                       if (dao.isEmpty()) {
+                               finish();
+                               return;
+                       }
                }
                isResult = false;
-               
-               
+
                if (dao.isEmpty()) {
                        if (isInit) {
                                Intent intent = new Intent(this,
@@ -632,8 +635,8 @@ public class EverFolderActivity extends BaseActivity implements LockListener {
                LockHandler handler = new LockHandler();
                handler.lock(this, Constant.LOCK_UPDATE_NOTE);
                lock = false;
-               
-               if (isInit){
+
+               if (isInit) {
                        layout.setVisibility(View.INVISIBLE);
                        setStatus();
                }
index 223008c..2f7505a 100644 (file)
@@ -166,7 +166,7 @@ public class NoteUpdatorService extends Service {
 
                Calendar cal = Calendar.getInstance();
                // cal.add(Calendar.HOUR, (int) updateTime);
-               cal.add(Calendar.MINUTE, (int) updateTime); // TODO
+               cal.add(Calendar.SECOND, (int) 15); // TODO
 
                long t = cal.getTimeInMillis();
                PendingIntent alarmSender = PendingIntent.getService(context, 0,
index 832e2a7..e08ae64 100644 (file)
@@ -13,19 +13,22 @@ import com.yuji.ef.utility.FolderUtil;
 
 public class NoteUpdateTask implements AsyncTaskIF {
        private WeakReference<SettingActivity> activityRef;
-       
+
        private boolean isRoot;
        private boolean isBook;
        private boolean isNote;
        private int errorCode = -1;
        private Context context;
-       
-       public NoteUpdateTask(SettingActivity activity, boolean isRoot, boolean isBook, boolean isNote) {
+
+       public NoteUpdateTask(SettingActivity activity, boolean isRoot,
+                       boolean isBook, boolean isNote) {
                activityRef = new WeakReference<SettingActivity>(activity);
                this.isRoot = isRoot;
                this.isBook = isBook;
                this.isNote = isNote;
-               context = activity.getApplicationContext();
+               if (activity != null) {
+                       context = activity.getApplicationContext();
+               }
        }
 
        public void doExecute() {
@@ -34,8 +37,7 @@ public class NoteUpdateTask implements AsyncTaskIF {
                try {
                        FolderUtil util = FolderUtil.getInstance();
                        util.update(isRoot, isBook, isNote);
-               }
-               catch (Exception e){
+               } catch (Exception e) {
                        // TODO
                        e.printStackTrace();
                }
@@ -49,14 +51,23 @@ public class NoteUpdateTask implements AsyncTaskIF {
                LockDao lockDao = (LockDao) LockDao.getInstance();
                lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
 
-               SettingActivity activity = activityRef.get();
+               SettingActivity activity = getActivity();
                if (activity != null) {
                        activity.done(errorCode);
                        activityRef = null;
                }
-               
-               Intent intent = new Intent(Constant.ACTION_UPDATE);
-               context.sendBroadcast(intent);          
+
+//             if (context != null) {
+//                     Intent intent = new Intent(Constant.ACTION_UPDATE);
+//                     context.sendBroadcast(intent);
+//             }
+       }
+
+       private SettingActivity getActivity() {
+               if (activityRef == null) {
+                       return null;
+               }
+               return activityRef.get();
        }
 
        @Override
index 89380b5..b43da0f 100644 (file)
@@ -199,6 +199,11 @@ public class FolderUtil {
        }
 
        public void update(boolean isRoot, boolean isBook, boolean isNote) {
+               EvernoteUtil util = EvernoteUtil.getInstance();
+               if (!util.isLoggedIn()){
+                       return;
+               }
+               
                DatabaseHelper helper = DatabaseHelper.getInstance();
                SQLiteDatabase db = helper.getWritableDatabase();