Move alarm related classes to appropriate packages

This commit is contained in:
Phillip Hsu 2016-09-21 17:07:24 -07:00
parent dba5fa860f
commit 77fc69e6a9
27 changed files with 120 additions and 112 deletions

View File

@ -24,7 +24,7 @@
</activity> </activity>
<receiver <receiver
android:name=".UpcomingAlarmReceiver" android:name=".alarms.background.UpcomingAlarmReceiver"
android:enabled="true" android:enabled="true"
android:exported="false"> android:exported="false">
</receiver> </receiver>
@ -39,12 +39,12 @@
</activity> </activity>
<receiver <receiver
android:name=".PendingAlarmScheduler" android:name=".alarms.background.PendingAlarmScheduler"
android:enabled="true" android:enabled="true"
android:exported="false"> android:exported="false">
</receiver> </receiver>
<receiver <receiver
android:name=".OnBootUpReceiver" android:name=".alarms.background.OnBootUpReceiver"
android:enabled="true" android:enabled="true"
android:exported="true"> android:exported="true">
<intent-filter> <intent-filter>
@ -53,7 +53,7 @@
</receiver> </receiver>
<service <service
android:name=".OnBootUpAlarmScheduler" android:name=".alarms.background.OnBootUpAlarmScheduler"
android:enabled="true" android:enabled="true"
android:exported="false"> android:exported="false">
</service> </service>
@ -81,7 +81,7 @@
android:taskAffinity="com.philliphsu.clock2.RingtoneActivity"> android:taskAffinity="com.philliphsu.clock2.RingtoneActivity">
</activity> </activity>
<activity <activity
android:name=".alarms.AlarmActivity" android:name=".ringtone.AlarmActivity"
android:excludeFromRecents="true" android:excludeFromRecents="true"
android:label="@string/title_activity_ringtone" android:label="@string/title_activity_ringtone"
android:launchMode="singleTask" android:launchMode="singleTask"
@ -89,7 +89,7 @@
</activity> </activity>
<service <service
android:name=".alarms.AlarmRingtoneService" android:name=".ringtone.AlarmRingtoneService"
android:enabled="true" android:enabled="true"
android:exported="false"> android:exported="false">
</service> </service>

View File

