Fixed text colors confusion

This commit is contained in:
Phillip Hsu 2016-08-21 02:16:29 -07:00
parent a473f3fd2c
commit 9b7ab3e644
18 changed files with 171 additions and 35 deletions

View File

@ -54,7 +54,7 @@ public class AlarmActivity extends RingtoneActivity<Alarm> {
@Override @Override
protected int getAutoSilencedDrawable() { protected int getAutoSilencedDrawable() {
// TODO: correct icon // TODO: correct icon
return R.drawable.ic_half_day_1_black_24dp; return R.drawable.ic_half_day_1_24dp;
} }
@Override @Override

View File

@ -167,12 +167,13 @@ public class Utils {
return getColorFromThemeAttr(context, R.attr.colorAccent); return getColorFromThemeAttr(context, R.attr.colorAccent);
} }
public static int getTextColorPrimary(Context context) { public static int getTextColorFromThemeAttr(Context context, int resid) {
// http://stackoverflow.com/a/33839580/5055032 // http://stackoverflow.com/a/33839580/5055032
final TypedValue value = new TypedValue(); // final TypedValue value = new TypedValue();
context.getTheme().resolveAttribute(android.R.attr.textColorPrimary, value, true); // context.getTheme().resolveAttribute(resid, value, true);
TypedArray a = context.obtainStyledAttributes(value.data, // TypedArray a = context.obtainStyledAttributes(value.data,
new int[] {android.R.attr.textColorPrimary}); // new int[] {resid});
TypedArray a = context.getTheme().obtainStyledAttributes(new int[] {resid});
final int color = a.getColor(0/*index*/, 0/*defValue*/); final int color = a.getColor(0/*index*/, 0/*defValue*/);
a.recycle(); a.recycle();
return color; return color;

View File

@ -182,13 +182,21 @@ public class GridSelectorLayout extends FrameLayout implements NumbersGrid.OnNum
@Override @Override
public void onNumberSelected(int number) { public void onNumberSelected(int number) {
if (getCurrentItemShowing() == HOUR_INDEX && !mIs24HourMode) { if (getCurrentItemShowing() == HOUR_INDEX) {
// Change the value before passing it through the callback if (!mIs24HourMode) {
int amOrPm = getIsCurrentlyAmOrPm(); // Change the value before passing it through the callback
if (amOrPm == HALF_DAY_1 && number == 12) { int amOrPm = getIsCurrentlyAmOrPm();
number = 0; if (amOrPm == HALF_DAY_1 && number == 12) {
} else if (amOrPm == HALF_DAY_2 && number != 12) { number = 0;
number += 12; } else if (amOrPm == HALF_DAY_2 && number != 12) {
number += 12;
}
} else {
// Check if we would be changing half-days with the new value
if (mCurrentHoursOfDay < 12 && number >= 12 || mCurrentHoursOfDay >= 12 && number < 12) {
int newHalfDay = getIsCurrentlyAmOrPm() == HALF_DAY_1 ? HALF_DAY_2 : HALF_DAY_1;
mListener.onValueSelected(AMPM_INDEX, newHalfDay, false);
}
} }
} }

View File

@ -22,6 +22,7 @@ import android.content.res.ColorStateList;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Bundle; import android.os.Bundle;
import android.support.design.widget.FloatingActionButton; import android.support.design.widget.FloatingActionButton;
import android.support.v4.content.ContextCompat;
import android.util.Log; import android.util.Log;
import android.view.KeyCharacterMap; import android.view.KeyCharacterMap;
import android.view.KeyEvent; import android.view.KeyEvent;
@ -127,6 +128,9 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
private String mMinutePickerDescription; private String mMinutePickerDescription;
private String mSelectMinutes; private String mSelectMinutes;
private int mHalfDayToggleSelectedColor;
private int mHalfDayToggleUnselectedColor;
// ====================================== MY STUFF ============================================= // ====================================== MY STUFF =============================================
// The padding in dp for the half day icon compound drawable // The padding in dp for the half day icon compound drawable
public static final int HALF_DAY_ICON_PADDING = 8; public static final int HALF_DAY_ICON_PADDING = 8;
@ -163,6 +167,7 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
// } // }
updateAmPmDisplay(halfDay); updateAmPmDisplay(halfDay);
mTimePicker.setAmOrPm(halfDay); mTimePicker.setAmOrPm(halfDay);
updateHalfDayTogglesState(halfDay);
} }
} }
@ -319,11 +324,13 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
tv1.setText("00 - 11"); tv1.setText("00 - 11");
// Intrinsic bounds meaning the drawable's own bounds? So 24dp box. // Intrinsic bounds meaning the drawable's own bounds? So 24dp box.
tv1.setCompoundDrawablesWithIntrinsicBounds( tv1.setCompoundDrawablesWithIntrinsicBounds(
R.drawable.ic_half_day_1_black_24dp, 0, 0, 0); mThemeDark? R.drawable.ic_half_day_1_dark_24dp : R.drawable.ic_half_day_1_24dp,
0, 0, 0);
tv1.setCompoundDrawablePadding((int) dpToPx(getActivity(), HALF_DAY_ICON_PADDING)); tv1.setCompoundDrawablePadding((int) dpToPx(getActivity(), HALF_DAY_ICON_PADDING));
tv2.setText("12 - 23"); tv2.setText("12 - 23");
tv2.setCompoundDrawablesWithIntrinsicBounds( tv2.setCompoundDrawablesWithIntrinsicBounds(
R.drawable.ic_half_day_2_black_24dp, 0, 0, 0); mThemeDark? R.drawable.ic_half_day_2_dark_24dp : R.drawable.ic_half_day_2_24dp,
0, 0, 0);
tv2.setCompoundDrawablePadding((int) dpToPx(getActivity(), HALF_DAY_ICON_PADDING)); tv2.setCompoundDrawablePadding((int) dpToPx(getActivity(), HALF_DAY_ICON_PADDING));
} else { } else {
tv1.setText(mAmText); tv1.setText(mAmText);
@ -452,18 +459,33 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
((TextView) view.findViewById(R.id.separator)).setTextColor(/*mThemeDark? white : timeDisplay*/mUnselectedColor); ((TextView) view.findViewById(R.id.separator)).setTextColor(/*mThemeDark? white : timeDisplay*/mUnselectedColor);
((TextView) view.findViewById(R.id.ampm_label)).setTextColor(/*mThemeDark? white : timeDisplay*/mUnselectedColor); ((TextView) view.findViewById(R.id.ampm_label)).setTextColor(/*mThemeDark? white : timeDisplay*/mUnselectedColor);
// view.findViewById(R.id.line).setBackgroundColor(mThemeDark? darkLine : line); // view.findViewById(R.id.line).setBackgroundColor(mThemeDark? darkLine : line);
// TODO: darkLine is 12% white, but it shows up like 100% white. We have replaced
// darkLine with lightGray for now. Figure out why and come back to replace
// lightGray with darkLine.
view.findViewById(R.id.divider).setBackgroundColor(mThemeDark? lightGray : line);
// mDoneButton.setTextColor(mThemeDark? darkDoneTextColor : doneTextColor); // mDoneButton.setTextColor(mThemeDark? darkDoneTextColor : doneTextColor);
// The AOSP timepicker originally uses these colors for the CircleView // The AOSP timepicker originally uses these colors for the CircleView
mTimePicker.setBackgroundColor(mThemeDark? /*lightGray : circleBackground*/ darkGray : white); mTimePicker.setBackgroundColor(mThemeDark? /*lightGray : circleBackground*/ darkGray : white);
// mDoneButton.setBackgroundResource(mThemeDark? darkDoneBackground : doneBackground); // mDoneButton.setBackgroundResource(mThemeDark? darkDoneBackground : doneBackground);
// Set the color on the FAB
// http://stackoverflow.com/a/32031019/5055032 // http://stackoverflow.com/a/32031019/5055032
// Color in normal state // Color in normal state
mDoneButton.setBackgroundTintList(ColorStateList.valueOf(accentColor)); mDoneButton.setBackgroundTintList(ColorStateList.valueOf(accentColor));
// Color in pressed state. A ripple expands outwards from the point of contact throughout // Color in pressed state. A ripple expands outwards from the point of contact throughout
// the fab when it is long pressed. // the fab when it is long pressed.
// mDoneButton.setRippleColor(/*your color here*/); // mDoneButton.setRippleColor(/*your color here*/);
view.findViewById(R.id.half_day_toggles).setBackgroundColor(mThemeDark? /*lightGray : circleBackground*/ darkGray : white);
// Set the color on the half-day toggles
view.findViewById(R.id.half_day_toggles).setBackgroundColor(mThemeDark? /*lightGray : circleBackground*/ darkGray : white);
mHalfDayToggleSelectedColor = accentColor;
// mHalfDayToggleUnselectedColor = Utils.getTextColorFromThemeAttr(getContext(),
// // The colors are in the correct order, which happens to be the reverse of the order
// // used in the NumbersGrids...
// mThemeDark? android.R.attr.textColorPrimaryInverse : android.R.attr.textColorPrimary);
mHalfDayToggleUnselectedColor = ContextCompat.getColor(getContext(),
mThemeDark? R.color.text_color_primary_dark : R.color.text_color_primary_light);
updateHalfDayTogglesState(mTimePicker.getIsCurrentlyAmOrPm());
return view; return view;
} }
@ -497,6 +519,25 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
} }
} }
/**
* Update the indicator of the toggle buttons to show the given half-day as selected.
* @param halfDay the half-day that should be shown as selected
*/
private void updateHalfDayTogglesState(int halfDay) {
TextView leftHalfDayToggle = (TextView) mLeftHalfDayToggle.getChildAt(0);
TextView rightHalfDayToggle = (TextView) mRightHalfDayToggle.getChildAt(0);
switch (halfDay) {
case HALF_DAY_1:
leftHalfDayToggle.setTextColor(mHalfDayToggleSelectedColor);
rightHalfDayToggle.setTextColor(mHalfDayToggleUnselectedColor);
break;
case HALF_DAY_2:
rightHalfDayToggle.setTextColor(mHalfDayToggleSelectedColor);
leftHalfDayToggle.setTextColor(mHalfDayToggleUnselectedColor);
break;
}
}
@Override @Override
public void onSaveInstanceState(Bundle outState) { public void onSaveInstanceState(Bundle outState) {
if (mTimePicker != null) { if (mTimePicker != null) {
@ -533,6 +574,7 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
mTimePicker.setContentDescription(mMinutePickerDescription + ": " + newValue); mTimePicker.setContentDescription(mMinutePickerDescription + ": " + newValue);
} else if (pickerIndex == AMPM_INDEX) { } else if (pickerIndex == AMPM_INDEX) {
updateAmPmDisplay(newValue); updateAmPmDisplay(newValue);
updateHalfDayTogglesState(newValue);
} else if (pickerIndex == ENABLE_PICKER_INDEX) { } else if (pickerIndex == ENABLE_PICKER_INDEX) {
if (!isTypedTimeFullyLegal()) { if (!isTypedTimeFullyLegal()) {
mTypedTimes.clear(); mTypedTimes.clear();

View File

@ -2,11 +2,13 @@ package com.philliphsu.clock2.editalarm;
import android.content.Context; import android.content.Context;
import android.support.annotation.LayoutRes; import android.support.annotation.LayoutRes;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.GridLayout; import android.support.v7.widget.GridLayout;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.philliphsu.clock2.R;
import com.philliphsu.clock2.aospdatetimepicker.Utils; import com.philliphsu.clock2.aospdatetimepicker.Utils;
/** /**
@ -20,8 +22,11 @@ public abstract class NumbersGrid extends GridLayout implements View.OnClickList
OnNumberSelectedListener mSelectionListener; OnNumberSelectedListener mSelectionListener;
View mLastSelectedView; View mLastSelectedView;
private final int mDefaultTextColor;
private final int mSelectedTextColor; private final int mSelectedTextColor;
// TODO: The half-day buttons in the dialog's layout also need to use this color.
// Consider moving this to either the Dialog class, or move the buttons and the FAB
// to the GridSelectorLayout class and then move these to GridSelectorLayout.
int mDefaultTextColor;
private boolean mIsInitialized; private boolean mIsInitialized;
private int mSelection; // The number selected from this grid private int mSelection; // The number selected from this grid
@ -41,7 +46,8 @@ public abstract class NumbersGrid extends GridLayout implements View.OnClickList
// our subclasses' buttons, if any. // our subclasses' buttons, if any.
registerClickListeners(); registerClickListeners();
mIsInitialized = false; mIsInitialized = false;
mDefaultTextColor = Utils.getTextColorPrimary(context); // mDefaultTextColor = Utils.getTextColorFromThemeAttr(context, android.R.attr.textColorPrimary);
mDefaultTextColor = ContextCompat.getColor(context, R.color.text_color_primary_light);
mSelectedTextColor = Utils.getThemeAccentColor(context); mSelectedTextColor = Utils.getThemeAccentColor(context);
// Show the first button as default selected // Show the first button as default selected
setIndicator(getChildAt(indexOfDefaultValue())); setIndicator(getChildAt(indexOfDefaultValue()));
@ -123,8 +129,26 @@ public abstract class NumbersGrid extends GridLayout implements View.OnClickList
return 0; return 0;
} }
/**
* The default implementation sets the appropriate text color on all of the number buttons
* as determined by {@link #canRegisterClickListener(View)}.
*/
void setTheme(Context context, boolean themeDark) { void setTheme(Context context, boolean themeDark) {
// TODO: Change background color and text color // mDefaultTextColor = Utils.getTextColorFromThemeAttr(context, themeDark?
// // You may think the order should be switched, but this is in fact the correct order.
// // I'm guessing this is sensitive to the background color?
// android.R.attr.textColorPrimary : android.R.attr.textColorPrimaryInverse);
mDefaultTextColor = ContextCompat.getColor(context, themeDark?
R.color.text_color_primary_dark : R.color.text_color_primary_light);
for (int i = 0; i < getChildCount(); i++) {
View v = getChildAt(i);
// Filter out views that aren't number buttons
if (canRegisterClickListener(v)) {
((TextView) v).setTextColor(mDefaultTextColor);
}
}
// Set the indicator again
setIndicator(getChildAt(indexOfDefaultValue()));
} }
/** /**

View File

@ -60,6 +60,14 @@ public class TwentyFourHourGridItem extends LinearLayout {
setSecondaryText(primary); setSecondaryText(primary);
} }
public TextView getPrimaryTextView() {
return (TextView) getChildAt(0);
}
public TextView getSecondaryTextView() {
return (TextView) getChildAt(1);
}
private void init() { private void init() {
setOrientation(VERTICAL); setOrientation(VERTICAL);
setGravity(Gravity.CENTER); setGravity(Gravity.CENTER);

View File

@ -1,6 +1,7 @@
package com.philliphsu.clock2.editalarm; package com.philliphsu.clock2.editalarm;
import android.content.Context; import android.content.Context;
import android.support.v4.content.ContextCompat;
import android.view.View; import android.view.View;
import com.philliphsu.clock2.R; import com.philliphsu.clock2.R;
@ -11,11 +12,15 @@ import com.philliphsu.clock2.R;
public class TwentyFourHoursGrid extends NumbersGrid implements View.OnLongClickListener { public class TwentyFourHoursGrid extends NumbersGrid implements View.OnLongClickListener {
private static final String TAG = "TwentyFourHoursGrid"; private static final String TAG = "TwentyFourHoursGrid";
private int mSecondaryTextColor;
public TwentyFourHoursGrid(Context context) { public TwentyFourHoursGrid(Context context) {
super(context); super(context);
for (int i = 0; i < getChildCount(); i++) { for (int i = 0; i < getChildCount(); i++) {
getChildAt(i).setOnLongClickListener(this); getChildAt(i).setOnLongClickListener(this);
} }
// mSecondaryTextColor = Utils.getTextColorFromThemeAttr(context, android.R.attr.textColorSecondary);
mSecondaryTextColor = ContextCompat.getColor(context, R.color.text_color_secondary_light);
} }
@Override @Override
@ -56,8 +61,34 @@ public class TwentyFourHoursGrid extends NumbersGrid implements View.OnLongClick
@Override @Override
protected void setIndicator(View view) { protected void setIndicator(View view) {
TwentyFourHourGridItem item = (TwentyFourHourGridItem) view; TwentyFourHourGridItem item = (TwentyFourHourGridItem) view;
// Set indicator on the primary TextView super.setIndicator(item.getPrimaryTextView());
super.setIndicator(item.getChildAt(0)); }
@Override
void setTheme(Context context, boolean themeDark) {
// mDefaultTextColor = Utils.getTextColorFromThemeAttr(context, themeDark?
// // You may think the order should be switched, but this is in fact the correct order.
// // I'm guessing this is sensitive to the background color?
// android.R.attr.textColorPrimary : android.R.attr.textColorPrimaryInverse);
mDefaultTextColor = ContextCompat.getColor(context, themeDark?
R.color.text_color_primary_dark : R.color.text_color_primary_light);
// https://www.reddit.com/r/androiddev/comments/2jpeqd/dealing_with_themematerial_vs_themeholo/
// For pre-21, textColorPrimary == textColorSecondary. Use textColorTertiary instead.
// For 21 and above, textColorSecondary == textColorTertiary == pre-21 textColorTertiary.
// Therefore, use textColorTertiary for both.
// mSecondaryTextColor = Utils.getTextColorFromThemeAttr(context, themeDark?
// // You may think the order should be switched, but this is in fact the correct order.
// // I'm guessing this is sensitive to the background color?
// android.R.attr.textColorSecondary : android.R.attr.textColorSecondaryInverse);
mSecondaryTextColor = ContextCompat.getColor(context, themeDark?
R.color.text_color_secondary_dark : R.color.text_color_secondary_light);
for (int i = 0; i < getChildCount(); i++) {
TwentyFourHourGridItem item = (TwentyFourHourGridItem) getChildAt(i);
item.getPrimaryTextView().setTextColor(mDefaultTextColor);
item.getSecondaryTextView().setTextColor(mSecondaryTextColor);
}
// Set the indicator again
setIndicator(getChildAt(indexOfDefaultValue()));
} }
public void swapTexts() { public void swapTexts() {

View File

@ -93,7 +93,7 @@ public class TimerNotificationService extends Service {
private void showNotification() { private void showNotification() {
// Base note // Base note
NotificationCompat.Builder builder = new NotificationCompat.Builder(this) NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_half_day_1_black_24dp) // TODO: correct icon .setSmallIcon(R.drawable.ic_half_day_1_24dp) // TODO: correct icon
.setShowWhen(false) .setShowWhen(false)
.setOngoing(true); .setOngoing(true);
// TODO: Set content intent so that when clicked, we launch // TODO: Set content intent so that when clicked, we launch

View File

@ -69,7 +69,7 @@ public class TimerRingtoneService extends RingtoneService<Timer> {
return new NotificationCompat.Builder(this) return new NotificationCompat.Builder(this)
.setContentTitle(title) .setContentTitle(title)
.setContentText(getString(R.string.times_up)) .setContentText(getString(R.string.times_up))
.setSmallIcon(R.drawable.ic_half_day_1_black_24dp) // TODO: correct icon .setSmallIcon(R.drawable.ic_half_day_1_24dp) // TODO: correct icon
.setShowWhen(false) // TODO: Should we show this? .setShowWhen(false) // TODO: Should we show this?
// .setOngoing(true) // foreground notes are ongoing by default // .setOngoing(true) // foreground notes are ongoing by default
.addAction(R.drawable.ic_add_circle_24dp, // TODO: correct icon .addAction(R.drawable.ic_add_circle_24dp, // TODO: correct icon

View File

@ -64,7 +64,7 @@ public class TimesUpActivity extends RingtoneActivity<Timer> {
@Override @Override
protected int getAutoSilencedDrawable() { protected int getAutoSilencedDrawable() {
// TODO: correct icon // TODO: correct icon
return R.drawable.ic_half_day_1_black_24dp; return R.drawable.ic_half_day_1_24dp;
} }
@Override @Override
@ -85,7 +85,7 @@ public class TimesUpActivity extends RingtoneActivity<Timer> {
@Override @Override
protected int getLeftButtonDrawable() { protected int getLeftButtonDrawable() {
// TODO: correct icon // TODO: correct icon
return R.drawable.ic_half_day_1_black_24dp; return R.drawable.ic_half_day_1_24dp;
} }
@Override @Override

View File

@ -5,5 +5,5 @@
android:toDegrees="180" android:toDegrees="180"
android:pivotX="50%" android:pivotX="50%"
android:pivotY="50%" android:pivotY="50%"
android:drawable="@drawable/ic_half_day_1_black_24dp"> android:drawable="@drawable/ic_half_day_2_dark_24dp">
</rotate> </rotate>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- http://stackoverflow.com/a/8716798/5055032 -->
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="180"
android:toDegrees="180"
android:pivotX="50%"
android:pivotY="50%"
android:drawable="@drawable/ic_half_day_1_24dp">
</rotate>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFF"
android:pathData="M20,15.31L23.31,12 20,8.69V4h-4.69L12,0.69 8.69,4H4v4.69L0.69,12 4,15.31V20h4.69L12,23.31 15.31,20H20v-4.69zM12,18V6c3.31,0 6,2.69 6,6s-2.69,6 -6,6z"/>
</vector>

View File

@ -136,7 +136,7 @@
android:id="@+id/fab" android:id="@+id/fab"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/ic_half_day_1_black_24dp" android:src="@drawable/ic_half_day_1_24dp"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"/> android:layout_alignParentBottom="true"/>

View File

@ -34,7 +34,7 @@
android:id="@+id/auto_silenced_text" android:id="@+id/auto_silenced_text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:drawableTop="@drawable/ic_half_day_1_black_24dp" android:drawableTop="@drawable/ic_half_day_1_24dp"
android:drawablePadding="8dp" android:drawablePadding="8dp"
android:text="@string/alarm_auto_silenced_text" android:text="@string/alarm_auto_silenced_text"
style="@style/TextAppearance.AppCompat.Large.Inverse" style="@style/TextAppearance.AppCompat.Large.Inverse"

View File

@ -41,7 +41,7 @@
android:id="@+id/add_one_minute" android:id="@+id/add_one_minute"
android:layout_width="48dp" android:layout_width="48dp"
android:layout_height="48dp" android:layout_height="48dp"
android:src="@drawable/ic_half_day_1_black_24dp" android:src="@drawable/ic_half_day_1_24dp"
android:background="?selectableItemBackground" android:background="?selectableItemBackground"
android:layout_below="@id/progress_bar" android:layout_below="@id/progress_bar"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
@ -51,7 +51,7 @@
android:id="@+id/start_pause" android:id="@+id/start_pause"
android:layout_width="48dp" android:layout_width="48dp"
android:layout_height="48dp" android:layout_height="48dp"
android:src="@drawable/ic_half_day_1_black_24dp" android:src="@drawable/ic_half_day_1_24dp"
android:background="?selectableItemBackground" android:background="?selectableItemBackground"
android:layout_below="@id/progress_bar" android:layout_below="@id/progress_bar"
android:layout_centerHorizontal="true"/> android:layout_centerHorizontal="true"/>
@ -60,7 +60,7 @@
android:id="@+id/stop" android:id="@+id/stop"
android:layout_width="48dp" android:layout_width="48dp"
android:layout_height="48dp" android:layout_height="48dp"
android:src="@drawable/ic_half_day_1_black_24dp" android:src="@drawable/ic_half_day_1_24dp"
android:background="?selectableItemBackground" android:background="?selectableItemBackground"
android:layout_below="@id/progress_bar" android:layout_below="@id/progress_bar"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"

View File

@ -17,7 +17,7 @@
<resources> <resources>
<color name="circle_background">#f2f2f2</color> <color name="circle_background">#f2f2f2</color>
<color name="line_background">#cccccc</color> <color name="line_background">#1f000000</color> <!--12% black. Originally #cccccc-->
<color name="ampm_text_color">#8c8c8c</color> <color name="ampm_text_color">#8c8c8c</color>
<color name="done_text_color_normal">#000000</color> <color name="done_text_color_normal">#000000</color>
<color name="done_text_color_disabled">#cccccc</color> <color name="done_text_color_disabled">#cccccc</color>
@ -38,13 +38,17 @@
<!-- Colors for red theme --> <!-- Colors for red theme -->
<color name="red">#ff3333</color> <color name="red">#ff3333</color>
<color name="red_focused">#853333</color> <color name="red_focused">#853333</color>
<color name="light_gray">#424242</color> <!--Grey 800. Originally #404040--> <color name="light_gray">#303030</color> <!--800 < Grey < 900. Originally #404040-->
<color name="dark_gray">#212121</color> <!--Grey 900. Originally #363636--> <color name="dark_gray">#212121</color> <!--Grey 900. Originally #363636-->
<color name="line_dark">#808080</color> <color name="line_dark">#1fffffff</color> <!--12% white. Originally #808080-->
<color name="done_text_color_dark_normal">#ffffff</color> <color name="done_text_color_dark_normal">#ffffff</color>
<color name="done_text_color_dark_disabled">#888888</color> <color name="done_text_color_dark_disabled">#888888</color>
<color name="done_disabled_dark">#bfbfbf</color> <color name="done_disabled_dark">#bfbfbf</color>
<!--My stuff--> <!--My stuff-->
<color name="unselected_color">#a2ffffff</color><!--63%-64% white--> <color name="unselected_color">#80ffffff</color><!--50% white-->
<color name="text_color_primary_dark">#ffffffff</color> <!--100% white-->
<color name="text_color_primary_light">#de000000</color> <!--87% black-->
<color name="text_color_secondary_dark">#b3ffffff</color> <!--70% white-->
<color name="text_color_secondary_light">#8a000000</color> <!--54% black-->
</resources> </resources>