Changeset 297 for trunk/hiptop/pester/net/sabi/pester/Alarms.java
- Timestamp:
- 07/29/06 06:32:09 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/hiptop/pester/net/sabi/pester/Alarms.java
r296 r297 1 1 package net.sabi.pester; 2 2 3 import java.util.Arrays; 3 4 import java.util.Comparator; 4 5 import danger.app.Application; … … 8 9 import danger.app.SettingsDBException; 9 10 import danger.internal.Date; 11 import danger.util.ByteArray; 10 12 import danger.util.StdActiveList; 11 13 import danger.util.DEBUG; … … 18 20 private static Listener sListener; 19 21 private static SettingsDB sSettingsDB; 22 private static DataStore sDeletedAlarms; 20 23 21 24 private DataStore mDataStore; … … 28 31 mDataStore.setAutoSyncNotifyee(sListener); 29 32 refreshFromDataStore(false); 33 } 34 35 private int[] deletedAlarmsCreationIDs() { 36 byte[][] deletedAlarmsData = sDeletedAlarms.getRecords(); 37 int[] ids = new int[deletedAlarmsData.length]; 38 for (int i = 0 ; i < deletedAlarmsData.length ; ++i) 39 ids[i] = ByteArray.readInt(deletedAlarmsData[i], 0); 40 Arrays.sort(ids); 41 return ids; 30 42 } 31 43 … … 51 63 void refreshFromDataStore(boolean datastoreRestored) { 52 64 sAlarmList = null; 65 int[] deleted = null; 53 66 if (datastoreRestored) { 67 deleted = deletedAlarmsCreationIDs(); 54 68 DEBUG.p("+++ BEFORE RESOLUTION +++"); 55 69 dumpAlarms(); … … 69 83 alarm.fromByteArray(alarmsData[i]); 70 84 alarm.setUID(mDataStore.getRecordUID(i)); 85 if (Arrays.binarySearch(deleted, alarm.getCreationID()) >= 0) { 86 mDataStore.removeRecord(i); 87 continue; 88 } 71 89 insertItemSorted(alarm, alarm); 72 90 alarm.resume(); … … 86 104 if (sAlarmList == null) { 87 105 sSettingsDB = new SettingsDB("settings", true /* auto sync */); 106 sDeletedAlarms = DataStore.createDataStore("deleted alarms"); 88 107 sListener = new Listener(); 89 108 new Alarms(); … … 126 145 if (uid < 0) 127 146 mDataStore.removeRecordByUID(-uid); 147 while (sDeletedAlarms.getRecordCount() >= MAX_ALARM_COUNT) 148 sDeletedAlarms.removeRecord(0); 149 byte[] idBytes = new byte[4]; 150 ByteArray.writeInt(idBytes, 0, alarm.getCreationID()); 151 sDeletedAlarms.addRecord(idBytes); 128 152 DEBUG.p("DEL" + alarm.description()); 129 153 }
Note:
See TracChangeset
for help on using the changeset viewer.