Loading packages/SystemUI/res-keyguard/values/donottranslate.xml +3 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,9 @@ <!-- Skeleton string format for displaying the date when an alarm is set. --> <string name="abbrev_wday_month_day_no_year_alarm">EEEMMMd</string> <!-- Skeleton string format for displaying the date shorter. --> <string name="abbrev_month_day_no_year">MMMd</string> <!-- Skeleton string format for displaying the time in 12-hour format. --> <string name="clock_12hr_format">hm</string> Loading packages/SystemUI/res/layout/quick_qs_status_icons.xml +29 −8 Original line number Diff line number Diff line Loading @@ -26,6 +26,15 @@ android:focusable="true" android:theme="@style/Theme.SystemUI.QuickSettings.Header"> <LinearLayout android:id="@+id/clock_container" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="horizontal" android:layout_gravity="center_vertical|start" android:gravity="center_vertical|start" > <com.android.systemui.statusbar.policy.Clock android:id="@+id/clock" android:layout_width="wrap_content" Loading @@ -38,6 +47,18 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.QS.Status" /> <com.android.systemui.statusbar.policy.VariableDateView android:id="@+id/date_clock" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center_vertical|start" android:singleLine="true" android:textAppearance="@style/TextAppearance.QS.Status" systemui:longDatePattern="@string/abbrev_wday_month_day_no_year_alarm" systemui:shortDatePattern="@string/abbrev_month_day_no_year" /> </LinearLayout> <include layout="@layout/qs_carrier_group" android:id="@+id/carrier_group" android:layout_width="0dp" Loading packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml +4 −2 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ android:layout_weight="1" android:gravity="center_vertical|start" > <com.android.systemui.statusbar.policy.DateView <com.android.systemui.statusbar.policy.VariableDateView android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" Loading @@ -44,7 +44,9 @@ android:gravity="center_vertical" android:singleLine="true" android:textAppearance="@style/TextAppearance.QS.Status" systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" /> systemui:longDatePattern="@string/abbrev_wday_month_day_no_year_alarm" systemui:shortDatePattern="@string/abbrev_month_day_no_year" /> </FrameLayout> <android.widget.Space Loading packages/SystemUI/res/values/attrs.xml +4 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,10 @@ <declare-styleable name="DateView"> <attr name="datePattern" format="string" /> </declare-styleable> <declare-styleable name="VariableDateView"> <attr name="longDatePattern" format="string" /> <attr name="shortDatePattern" format="string" /> </declare-styleable> <declare-styleable name="PseudoGridView"> <attr name="numColumns" format="integer" /> <attr name="verticalSpacing" format="dimension" /> Loading packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +17 −5 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconMa import com.android.systemui.statusbar.phone.StatusBarWindowView; import com.android.systemui.statusbar.phone.StatusIconContainer; import com.android.systemui.statusbar.policy.Clock; import com.android.systemui.statusbar.policy.VariableDateView; import java.util.List; Loading @@ -62,11 +63,14 @@ public class QuickStatusBarHeader extends FrameLayout { protected QuickQSPanel mHeaderQsPanel; private View mDatePrivacyView; private View mDateView; // DateView next to clock. Visible on QQS private VariableDateView mClockDateView; private View mSecurityHeaderView; private View mClockIconsView; private View mContainer; private View mQSCarriers; private ViewGroup mClockContainer; private Clock mClockView; private Space mDatePrivacySeparator; private View mClockIconsSeparator; Loading @@ -86,7 +90,6 @@ public class QuickStatusBarHeader extends FrameLayout { private int mWaterfallTopInset; private int mCutOutPaddingLeft; private int mCutOutPaddingRight; private float mViewAlpha = 1.0f; private float mKeyguardExpansionFraction; private int mTextColorPrimary = Color.TRANSPARENT; private int mTopViewMeasureHeight; Loading Loading @@ -123,12 +126,14 @@ public class QuickStatusBarHeader extends FrameLayout { mIconContainer = findViewById(R.id.statusIcons); mPrivacyChip = findViewById(R.id.privacy_chip); mDateView = findViewById(R.id.date); mClockDateView = findViewById(R.id.date_clock); mSecurityHeaderView = findViewById(R.id.header_text_container); mClockIconsSeparator = findViewById(R.id.separator); mRightLayout = findViewById(R.id.rightLayout); mDateContainer = findViewById(R.id.date_container); mPrivacyContainer = findViewById(R.id.privacy_container); mClockContainer = findViewById(R.id.clock_container); mClockView = findViewById(R.id.clock); mDatePrivacySeparator = findViewById(R.id.space); // Tint for the battery icons are handled in setupHost() Loading Loading @@ -177,7 +182,7 @@ public class QuickStatusBarHeader extends FrameLayout { super.onMeasure(widthMeasureSpec, heightMeasureSpec); if (mDatePrivacyView.getMeasuredHeight() != mTopViewMeasureHeight) { mTopViewMeasureHeight = mDatePrivacyView.getMeasuredHeight(); updateAnimators(); post(this::updateAnimators); } } Loading Loading @@ -280,7 +285,8 @@ public class QuickStatusBarHeader extends FrameLayout { TouchAnimator.Builder builder = new TouchAnimator.Builder() .addFloat(mSecurityHeaderView, "alpha", 0, 1) // These views appear on expanding down .addFloat(mClockView, "alpha", 0, 1) .addFloat(mDateView, "alpha", 0, 0, 1) .addFloat(mClockDateView, "alpha", 1, 0, 0) .addFloat(mQSCarriers, "alpha", 0, 1) .setListener(new TouchAnimator.ListenerAdapter() { @Override Loading @@ -289,10 +295,14 @@ public class QuickStatusBarHeader extends FrameLayout { if (!mIsSingleCarrier) { mIconContainer.addIgnoredSlots(mRssiIgnoredSlots); } // Make it gone so there's enough room for carrier names mClockDateView.setVisibility(View.GONE); } @Override public void onAnimationStarted() { mClockDateView.setVisibility(View.VISIBLE); mClockDateView.setFreezeSwitching(true); setSeparatorVisibility(false); if (!mIsSingleCarrier) { mIconContainer.addIgnoredSlots(mRssiIgnoredSlots); Loading @@ -302,6 +312,7 @@ public class QuickStatusBarHeader extends FrameLayout { @Override public void onAnimationAtStart() { super.onAnimationAtStart(); mClockDateView.setFreezeSwitching(false); setSeparatorVisibility(mShowClockIconsSeparator); // In QQS we never ignore RSSI. mIconContainer.removeIgnoredSlots(mRssiIgnoredSlots); Loading Loading @@ -434,10 +445,11 @@ public class QuickStatusBarHeader extends FrameLayout { mClockIconsSeparator.setVisibility(visible ? View.VISIBLE : View.GONE); mQSCarriers.setVisibility(visible ? View.GONE : View.VISIBLE); LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mClockView.getLayoutParams(); LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mClockContainer.getLayoutParams(); lp.width = visible ? 0 : WRAP_CONTENT; lp.weight = visible ? 1f : 0f; mClockView.setLayoutParams(lp); mClockContainer.setLayoutParams(lp); lp = (LinearLayout.LayoutParams) mRightLayout.getLayoutParams(); lp.width = visible ? 0 : WRAP_CONTENT; Loading Loading
packages/SystemUI/res-keyguard/values/donottranslate.xml +3 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,9 @@ <!-- Skeleton string format for displaying the date when an alarm is set. --> <string name="abbrev_wday_month_day_no_year_alarm">EEEMMMd</string> <!-- Skeleton string format for displaying the date shorter. --> <string name="abbrev_month_day_no_year">MMMd</string> <!-- Skeleton string format for displaying the time in 12-hour format. --> <string name="clock_12hr_format">hm</string> Loading
packages/SystemUI/res/layout/quick_qs_status_icons.xml +29 −8 Original line number Diff line number Diff line Loading @@ -26,6 +26,15 @@ android:focusable="true" android:theme="@style/Theme.SystemUI.QuickSettings.Header"> <LinearLayout android:id="@+id/clock_container" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="horizontal" android:layout_gravity="center_vertical|start" android:gravity="center_vertical|start" > <com.android.systemui.statusbar.policy.Clock android:id="@+id/clock" android:layout_width="wrap_content" Loading @@ -38,6 +47,18 @@ android:singleLine="true" android:textAppearance="@style/TextAppearance.QS.Status" /> <com.android.systemui.statusbar.policy.VariableDateView android:id="@+id/date_clock" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center_vertical|start" android:singleLine="true" android:textAppearance="@style/TextAppearance.QS.Status" systemui:longDatePattern="@string/abbrev_wday_month_day_no_year_alarm" systemui:shortDatePattern="@string/abbrev_month_day_no_year" /> </LinearLayout> <include layout="@layout/qs_carrier_group" android:id="@+id/carrier_group" android:layout_width="0dp" Loading
packages/SystemUI/res/layout/quick_status_bar_header_date_privacy.xml +4 −2 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ android:layout_weight="1" android:gravity="center_vertical|start" > <com.android.systemui.statusbar.policy.DateView <com.android.systemui.statusbar.policy.VariableDateView android:id="@+id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" Loading @@ -44,7 +44,9 @@ android:gravity="center_vertical" android:singleLine="true" android:textAppearance="@style/TextAppearance.QS.Status" systemui:datePattern="@string/abbrev_wday_month_day_no_year_alarm" /> systemui:longDatePattern="@string/abbrev_wday_month_day_no_year_alarm" systemui:shortDatePattern="@string/abbrev_month_day_no_year" /> </FrameLayout> <android.widget.Space Loading
packages/SystemUI/res/values/attrs.xml +4 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,10 @@ <declare-styleable name="DateView"> <attr name="datePattern" format="string" /> </declare-styleable> <declare-styleable name="VariableDateView"> <attr name="longDatePattern" format="string" /> <attr name="shortDatePattern" format="string" /> </declare-styleable> <declare-styleable name="PseudoGridView"> <attr name="numColumns" format="integer" /> <attr name="verticalSpacing" format="dimension" /> Loading
packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +17 −5 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconMa import com.android.systemui.statusbar.phone.StatusBarWindowView; import com.android.systemui.statusbar.phone.StatusIconContainer; import com.android.systemui.statusbar.policy.Clock; import com.android.systemui.statusbar.policy.VariableDateView; import java.util.List; Loading @@ -62,11 +63,14 @@ public class QuickStatusBarHeader extends FrameLayout { protected QuickQSPanel mHeaderQsPanel; private View mDatePrivacyView; private View mDateView; // DateView next to clock. Visible on QQS private VariableDateView mClockDateView; private View mSecurityHeaderView; private View mClockIconsView; private View mContainer; private View mQSCarriers; private ViewGroup mClockContainer; private Clock mClockView; private Space mDatePrivacySeparator; private View mClockIconsSeparator; Loading @@ -86,7 +90,6 @@ public class QuickStatusBarHeader extends FrameLayout { private int mWaterfallTopInset; private int mCutOutPaddingLeft; private int mCutOutPaddingRight; private float mViewAlpha = 1.0f; private float mKeyguardExpansionFraction; private int mTextColorPrimary = Color.TRANSPARENT; private int mTopViewMeasureHeight; Loading Loading @@ -123,12 +126,14 @@ public class QuickStatusBarHeader extends FrameLayout { mIconContainer = findViewById(R.id.statusIcons); mPrivacyChip = findViewById(R.id.privacy_chip); mDateView = findViewById(R.id.date); mClockDateView = findViewById(R.id.date_clock); mSecurityHeaderView = findViewById(R.id.header_text_container); mClockIconsSeparator = findViewById(R.id.separator); mRightLayout = findViewById(R.id.rightLayout); mDateContainer = findViewById(R.id.date_container); mPrivacyContainer = findViewById(R.id.privacy_container); mClockContainer = findViewById(R.id.clock_container); mClockView = findViewById(R.id.clock); mDatePrivacySeparator = findViewById(R.id.space); // Tint for the battery icons are handled in setupHost() Loading Loading @@ -177,7 +182,7 @@ public class QuickStatusBarHeader extends FrameLayout { super.onMeasure(widthMeasureSpec, heightMeasureSpec); if (mDatePrivacyView.getMeasuredHeight() != mTopViewMeasureHeight) { mTopViewMeasureHeight = mDatePrivacyView.getMeasuredHeight(); updateAnimators(); post(this::updateAnimators); } } Loading Loading @@ -280,7 +285,8 @@ public class QuickStatusBarHeader extends FrameLayout { TouchAnimator.Builder builder = new TouchAnimator.Builder() .addFloat(mSecurityHeaderView, "alpha", 0, 1) // These views appear on expanding down .addFloat(mClockView, "alpha", 0, 1) .addFloat(mDateView, "alpha", 0, 0, 1) .addFloat(mClockDateView, "alpha", 1, 0, 0) .addFloat(mQSCarriers, "alpha", 0, 1) .setListener(new TouchAnimator.ListenerAdapter() { @Override Loading @@ -289,10 +295,14 @@ public class QuickStatusBarHeader extends FrameLayout { if (!mIsSingleCarrier) { mIconContainer.addIgnoredSlots(mRssiIgnoredSlots); } // Make it gone so there's enough room for carrier names mClockDateView.setVisibility(View.GONE); } @Override public void onAnimationStarted() { mClockDateView.setVisibility(View.VISIBLE); mClockDateView.setFreezeSwitching(true); setSeparatorVisibility(false); if (!mIsSingleCarrier) { mIconContainer.addIgnoredSlots(mRssiIgnoredSlots); Loading @@ -302,6 +312,7 @@ public class QuickStatusBarHeader extends FrameLayout { @Override public void onAnimationAtStart() { super.onAnimationAtStart(); mClockDateView.setFreezeSwitching(false); setSeparatorVisibility(mShowClockIconsSeparator); // In QQS we never ignore RSSI. mIconContainer.removeIgnoredSlots(mRssiIgnoredSlots); Loading Loading @@ -434,10 +445,11 @@ public class QuickStatusBarHeader extends FrameLayout { mClockIconsSeparator.setVisibility(visible ? View.VISIBLE : View.GONE); mQSCarriers.setVisibility(visible ? View.GONE : View.VISIBLE); LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mClockView.getLayoutParams(); LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) mClockContainer.getLayoutParams(); lp.width = visible ? 0 : WRAP_CONTENT; lp.weight = visible ? 1f : 0f; mClockView.setLayoutParams(lp); mClockContainer.setLayoutParams(lp); lp = (LinearLayout.LayoutParams) mRightLayout.getLayoutParams(); lp.width = visible ? 0 : WRAP_CONTENT; Loading