Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec9fe1ad authored by Alan Viverette's avatar Alan Viverette
Browse files

Update radial time picker styling, clean up code

Uses activation color for picker background. Removes bounce animation
when switching between hour and minute pickers. Improves touch handling
when touch moves outside the circle. Cleans up use of string in XML
where float should have been used. Fixes layout so that padding can be
adjusted.

Change-Id: Ibc8e087a83ca522272cdcd434b36cf38583bf541
parent dbf22ccd
Loading
Loading
Loading
Loading
+26 −23
Original line number Diff line number Diff line
@@ -17789,22 +17789,22 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
     * by a MeasureSpec. Will take the desired size, unless a different size
     * is imposed by the constraints. The returned value is a compound integer,
     * with the resolved size in the {@link #MEASURED_SIZE_MASK} bits and
     * optionally the bit {@link #MEASURED_STATE_TOO_SMALL} set if the resulting
     * size is smaller than the size the view wants to be.
     * optionally the bit {@link #MEASURED_STATE_TOO_SMALL} set if the
     * resulting size is smaller than the size the view wants to be.
     *
     * @param size How big the view wants to be
     * @param measureSpec Constraints imposed by the parent
     * @param size How big the view wants to be.
     * @param measureSpec Constraints imposed by the parent.
     * @param childMeasuredState Size information bit mask for the view's
     *                           children.
     * @return Size information bit mask as defined by
     * {@link #MEASURED_SIZE_MASK} and {@link #MEASURED_STATE_TOO_SMALL}.
     *         {@link #MEASURED_SIZE_MASK} and
     *         {@link #MEASURED_STATE_TOO_SMALL}.
     */
    public static int resolveSizeAndState(int size, int measureSpec, int childMeasuredState) {
        int result = size;
        int specMode = MeasureSpec.getMode(measureSpec);
        int specSize =  MeasureSpec.getSize(measureSpec);
        final int specMode = MeasureSpec.getMode(measureSpec);
        final int specSize = MeasureSpec.getSize(measureSpec);
        final int result;
        switch (specMode) {
        case MeasureSpec.UNSPECIFIED:
            result = size;
            break;
            case MeasureSpec.AT_MOST:
                if (specSize < size) {
                    result = specSize | MEASURED_STATE_TOO_SMALL;
@@ -17815,6 +17815,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
            case MeasureSpec.EXACTLY:
                result = specSize;
                break;
            case MeasureSpec.UNSPECIFIED:
            default:
                result = size;
        }
        return result | (childMeasuredState & MEASURED_STATE_MASK);
    }
+254 −364

File changed.

Preview size limit exceeded, changes collapsed.

+5 −2
Original line number Diff line number Diff line
@@ -28,7 +28,10 @@
        android:layout_gravity="center" />
    <android.widget.RadialTimePickerView
        android:id="@+id/radial_picker"
        android:layout_width="wrap_content"
        android:layout_width="@dimen/timepicker_radial_picker_dimen"
        android:layout_height="@dimen/timepicker_radial_picker_dimen"
        android:layout_gravity="center" />
        android:layout_gravity="center"
        android:layout_marginTop="?attr/dialogPreferredPadding"
        android:layout_marginStart="?attr/dialogPreferredPadding"
        android:layout_marginEnd="?attr/dialogPreferredPadding" />
</LinearLayout>
+9 −12
Original line number Diff line number Diff line
@@ -354,18 +354,15 @@
    <dimen name="subtitle_outline_width">2dp</dimen>

    <!-- New TimePicker dimensions. -->
    <item name="timepicker_circle_radius_multiplier" format="float" type="string">0.82</item>
    <item name="timepicker_circle_radius_multiplier_24HourMode" format="float" type="string">0.85</item>
    <item name="timepicker_selection_radius_multiplier" format="float" type="string">0.16</item>
    <item name="timepicker_ampm_circle_radius_multiplier" format="float" type="string">0.19</item>
    <item name="timepicker_numbers_radius_multiplier_normal" format="float" type="string">0.81</item>
    <item name="timepicker_numbers_radius_multiplier_inner" format="float" type="string">0.60</item>
    <item name="timepicker_numbers_radius_multiplier_outer" format="float" type="string">0.83</item>
    <item name="timepicker_text_size_multiplier_normal" format="float" type="string">0.17</item>
    <item name="timepicker_text_size_multiplier_inner" format="float" type="string">0.14</item>
    <item name="timepicker_text_size_multiplier_outer" format="float" type="string">0.11</item>
    <item name="timepicker_transition_mid_radius_multiplier" format="float" type="string">0.95</item>
    <item name="timepicker_transition_end_radius_multiplier" format="float" type="string">1.3</item>
    <item name="timepicker_selection_radius_multiplier" format="float" type="dimen">0.16</item>
    <item name="timepicker_numbers_radius_multiplier_normal" format="float" type="dimen">0.81</item>
    <item name="timepicker_numbers_radius_multiplier_inner" format="float" type="dimen">0.60</item>
    <item name="timepicker_numbers_radius_multiplier_outer" format="float" type="dimen">0.83</item>
    <item name="timepicker_text_size_multiplier_normal" format="float" type="dimen">0.17</item>
    <item name="timepicker_text_size_multiplier_inner" format="float" type="dimen">0.14</item>
    <item name="timepicker_text_size_multiplier_outer" format="float" type="dimen">0.11</item>
    <item name="timepicker_transition_mid_radius_multiplier" format="float" type="dimen">0.95</item>
    <item name="timepicker_transition_end_radius_multiplier" format="float" type="dimen">1.3</item>

    <dimen name="timepicker_time_label_size">60sp</dimen>
    <dimen name="timepicker_extra_time_label_margin">-30dp</dimen>
+2 −2
Original line number Diff line number Diff line
@@ -652,12 +652,12 @@ please see styles_device_defaults.xml.
        <item name="headerAmPmTextAppearance">@style/TextAppearance.Material.TimePicker.AmPmLabel</item>
        <item name="headerSelectedTextColor">?attr/textColorPrimaryInverse</item>
        <item name="headerBackground">@drawable/time_picker_header_material</item>
        <item name="numbersTextColor">?attr/textColorSecondary</item>
        <item name="numbersTextColor">?attr/textColorSecondaryActivated</item>
        <item name="numbersBackgroundColor">#10ffffff</item>
        <item name="numbersSelectorColor">?attr/colorControlActivated</item>
        <item name="amPmTextColor">?attr/textColorSecondary</item>
        <item name="amPmBackgroundColor">@color/transparent</item>
        <item name="amPmSelectedBackgroundColor">?attr/colorControlActivated</item>
        <item name="numbersSelectorColor">?attr/colorControlActivated</item>
    </style>

    <style name="Widget.Material.DatePicker" parent="Widget.DatePicker">
Loading