return obj.getClass().getName();
}
- // TODO
- private String lockInfo = "<none>";
-
- public String getLockInfo() {
- return lockInfo;
- }
-
public boolean lock(Object obj, String key) {
Calendar cal = Calendar.getInstance();
long updated = cal.getTimeInMillis();
public SQLiteDatabase getSQLiteDatabase() {
return DatabaseHelper.getInstance(1).getSQLiteDatabase();
}
+
+ // for DEBUG
+ private String lockInfo = "<none>";
+
+ public String getLockInfo() {
+ return lockInfo;
+ }
}
private Runnable task = new Runnable() {
public void run() {
try {
- //cancelAlermTime(NoteUpdatorService.this);
-
+ // cancelAlermTime(NoteUpdatorService.this);
+
if (action.equals(ACTION_START)) {
// 初期起動
} else {
.getString(R.string.serviceUpdateReferenceDataMsg));
}
} catch (RollbackException e) {
- // TODO
- Debug.d(this, null, e);
- if (e.getError() == EfError.NETWORK){
- // TODO
- updateDate("ネットワークエラー");
- }
- else {
+ if (e.getError() == EfError.NETWORK) {
+ updateDate(NoteUpdatorService.this
+ .getString(R.string.serviceUpdateDisableNetworkMsg));
+ } else {
updateDate(NoteUpdatorService.this
.getString(R.string.serviceUpdateUnexpectedErrorkMsg));
}
Initialize.initialize(NoteUpdatorService.this, null);
- NoteUpdateTask task = new NoteUpdateTask(null, true, true, true, false);
+ NoteUpdateTask task = new NoteUpdateTask(null, true, true, true,
+ false);
task.doExecute();
updateDate(null);
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC, t, alarmSender);
-
+
pref.put(Constant.PREF_NEXT_TIME, t);
pref.update();
}
- private static void cancelAlermTime(Context context){
+ private static void cancelAlermTime(Context context) {
Calendar cal = Calendar.getInstance();
long t = cal.getTimeInMillis();
.getSystemService(Context.ALARM_SERVICE);
am.cancel(alarmSender);
}
-
+
public static void stopService(Context context) {
PendingIntent alarmSender = PendingIntent.getService(context, 0,
new Intent(context, NoteUpdatorService.class),
long t = pref.getLong(Constant.PREF_NEXT_TIME);
Calendar cal = Calendar.getInstance();
long now = cal.getTimeInMillis();
- if (t < now){
+ if (t < now) {
isSet = false;
-
+
// サービス起動中の場合は、DBロックがかかり
// 更新後まで、ロックは解除されない。
// TODO
// ロックを別DBにしたため、要検討
LockDao lockDao = (LockDao) LockDao.getInstance();
- lockDao.unlock(NoteUpdatorService.class,
- Constant.LOCK_UPDATE_NOTE);
+ lockDao.unlock(NoteUpdatorService.class, Constant.LOCK_UPDATE_NOTE);
lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
// TODO
lockDao.unlock(NoteUpdateTask.LOCK_OBJ, Constant.LOCK_UPDATE_NOTE);
lockDao = null;
}
-
+
if (updateTime > 0) {
if (!isSet) {
// 再起動時
} catch (RollbackException e) {
if (isDisplayError) {
if (e.getError() == EfError.NETWORK) {
- // TODO
EfException.msg(com.yuji.ef.R.string.ErrorNetwork);
} else {
EfException.msg(com.yuji.ef.R.string.ErrorUpdate);
// LockDao lockDao = (LockDao) LockDao.getInstance();
// lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
+ LockDao lockDao = (LockDao) LockDao.getInstance();
+ lockDao.unlock(NoteUpdateTask.LOCK_OBJ, Constant.LOCK_UPDATE_NOTE);
+
throw e;
} catch (Exception e) {
if (isDisplayError) {
// LockDao lockDao = (LockDao) LockDao.getInstance();
// lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
+ LockDao lockDao = (LockDao) LockDao.getInstance();
+ lockDao.unlock(NoteUpdateTask.LOCK_OBJ, Constant.LOCK_UPDATE_NOTE);
+
throw new EfException(EfError.SYSTEM);
} catch (Throwable e) {
if (isDisplayError) {
// LockDao lockDao = (LockDao) LockDao.getInstance();
// lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
+ LockDao lockDao = (LockDao) LockDao.getInstance();
+ lockDao.unlock(NoteUpdateTask.LOCK_OBJ, Constant.LOCK_UPDATE_NOTE);
+
throw new EfException(EfError.SYSTEM);
}
}
// LockDao lockDao = (LockDao) LockDao.getInstance();
// lockDao.unlock(SettingActivity.class, Constant.LOCK_UPDATE_NOTE);
- // TODO
- // とりあえず正常系のみ
LockDao lockDao = (LockDao) LockDao.getInstance();
lockDao.unlock(NoteUpdateTask.LOCK_OBJ, Constant.LOCK_UPDATE_NOTE);