19f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriffpackage com.android.providers.calendar; 29f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff 36636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriffimport android.accounts.Account; 4656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglioimport android.app.PendingIntent; 5656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglioimport android.content.ContentResolver; 6e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglioimport android.content.Context; 7a55c3aaa2b13b5350918efda98906afb8b6206c1Alon Albertimport android.net.Uri; 8e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglioimport android.os.PowerManager; 96636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriff 10420b7fb569773ae573fbe90c3a9c522d4c368863Erikimport java.util.concurrent.atomic.AtomicBoolean; 11c3fb804639a62353b76ea45fded1022650c2a73aFabrice Di Meglio 12420b7fb569773ae573fbe90c3a9c522d4c368863Erikpublic class CalendarProvider2ForTesting extends CalendarProvider2 { 13e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio 149f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff /** 159f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff * For testing, don't want to start the TimezoneCheckerThread, as it results 169f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff * in race conditions. Thus updateTimezoneDependentFields is stubbed out. 179f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff */ 189f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff @Override 199f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff protected void updateTimezoneDependentFields() { 209f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff } 216636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriff 226636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriff /** 236636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriff * For testing, don't want onAccountsUpdated asynchronously deleting data. 246636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriff */ 256636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriff @Override 266636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriff public void onAccountsUpdated(Account[] accounts) { 276636020e221f0040d2d78ea03e7b3d9223256ff3Ken Shirriff } 28315d9326acd39566959f3c547225483f1fb6aefcFabrice Di Meglio 29315d9326acd39566959f3c547225483f1fb6aefcFabrice Di Meglio @Override 30315d9326acd39566959f3c547225483f1fb6aefcFabrice Di Meglio protected void doUpdateTimezoneDependentFields() { 31315d9326acd39566959f3c547225483f1fb6aefcFabrice Di Meglio } 32c3fb804639a62353b76ea45fded1022650c2a73aFabrice Di Meglio 33c3fb804639a62353b76ea45fded1022650c2a73aFabrice Di Meglio @Override 34c3fb804639a62353b76ea45fded1022650c2a73aFabrice Di Meglio protected void postInitialize() { 35c3fb804639a62353b76ea45fded1022650c2a73aFabrice Di Meglio } 36e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio 37e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio @Override 38420b7fb569773ae573fbe90c3a9c522d4c368863Erik protected void initCalendarAlarm() { 39420b7fb569773ae573fbe90c3a9c522d4c368863Erik mCalendarAlarm = new MockCalendarAlarmManager(getContext()); 40e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio } 41e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio 42a55c3aaa2b13b5350918efda98906afb8b6206c1Alon Albert @Override 43a55c3aaa2b13b5350918efda98906afb8b6206c1Alon Albert protected boolean shouldSyncFor(Uri uri) { 44a55c3aaa2b13b5350918efda98906afb8b6206c1Alon Albert return true; 45a55c3aaa2b13b5350918efda98906afb8b6206c1Alon Albert } 46a55c3aaa2b13b5350918efda98906afb8b6206c1Alon Albert 47e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio private static class MockCalendarAlarmManager extends CalendarAlarmManager { 48e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio 49420b7fb569773ae573fbe90c3a9c522d4c368863Erik public MockCalendarAlarmManager(Context context) { 50420b7fb569773ae573fbe90c3a9c522d4c368863Erik super(context); 51e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio } 52e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio 53e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio @Override 54e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio protected void initializeWithContext(Context context) { 55420b7fb569773ae573fbe90c3a9c522d4c368863Erik mContext = context; 56420b7fb569773ae573fbe90c3a9c522d4c368863Erik mNextAlarmCheckScheduled = new AtomicBoolean(false); 57420b7fb569773ae573fbe90c3a9c522d4c368863Erik mAlarmLock = new Object(); 58e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio } 59656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio 60656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio @Override 6188ce4c3299e915feebdf7fab788d091ccd2701d6Makoto Onuki public void set(int type, long triggerAtTime, PendingIntent operation) { 6288ce4c3299e915feebdf7fab788d091ccd2701d6Makoto Onuki } 6388ce4c3299e915feebdf7fab788d091ccd2701d6Makoto Onuki 6488ce4c3299e915feebdf7fab788d091ccd2701d6Makoto Onuki @Override 65ea1b82d2ab660a15659258da19fabe19e5d4fbd5Tony Mak public void setExact(int type, long triggerAtTime, PendingIntent operation) { 66ea1b82d2ab660a15659258da19fabe19e5d4fbd5Tony Mak } 67ea1b82d2ab660a15659258da19fabe19e5d4fbd5Tony Mak 68ea1b82d2ab660a15659258da19fabe19e5d4fbd5Tony Mak @Override 69ea1b82d2ab660a15659258da19fabe19e5d4fbd5Tony Mak public void setExactAndAllowWhileIdle(int type, long triggerAtTime, 70ea1b82d2ab660a15659258da19fabe19e5d4fbd5Tony Mak PendingIntent operation) { 71656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio } 72656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio 73656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio @Override 74656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio public void cancel(PendingIntent operation) { 75656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio } 76656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio 77656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio @Override 78656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio public void scheduleAlarm(long alarmTime) { 79656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio } 80656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio 81656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio @Override 82656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio public void rescheduleMissedAlarms(ContentResolver cr) { 83656f9cb431c798c972260f31a4ebcd56047dff21Fabrice Di Meglio } 84e7a04f1fe637bc1322a6b4942e0251e3831cd544Fabrice Di Meglio } 859f005e4843925efe4fa8434361c4ad4ad384ed4cKen Shirriff} 86