summaryrefslogtreecommitdiffstats
path: root/src/com/android/deskclock/provider/ClockDatabaseHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/deskclock/provider/ClockDatabaseHelper.java')
-rw-r--r--src/com/android/deskclock/provider/ClockDatabaseHelper.java68
1 files changed, 61 insertions, 7 deletions
diff --git a/src/com/android/deskclock/provider/ClockDatabaseHelper.java b/src/com/android/deskclock/provider/ClockDatabaseHelper.java
index b6fc90017..0d75f92e6 100644
--- a/src/com/android/deskclock/provider/ClockDatabaseHelper.java
+++ b/src/com/android/deskclock/provider/ClockDatabaseHelper.java
@@ -16,6 +16,7 @@
package com.android.deskclock.provider;
+import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
@@ -27,8 +28,10 @@ import android.text.TextUtils;
import com.android.deskclock.LogUtils;
import com.android.deskclock.data.Weekdays;
+import lineageos.app.ProfileManager;
import java.util.Calendar;
+import java.util.UUID;
/**
* Helper class for opening the database from multiple providers. Also provides
@@ -57,11 +60,23 @@ class ClockDatabaseHelper extends SQLiteOpenHelper {
*/
private static final int VERSION_8 = 8;
+ /**
+ * Added increasing alarm volume mode
+ */
+ private static final int VERSION_9 = 10;
+
+ /**
+ * Added change profile
+ */
+ private static final int VERSION_10 = 11;
+
// This creates a default alarm at 8:30 for every Mon,Tue,Wed,Thu,Fri
- private static final String DEFAULT_ALARM_1 = "(8, 30, 31, 0, 1, '', NULL, 0);";
+ private static final String DEFAULT_ALARM_1 = "(8, 30, 31, 0, 1, '', NULL, 0, 0, "
+ + ProfileManager.NO_PROFILE.toString() + ");";
// This creates a default alarm at 9:30 for every Sat,Sun
- private static final String DEFAULT_ALARM_2 = "(9, 00, 96, 0, 1, '', NULL, 0);";
+ private static final String DEFAULT_ALARM_2 = "(9, 00, 96, 0, 1, '', NULL, 0, 0, "
+ + ProfileManager.NO_PROFILE.toString() + ");";
// Database and table names
static final String DATABASE_NAME = "alarms.db";
@@ -80,7 +95,10 @@ class ClockDatabaseHelper extends SQLiteOpenHelper {
ClockContract.AlarmsColumns.VIBRATE + " INTEGER NOT NULL, " +
ClockContract.AlarmsColumns.LABEL + " TEXT NOT NULL, " +
ClockContract.AlarmsColumns.RINGTONE + " TEXT, " +
- ClockContract.AlarmsColumns.DELETE_AFTER_USE + " INTEGER NOT NULL DEFAULT 0);");
+ ClockContract.AlarmsColumns.DELETE_AFTER_USE + " INTEGER NOT NULL DEFAULT 0, " +
+ ClockContract.AlarmsColumns.INCREASING_VOLUME + " INTEGER NOT NULL DEFAULT 0, " +
+ ClockContract.AlarmsColumns.PROFILE + " TEXT NOT NULL DEFAULT '" +
+ ProfileManager.NO_PROFILE.toString() + "');");
LogUtils.i("Alarms Table created");
}
@@ -98,13 +116,15 @@ class ClockDatabaseHelper extends SQLiteOpenHelper {
ClockContract.InstancesColumns.ALARM_STATE + " INTEGER NOT NULL, " +
ClockContract.InstancesColumns.ALARM_ID + " INTEGER REFERENCES " +
ALARMS_TABLE_NAME + "(" + ClockContract.AlarmsColumns._ID + ") " +
- "ON UPDATE CASCADE ON DELETE CASCADE" +
- ");");
+ "ON UPDATE CASCADE ON DELETE CASCADE, " +
+ ClockContract.InstancesColumns.INCREASING_VOLUME + " INTEGER NOT NULL DEFAULT 0, " +
+ ClockContract.InstancesColumns.PROFILE + " TEXT NOT NULL DEFAULT '" +
+ ProfileManager.NO_PROFILE.toString() + "');");
LogUtils.i("Instance table created");
}
public ClockDatabaseHelper(Context context) {
- super(context, DATABASE_NAME, null, VERSION_8);
+ super(context, DATABASE_NAME, null, VERSION_10);
}
@Override
@@ -123,7 +143,9 @@ class ClockDatabaseHelper extends SQLiteOpenHelper {
ClockContract.AlarmsColumns.VIBRATE + cs +
ClockContract.AlarmsColumns.LABEL + cs +
ClockContract.AlarmsColumns.RINGTONE + cs +
- ClockContract.AlarmsColumns.DELETE_AFTER_USE + ") VALUES ";
+ ClockContract.AlarmsColumns.DELETE_AFTER_USE + cs +
+ ClockContract.AlarmsColumns.INCREASING_VOLUME + cs +
+ ClockContract.AlarmsColumns.PROFILE + ") VALUES ";
db.execSQL(insertMe + DEFAULT_ALARM_1);
db.execSQL(insertMe + DEFAULT_ALARM_2);
}
@@ -155,6 +177,8 @@ class ClockDatabaseHelper extends SQLiteOpenHelper {
"vibrate",
"message",
"alert",
+ "incvol",
+ "profile"
};
try (Cursor cursor = db.query(OLD_ALARMS_TABLE_NAME, OLD_TABLE_COLUMNS,
null, null, null, null, null)) {
@@ -176,6 +200,17 @@ class ClockDatabaseHelper extends SQLiteOpenHelper {
alarm.alert =
TextUtils.isEmpty(alertString) ? null : Uri.parse(alertString);
}
+ alarm.increasingVolume = cursor.getInt(8) == 1;
+
+ if (cursor.isNull(9)) {
+ alarm.profile = ProfileManager.NO_PROFILE;
+ } else {
+ try {
+ alarm.profile = UUID.fromString(cursor.getString(9));
+ } catch (IllegalArgumentException ex) {
+ alarm.profile = ProfileManager.NO_PROFILE;
+ }
+ }
// Save new version of alarm and create alarm instance for it
db.insert(ALARMS_TABLE_NAME, null, Alarm.createContentValues(alarm));
@@ -189,6 +224,25 @@ class ClockDatabaseHelper extends SQLiteOpenHelper {
LogUtils.i("Dropping old alarm table");
db.execSQL("DROP TABLE IF EXISTS " + OLD_ALARMS_TABLE_NAME + ";");
+ return;
+ }
+
+ if (oldVersion < VERSION_9) {
+ db.execSQL("ALTER TABLE " + ALARMS_TABLE_NAME
+ + " ADD COLUMN " + ClockContract.AlarmsColumns.INCREASING_VOLUME
+ + " INTEGER NOT NULL DEFAULT 0;");
+ db.execSQL("ALTER TABLE " + INSTANCES_TABLE_NAME
+ + " ADD COLUMN " + ClockContract.InstancesColumns.INCREASING_VOLUME
+ + " INTEGER NOT NULL DEFAULT 0;");
+ }
+
+ if (oldVersion < VERSION_10) {
+ db.execSQL("ALTER TABLE " + ALARMS_TABLE_NAME
+ + " ADD COLUMN " + ClockContract.AlarmsColumns.PROFILE
+ + " TEXT NOT NULL DEFAULT '" + ProfileManager.NO_PROFILE + "';");
+ db.execSQL("ALTER TABLE " + INSTANCES_TABLE_NAME
+ + " ADD COLUMN " + ClockContract.InstancesColumns.PROFILE
+ + " TEXT NOT NULL DEFAULT '" + ProfileManager.NO_PROFILE + "';");
}
}