diff --git a/lib/java/com/google/android/material/timepicker/MaterialTimePicker.java b/lib/java/com/google/android/material/timepicker/MaterialTimePicker.java
index f30f4c0ec..8f441909e 100644
--- a/lib/java/com/google/android/material/timepicker/MaterialTimePicker.java
+++ b/lib/java/com/google/android/material/timepicker/MaterialTimePicker.java
@@ -248,7 +248,11 @@ public final class MaterialTimePicker extends DialogFragment implements OnDouble
if (time == null) {
time = new TimeModel();
}
- int defaultInputMode = time.format == CLOCK_24H ? INPUT_MODE_KEYBOARD : INPUT_MODE_CLOCK;
+
+ boolean forceKeyboardInputMode =
+ getResources().getBoolean(R.bool.timepicker_force_input_mode_keyboard);
+ int defaultInputMode =
+ forceKeyboardInputMode || time.format == CLOCK_24H ? INPUT_MODE_KEYBOARD : INPUT_MODE_CLOCK;
inputMode = bundle.getInt(INPUT_MODE_EXTRA, defaultInputMode);
titleResId = bundle.getInt(TITLE_RES_EXTRA, 0);
titleText = bundle.getCharSequence(TITLE_TEXT_EXTRA);
@@ -299,14 +303,11 @@ public final class MaterialTimePicker extends DialogFragment implements OnDouble
cancelButton = root.findViewById(R.id.material_timepicker_cancel_button);
cancelButton.setOnClickListener(
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- for (OnClickListener listener : negativeButtonListeners) {
- listener.onClick(v);
- }
- dismiss();
+ v -> {
+ for (OnClickListener listener : negativeButtonListeners) {
+ listener.onClick(v);
}
+ dismiss();
});
if (negativeButtonTextResId != 0) {
cancelButton.setText(negativeButtonTextResId);
@@ -317,12 +318,9 @@ public final class MaterialTimePicker extends DialogFragment implements OnDouble
updateCancelButtonVisibility();
modeButton.setOnClickListener(
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- inputMode = (inputMode == INPUT_MODE_CLOCK) ? INPUT_MODE_KEYBOARD : INPUT_MODE_CLOCK;
- updateInputMode(modeButton);
- }
+ v -> {
+ inputMode = (inputMode == INPUT_MODE_CLOCK) ? INPUT_MODE_KEYBOARD : INPUT_MODE_CLOCK;
+ updateInputMode(modeButton);
});
return root;
@@ -563,14 +561,11 @@ public final class MaterialTimePicker extends DialogFragment implements OnDouble
private TimeModel time = new TimeModel();
@Nullable private Integer inputMode;
- @StringRes
- private int titleTextResId = 0;
+ @StringRes private int titleTextResId = 0;
private CharSequence titleText;
- @StringRes
- private int positiveButtonTextResId = 0;
+ @StringRes private int positiveButtonTextResId = 0;
private CharSequence positiveButtonText;
- @StringRes
- private int negativeButtonTextResId = 0;
+ @StringRes private int negativeButtonTextResId = 0;
private CharSequence negativeButtonText;
private int overrideThemeResId = 0;
diff --git a/lib/java/com/google/android/material/timepicker/res/values-h320dp/config.xml b/lib/java/com/google/android/material/timepicker/res/values-h320dp/config.xml
new file mode 100644
index 000000000..8c73960ff
--- /dev/null
+++ b/lib/java/com/google/android/material/timepicker/res/values-h320dp/config.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ false
+
diff --git a/lib/java/com/google/android/material/timepicker/res/values/config.xml b/lib/java/com/google/android/material/timepicker/res/values/config.xml
new file mode 100644
index 000000000..94718d653
--- /dev/null
+++ b/lib/java/com/google/android/material/timepicker/res/values/config.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ true
+