diff --git a/app/src/main/java/com/philliphsu/clock2/editalarm/BaseTimePickerDialog.java b/app/src/main/java/com/philliphsu/clock2/editalarm/BaseTimePickerDialog.java
index df8faf4..51ba168 100644
--- a/app/src/main/java/com/philliphsu/clock2/editalarm/BaseTimePickerDialog.java
+++ b/app/src/main/java/com/philliphsu/clock2/editalarm/BaseTimePickerDialog.java
@@ -3,18 +3,17 @@ package com.philliphsu.clock2.editalarm;
import android.os.Bundle;
import android.support.annotation.LayoutRes;
import android.support.annotation.Nullable;
-import android.support.v4.app.DialogFragment;
+import android.support.design.widget.BottomSheetDialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.view.Window;
import butterknife.ButterKnife;
/**
* Created by Phillip Hsu on 7/16/2016.
*/
-public abstract class BaseTimePickerDialog extends DialogFragment {
+public abstract class BaseTimePickerDialog extends BottomSheetDialogFragment {
// TODO: Consider private access, and then writing package/protected API that subclasses
// can use to interface with this field.
@@ -50,9 +49,22 @@ public abstract class BaseTimePickerDialog extends DialogFragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
- getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
- View view = inflater.inflate(contentLayout(), container, false);
+ // Not needed for bottom sheet dialogs
+// getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
+ final View view = inflater.inflate(contentLayout(), container, false);
ButterKnife.bind(this, view);
+
+// // We're past onCreateDialog() in the lifecycle, so getDialog() will return something.
+// getDialog().setOnShowListener(new DialogInterface.OnShowListener() {
+// @Override
+// public void onShow(DialogInterface dialog) {
+// BottomSheetBehavior behavior = BottomSheetBehavior.from((View) view.getParent());
+// // Every time we show, show at our full height.
+// // TODO: This is the cause of our anchored FAB and number grid not showing!
+// behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
+// }
+// });
+
return view;
}
@@ -90,6 +102,7 @@ public abstract class BaseTimePickerDialog extends DialogFragment {
// @Override
// public Dialog onCreateDialog(Bundle savedInstanceState) {
// Dialog dialog = super.onCreateDialog(savedInstanceState);
+// //dialog = new BottomSheetDialog(getActivity(), R.style.AppTheme_AppCompatDialog/*crashes our app!*/);
// // We're past onCreate() in the lifecycle, so we can safely retrieve the host activity.
// View view = LayoutInflater.from(getActivity()).inflate(contentLayout(), null);
// /**
@@ -98,7 +111,7 @@ public abstract class BaseTimePickerDialog extends DialogFragment {
// * @see {@link BottomSheetDialog#wrapInBottomSheet(int, View, ViewGroup.LayoutParams)}
// */
// dialog.setContentView(view);
-// // Bind this fragment, not the internal dialog!
+// // Bind this fragment, not the internal dialog! (There is a bind(Dialog) API.)
// ButterKnife.bind(this, view);
// final BottomSheetBehavior behavior = BottomSheetBehavior.from((View) view.getParent());
// // When we collapse, collapse all the way. Do not be misled by the "docs" in
diff --git a/app/src/main/java/com/philliphsu/clock2/editalarm/NumberGridTimePickerDialog.java b/app/src/main/java/com/philliphsu/clock2/editalarm/NumberGridTimePickerDialog.java
index 11584ac..66a49e3 100644
--- a/app/src/main/java/com/philliphsu/clock2/editalarm/NumberGridTimePickerDialog.java
+++ b/app/src/main/java/com/philliphsu/clock2/editalarm/NumberGridTimePickerDialog.java
@@ -305,8 +305,12 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog /*DialogFra
return;
}
int value = Integer.parseInt(number);
- if (mCurrentIndex == HOUR_INDEX && !mIs24HourMode && mSelectedHalfDay == HALF_DAY_2) {
- value = (value % 12) + 12;
+ if (mCurrentIndex == HOUR_INDEX && !mIs24HourMode) {
+ if (value == 12 && mSelectedHalfDay == HALF_DAY_1) {
+ value = 0;
+ } else if (value != 12 && mSelectedHalfDay == HALF_DAY_2) {
+ value += 12;
+ }
}
onValueSelected(mCurrentIndex, value, true);
}
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 5e1560b..655baa7 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -6,6 +6,8 @@
- @color/colorPrimary
- @color/colorPrimaryDark
- @color/colorAccent
+
+ - @style/AppTheme.AppCompatDialog
@@ -57,7 +59,11 @@
+
+
+