import com.yuji.ef.utility.BaseActivity;
import com.yuji.ef.utility.Debug;
import com.yuji.ef.utility.EvernoteUtil;
+import com.yuji.ef.utility.LockHandler;
+import com.yuji.ef.utility.LockListener;
import com.yuji.ef.utility.OAuthUtil;
-public class SettingActivity extends BaseActivity {
+public class SettingActivity extends BaseActivity implements LockListener {
private EditPrefUtil pref = new EditPrefUtil(this);
private LinearLayout msgLayout;
private boolean lock = false;
private boolean isInit = true;
-
+ private boolean isInCycle = false;
+
private class NoteUpdatorReceiver extends BroadcastReceiver {
@Override
}
@Override
+ public void sendLockResult(boolean b) {
+ lock = true;
+
+ if (isInit) {
+ isInit = false;
+ }
+ setStatus();
+ }
+
+ @Override
protected void onStart() {
super.onStart();
}
@Override
protected void onResume() {
super.onResume();
+ isInCycle = true;
+
+ LockHandler handler = new LockHandler();
+ boolean isUnlock = false;
+ handler.lock(this, Constant.LOCK_UPDATE_NOTE, true, isUnlock);
+ lock = false;
int updateTime = pref.getInt(Constant.PREF_UPDATE_TIME, 0);
String updateDate = pref.get(Constant.PREF_UPDATE_DATETIME);
updateDateText.setText(updateDate);
- if (isInit) {
- setStatus();
- isInit = false;
- }
+ setStatus();
}
@Override
}
}
+ // ロック未取得でも解除する(ゴミ掃除)
+ LockDao lockDao = (LockDao) LockDao.getInstance();
+ lockDao.unlock(this, Constant.LOCK_UPDATE_NOTE);
+ lock = false;
+
super.onPause();
+ isInCycle = false;
}
@Override
}
private void updateButton(boolean isAll) {
- LockDao lockDao = (LockDao) LockDao.getInstance();
- lock = lockDao.lock(this, Constant.LOCK_UPDATE_NOTE);
+ // #29618
+ //LockDao lockDao = (LockDao) LockDao.getInstance();
+ //lock = lockDao.lock(this, Constant.LOCK_UPDATE_NOTE);
if (!lock) {
setStatus();
pref.put(Constant.PREF_UPDATE_DATA, Constant.ON);
pref.update();
-
+
+ lock = false;
+ setStatus();
+
NoteUpdateTask task = new NoteUpdateTask(this, true, true, isAll);
AsyncTaskCommand command = new AsyncTaskCommand(this, task);
command.setCancelable(false);
command.setDialog(false);
command.execute("");
-
- setStatus();
}
public void done(int errorCode) {
- lock = false;
+ // #29618
+ //lock = false;
+ lock = true;
+
setStatus();
}
}
private void setStatus() {
- if (lock) {
+ if (!lock) {
msgLayout.setVisibility(View.VISIBLE);
confirmMsg.setText(getString(R.string.settingUpdateMsg));
}
msgLayout.setVisibility(View.GONE);
}
+
}
}
Debug.d(this, null, e);
- LockDao lockDao = (LockDao) LockDao.getInstance();
- lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
+ // #29618
+ //LockDao lockDao = (LockDao) LockDao.getInstance();
+ //lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
throw e;
} catch (Exception e) {
EfException.msg(com.yuji.ef.R.string.ErrorUpdate);
Debug.d(this, null, e);
- LockDao lockDao = (LockDao) LockDao.getInstance();
- lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
+ // #29618
+ //LockDao lockDao = (LockDao) LockDao.getInstance();
+ //lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
throw new EfException(EfError.SYSTEM);
} catch (Throwable e) {
EfException.msg(com.yuji.ef.R.string.ErrorUpdate);
Debug.d(this, null, e);
- LockDao lockDao = (LockDao) LockDao.getInstance();
- lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
+ // #29618
+ //LockDao lockDao = (LockDao) LockDao.getInstance();
+ //lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
throw new EfException(EfError.SYSTEM);
}
}
public void done(boolean isCancel) {
- LockDao lockDao = (LockDao) LockDao.getInstance();
- lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
+ // #29618
+ //LockDao lockDao = (LockDao) LockDao.getInstance();
+ //lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
SettingActivity activity = getActivity();
if (activity != null) {