1package com.android.providers.calendar; 2 3import android.accounts.Account; 4import android.app.PendingIntent; 5import android.content.ContentResolver; 6import android.content.Context; 7import android.os.PowerManager; 8 9import java.util.concurrent.atomic.AtomicBoolean; 10 11public class CalendarProvider2ForTesting extends CalendarProvider2 { 12 13 /** 14 * For testing, don't want to start the TimezoneCheckerThread, as it results 15 * in race conditions. Thus updateTimezoneDependentFields is stubbed out. 16 */ 17 @Override 18 protected void updateTimezoneDependentFields() { 19 } 20 21 /** 22 * For testing, don't want onAccountsUpdated asynchronously deleting data. 23 */ 24 @Override 25 public void onAccountsUpdated(Account[] accounts) { 26 } 27 28 @Override 29 protected void doUpdateTimezoneDependentFields() { 30 } 31 32 @Override 33 protected void postInitialize() { 34 } 35 36 @Override 37 protected void initCalendarAlarm() { 38 mCalendarAlarm = new MockCalendarAlarmManager(getContext()); 39 mCalendarAlarm.getScheduleNextAlarmWakeLock(); 40 } 41 42 private static class MockCalendarAlarmManager extends CalendarAlarmManager { 43 44 public MockCalendarAlarmManager(Context context) { 45 super(context); 46 } 47 48 @Override 49 protected void initializeWithContext(Context context) { 50 mContext = context; 51 mNextAlarmCheckScheduled = new AtomicBoolean(false); 52 mAlarmLock = new Object(); 53 } 54 55 @Override 56 public void set(int type, long triggerAtTime, PendingIntent operation) { 57 } 58 59 @Override 60 public void cancel(PendingIntent operation) { 61 } 62 63 @Override 64 public void scheduleAlarm(long alarmTime) { 65 } 66 67 @Override 68 public void rescheduleMissedAlarms(ContentResolver cr) { 69 } 70 71 72 @Override 73 PowerManager.WakeLock getScheduleNextAlarmWakeLock() { 74 return null; 75 } 76 77 @Override 78 void acquireScheduleNextAlarmWakeLock() { 79 } 80 81 @Override 82 void releaseScheduleNextAlarmWakeLock() { 83 } 84 } 85} 86