Skip to content

Commit 4727147

Browse files
703jokoGenkzsz11
authored andcommitted
SystemUI : introduce Big QS Clock optional [1/2]
inspired by OOS CLOCK style Signed-off-by: 703joko <703joko@gmail.com>
1 parent ee4771b commit 4727147

7 files changed

Lines changed: 295 additions & 79 deletions

File tree

core/java/android/provider/Settings.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6531,6 +6531,18 @@ public static void setShowGTalkServiceStatusForUser(ContentResolver cr, boolean
65316531
*/
65326532
public static final String STATUS_BAR_SHOW_LYRIC = "status_bar_show_lyric";
65336533

6534+
/**
6535+
* toggle clock location
6536+
* @hide
6537+
*/
6538+
public static final String QS_CLOCK_LOCATION = "qs_clock_location";
6539+
6540+
/**
6541+
* toggle clock gravity
6542+
* @hide
6543+
*/
6544+
public static final String QS_CLOCK_GRAVITY = "clock_gravity";
6545+
65346546
/**
65356547
* Keys we no longer back up under the current schema, but want to continue to
65366548
* process when restoring historical backup datasets.

packages/SystemUI/res/layout/quick_qs_status_icons.xml

Lines changed: 66 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,82 @@
1919
android:id="@+id/quick_qs_status_icons"
2020
android:layout_width="match_parent"
2121
android:layout_height="wrap_content"
22+
android:maxHeight="@dimen/qs_header_tooltip_height"
2223
android:paddingTop="@dimen/qs_header_top_padding"
2324
android:paddingBottom="@dimen/qs_header_bottom_padding"
2425
android:layout_below="@id/quick_status_bar_system_icons"
2526
android:clipChildren="false"
2627
android:clipToPadding="false"
27-
android:minHeight="20dp"
28+
android:minHeight="15dp"
2829
android:clickable="false"
2930
android:focusable="true"
3031
android:theme="@style/QSHeaderTheme">
3132

32-
<com.android.systemui.statusbar.policy.DateView
33-
android:id="@+id/date"
34-
android:layout_width="wrap_content"
33+
<LinearLayout
3534
android:layout_height="wrap_content"
36-
android:layout_gravity="start|center_vertical"
37-
android:gravity="center_vertical"
38-
android:singleLine="true"
39-
android:textAppearance="@style/TextAppearance.QS.Status"
40-
systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" />
35+
android:layout_width="wrap_content"
36+
android:layout_marginStart="4dp"
37+
android:orientation="vertical"
38+
android:gravity="start">
39+
40+
<LinearLayout
41+
android:id="@+id/clock_layout"
42+
android:gravity="start|bottom|center"
43+
android:orientation="horizontal"
44+
android:paddingStart="@dimen/status_bar_start_padding"
45+
android:layout_width="match_parent"
46+
android:layout_height="wrap_content">
47+
48+
<RelativeLayout
49+
android:layout_width="wrap_content"
50+
android:layout_height="wrap_content">
51+
52+
<TextClock
53+
android:textSize="16.0dip"
54+
android:textColor="?android:textColorPrimary"
55+
android:layout_gravity="start|bottom|center"
56+
android:layout_width="wrap_content"
57+
android:layout_height="wrap_content"
58+
android:singleLine="true"
59+
android:format12Hour="kk"
60+
android:format24Hour="kk" />
61+
62+
<TextClock
63+
android:textSize="16.0dip"
64+
android:textColor="@*android:color/accent_device_default"
65+
android:layout_gravity="start|bottom|center"
66+
android:layout_width="wrap_content"
67+
android:layout_height="wrap_content"
68+
android:singleLine="true"
69+
android:maxLength="1"
70+
android:format12Hour="kk"
71+
android:format24Hour="kk" />
72+
73+
</RelativeLayout>
74+
75+
<TextClock
76+
android:textSize="16.0dip"
77+
android:textColor="?android:textColorPrimary"
78+
android:layout_gravity="start|bottom|center"
79+
android:layout_width="wrap_content"
80+
android:layout_height="wrap_content"
81+
android:singleLine="true"
82+
android:format12Hour=":mm"
83+
android:format24Hour=":mm" />
84+
85+
</LinearLayout>
86+
87+
<com.android.systemui.statusbar.policy.DateView
88+
android:id="@+id/date"
89+
android:layout_width="wrap_content"
90+
android:layout_height="wrap_content"
91+
android:paddingStart="@dimen/status_bar_start_padding"
92+
android:layout_gravity="start|center_vertical"
93+
android:gravity="center_vertical"
94+
android:singleLine="true"
95+
android:textAppearance="@style/TextAppearance.QS.Status"
96+
systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" />
97+
</LinearLayout>
4198

4299
<com.android.systemui.statusbar.phone.StatusIconContainer
43100
android:id="@+id/statusIcons"

packages/SystemUI/res/layout/quick_settings_header_info.xml

Lines changed: 129 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -17,85 +17,151 @@
1717
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
1818
android:id="@+id/header_text_container"
1919
android:layout_width="match_parent"
20-
android:layout_height="@dimen/qs_header_tooltip_height"
20+
android:layout_height="wrap_content"
2121
android:layout_below="@id/quick_status_bar_system_icons"
2222
android:visibility="invisible"
2323
android:theme="@style/QSHeaderTheme"
24-
android:forceHasOverlappingRendering="false">
24+
android:orientation="vertical"
25+
android:layout_gravity="center"
26+
android:layout_marginTop="10dip"
27+
android:layout_marginBottom="5dip"
28+
android:paddingStart="@dimen/status_bar_start_padding"
29+
android:forceHasOverlappingRendering="true">
2530

26-
<com.android.systemui.qs.QSHeaderInfoLayout
27-
android:id="@+id/status_container"
28-
android:layout_width="0dp"
29-
android:layout_weight="1"
30-
android:layout_height="match_parent">
31+
<LinearLayout
32+
android:id="@+id/big_clock_layout"
33+
android:layout_gravity="center"
34+
android:layout_marginBottom="-5dip"
35+
android:layout_marginStart="8.0dip"
36+
android:layout_marginEnd="8.0dip"
37+
android:layout_width="match_parent"
38+
android:layout_height="wrap_content">
39+
40+
<RelativeLayout
41+
android:id="@+id/big_clock"
42+
android:layout_width="wrap_content"
43+
android:layout_height="wrap_content">
44+
45+
<TextClock
46+
android:id="@+id/full_clock"
47+
android:textSize="38.0dip"
48+
android:textColor="?android:textColorPrimary"
49+
android:layout_gravity="start|bottom|center"
50+
android:layout_width="wrap_content"
51+
android:layout_height="wrap_content"
52+
android:singleLine="true"
53+
android:format12Hour="kk:mm"
54+
android:format24Hour="kk:mm" />
55+
56+
<TextClock
57+
android:textSize="38.0dip"
58+
android:textColor="@*android:color/accent_device_default"
59+
android:layout_gravity="start|bottom|center"
60+
android:layout_width="wrap_content"
61+
android:layout_height="wrap_content"
62+
android:singleLine="true"
63+
android:maxLength="1"
64+
android:format12Hour="kk"
65+
android:format24Hour="kk" />
66+
67+
</RelativeLayout>
68+
69+
<TextClock
70+
android:id="@+id/qs_date"
71+
android:textSize="16.0dip"
72+
android:textColor="?android:textColorPrimary"
73+
android:layout_width="wrap_content"
74+
android:layout_height="wrap_content"
75+
android:singleLine="true"
76+
android:layout_marginStart="8.0dip"
77+
android:format12Hour="EEEE, d MMMM"
78+
android:format24Hour="EEEE, d MMMM" />
79+
80+
</LinearLayout>
81+
82+
<LinearLayout
83+
android:gravity="center"
84+
android:layout_gravity="center"
85+
android:layout_width="match_parent"
86+
android:layout_height="wrap_content"
87+
android:layout_marginStart="5.0dip"
88+
android:paddingTop="8.0dp">
3189

3290
<LinearLayout
33-
android:id = "@+id/alarm_container"
91+
android:id="@+id/status_container"
3492
android:layout_width="wrap_content"
35-
android:layout_height="match_parent"
36-
android:gravity="center_vertical"
37-
android:focusable="true"
38-
android:clickable="true">
39-
40-
<ImageView
41-
android:id="@+id/next_alarm_icon"
42-
android:layout_width="@dimen/qs_header_alarm_icon_size"
43-
android:layout_height="@dimen/qs_header_alarm_icon_size"
44-
android:src="@drawable/ic_alarm"
45-
android:contentDescription="@string/accessibility_quick_settings_alarm_set"
46-
android:visibility="gone"/>
93+
android:layout_height="wrap_content">
4794

48-
<com.android.systemui.util.AutoMarqueeTextView
49-
android:id="@+id/next_alarm_text"
95+
<LinearLayout
96+
android:id="@+id/alarm_container"
5097
android:layout_width="wrap_content"
5198
android:layout_height="wrap_content"
52-
android:singleLine="true"
53-
android:ellipsize="marquee"
54-
android:marqueeRepeatLimit="marquee_forever"
55-
android:layout_marginStart="@dimen/qs_header_alarm_text_margin_start"
56-
android:textAppearance="@style/TextAppearance.QS.Status"
57-
android:visibility="gone"/>
58-
</LinearLayout>
99+
android:gravity="center_vertical"
100+
android:focusable="true"
101+
android:clickable="true">
59102

60-
<View
61-
android:id="@+id/status_separator"
62-
android:layout_width="@dimen/qs_header_separator_width"
63-
android:layout_height="match_parent"
64-
android:visibility="gone"/>
103+
<ImageView
104+
android:id="@+id/next_alarm_icon"
105+
android:layout_width="@dimen/qs_header_alarm_icon_size"
106+
android:layout_height="@dimen/qs_header_alarm_icon_size"
107+
android:src="@drawable/ic_alarm"
108+
android:contentDescription="@string/accessibility_quick_settings_alarm_set"
109+
android:visibility="gone"/>
65110

66-
<LinearLayout
67-
android:id = "@+id/ringer_container"
68-
android:layout_width="wrap_content"
69-
android:layout_height="match_parent"
70-
android:gravity="center_vertical"
71-
android:focusable="true"
72-
android:clickable="true">
73-
74-
<ImageView
75-
android:id="@+id/ringer_mode_icon"
76-
android:layout_width="@dimen/qs_header_alarm_icon_size"
77-
android:layout_height="@dimen/qs_header_alarm_icon_size"
111+
<com.android.systemui.util.AutoMarqueeTextView
112+
android:id="@+id/next_alarm_text"
113+
android:layout_width="wrap_content"
114+
android:layout_height="wrap_content"
115+
android:singleLine="true"
116+
android:ellipsize="marquee"
117+
android:marqueeRepeatLimit="marquee_forever"
118+
android:layout_marginStart="@dimen/qs_header_alarm_text_margin_start"
119+
android:textAppearance="@style/TextAppearance.QS.Status"
120+
android:visibility="gone"/>
121+
</LinearLayout>
122+
123+
<View
124+
android:id="@+id/status_separator"
125+
android:layout_width="@dimen/qs_header_separator_width"
126+
android:layout_height="2dp"
78127
android:visibility="gone"/>
79128

80-
<com.android.systemui.util.AutoMarqueeTextView
81-
android:id="@+id/ringer_mode_text"
129+
<LinearLayout
130+
android:id="@+id/ringer_container"
82131
android:layout_width="wrap_content"
83132
android:layout_height="wrap_content"
84-
android:singleLine="true"
85-
android:ellipsize="marquee"
86-
android:marqueeRepeatLimit="marquee_forever"
87-
android:layout_marginStart="@dimen/qs_header_alarm_text_margin_start"
88-
android:textAppearance="@style/TextAppearance.QS.Status"
89-
android:visibility="gone"/>
133+
android:gravity="center_vertical"
134+
android:focusable="true"
135+
android:clickable="true">
136+
137+
<ImageView
138+
android:id="@+id/ringer_mode_icon"
139+
android:layout_width="@dimen/qs_header_alarm_icon_size"
140+
android:layout_height="@dimen/qs_header_alarm_icon_size"
141+
android:visibility="gone"/>
142+
143+
<com.android.systemui.util.AutoMarqueeTextView
144+
android:id="@+id/ringer_mode_text"
145+
android:layout_width="wrap_content"
146+
android:layout_height="wrap_content"
147+
android:singleLine="true"
148+
android:ellipsize="marquee"
149+
android:marqueeRepeatLimit="marquee_forever"
150+
android:layout_marginStart="@dimen/qs_header_alarm_text_margin_start"
151+
android:textAppearance="@style/TextAppearance.QS.Status"
152+
android:visibility="gone"/>
153+
</LinearLayout>
90154
</LinearLayout>
91-
</com.android.systemui.qs.QSHeaderInfoLayout>
92-
93-
<include layout="@layout/qs_carrier_group"
94-
android:id="@+id/carrier_group"
95-
android:layout_width="wrap_content"
96-
android:layout_height="match_parent"
97-
android:layout_marginStart="@dimen/qs_status_separator"
98-
android:layout_gravity="end|center_vertical"
99-
android:focusable="false"/>
155+
156+
<include layout="@layout/qs_carrier_group"
157+
android:id="@+id/carrier_group"
158+
android:layout_height="wrap_content"
159+
android:layout_width="0dp"
160+
android:layout_weight="1"
161+
android:layout_marginStart="@dimen/qs_status_separator"
162+
android:layout_gravity="end|center_vertical"
163+
android:focusable="false"/>
164+
165+
</LinearLayout>
100166

101167
</LinearLayout>

packages/SystemUI/res/layout/quick_status_bar_header_system_icons.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
xmlns:systemui="http://schemas.android.com/apk/res-auto"
2020
android:id="@+id/quick_status_bar_system_icons"
2121
android:layout_width="match_parent"
22-
android:layout_height="@*android:dimen/quick_qs_offset_height"
22+
android:layout_height="wrap_content"
2323
android:clipChildren="false"
2424
android:clipToPadding="false"
2525
android:gravity="center"
@@ -45,6 +45,7 @@
4545
android:paddingEnd="@dimen/status_bar_left_clock_end_padding"
4646
android:singleLine="true"
4747
android:textAppearance="@style/TextAppearance.StatusBar.Clock"
48+
android:visibility="gone"
4849
systemui:showDark="false" />
4950
</LinearLayout>
5051

packages/SystemUI/res/values/dimens.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@
524524
<dimen name="qs_tile_padding_bottom">16dp</dimen>
525525
<dimen name="qs_tile_spacing">4dp</dimen>
526526
<dimen name="qs_panel_padding_bottom">0dp</dimen>
527-
<dimen name="qs_panel_padding_top">@dimen/qs_header_tooltip_height</dimen>
527+
<dimen name="qs_panel_padding_top">48dp</dimen>
528528
<dimen name="qs_detail_header_height">56dp</dimen>
529529
<dimen name="qs_detail_header_padding">0dp</dimen>
530530
<dimen name="qs_detail_image_width">56dp</dimen>
@@ -548,7 +548,7 @@
548548
<dimen name="qs_detail_item_icon_width">32dp</dimen>
549549
<dimen name="qs_detail_item_icon_marginStart">0dp</dimen>
550550
<dimen name="qs_detail_item_icon_marginEnd">20dp</dimen>
551-
<dimen name="qs_header_tooltip_height">48dp</dimen>
551+
<dimen name="qs_header_tooltip_height">98dp</dimen>
552552
<dimen name="qs_header_alarm_icon_size">@dimen/status_bar_icon_drawing_size</dimen>
553553
<dimen name="qs_header_mobile_icon_size">@dimen/status_bar_icon_drawing_size</dimen>
554554
<dimen name="qs_header_alarm_text_margin_start">6dp</dimen>

0 commit comments

Comments
 (0)