diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7997715..dccb39c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -24,7 +24,7 @@ @@ -39,12 +39,12 @@ @@ -53,7 +53,7 @@ @@ -81,7 +81,7 @@ android:taskAffinity="com.philliphsu.clock2.RingtoneActivity"> diff --git a/app/src/main/java/com/philliphsu/clock2/MainActivity.java b/app/src/main/java/com/philliphsu/clock2/MainActivity.java index b3bfaa3..71cf20b 100644 --- a/app/src/main/java/com/philliphsu/clock2/MainActivity.java +++ b/app/src/main/java/com/philliphsu/clock2/MainActivity.java @@ -19,7 +19,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.TextView; -import com.philliphsu.clock2.alarms.AlarmsFragment; +import com.philliphsu.clock2.alarms.ui.AlarmsFragment; import com.philliphsu.clock2.settings.SettingsActivity; import com.philliphsu.clock2.stopwatch.StopwatchFragment; import com.philliphsu.clock2.timers.TimersFragment; diff --git a/app/src/main/java/com/philliphsu/clock2/Alarm.java b/app/src/main/java/com/philliphsu/clock2/alarms/Alarm.java similarity index 97% rename from app/src/main/java/com/philliphsu/clock2/Alarm.java rename to app/src/main/java/com/philliphsu/clock2/alarms/Alarm.java index d87a381..44e8b5a 100644 --- a/app/src/main/java/com/philliphsu/clock2/Alarm.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/Alarm.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2; +package com.philliphsu.clock2.alarms; import android.os.Parcel; import android.os.Parcelable; @@ -12,9 +12,9 @@ import java.util.Calendar; import java.util.GregorianCalendar; import java.util.concurrent.TimeUnit; -import static com.philliphsu.clock2.DaysOfWeek.NUM_DAYS; -import static com.philliphsu.clock2.DaysOfWeek.SATURDAY; -import static com.philliphsu.clock2.DaysOfWeek.SUNDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.NUM_DAYS; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SATURDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SUNDAY; /** * Created by Phillip Hsu on 5/26/2016. diff --git a/app/src/main/java/com/philliphsu/clock2/OnBootUpAlarmScheduler.java b/app/src/main/java/com/philliphsu/clock2/alarms/background/OnBootUpAlarmScheduler.java similarity index 93% rename from app/src/main/java/com/philliphsu/clock2/OnBootUpAlarmScheduler.java rename to app/src/main/java/com/philliphsu/clock2/alarms/background/OnBootUpAlarmScheduler.java index a1aa651..20e507c 100644 --- a/app/src/main/java/com/philliphsu/clock2/OnBootUpAlarmScheduler.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/background/OnBootUpAlarmScheduler.java @@ -1,12 +1,13 @@ -package com.philliphsu.clock2; +package com.philliphsu.clock2.alarms.background; import android.app.IntentService; import android.content.Context; import android.content.Intent; -import com.philliphsu.clock2.model.AlarmCursor; -import com.philliphsu.clock2.model.AlarmsTableManager; -import com.philliphsu.clock2.util.AlarmController; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.data.AlarmCursor; +import com.philliphsu.clock2.alarms.data.AlarmsTableManager; +import com.philliphsu.clock2.alarms.misc.AlarmController; /** * An {@link IntentService} subclass for handling asynchronous task requests in diff --git a/app/src/main/java/com/philliphsu/clock2/OnBootUpReceiver.java b/app/src/main/java/com/philliphsu/clock2/alarms/background/OnBootUpReceiver.java similarity index 73% rename from app/src/main/java/com/philliphsu/clock2/OnBootUpReceiver.java rename to app/src/main/java/com/philliphsu/clock2/alarms/background/OnBootUpReceiver.java index 70d15f7..fd181ec 100644 --- a/app/src/main/java/com/philliphsu/clock2/OnBootUpReceiver.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/background/OnBootUpReceiver.java @@ -1,13 +1,9 @@ -package com.philliphsu.clock2; +package com.philliphsu.clock2.alarms.background; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -/** - * If the device is turned off, all alarms scheduled will be cancelled, and they will not be automatically - * rescheduled when it is turned on again. - */ public class OnBootUpReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { diff --git a/app/src/main/java/com/philliphsu/clock2/PendingAlarmScheduler.java b/app/src/main/java/com/philliphsu/clock2/alarms/background/PendingAlarmScheduler.java similarity index 89% rename from app/src/main/java/com/philliphsu/clock2/PendingAlarmScheduler.java rename to app/src/main/java/com/philliphsu/clock2/alarms/background/PendingAlarmScheduler.java index c9740be..b3057c7 100644 --- a/app/src/main/java/com/philliphsu/clock2/PendingAlarmScheduler.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/background/PendingAlarmScheduler.java @@ -1,12 +1,13 @@ -package com.philliphsu.clock2; +package com.philliphsu.clock2.alarms.background; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import com.philliphsu.clock2.model.AlarmCursor; -import com.philliphsu.clock2.model.AlarmsTableManager; -import com.philliphsu.clock2.util.AlarmController; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.data.AlarmCursor; +import com.philliphsu.clock2.alarms.data.AlarmsTableManager; +import com.philliphsu.clock2.alarms.misc.AlarmController; import static com.philliphsu.clock2.util.Preconditions.checkNotNull; @@ -20,7 +21,7 @@ import static com.philliphsu.clock2.util.Preconditions.checkNotNull; public class PendingAlarmScheduler extends BroadcastReceiver { // We include the class name in the string to distinguish this constant from the one defined // in UpcomingAlarmReceiver. - public static final String EXTRA_ALARM_ID = "com.philliphsu.clock2.PendingAlarmScheduler.extra.ALARM_ID"; + public static final String EXTRA_ALARM_ID = "com.philliphsu.clock2.alarms.background.PendingAlarmScheduler.extra.ALARM_ID"; @Override public void onReceive(final Context context, Intent intent) { diff --git a/app/src/main/java/com/philliphsu/clock2/UpcomingAlarmReceiver.java b/app/src/main/java/com/philliphsu/clock2/alarms/background/UpcomingAlarmReceiver.java similarity index 94% rename from app/src/main/java/com/philliphsu/clock2/UpcomingAlarmReceiver.java rename to app/src/main/java/com/philliphsu/clock2/alarms/background/UpcomingAlarmReceiver.java index 45e565f..61e1a27 100644 --- a/app/src/main/java/com/philliphsu/clock2/UpcomingAlarmReceiver.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/background/UpcomingAlarmReceiver.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2; +package com.philliphsu.clock2.alarms.background; import android.app.Notification; import android.app.NotificationManager; @@ -8,8 +8,11 @@ import android.content.Context; import android.content.Intent; import android.support.v4.app.NotificationCompat; -import com.philliphsu.clock2.alarms.AlarmsFragment; -import com.philliphsu.clock2.util.AlarmController; +import com.philliphsu.clock2.MainActivity; +import com.philliphsu.clock2.R; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.misc.AlarmController; +import com.philliphsu.clock2.alarms.ui.AlarmsFragment; import static android.app.PendingIntent.FLAG_CANCEL_CURRENT; import static android.app.PendingIntent.FLAG_ONE_SHOT; diff --git a/app/src/main/java/com/philliphsu/clock2/model/AlarmCursor.java b/app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmCursor.java similarity index 77% rename from app/src/main/java/com/philliphsu/clock2/model/AlarmCursor.java rename to app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmCursor.java index b8aed9c..e9f1f37 100644 --- a/app/src/main/java/com/philliphsu/clock2/model/AlarmCursor.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmCursor.java @@ -1,16 +1,17 @@ -package com.philliphsu.clock2.model; +package com.philliphsu.clock2.alarms.data; import android.database.Cursor; -import com.philliphsu.clock2.Alarm; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.model.BaseItemCursor; -import static com.philliphsu.clock2.DaysOfWeek.FRIDAY; -import static com.philliphsu.clock2.DaysOfWeek.MONDAY; -import static com.philliphsu.clock2.DaysOfWeek.SATURDAY; -import static com.philliphsu.clock2.DaysOfWeek.SUNDAY; -import static com.philliphsu.clock2.DaysOfWeek.THURSDAY; -import static com.philliphsu.clock2.DaysOfWeek.TUESDAY; -import static com.philliphsu.clock2.DaysOfWeek.WEDNESDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.FRIDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.MONDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SATURDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SUNDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.THURSDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.TUESDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.WEDNESDAY; /** * Created by Phillip Hsu on 7/30/2016. diff --git a/app/src/main/java/com/philliphsu/clock2/model/AlarmsListCursorLoader.java b/app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsListCursorLoader.java similarity index 71% rename from app/src/main/java/com/philliphsu/clock2/model/AlarmsListCursorLoader.java rename to app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsListCursorLoader.java index f3b005f..ce0b133 100644 --- a/app/src/main/java/com/philliphsu/clock2/model/AlarmsListCursorLoader.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsListCursorLoader.java @@ -1,15 +1,16 @@ -package com.philliphsu.clock2.model; +package com.philliphsu.clock2.alarms.data; import android.content.Context; -import com.philliphsu.clock2.Alarm; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.model.SQLiteCursorLoader; /** * Created by Phillip Hsu on 6/28/2016. */ public class AlarmsListCursorLoader extends SQLiteCursorLoader { public static final String ACTION_CHANGE_CONTENT - = "com.philliphsu.clock2.model.AlarmsListCursorLoader.action.CHANGE_CONTENT"; + = "com.philliphsu.clock2.alarms.data.action.CHANGE_CONTENT"; public AlarmsListCursorLoader(Context context) { super(context); diff --git a/app/src/main/java/com/philliphsu/clock2/model/AlarmsTable.java b/app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsTable.java similarity index 99% rename from app/src/main/java/com/philliphsu/clock2/model/AlarmsTable.java rename to app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsTable.java index 6a10c92..ee7da6f 100644 --- a/app/src/main/java/com/philliphsu/clock2/model/AlarmsTable.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsTable.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2.model; +package com.philliphsu.clock2.alarms.data; import android.database.sqlite.SQLiteDatabase; diff --git a/app/src/main/java/com/philliphsu/clock2/model/AlarmsTableManager.java b/app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsTableManager.java similarity index 80% rename from app/src/main/java/com/philliphsu/clock2/model/AlarmsTableManager.java rename to app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsTableManager.java index 3cfd046..7b81702 100644 --- a/app/src/main/java/com/philliphsu/clock2/model/AlarmsTableManager.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/data/AlarmsTableManager.java @@ -1,18 +1,19 @@ -package com.philliphsu.clock2.model; +package com.philliphsu.clock2.alarms.data; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; -import com.philliphsu.clock2.Alarm; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.model.DatabaseTableManager; -import static com.philliphsu.clock2.DaysOfWeek.FRIDAY; -import static com.philliphsu.clock2.DaysOfWeek.MONDAY; -import static com.philliphsu.clock2.DaysOfWeek.SATURDAY; -import static com.philliphsu.clock2.DaysOfWeek.SUNDAY; -import static com.philliphsu.clock2.DaysOfWeek.THURSDAY; -import static com.philliphsu.clock2.DaysOfWeek.TUESDAY; -import static com.philliphsu.clock2.DaysOfWeek.WEDNESDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.FRIDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.MONDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SATURDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SUNDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.THURSDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.TUESDAY; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.WEDNESDAY; /** * Created by Phillip Hsu on 7/30/2016. diff --git a/app/src/main/java/com/philliphsu/clock2/AsyncAlarmsTableUpdateHandler.java b/app/src/main/java/com/philliphsu/clock2/alarms/data/AsyncAlarmsTableUpdateHandler.java similarity index 90% rename from app/src/main/java/com/philliphsu/clock2/AsyncAlarmsTableUpdateHandler.java rename to app/src/main/java/com/philliphsu/clock2/alarms/data/AsyncAlarmsTableUpdateHandler.java index e4c2333..68f6461 100644 --- a/app/src/main/java/com/philliphsu/clock2/AsyncAlarmsTableUpdateHandler.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/data/AsyncAlarmsTableUpdateHandler.java @@ -1,12 +1,14 @@ -package com.philliphsu.clock2; +package com.philliphsu.clock2.alarms.data; import android.content.Context; import android.support.design.widget.Snackbar; import android.view.View; +import com.philliphsu.clock2.AsyncDatabaseTableUpdateHandler; +import com.philliphsu.clock2.R; +import com.philliphsu.clock2.alarms.Alarm; import com.philliphsu.clock2.alarms.ScrollHandler; -import com.philliphsu.clock2.model.AlarmsTableManager; -import com.philliphsu.clock2.util.AlarmController; +import com.philliphsu.clock2.alarms.misc.AlarmController; /** * Created by Phillip Hsu on 7/1/2016. diff --git a/app/src/main/java/com/philliphsu/clock2/util/AlarmController.java b/app/src/main/java/com/philliphsu/clock2/alarms/misc/AlarmController.java similarity index 92% rename from app/src/main/java/com/philliphsu/clock2/util/AlarmController.java rename to app/src/main/java/com/philliphsu/clock2/alarms/misc/AlarmController.java index 2ba8161..2b34dcc 100644 --- a/app/src/main/java/com/philliphsu/clock2/util/AlarmController.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/misc/AlarmController.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2.util; +package com.philliphsu.clock2.alarms.misc; import android.app.AlarmManager; import android.app.PendingIntent; @@ -8,13 +8,15 @@ import android.support.design.widget.Snackbar; import android.util.Log; import android.view.View; -import com.philliphsu.clock2.Alarm; -import com.philliphsu.clock2.PendingAlarmScheduler; import com.philliphsu.clock2.R; -import com.philliphsu.clock2.UpcomingAlarmReceiver; -import com.philliphsu.clock2.alarms.AlarmActivity; -import com.philliphsu.clock2.alarms.AlarmRingtoneService; -import com.philliphsu.clock2.model.AlarmsTableManager; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.ringtone.AlarmActivity; +import com.philliphsu.clock2.ringtone.AlarmRingtoneService; +import com.philliphsu.clock2.alarms.background.PendingAlarmScheduler; +import com.philliphsu.clock2.alarms.background.UpcomingAlarmReceiver; +import com.philliphsu.clock2.alarms.data.AlarmsTableManager; +import com.philliphsu.clock2.util.DelayedSnackbarHandler; +import com.philliphsu.clock2.util.DurationUtils; import static android.app.PendingIntent.FLAG_CANCEL_CURRENT; import static android.app.PendingIntent.FLAG_NO_CREATE; @@ -26,7 +28,6 @@ import static java.util.concurrent.TimeUnit.HOURS; * Created by Phillip Hsu on 7/10/2016. * * API to control alarm states and update the UI. - * TODO: Move this out of the .utils package when done. * TODO: Rename to AlarmStateHandler? AlarmStateController? */ public final class AlarmController { @@ -73,7 +74,7 @@ public final class AlarmController { // We use a WAKEUP alarm to send the upcoming alarm notification so it goes off even if the // device is asleep. Otherwise, it will not go off until the device is turned back on. long ringAt = alarm.isSnoozed() ? alarm.snoozingUntil() : alarm.ringsAt(); - int hoursToNotifyInAdvance = AlarmUtils.hoursBeforeUpcoming(mAppContext); + int hoursToNotifyInAdvance = AlarmPreferences.hoursBeforeUpcoming(mAppContext); long upcomingAt = ringAt - HOURS.toMillis(hoursToNotifyInAdvance); // If snoozed, upcoming note posted immediately. am.set(AlarmManager.RTC_WAKEUP, upcomingAt, notifyUpcomingAlarmIntent(alarm, false)); @@ -111,7 +112,7 @@ public final class AlarmController { // Does nothing if it's not posted. removeUpcomingAlarmNotification(alarm); - int hoursToNotifyInAdvance = AlarmUtils.hoursBeforeUpcoming(mAppContext); + int hoursToNotifyInAdvance = AlarmPreferences.hoursBeforeUpcoming(mAppContext); // TOneverDO: Place block after making value changes to the alarm. if (showSnackbar // TODO: Consider showing the snackbar for non-upcoming alarms too; @@ -151,7 +152,7 @@ public final class AlarmController { } public void snoozeAlarm(Alarm alarm) { - int minutesToSnooze = AlarmUtils.snoozeDuration(mAppContext); + int minutesToSnooze = AlarmPreferences.snoozeDuration(mAppContext); alarm.snooze(minutesToSnooze); scheduleAlarm(alarm, false); String message = mAppContext.getString(R.string.title_snoozing_until, diff --git a/app/src/main/java/com/philliphsu/clock2/util/AlarmUtils.java b/app/src/main/java/com/philliphsu/clock2/alarms/misc/AlarmPreferences.java similarity index 86% rename from app/src/main/java/com/philliphsu/clock2/util/AlarmUtils.java rename to app/src/main/java/com/philliphsu/clock2/alarms/misc/AlarmPreferences.java index 685b06b..8133d3d 100644 --- a/app/src/main/java/com/philliphsu/clock2/util/AlarmUtils.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/misc/AlarmPreferences.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2.util; +package com.philliphsu.clock2.alarms.misc; import android.content.Context; import android.preference.PreferenceManager; @@ -11,10 +11,10 @@ import com.philliphsu.clock2.R; * * Utilities for reading alarm preferences. */ -public final class AlarmUtils { - private static final String TAG = "AlarmUtils"; +public final class AlarmPreferences { + private static final String TAG = "AlarmPreferences"; - private AlarmUtils() {} + private AlarmPreferences() {} public static int snoozeDuration(Context c) { return readPreference(c, R.string.key_snooze_duration, 10); diff --git a/app/src/main/java/com/philliphsu/clock2/DaysOfWeek.java b/app/src/main/java/com/philliphsu/clock2/alarms/misc/DaysOfWeek.java similarity index 95% rename from app/src/main/java/com/philliphsu/clock2/DaysOfWeek.java rename to app/src/main/java/com/philliphsu/clock2/alarms/misc/DaysOfWeek.java index 3e5711c..91d6a71 100644 --- a/app/src/main/java/com/philliphsu/clock2/DaysOfWeek.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/misc/DaysOfWeek.java @@ -1,11 +1,9 @@ -package com.philliphsu.clock2; +package com.philliphsu.clock2.alarms.misc; import android.content.Context; import android.support.annotation.VisibleForTesting; import android.util.Log; -import com.philliphsu.clock2.util.AlarmUtils; - import java.text.DateFormatSymbols; import java.util.Arrays; @@ -31,7 +29,7 @@ public final class DaysOfWeek { private static int sLastPreferredFirstDay; public static DaysOfWeek getInstance(Context context) { - int preferredFirstDay = AlarmUtils.firstDayOfWeek(context); + int preferredFirstDay = AlarmPreferences.firstDayOfWeek(context); if (sInstance == null || preferredFirstDay != sLastPreferredFirstDay) { sLastPreferredFirstDay = preferredFirstDay; sInstance = new DaysOfWeek(preferredFirstDay); diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmCountdown.java b/app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmCountdown.java similarity index 99% rename from app/src/main/java/com/philliphsu/clock2/alarms/AlarmCountdown.java rename to app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmCountdown.java index 184c005..4e3ec25 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmCountdown.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmCountdown.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.philliphsu.clock2.alarms; +package com.philliphsu.clock2.alarms.ui; import android.annotation.TargetApi; import android.content.Context; diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmsCursorAdapter.java b/app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmsCursorAdapter.java similarity index 94% rename from app/src/main/java/com/philliphsu/clock2/alarms/AlarmsCursorAdapter.java rename to app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmsCursorAdapter.java index dc4498e..843a2c2 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmsCursorAdapter.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmsCursorAdapter.java @@ -1,13 +1,13 @@ -package com.philliphsu.clock2.alarms; +package com.philliphsu.clock2.alarms.ui; import android.support.v7.widget.RecyclerView; import android.view.ViewGroup; -import com.philliphsu.clock2.Alarm; import com.philliphsu.clock2.BaseCursorAdapter; import com.philliphsu.clock2.OnListItemInteractionListener; -import com.philliphsu.clock2.model.AlarmCursor; -import com.philliphsu.clock2.util.AlarmController; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.data.AlarmCursor; +import com.philliphsu.clock2.alarms.misc.AlarmController; /** * Created by Phillip Hsu on 6/29/2016. diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmsFragment.java b/app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmsFragment.java similarity index 97% rename from app/src/main/java/com/philliphsu/clock2/alarms/AlarmsFragment.java rename to app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmsFragment.java index e0f80c3..aba9049 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmsFragment.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/ui/AlarmsFragment.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2.alarms; +package com.philliphsu.clock2.alarms.ui; import android.app.Activity; import android.content.Intent; @@ -14,15 +14,15 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import com.philliphsu.clock2.Alarm; -import com.philliphsu.clock2.AsyncAlarmsTableUpdateHandler; import com.philliphsu.clock2.R; import com.philliphsu.clock2.RecyclerViewFragment; import com.philliphsu.clock2.TimePickerDialogController; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.data.AlarmsListCursorLoader; +import com.philliphsu.clock2.alarms.data.AsyncAlarmsTableUpdateHandler; +import com.philliphsu.clock2.alarms.misc.AlarmController; import com.philliphsu.clock2.timepickers.BaseTimePickerDialog; -import com.philliphsu.clock2.model.AlarmCursor; -import com.philliphsu.clock2.model.AlarmsListCursorLoader; -import com.philliphsu.clock2.util.AlarmController; +import com.philliphsu.clock2.alarms.data.AlarmCursor; import com.philliphsu.clock2.util.DelayedSnackbarHandler; import static com.philliphsu.clock2.util.FragmentTagUtils.makeTag; diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/BaseAlarmViewHolder.java b/app/src/main/java/com/philliphsu/clock2/alarms/ui/BaseAlarmViewHolder.java similarity index 97% rename from app/src/main/java/com/philliphsu/clock2/alarms/BaseAlarmViewHolder.java rename to app/src/main/java/com/philliphsu/clock2/alarms/ui/BaseAlarmViewHolder.java index 8433299..714cb7b 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/BaseAlarmViewHolder.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/ui/BaseAlarmViewHolder.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2.alarms; +package com.philliphsu.clock2.alarms.ui; import android.content.res.ColorStateList; import android.graphics.drawable.Drawable; @@ -16,9 +16,11 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.misc.AlarmController; +import com.philliphsu.clock2.alarms.misc.AlarmPreferences; import com.philliphsu.clock2.dialogs.AddLabelDialog; import com.philliphsu.clock2.dialogs.AddLabelDialogController; -import com.philliphsu.clock2.Alarm; import com.philliphsu.clock2.BaseViewHolder; import com.philliphsu.clock2.OnListItemInteractionListener; import com.philliphsu.clock2.R; @@ -26,8 +28,6 @@ import com.philliphsu.clock2.TimePickerDialogController; import com.philliphsu.clock2.aospdatetimepicker.Utils; import com.philliphsu.clock2.timepickers.BaseTimePickerDialog.OnTimeSetListener; import com.philliphsu.clock2.util.TimeTextUtils; -import com.philliphsu.clock2.util.AlarmController; -import com.philliphsu.clock2.util.AlarmUtils; import com.philliphsu.clock2.util.FragmentTagUtils; import java.util.Date; @@ -275,7 +275,7 @@ public abstract class BaseAlarmViewHolder extends BaseViewHolder { } private void bindDismissButton(Alarm alarm) { - int hoursBeforeUpcoming = AlarmUtils.hoursBeforeUpcoming(getContext()); + int hoursBeforeUpcoming = AlarmPreferences.hoursBeforeUpcoming(getContext()); boolean upcoming = alarm.ringsWithinHours(hoursBeforeUpcoming); boolean snoozed = alarm.isSnoozed(); boolean visible = alarm.isEnabled() && (upcoming || snoozed); diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/CollapsedAlarmViewHolder.java b/app/src/main/java/com/philliphsu/clock2/alarms/ui/CollapsedAlarmViewHolder.java similarity index 92% rename from app/src/main/java/com/philliphsu/clock2/alarms/CollapsedAlarmViewHolder.java rename to app/src/main/java/com/philliphsu/clock2/alarms/ui/CollapsedAlarmViewHolder.java index d0c0365..bdf68fc 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/CollapsedAlarmViewHolder.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/ui/CollapsedAlarmViewHolder.java @@ -1,19 +1,19 @@ -package com.philliphsu.clock2.alarms; +package com.philliphsu.clock2.alarms.ui; import android.view.ViewGroup; import android.widget.TextView; -import com.philliphsu.clock2.Alarm; -import com.philliphsu.clock2.DaysOfWeek; import com.philliphsu.clock2.OnListItemInteractionListener; import com.philliphsu.clock2.R; -import com.philliphsu.clock2.util.AlarmController; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.misc.AlarmController; +import com.philliphsu.clock2.alarms.misc.DaysOfWeek; import butterknife.Bind; import static android.view.View.GONE; import static android.view.View.VISIBLE; -import static com.philliphsu.clock2.DaysOfWeek.NUM_DAYS; +import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.NUM_DAYS; /** * Created by Phillip Hsu on 5/31/2016. diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java b/app/src/main/java/com/philliphsu/clock2/alarms/ui/ExpandedAlarmViewHolder.java similarity index 98% rename from app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java rename to app/src/main/java/com/philliphsu/clock2/alarms/ui/ExpandedAlarmViewHolder.java index cf738bf..c7db12a 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/ExpandedAlarmViewHolder.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/ui/ExpandedAlarmViewHolder.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2.alarms; +package com.philliphsu.clock2.alarms.ui; import android.content.res.ColorStateList; import android.graphics.drawable.Drawable; @@ -13,14 +13,14 @@ import android.widget.Button; import android.widget.CheckBox; import android.widget.ToggleButton; -import com.philliphsu.clock2.Alarm; -import com.philliphsu.clock2.DaysOfWeek; import com.philliphsu.clock2.OnListItemInteractionListener; import com.philliphsu.clock2.R; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.misc.AlarmController; +import com.philliphsu.clock2.alarms.misc.DaysOfWeek; import com.philliphsu.clock2.dialogs.RingtonePickerDialog; import com.philliphsu.clock2.aospdatetimepicker.Utils; import com.philliphsu.clock2.dialogs.RingtonePickerDialogController; -import com.philliphsu.clock2.util.AlarmController; import com.philliphsu.clock2.util.FragmentTagUtils; import butterknife.Bind; diff --git a/app/src/main/java/com/philliphsu/clock2/model/ClockAppDatabaseHelper.java b/app/src/main/java/com/philliphsu/clock2/model/ClockAppDatabaseHelper.java index b6f2ed8..8d10c1d 100644 --- a/app/src/main/java/com/philliphsu/clock2/model/ClockAppDatabaseHelper.java +++ b/app/src/main/java/com/philliphsu/clock2/model/ClockAppDatabaseHelper.java @@ -4,6 +4,7 @@ import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; +import com.philliphsu.clock2.alarms.data.AlarmsTable; import com.philliphsu.clock2.stopwatch.LapsTable; /** diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmActivity.java b/app/src/main/java/com/philliphsu/clock2/ringtone/AlarmActivity.java similarity index 94% rename from app/src/main/java/com/philliphsu/clock2/alarms/AlarmActivity.java rename to app/src/main/java/com/philliphsu/clock2/ringtone/AlarmActivity.java index 312d300..fa7715a 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmActivity.java +++ b/app/src/main/java/com/philliphsu/clock2/ringtone/AlarmActivity.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2.alarms; +package com.philliphsu.clock2.ringtone; import android.app.Notification; import android.app.NotificationManager; @@ -7,11 +7,9 @@ import android.os.Bundle; import android.support.v4.app.NotificationCompat; import android.view.ViewGroup; -import com.philliphsu.clock2.Alarm; import com.philliphsu.clock2.R; -import com.philliphsu.clock2.ringtone.RingtoneActivity; -import com.philliphsu.clock2.ringtone.RingtoneService; -import com.philliphsu.clock2.util.AlarmController; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.misc.AlarmController; import com.philliphsu.clock2.util.TimeFormatUtils; public class AlarmActivity extends RingtoneActivity { diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmRingtoneService.java b/app/src/main/java/com/philliphsu/clock2/ringtone/AlarmRingtoneService.java similarity index 92% rename from app/src/main/java/com/philliphsu/clock2/alarms/AlarmRingtoneService.java rename to app/src/main/java/com/philliphsu/clock2/ringtone/AlarmRingtoneService.java index 4c6ccd1..b17ae48 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmRingtoneService.java +++ b/app/src/main/java/com/philliphsu/clock2/ringtone/AlarmRingtoneService.java @@ -1,4 +1,4 @@ -package com.philliphsu.clock2.alarms; +package com.philliphsu.clock2.ringtone; import android.app.Notification; import android.content.Intent; @@ -6,11 +6,10 @@ import android.net.Uri; import android.provider.Settings; import android.support.v4.app.NotificationCompat; -import com.philliphsu.clock2.Alarm; import com.philliphsu.clock2.R; -import com.philliphsu.clock2.ringtone.RingtoneService; -import com.philliphsu.clock2.util.AlarmController; -import com.philliphsu.clock2.util.AlarmUtils; +import com.philliphsu.clock2.alarms.Alarm; +import com.philliphsu.clock2.alarms.misc.AlarmController; +import com.philliphsu.clock2.alarms.misc.AlarmPreferences; import static com.philliphsu.clock2.util.TimeFormatUtils.formatTime; @@ -89,6 +88,6 @@ public class AlarmRingtoneService extends RingtoneService { @Override protected int minutesToAutoSilence() { - return AlarmUtils.minutesToSilenceAfter(this); + return AlarmPreferences.minutesToSilenceAfter(this); } } diff --git a/app/src/main/res/layout/item_collapsed_alarm.xml b/app/src/main/res/layout/item_collapsed_alarm.xml index 65079a3..71eafe6 100644 --- a/app/src/main/res/layout/item_collapsed_alarm.xml +++ b/app/src/main/res/layout/item_collapsed_alarm.xml @@ -29,7 +29,7 @@ android:layout_below="@id/time_layout" android:layout_marginBottom="@dimen/item_margin_between_elements"/> -