Skip to content
This repository has been archived by the owner on Nov 8, 2023. It is now read-only.

Commit

Permalink
Remove unnecessary right padding from time picker
Browse files Browse the repository at this point in the history
Symptom:
When the device language was set to Spanish, "A.M." label was not fully
displayed on the time picker widget. "M." was lacked.

Root cause:
There are unnecessary right paddings on the layout definition of time
picker. It uselessly consumes the room for ampm_layout.

Bug: 64498105
Change-Id: Ie52fafc0fb7d6d6ea5b0ca2eaeb53755d4aebc19
  • Loading branch information
Tetsutoki Shiozawa authored and shuntasato-sss committed Jan 8, 2019
1 parent f6209cf commit 7cbd194
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
13 changes: 9 additions & 4 deletions core/java/android/widget/TimePickerClockDelegate.java
Expand Up @@ -454,17 +454,14 @@ private void setAmPmStart(boolean isAmPmAtStart) {
(RelativeLayout.LayoutParams) mAmPmLayout.getLayoutParams();
if (params.getRule(RelativeLayout.RIGHT_OF) != 0
|| params.getRule(RelativeLayout.LEFT_OF) != 0) {
final int margin = (int) (mContext.getResources().getDisplayMetrics().density * 8);
// Horizontal mode, with AM/PM appearing to left/right of hours and minutes.
final boolean isAmPmAtLeft;
if (TextUtils.getLayoutDirectionFromLocale(mLocale) == View.LAYOUT_DIRECTION_LTR) {
isAmPmAtLeft = isAmPmAtStart;
} else {
isAmPmAtLeft = !isAmPmAtStart;
}
if (mIsAmPmAtLeft == isAmPmAtLeft) {
// AM/PM is already at the correct location. No change needed.
return;
}

if (isAmPmAtLeft) {
params.removeRule(RelativeLayout.RIGHT_OF);
Expand All @@ -473,6 +470,14 @@ private void setAmPmStart(boolean isAmPmAtStart) {
params.removeRule(RelativeLayout.LEFT_OF);
params.addRule(RelativeLayout.RIGHT_OF, mMinuteView.getId());
}

if (isAmPmAtStart) {
params.setMarginStart(0);
params.setMarginEnd(margin);
} else {
params.setMarginStart(margin);
params.setMarginEnd(0);
}
mIsAmPmAtLeft = isAmPmAtLeft;
} else if (params.getRule(RelativeLayout.BELOW) != 0
|| params.getRule(RelativeLayout.ABOVE) != 0) {
Expand Down
8 changes: 2 additions & 6 deletions core/res/res/layout/time_picker_header_material.xml
Expand Up @@ -76,16 +76,14 @@
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/minutes"
android:layout_alignBaseline="@+id/minutes"
android:paddingStart="4dp"
android:paddingEnd="4dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="0dp"
android:orientation="vertical"
android:baselineAlignedChildIndex="1">
<RadioButton
android:id="@+id/am_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:layout_marginBottom="-8dp"
Expand All @@ -101,8 +99,6 @@
android:id="@+id/pm_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:textAppearance="@style/TextAppearance.Material.TimePicker.AmPmLabel"
Expand Down

0 comments on commit 7cbd194

Please sign in to comment.