/** Creates a new Alarm and fills in the given alarm's id. */ public static long addAlarm(Context context, Alarm alarm) { // int c1 = count(context); // ContentValues values = createContentValues(alarm); // Uri uri = // context.getContentResolver().insert(Alarm.Columns.CONTENT_URI, // values); // alarm.id = (int) ContentUris.parseId(uri); // // int c2 = count(context); // long timeInMillis = calculateAlarm(alarm); // if (alarm.enabled) { // clearSnoozeIfNeeded(context, timeInMillis); // } // // �� // // ״̬������ // updateStatusBarIcon(c1, c2, context); // setNextAlert(context); // return timeInMillis; ContentValues values = createContentValues(alarm); Uri uri = context.getContentResolver().insert(Alarm.Columns.CONTENT_URI, values); alarm.id = (int) ContentUris.parseId(uri); long timeInMillis = calculateAlarm(alarm); if (alarm.enabled) { clearSnoozeIfNeeded(context, timeInMillis); } setNextAlert(context); return timeInMillis; }
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) { LogUtils.v("Upgrading alarms database from version %d to %d", oldVersion, currentVersion); if (oldVersion <= VERSION_7) { // This was not used in VERSION_7 or prior, so we can just drop it. db.execSQL("DROP TABLE IF EXISTS " + SELECTED_CITIES_TABLE_NAME + ";"); } if (oldVersion <= VERSION_6) { // This was not used in VERSION_6 or prior, so we can just drop it. db.execSQL("DROP TABLE IF EXISTS " + INSTANCES_TABLE_NAME + ";"); // Create new alarms table and copy over the data createAlarmsTable(db); createInstanceTable(db); LogUtils.i("Copying old alarms to new table"); final String[] OLD_TABLE_COLUMNS = { "_id", "hour", "minutes", "daysofweek", "enabled", "vibrate", "message", "alert", }; try (Cursor cursor = db.query(OLD_ALARMS_TABLE_NAME, OLD_TABLE_COLUMNS, null, null, null, null, null)) { final Calendar currentTime = Calendar.getInstance(); while (cursor != null && cursor.moveToNext()) { final Alarm alarm = new Alarm(); alarm.id = cursor.getLong(0); alarm.hour = cursor.getInt(1); alarm.minutes = cursor.getInt(2); alarm.daysOfWeek = new DaysOfWeek(cursor.getInt(3)); alarm.enabled = cursor.getInt(4) == 1; alarm.vibrate = cursor.getInt(5) == 1; alarm.label = cursor.getString(6); final String alertString = cursor.getString(7); if ("silent".equals(alertString)) { alarm.alert = Alarm.NO_RINGTONE_URI; } else { alarm.alert = TextUtils.isEmpty(alertString) ? null : Uri.parse(alertString); } // Save new version of alarm and create alarm instance for it db.insert(ALARMS_TABLE_NAME, null, Alarm.createContentValues(alarm)); if (alarm.enabled) { AlarmInstance newInstance = alarm.createInstanceAfter(currentTime); db.insert(INSTANCES_TABLE_NAME, null, AlarmInstance.createContentValues(newInstance)); } } } LogUtils.i("Dropping old alarm table"); db.execSQL("DROP TABLE IF EXISTS " + OLD_ALARMS_TABLE_NAME + ";"); } }
/** Creates a new Alarm and fills in the given alarm's id. */ public static long addAlarm(Context context, Alarm alarm) { ContentValues values = createContentValues(alarm); Uri uri = context.getContentResolver().insert(Alarm.Columns.CONTENT_URI, values); alarm.id = (int) ContentUris.parseId(uri); long timeInMillis = calculateAlarm(alarm); if (alarm.enabled) { clearSnoozeIfNeeded(context, timeInMillis); } setNextAlert(context); return timeInMillis; }
/** Creates a new Alarm and fills in the given alarm's id. */ public static long addAlarm(Context context, Alarm alarm) { ContentValues values = createContentValues(context, alarm); Uri uri = context.getContentResolver().insert(Alarm.Columns.CONTENT_URI, values); alarm.id = (int) ContentUris.parseId(uri); // begin Click cancel, don't set the alarm clock fanmengke,2013-08-08 short_clock_id = alarm.id; // end modified by fanmengke,2013-08-02 long timeInMillis = calculateAlarm(alarm); if (alarm.enabled) { clearSnoozeIfNeeded(context, timeInMillis); } setNextAlert(context); return timeInMillis; }
private long saveAlarm() { Alarm alarm = new Alarm(); alarm.id = mId; alarm.enabled = mEnabledPref.isChecked(); alarm.hour = mHour; alarm.minutes = mMinutes; alarm.daysOfWeek = mRepeatPref.getDaysOfWeek(); alarm.vibrate = mVibratePref.isChecked(); alarm.label = mLabel.getText(); alarm.alert = mAlarmPref.getAlert(); long time; if (alarm.id == -1) { time = Alarms.addAlarm(this, alarm); // addAlarm populates the alarm with the new id. Update mId so that // changes to other preferences update the new alarm. mId = alarm.id; } else { time = Alarms.setAlarm(this, alarm); } return time; }