Change color of time pickers to match theme.
This commit is contained in:
parent
598a6707de
commit
7b54878595
@ -17,9 +17,12 @@
|
|||||||
package com.philliphsu.clock2.dialogs;
|
package com.philliphsu.clock2.dialogs;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
import android.support.annotation.ColorInt;
|
||||||
import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentManager;
|
||||||
|
import android.support.v4.content.ContextCompat;
|
||||||
import android.text.format.DateFormat;
|
import android.text.format.DateFormat;
|
||||||
|
|
||||||
import com.philliphsu.bottomsheetpickers.time.BottomSheetTimePickerDialog;
|
import com.philliphsu.bottomsheetpickers.time.BottomSheetTimePickerDialog;
|
||||||
@ -52,16 +55,42 @@ public final class TimePickerDialogController extends DialogFragmentController<B
|
|||||||
BottomSheetTimePickerDialog dialog = null;
|
BottomSheetTimePickerDialog dialog = null;
|
||||||
final String numpadStyle = mContext.getString(R.string.number_pad);
|
final String numpadStyle = mContext.getString(R.string.number_pad);
|
||||||
final String gridStyle = mContext.getString(R.string.grid_selector);
|
final String gridStyle = mContext.getString(R.string.grid_selector);
|
||||||
String prefTimePickerStyle = PreferenceManager.getDefaultSharedPreferences(mContext)
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
|
||||||
.getString(mContext.getString(R.string.key_time_picker_style), numpadStyle);
|
String prefTimePickerStyle = prefs.getString(mContext.getString(R.string.key_time_picker_style), numpadStyle);
|
||||||
if (prefTimePickerStyle.equals(numpadStyle)) {
|
boolean isNumpadStyle = prefTimePickerStyle.equals(numpadStyle);
|
||||||
dialog = NumberPadTimePickerDialog.newInstance(mListener);
|
boolean isGridStyle = prefTimePickerStyle.equals(gridStyle);
|
||||||
} else if (prefTimePickerStyle.equals(gridStyle)) {
|
if (isNumpadStyle || isGridStyle) {
|
||||||
dialog = GridTimePickerDialog.newInstance(
|
final String themeLight = mContext.getString(R.string.theme_light);
|
||||||
mListener,
|
final String themeDark = mContext.getString(R.string.theme_dark);
|
||||||
initialHourOfDay,
|
final String themeBlack = mContext.getString(R.string.theme_black);
|
||||||
initialMinute,
|
String prefTheme = prefs.getString(mContext.getString(R.string.key_theme), themeLight);
|
||||||
DateFormat.is24HourFormat(mContext));
|
|
||||||
|
final int dialogColorRes;
|
||||||
|
if (prefTheme.equals(themeLight)) {
|
||||||
|
dialogColorRes = R.color.alert_dialog_background_color;
|
||||||
|
} else if (prefTheme.equals(themeDark)) {
|
||||||
|
dialogColorRes = R.color.alert_dialog_background_color_inverse;
|
||||||
|
} else if (prefTheme.equals(themeBlack)) {
|
||||||
|
dialogColorRes = R.color.alert_dialog_background_color_black;
|
||||||
|
} else {
|
||||||
|
dialogColorRes = 0;
|
||||||
|
}
|
||||||
|
final @ColorInt int dialogColor = ContextCompat.getColor(mContext, dialogColorRes);
|
||||||
|
if (isNumpadStyle) {
|
||||||
|
dialog = new NumberPadTimePickerDialog.Builder(mListener)
|
||||||
|
.setHeaderColor(dialogColor)
|
||||||
|
.setBackgroundColor(dialogColor)
|
||||||
|
.build();
|
||||||
|
} else {
|
||||||
|
dialog = new GridTimePickerDialog.Builder(
|
||||||
|
mListener,
|
||||||
|
initialHourOfDay,
|
||||||
|
initialMinute,
|
||||||
|
DateFormat.is24HourFormat(mContext))
|
||||||
|
.setHeaderColor(dialogColor)
|
||||||
|
.setBackgroundColor(dialogColor)
|
||||||
|
.build();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
SystemTimePickerDialog timepicker = SystemTimePickerDialog.newInstance(
|
SystemTimePickerDialog timepicker = SystemTimePickerDialog.newInstance(
|
||||||
mListener, initialHourOfDay, initialMinute, DateFormat.is24HourFormat(mContext));
|
mListener, initialHourOfDay, initialMinute, DateFormat.is24HourFormat(mContext));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user