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

Commit 740beb50 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

New clock design in header for expanded status bar.

Change-Id: I4fa103d80bc32e34388ab3e1c5a0003965fd47d1
parent e18c2cd8
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -38,10 +38,12 @@
    <RelativeLayout
        android:id="@+id/datetime"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:paddingStart="8dp"
        android:paddingEnd="8dp"
        android:paddingTop="16dp"
        android:paddingBottom="16dp"
        android:paddingStart="16dp"
        android:paddingEnd="16dp"
        android:background="@drawable/ic_notify_button_bg"
        android:enabled="false"
        >
@@ -49,10 +51,9 @@
            android:id="@+id/clock"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:singleLine="true"
            android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock"
            android:layout_centerVertical="true"
            systemui:amPmStyle="normal"
            />

        <com.android.systemui.statusbar.policy.DateView android:id="@+id/date"
@@ -60,8 +61,7 @@
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date"
            android:layout_toEndOf="@id/clock"
            android:layout_alignBaseline="@id/clock"
            android:layout_below="@id/clock"
            />
    </RelativeLayout>

+7 −0
Original line number Diff line number Diff line
@@ -51,6 +51,13 @@
            <enum name="end" value="1" />
        </attr>
    </declare-styleable>
    <declare-styleable name="Clock">
        <attr name="amPmStyle" format="enum">
            <enum name="normal" value="0" />
            <enum name="small" value="1" />
            <enum name="gone" value="2" />
        </attr>
    </declare-styleable>
    <attr name="orientation">
        <enum name="horizontal" value="0" />
        <enum name="vertical" value="1" />
+2 −4
Original line number Diff line number Diff line
@@ -69,8 +69,7 @@
    <style name="TextAppearance.StatusBar.Expanded" parent="@*android:style/TextAppearance.StatusBar" />

    <style name="TextAppearance.StatusBar.Expanded.Clock">
        <item name="android:textSize">32dp</item>
        <item name="android:fontFamily">sans-serif-light</item>
        <item name="android:textSize">18dp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">#ffffff</item>
    </style>
@@ -78,8 +77,7 @@
    <style name="TextAppearance.StatusBar.Expanded.Date">
        <item name="android:textSize">12dp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">#cccccc</item>
        <item name="android:textAllCaps">true</item>
        <item name="android:textColor">#afb3b6</item>
    </style>

    <style name="TextAppearance.StatusBar.Expanded.Network" parent="@style/TextAppearance.StatusBar.Expanded.Date">
+11 −3
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ public class StatusBarHeaderView extends RelativeLayout {
    private View mDateTime;
    private View mKeyguardCarrierText;
    private MultiUserSwitch mMultiUserSwitch;
    private View mDate;

    private int mCollapsedHeight;
    private int mExpandedHeight;
@@ -59,6 +60,7 @@ public class StatusBarHeaderView extends RelativeLayout {
        mDateTime = findViewById(R.id.datetime);
        mKeyguardCarrierText = findViewById(R.id.keyguard_carrier_text);
        mMultiUserSwitch = (MultiUserSwitch) findViewById(R.id.multi_user_switch);
        mDate = findViewById(R.id.date);
        loadDimens();
    }

@@ -82,6 +84,7 @@ public class StatusBarHeaderView extends RelativeLayout {
    public void setExpanded(boolean expanded) {
        mExpanded = expanded;
        updateHeights();
        updateVisibilities();
    }

    private void updateHeights() {
@@ -120,6 +123,13 @@ public class StatusBarHeaderView extends RelativeLayout {
        }
    }

    private void updateVisibilities() {
        mBackground.setVisibility(mKeyguardShowing ? View.INVISIBLE : View.VISIBLE);
        mDateTime.setVisibility(mKeyguardShowing ? View.INVISIBLE : View.VISIBLE);
        mKeyguardCarrierText.setVisibility(mKeyguardShowing ? View.VISIBLE : View.GONE);
        mDate.setVisibility(mExpanded ? View.VISIBLE : View.GONE);
    }

    public void setExpansion(float height) {
        if (height < mCollapsedHeight) {
            height = mCollapsedHeight;
@@ -144,9 +154,6 @@ public class StatusBarHeaderView extends RelativeLayout {

    public void setKeyguardShowing(boolean keyguardShowing) {
        mKeyguardShowing = keyguardShowing;
        mBackground.setVisibility(keyguardShowing ? View.INVISIBLE : View.VISIBLE);
        mDateTime.setVisibility(keyguardShowing ? View.INVISIBLE : View.VISIBLE);
        mKeyguardCarrierText.setVisibility(keyguardShowing ? View.VISIBLE : View.GONE);
        if (keyguardShowing) {
            setZ(0);
        } else {
@@ -154,6 +161,7 @@ public class StatusBarHeaderView extends RelativeLayout {
        }
        updateHeights();
        updateWidth();
        updateVisibilities();
    }

    public void setUserInfoController(UserInfoController userInfoController) {
+16 −5
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
@@ -30,6 +31,7 @@ import android.util.AttributeSet;
import android.widget.TextView;

import com.android.systemui.DemoMode;
import com.android.systemui.R;

import java.text.SimpleDateFormat;
import java.util.Calendar;
@@ -52,7 +54,7 @@ public class Clock extends TextView implements DemoMode {
    private static final int AM_PM_STYLE_SMALL   = 1;
    private static final int AM_PM_STYLE_GONE    = 2;

    private static final int AM_PM_STYLE = AM_PM_STYLE_GONE;
    private final int mAmPmStyle;

    public Clock(Context context) {
        this(context, null);
@@ -64,6 +66,15 @@ public class Clock extends TextView implements DemoMode {

    public Clock(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        TypedArray a = context.getTheme().obtainStyledAttributes(
                attrs,
                R.styleable.Clock,
                0, 0);
        try {
            mAmPmStyle = a.getInt(R.styleable.Clock_amPmStyle, AM_PM_STYLE_GONE);
        } finally {
            a.recycle();
        }
    }

    @Override
@@ -145,7 +156,7 @@ public class Clock extends TextView implements DemoMode {
             * add dummy characters around it to let us find it again after
             * formatting and change its size.
             */
            if (AM_PM_STYLE != AM_PM_STYLE_NORMAL) {
            if (mAmPmStyle != AM_PM_STYLE_NORMAL) {
                int a = -1;
                boolean quoted = false;
                for (int i = 0; i < format.length(); i++) {
@@ -177,15 +188,15 @@ public class Clock extends TextView implements DemoMode {
        }
        String result = sdf.format(mCalendar.getTime());

        if (AM_PM_STYLE != AM_PM_STYLE_NORMAL) {
        if (mAmPmStyle != AM_PM_STYLE_NORMAL) {
            int magic1 = result.indexOf(MAGIC1);
            int magic2 = result.indexOf(MAGIC2);
            if (magic1 >= 0 && magic2 > magic1) {
                SpannableStringBuilder formatted = new SpannableStringBuilder(result);
                if (AM_PM_STYLE == AM_PM_STYLE_GONE) {
                if (mAmPmStyle == AM_PM_STYLE_GONE) {
                    formatted.delete(magic1, magic2+1);
                } else {
                    if (AM_PM_STYLE == AM_PM_STYLE_SMALL) {
                    if (mAmPmStyle == AM_PM_STYLE_SMALL) {
                        CharacterStyle style = new RelativeSizeSpan(0.7f);
                        formatted.setSpan(style, magic1, magic2,
                                          Spannable.SPAN_EXCLUSIVE_INCLUSIVE);