diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmActivity.java b/app/src/main/java/com/philliphsu/clock2/alarms/AlarmActivity.java index 90e99a1..b8dcee1 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/AlarmActivity.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/AlarmActivity.java @@ -74,14 +74,12 @@ public class AlarmActivity extends RingtoneActivity { @Override protected int getLeftButtonDrawable() { - // TODO: correct icon - return R.drawable.ic_half_day_1_black_24dp; + return R.drawable.ic_snooze_24dp; } @Override protected int getRightButtonDrawable() { - // TODO: correct icon - return R.drawable.ic_half_day_1_black_24dp; + return R.drawable.ic_dismiss_alarm_24dp; } @Override diff --git a/app/src/main/java/com/philliphsu/clock2/alarms/BaseAlarmViewHolder.java b/app/src/main/java/com/philliphsu/clock2/alarms/BaseAlarmViewHolder.java index f8776dc..cd36767 100644 --- a/app/src/main/java/com/philliphsu/clock2/alarms/BaseAlarmViewHolder.java +++ b/app/src/main/java/com/philliphsu/clock2/alarms/BaseAlarmViewHolder.java @@ -1,7 +1,9 @@ package com.philliphsu.clock2.alarms; +import android.graphics.drawable.Drawable; import android.support.annotation.LayoutRes; import android.support.annotation.NonNull; +import android.support.v4.content.ContextCompat; import android.support.v7.widget.SwitchCompat; import android.text.format.DateFormat; import android.view.MotionEvent; @@ -35,6 +37,9 @@ import static com.philliphsu.clock2.util.DateFormatUtils.formatTime; public abstract class BaseAlarmViewHolder extends BaseViewHolder { private final AlarmController mAlarmController; + // TODO: Should we use VectorDrawable type? + private final Drawable mDismissNowDrawable; + private final Drawable mCancelSnoozeDrawable; @Bind(R.id.time) TextView mTime; @Bind(R.id.on_off_switch) SwitchCompat mSwitch; @@ -46,6 +51,10 @@ public abstract class BaseAlarmViewHolder extends BaseViewHolder { AlarmController controller) { super(parent, layoutRes, listener); mAlarmController = controller; + // Because of VH binding, setting drawable resources on views would be bad for performance. + // Instead, we create and cache the Drawables once. + mDismissNowDrawable = ContextCompat.getDrawable(getContext(), R.drawable.ic_dismiss_alarm_24dp); + mCancelSnoozeDrawable = ContextCompat.getDrawable(getContext(), R.drawable.ic_cancel_snooze); } @Override @@ -163,12 +172,18 @@ public abstract class BaseAlarmViewHolder extends BaseViewHolder { private void bindDismissButton(Alarm alarm) { int hoursBeforeUpcoming = AlarmUtils.hoursBeforeUpcoming(getContext()); - boolean visible = alarm.isEnabled() && (alarm.ringsWithinHours(hoursBeforeUpcoming) || alarm.isSnoozed()); - String buttonText = alarm.isSnoozed() + boolean upcoming = alarm.ringsWithinHours(hoursBeforeUpcoming); + boolean snoozed = alarm.isSnoozed(); + boolean visible = alarm.isEnabled() && (upcoming || snoozed); + String buttonText = snoozed ? getContext().getString(R.string.title_snoozing_until, formatTime(getContext(), alarm.snoozingUntil())) : getContext().getString(R.string.dismiss_now); setVisibility(mDismissButton, visible); mDismissButton.setText(buttonText); + // Set drawable start + mDismissButton.setCompoundDrawablesRelativeWithIntrinsicBounds( + upcoming ? mDismissNowDrawable : mCancelSnoozeDrawable, + null, null, null); } private void bindLabel(String label) { diff --git a/app/src/main/java/com/philliphsu/clock2/timers/TimesUpActivity.java b/app/src/main/java/com/philliphsu/clock2/timers/TimesUpActivity.java index 20e153b..0a76563 100644 --- a/app/src/main/java/com/philliphsu/clock2/timers/TimesUpActivity.java +++ b/app/src/main/java/com/philliphsu/clock2/timers/TimesUpActivity.java @@ -90,8 +90,7 @@ public class TimesUpActivity extends RingtoneActivity { @Override protected int getRightButtonDrawable() { - // TODO: correct icon - return R.drawable.ic_half_day_1_black_24dp; + return R.drawable.ic_stop_24dp; } @Override diff --git a/app/src/main/res/drawable/ic_add_lap_24dp.xml b/app/src/main/res/drawable/ic_add_lap_24dp.xml new file mode 100644 index 0000000..d13ac4e --- /dev/null +++ b/app/src/main/res/drawable/ic_add_lap_24dp.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_cancel_snooze.xml b/app/src/main/res/drawable/ic_cancel_snooze.xml new file mode 100644 index 0000000..db6d6b9 --- /dev/null +++ b/app/src/main/res/drawable/ic_cancel_snooze.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_dismiss_alarm_24dp.xml b/app/src/main/res/drawable/ic_dismiss_alarm_24dp.xml new file mode 100644 index 0000000..894d789 --- /dev/null +++ b/app/src/main/res/drawable/ic_dismiss_alarm_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_ringtone_black_24dp.xml b/app/src/main/res/drawable/ic_ringtone_black_24dp.xml new file mode 100644 index 0000000..30ac4ef --- /dev/null +++ b/app/src/main/res/drawable/ic_ringtone_black_24dp.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_snooze_24dp.xml b/app/src/main/res/drawable/ic_snooze_24dp.xml new file mode 100644 index 0000000..5c4da08 --- /dev/null +++ b/app/src/main/res/drawable/ic_snooze_24dp.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/alarm_time_layout.xml b/app/src/main/res/layout/alarm_time_layout.xml index 9dca22a..9aa19f7 100644 --- a/app/src/main/res/layout/alarm_time_layout.xml +++ b/app/src/main/res/layout/alarm_time_layout.xml @@ -11,7 +11,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1:20" - android:textAppearance="@style/TextAppearance.AppCompat" + style="@style/TextAppearance.AppCompat" android:textSize="@dimen/alarm_time_text_size"/> +