@ -19,7 +19,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; 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.settings.SettingsActivity;
import com.philliphsu.clock2.stopwatch.StopwatchFragment; import com.philliphsu.clock2.stopwatch.StopwatchFragment;
import com.philliphsu.clock2.timers.TimersFragment; import com.philliphsu.clock2.timers.TimersFragment;

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2; package com.philliphsu.clock2.alarms;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
@ -12,9 +12,9 @@ import java.util.Calendar;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import static com.philliphsu.clock2.DaysOfWeek.NUM_DAYS; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.NUM_DAYS;
import static com.philliphsu.clock2.DaysOfWeek.SATURDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SATURDAY;
import static com.philliphsu.clock2.DaysOfWeek.SUNDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SUNDAY;
/** /**
* Created by Phillip Hsu on 5/26/2016. * Created by Phillip Hsu on 5/26/2016.

View File

@ -1,12 +1,13 @@
package com.philliphsu.clock2; package com.philliphsu.clock2.alarms.background;
import android.app.IntentService; import android.app.IntentService;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import com.philliphsu.clock2.model.AlarmCursor; import com.philliphsu.clock2.alarms.Alarm;
import com.philliphsu.clock2.model.AlarmsTableManager; import com.philliphsu.clock2.alarms.data.AlarmCursor;
import com.philliphsu.clock2.util.AlarmController; import com.philliphsu.clock2.alarms.data.AlarmsTableManager;
import com.philliphsu.clock2.alarms.misc.AlarmController;
/** /**
* An {@link IntentService} subclass for handling asynchronous task requests in * An {@link IntentService} subclass for handling asynchronous task requests in

View File

@ -1,13 +1,9 @@
package com.philliphsu.clock2; package com.philliphsu.clock2.alarms.background;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; 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 { public class OnBootUpReceiver extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {

View File

@ -1,12 +1,13 @@
package com.philliphsu.clock2; package com.philliphsu.clock2.alarms.background;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import com.philliphsu.clock2.model.AlarmCursor; import com.philliphsu.clock2.alarms.Alarm;
import com.philliphsu.clock2.model.AlarmsTableManager; import com.philliphsu.clock2.alarms.data.AlarmCursor;
import com.philliphsu.clock2.util.AlarmController; import com.philliphsu.clock2.alarms.data.AlarmsTableManager;
import com.philliphsu.clock2.alarms.misc.AlarmController;
import static com.philliphsu.clock2.util.Preconditions.checkNotNull; 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 { public class PendingAlarmScheduler extends BroadcastReceiver {
// We include the class name in the string to distinguish this constant from the one defined // We include the class name in the string to distinguish this constant from the one defined
// in UpcomingAlarmReceiver. // 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 @Override
public void onReceive(final Context context, Intent intent) { public void onReceive(final Context context, Intent intent) {

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2; package com.philliphsu.clock2.alarms.background;
import android.app.Notification; import android.app.Notification;
import android.app.NotificationManager; import android.app.NotificationManager;
@ -8,8 +8,11 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationCompat;
import com.philliphsu.clock2.alarms.AlarmsFragment; import com.philliphsu.clock2.MainActivity;
import com.philliphsu.clock2.util.AlarmController; 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_CANCEL_CURRENT;
import static android.app.PendingIntent.FLAG_ONE_SHOT; import static android.app.PendingIntent.FLAG_ONE_SHOT;

View File

@ -1,16 +1,17 @@
package com.philliphsu.clock2.model; package com.philliphsu.clock2.alarms.data;
import android.database.Cursor; 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.alarms.misc.DaysOfWeek.FRIDAY;
import static com.philliphsu.clock2.DaysOfWeek.MONDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.MONDAY;
import static com.philliphsu.clock2.DaysOfWeek.SATURDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SATURDAY;
import static com.philliphsu.clock2.DaysOfWeek.SUNDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SUNDAY;
import static com.philliphsu.clock2.DaysOfWeek.THURSDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.THURSDAY;
import static com.philliphsu.clock2.DaysOfWeek.TUESDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.TUESDAY;
import static com.philliphsu.clock2.DaysOfWeek.WEDNESDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.WEDNESDAY;
/** /**
* Created by Phillip Hsu on 7/30/2016. * Created by Phillip Hsu on 7/30/2016.

View File

@ -1,15 +1,16 @@
package com.philliphsu.clock2.model; package com.philliphsu.clock2.alarms.data;
import android.content.Context; 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. * Created by Phillip Hsu on 6/28/2016.
*/ */
public class AlarmsListCursorLoader extends SQLiteCursorLoader<Alarm, AlarmCursor> { public class AlarmsListCursorLoader extends SQLiteCursorLoader<Alarm, AlarmCursor> {
public static final String ACTION_CHANGE_CONTENT 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) { public AlarmsListCursorLoader(Context context) {
super(context); super(context);

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2.model; package com.philliphsu.clock2.alarms.data;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;

View File

@ -1,18 +1,19 @@
package com.philliphsu.clock2.model; package com.philliphsu.clock2.alarms.data;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.database.Cursor; 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.alarms.misc.DaysOfWeek.FRIDAY;
import static com.philliphsu.clock2.DaysOfWeek.MONDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.MONDAY;
import static com.philliphsu.clock2.DaysOfWeek.SATURDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SATURDAY;
import static com.philliphsu.clock2.DaysOfWeek.SUNDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SUNDAY;
import static com.philliphsu.clock2.DaysOfWeek.THURSDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.THURSDAY;
import static com.philliphsu.clock2.DaysOfWeek.TUESDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.TUESDAY;
import static com.philliphsu.clock2.DaysOfWeek.WEDNESDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.WEDNESDAY;
/** /**
* Created by Phillip Hsu on 7/30/2016. * Created by Phillip Hsu on 7/30/2016.

View File

@ -1,12 +1,14 @@
package com.philliphsu.clock2; package com.philliphsu.clock2.alarms.data;
import android.content.Context; import android.content.Context;
import android.support.design.widget.Snackbar; import android.support.design.widget.Snackbar;
import android.view.View; 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.alarms.ScrollHandler;
import com.philliphsu.clock2.model.AlarmsTableManager; import com.philliphsu.clock2.alarms.misc.AlarmController;
import com.philliphsu.clock2.util.AlarmController;
/** /**
* Created by Phillip Hsu on 7/1/2016. * Created by Phillip Hsu on 7/1/2016.

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2.util; package com.philliphsu.clock2.alarms.misc;
import android.app.AlarmManager; import android.app.AlarmManager;
import android.app.PendingIntent; import android.app.PendingIntent;
@ -8,13 +8,15 @@ import android.support.design.widget.Snackbar;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.PendingAlarmScheduler;
import com.philliphsu.clock2.R; import com.philliphsu.clock2.R;
import com.philliphsu.clock2.UpcomingAlarmReceiver; import com.philliphsu.clock2.alarms.Alarm;
import com.philliphsu.clock2.alarms.AlarmActivity; import com.philliphsu.clock2.ringtone.AlarmActivity;
import com.philliphsu.clock2.alarms.AlarmRingtoneService; import com.philliphsu.clock2.ringtone.AlarmRingtoneService;
import com.philliphsu.clock2.model.AlarmsTableManager; 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_CANCEL_CURRENT;
import static android.app.PendingIntent.FLAG_NO_CREATE; 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. * Created by Phillip Hsu on 7/10/2016.
* *
* API to control alarm states and update the UI. * API to control alarm states and update the UI.
* TODO: Move this out of the .utils package when done.
* TODO: Rename to AlarmStateHandler? AlarmStateController? * TODO: Rename to AlarmStateHandler? AlarmStateController?
*/ */
public final class AlarmController { 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 // 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. // device is asleep. Otherwise, it will not go off until the device is turned back on.
long ringAt = alarm.isSnoozed() ? alarm.snoozingUntil() : alarm.ringsAt(); long ringAt = alarm.isSnoozed() ? alarm.snoozingUntil() : alarm.ringsAt();
int hoursToNotifyInAdvance = AlarmUtils.hoursBeforeUpcoming(mAppContext); int hoursToNotifyInAdvance = AlarmPreferences.hoursBeforeUpcoming(mAppContext);
long upcomingAt = ringAt - HOURS.toMillis(hoursToNotifyInAdvance); long upcomingAt = ringAt - HOURS.toMillis(hoursToNotifyInAdvance);
// If snoozed, upcoming note posted immediately. // If snoozed, upcoming note posted immediately.
am.set(AlarmManager.RTC_WAKEUP, upcomingAt, notifyUpcomingAlarmIntent(alarm, false)); am.set(AlarmManager.RTC_WAKEUP, upcomingAt, notifyUpcomingAlarmIntent(alarm, false));
@ -111,7 +112,7 @@ public final class AlarmController {
// Does nothing if it's not posted. // Does nothing if it's not posted.
removeUpcomingAlarmNotification(alarm); removeUpcomingAlarmNotification(alarm);
int hoursToNotifyInAdvance = AlarmUtils.hoursBeforeUpcoming(mAppContext); int hoursToNotifyInAdvance = AlarmPreferences.hoursBeforeUpcoming(mAppContext);
// TOneverDO: Place block after making value changes to the alarm. // TOneverDO: Place block after making value changes to the alarm.
if (showSnackbar if (showSnackbar
// TODO: Consider showing the snackbar for non-upcoming alarms too; // TODO: Consider showing the snackbar for non-upcoming alarms too;
@ -151,7 +152,7 @@ public final class AlarmController {
} }
public void snoozeAlarm(Alarm alarm) { public void snoozeAlarm(Alarm alarm) {
int minutesToSnooze = AlarmUtils.snoozeDuration(mAppContext); int minutesToSnooze = AlarmPreferences.snoozeDuration(mAppContext);
alarm.snooze(minutesToSnooze); alarm.snooze(minutesToSnooze);
scheduleAlarm(alarm, false); scheduleAlarm(alarm, false);
String message = mAppContext.getString(R.string.title_snoozing_until, String message = mAppContext.getString(R.string.title_snoozing_until,

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2.util; package com.philliphsu.clock2.alarms.misc;
import android.content.Context; import android.content.Context;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
@ -11,10 +11,10 @@ import com.philliphsu.clock2.R;
* *
* Utilities for reading alarm preferences. * Utilities for reading alarm preferences.
*/ */
public final class AlarmUtils { public final class AlarmPreferences {
private static final String TAG = "AlarmUtils"; private static final String TAG = "AlarmPreferences";
private AlarmUtils() {} private AlarmPreferences() {}
public static int snoozeDuration(Context c) { public static int snoozeDuration(Context c) {
return readPreference(c, R.string.key_snooze_duration, 10); return readPreference(c, R.string.key_snooze_duration, 10);

View File

@ -1,11 +1,9 @@
package com.philliphsu.clock2; package com.philliphsu.clock2.alarms.misc;
import android.content.Context; import android.content.Context;
import android.support.annotation.VisibleForTesting; import android.support.annotation.VisibleForTesting;
import android.util.Log; import android.util.Log;
import com.philliphsu.clock2.util.AlarmUtils;
import java.text.DateFormatSymbols; import java.text.DateFormatSymbols;
import java.util.Arrays; import java.util.Arrays;
@ -31,7 +29,7 @@ public final class DaysOfWeek {
private static int sLastPreferredFirstDay; private static int sLastPreferredFirstDay;
public static DaysOfWeek getInstance(Context context) { public static DaysOfWeek getInstance(Context context) {
int preferredFirstDay = AlarmUtils.firstDayOfWeek(context); int preferredFirstDay = AlarmPreferences.firstDayOfWeek(context);
if (sInstance == null || preferredFirstDay != sLastPreferredFirstDay) { if (sInstance == null || preferredFirstDay != sLastPreferredFirstDay) {
sLastPreferredFirstDay = preferredFirstDay; sLastPreferredFirstDay = preferredFirstDay;
sInstance = new DaysOfWeek(preferredFirstDay); sInstance = new DaysOfWeek(preferredFirstDay);

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.philliphsu.clock2.alarms; package com.philliphsu.clock2.alarms.ui;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.Context; import android.content.Context;

View File

@ -1,13 +1,13 @@
package com.philliphsu.clock2.alarms; package com.philliphsu.clock2.alarms.ui;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.BaseCursorAdapter; import com.philliphsu.clock2.BaseCursorAdapter;
import com.philliphsu.clock2.OnListItemInteractionListener; import com.philliphsu.clock2.OnListItemInteractionListener;
import com.philliphsu.clock2.model.AlarmCursor; import com.philliphsu.clock2.alarms.Alarm;
import com.philliphsu.clock2.util.AlarmController; import com.philliphsu.clock2.alarms.data.AlarmCursor;
import com.philliphsu.clock2.alarms.misc.AlarmController;
/** /**
* Created by Phillip Hsu on 6/29/2016. * Created by Phillip Hsu on 6/29/2016.

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2.alarms; package com.philliphsu.clock2.alarms.ui;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
@ -14,15 +14,15 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.AsyncAlarmsTableUpdateHandler;
import com.philliphsu.clock2.R; import com.philliphsu.clock2.R;
import com.philliphsu.clock2.RecyclerViewFragment; import com.philliphsu.clock2.RecyclerViewFragment;
import com.philliphsu.clock2.TimePickerDialogController; 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.timepickers.BaseTimePickerDialog;
import com.philliphsu.clock2.model.AlarmCursor; import com.philliphsu.clock2.alarms.data.AlarmCursor;
import com.philliphsu.clock2.model.AlarmsListCursorLoader;
import com.philliphsu.clock2.util.AlarmController;
import com.philliphsu.clock2.util.DelayedSnackbarHandler; import com.philliphsu.clock2.util.DelayedSnackbarHandler;
import static com.philliphsu.clock2.util.FragmentTagUtils.makeTag; import static com.philliphsu.clock2.util.FragmentTagUtils.makeTag;

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2.alarms; package com.philliphsu.clock2.alarms.ui;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
@ -16,9 +16,11 @@ import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; 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.AddLabelDialog;
import com.philliphsu.clock2.dialogs.AddLabelDialogController; import com.philliphsu.clock2.dialogs.AddLabelDialogController;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.BaseViewHolder; import com.philliphsu.clock2.BaseViewHolder;
import com.philliphsu.clock2.OnListItemInteractionListener; import com.philliphsu.clock2.OnListItemInteractionListener;
import com.philliphsu.clock2.R; import com.philliphsu.clock2.R;
@ -26,8 +28,6 @@ import com.philliphsu.clock2.TimePickerDialogController;
import com.philliphsu.clock2.aospdatetimepicker.Utils; import com.philliphsu.clock2.aospdatetimepicker.Utils;
import com.philliphsu.clock2.timepickers.BaseTimePickerDialog.OnTimeSetListener; import com.philliphsu.clock2.timepickers.BaseTimePickerDialog.OnTimeSetListener;
import com.philliphsu.clock2.util.TimeTextUtils; 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 com.philliphsu.clock2.util.FragmentTagUtils;
import java.util.Date; import java.util.Date;
@ -275,7 +275,7 @@ public abstract class BaseAlarmViewHolder extends BaseViewHolder<Alarm> {
} }
private void bindDismissButton(Alarm alarm) { private void bindDismissButton(Alarm alarm) {
int hoursBeforeUpcoming = AlarmUtils.hoursBeforeUpcoming(getContext()); int hoursBeforeUpcoming = AlarmPreferences.hoursBeforeUpcoming(getContext());
boolean upcoming = alarm.ringsWithinHours(hoursBeforeUpcoming); boolean upcoming = alarm.ringsWithinHours(hoursBeforeUpcoming);
boolean snoozed = alarm.isSnoozed(); boolean snoozed = alarm.isSnoozed();
boolean visible = alarm.isEnabled() && (upcoming || snoozed); boolean visible = alarm.isEnabled() && (upcoming || snoozed);

View File

@ -1,19 +1,19 @@
package com.philliphsu.clock2.alarms; package com.philliphsu.clock2.alarms.ui;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.DaysOfWeek;
import com.philliphsu.clock2.OnListItemInteractionListener; import com.philliphsu.clock2.OnListItemInteractionListener;
import com.philliphsu.clock2.R; 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 butterknife.Bind;
import static android.view.View.GONE; import static android.view.View.GONE;
import static android.view.View.VISIBLE; 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. * Created by Phillip Hsu on 5/31/2016.

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2.alarms; package com.philliphsu.clock2.alarms.ui;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
@ -13,14 +13,14 @@ import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.ToggleButton; import android.widget.ToggleButton;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.DaysOfWeek;
import com.philliphsu.clock2.OnListItemInteractionListener; import com.philliphsu.clock2.OnListItemInteractionListener;
import com.philliphsu.clock2.R; 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.dialogs.RingtonePickerDialog;
import com.philliphsu.clock2.aospdatetimepicker.Utils; import com.philliphsu.clock2.aospdatetimepicker.Utils;
import com.philliphsu.clock2.dialogs.RingtonePickerDialogController; import com.philliphsu.clock2.dialogs.RingtonePickerDialogController;
import com.philliphsu.clock2.util.AlarmController;
import com.philliphsu.clock2.util.FragmentTagUtils; import com.philliphsu.clock2.util.FragmentTagUtils;
import butterknife.Bind; import butterknife.Bind;

View File

@ -4,6 +4,7 @@ import android.content.Context;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteOpenHelper;
import com.philliphsu.clock2.alarms.data.AlarmsTable;
import com.philliphsu.clock2.stopwatch.LapsTable; import com.philliphsu.clock2.stopwatch.LapsTable;
/** /**

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2.alarms; package com.philliphsu.clock2.ringtone;
import android.app.Notification; import android.app.Notification;
import android.app.NotificationManager; import android.app.NotificationManager;
@ -7,11 +7,9 @@ import android.os.Bundle;
import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationCompat;
import android.view.ViewGroup; import android.view.ViewGroup;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.R; import com.philliphsu.clock2.R;
import com.philliphsu.clock2.ringtone.RingtoneActivity; import com.philliphsu.clock2.alarms.Alarm;
import com.philliphsu.clock2.ringtone.RingtoneService; import com.philliphsu.clock2.alarms.misc.AlarmController;
import com.philliphsu.clock2.util.AlarmController;
import com.philliphsu.clock2.util.TimeFormatUtils; import com.philliphsu.clock2.util.TimeFormatUtils;
public class AlarmActivity extends RingtoneActivity<Alarm> { public class AlarmActivity extends RingtoneActivity<Alarm> {

View File

@ -1,4 +1,4 @@
package com.philliphsu.clock2.alarms; package com.philliphsu.clock2.ringtone;
import android.app.Notification; import android.app.Notification;
import android.content.Intent; import android.content.Intent;
@ -6,11 +6,10 @@ import android.net.Uri;
import android.provider.Settings; import android.provider.Settings;
import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationCompat;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.R; import com.philliphsu.clock2.R;
import com.philliphsu.clock2.ringtone.RingtoneService; import com.philliphsu.clock2.alarms.Alarm;
import com.philliphsu.clock2.util.AlarmController; import com.philliphsu.clock2.alarms.misc.AlarmController;
import com.philliphsu.clock2.util.AlarmUtils; import com.philliphsu.clock2.alarms.misc.AlarmPreferences;
import static com.philliphsu.clock2.util.TimeFormatUtils.formatTime; import static com.philliphsu.clock2.util.TimeFormatUtils.formatTime;
@ -89,6 +88,6 @@ public class AlarmRingtoneService extends RingtoneService<Alarm> {
@Override @Override
protected int minutesToAutoSilence() { protected int minutesToAutoSilence() {
return AlarmUtils.minutesToSilenceAfter(this); return AlarmPreferences.minutesToSilenceAfter(this);
} }
} }

View File

@ -29,7 +29,7 @@
android:layout_below="@id/time_layout" android:layout_below="@id/time_layout"
android:layout_marginBottom="@dimen/item_margin_between_elements"/> android:layout_marginBottom="@dimen/item_margin_between_elements"/>
<com.philliphsu.clock2.alarms.AlarmCountdown <com.philliphsu.clock2.alarms.ui.AlarmCountdown
android:id="@+id/countdown" android:id="@+id/countdown"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@ -1,12 +1,15 @@
package com.philliphsu.clock2; package com.philliphsu.clock2;
import com.philliphsu.clock2.alarms.Alarm;
import com.philliphsu.clock2.alarms.misc.DaysOfWeek;
import org.junit.Test; import org.junit.Test;
import java.util.Calendar; import java.util.Calendar;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import static com.philliphsu.clock2.DaysOfWeek.SATURDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SATURDAY;
import static com.philliphsu.clock2.DaysOfWeek.SUNDAY; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.SUNDAY;
import static java.lang.System.out; import static java.lang.System.out;
import static java.util.Calendar.HOUR_OF_DAY; import static java.util.Calendar.HOUR_OF_DAY;
import static java.util.Calendar.MILLISECOND; import static java.util.Calendar.MILLISECOND;

View File

@ -1,8 +1,10 @@
package com.philliphsu.clock2; package com.philliphsu.clock2;
import com.philliphsu.clock2.alarms.misc.DaysOfWeek;
import org.junit.Test; import org.junit.Test;
import static com.philliphsu.clock2.DaysOfWeek.*; import static com.philliphsu.clock2.alarms.misc.DaysOfWeek.*;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
/** /**