Alarm Ppreferences applied to code

This commit is contained in:
Phillip Hsu
2016-06-07 02:03:05 -07:00
parent 4b8bbcf5f2
commit dca0a258f8
11 changed files with 87 additions and 49 deletions
@@ -4,6 +4,7 @@ import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.StringRes;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.SwitchCompat;
import android.text.SpannableString;
@@ -25,6 +26,7 @@ import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.BaseActivity;
import com.philliphsu.clock2.DaysOfWeek;
import com.philliphsu.clock2.R;
import com.philliphsu.clock2.SharedPreferencesHelper;
import com.philliphsu.clock2.model.AlarmsRepository;
import com.philliphsu.clock2.util.AlarmUtils;
import com.philliphsu.clock2.util.DurationUtils;
@@ -42,10 +44,10 @@ import static android.view.View.VISIBLE;
import static com.philliphsu.clock2.util.KeyboardUtils.hideKeyboard;
import static com.philliphsu.clock2.util.Preconditions.checkNotNull;
public class EditAlarmActivity extends BaseActivity implements
public class EditAlarmActivity extends BaseActivity implements AlarmNumpad.KeyListener,
EditAlarmContract.View,
AlarmUtilsHelper,
AlarmNumpad.KeyListener {
SharedPreferencesHelper {
private static final String TAG = "EditAlarmActivity";
public static final String EXTRA_ALARM_ID = "com.philliphsu.clock2.editalarm.extra.ALARM_ID";
private static final RelativeSizeSpan AMPM_SIZE_SPAN = new RelativeSizeSpan(0.5f);
@@ -72,7 +74,7 @@ public class EditAlarmActivity extends BaseActivity implements
super.onCreate(savedInstanceState);
setWeekDaysText();
mNumpad.setKeyListener(this);
mPresenter = new EditAlarmPresenter(this, AlarmsRepository.getInstance(this), this);
mPresenter = new EditAlarmPresenter(this, AlarmsRepository.getInstance(this), this, this);
mPresenter.loadAlarm(getIntent().getLongExtra(EXTRA_ALARM_ID, -1));
mPresenter.setTimeTextHint();
}
@@ -432,4 +434,9 @@ public class EditAlarmActivity extends BaseActivity implements
public void cancelAlarm(Alarm alarm) {
AlarmUtils.cancelAlarm(this, alarm);
}
@Override
public int getInt(@StringRes int key, int defaultValue) {
return AlarmUtils.readPreference(this, key, defaultValue);
}
}
@@ -5,6 +5,8 @@ import android.support.annotation.Nullable;
import android.util.Log;
import com.philliphsu.clock2.Alarm;
import com.philliphsu.clock2.R;
import com.philliphsu.clock2.SharedPreferencesHelper;
import com.philliphsu.clock2.model.Repository;
import java.util.Date;
@@ -23,14 +25,17 @@ public class EditAlarmPresenter implements EditAlarmContract.Presenter {
@NonNull private final EditAlarmContract.View mView;
@NonNull private final Repository<Alarm> mRepository;
@NonNull private final AlarmUtilsHelper mAlarmUtilsHelper;
@NonNull private final SharedPreferencesHelper mSharedPreferencesHelper;
@Nullable private Alarm mAlarm;
public EditAlarmPresenter(@NonNull EditAlarmContract.View view,
@NonNull Repository<Alarm> repository,
@NonNull AlarmUtilsHelper helper) {
@NonNull AlarmUtilsHelper helper,
@NonNull SharedPreferencesHelper sharedPreferencesHelper) {
mView = view;
mRepository = repository;
mAlarmUtilsHelper = helper;
mSharedPreferencesHelper = sharedPreferencesHelper;
}
@Override
@@ -128,8 +133,8 @@ public class EditAlarmPresenter implements EditAlarmContract.Presenter {
@Override
public void onPrepareOptionsMenu() {
if (mAlarm != null && mAlarm.isEnabled()) {
// TODO: Read upcoming threshold preference
if ((mAlarm.ringsWithinHours(2))) {
int hoursBeforeUpcoming = mSharedPreferencesHelper.getInt(R.string.key_notify_me_of_upcoming_alarms, 2);
if ((mAlarm.ringsWithinHours(hoursBeforeUpcoming))) {
mView.showCanDismissNow();
} else if (mAlarm.isSnoozed()) {
mView.showSnoozed(new Date(mAlarm.snoozingUntil()));