package mil.nga.giat.asam.util; import java.text.ParseException; import java.util.Date; import mil.nga.giat.asam.db.AsamDbHelper; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; public class SyncTime { public static boolean isSynched(Context context) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); String lastSyncTime = preferences.getString(AsamConstants.LAST_SYNC_TIME, ""); if (AsamUtils.isEmpty(lastSyncTime)) { return false; } Date today = truncateDate(new Date()); Date sync = null; try { sync = AsamDbHelper.SQLITE_DATE_FORMAT.parse(lastSyncTime); } catch (ParseException caught) { AsamLog.e("Error parsing date: " + sync, caught); return false; } sync = truncateDate(sync); if (sync.before(today)) { return false; } return true; } public static void finishedSync(Context context) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = preferences.edit(); editor.putString(AsamConstants.LAST_SYNC_TIME, AsamDbHelper.SQLITE_DATE_FORMAT.format(truncateDate(new Date()))); editor.commit(); } public static String getLastSyncTimeAsText(Context context) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); return preferences.getString(AsamConstants.LAST_SYNC_TIME, "N/A"); } private static Date truncateDate(Date date) { try { return AsamDbHelper.SQLITE_DATE_FORMAT.parse(AsamDbHelper.SQLITE_DATE_FORMAT.format(date)); } catch (ParseException caught) { AsamLog.e("Error parsing date: " + date, caught); } return date; } }