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

Commit 6bdc9bae authored by Jorim Jaggi's avatar Jorim Jaggi Committed by Android (Google) Code Review
Browse files

Merge "Add glyph rerasterization hack for SystemUI."

parents 74185a39 362dd6d6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -112,4 +112,8 @@ public abstract class HardwareCanvas extends Canvas {

    public abstract void drawCircle(CanvasProperty<Float> cx, CanvasProperty<Float> cy,
            CanvasProperty<Float> radius, CanvasProperty<Paint> paint);

    public static void setProperty(String name, String value) {
        GLES20Canvas.setProperty(name, value);
    }
}
+3 −0
Original line number Diff line number Diff line
@@ -351,4 +351,7 @@

    <!-- The font size of the time when collapsed in QS -->
    <dimen name="qs_time_collapsed_size">14sp</dimen>

    <!-- The font size of the time when expanded in QS -->
    <dimen name="qs_time_expanded_size">20sp</dimen>
</resources>
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@
    <style name="TextAppearance.StatusBar.Expanded" parent="@*android:style/TextAppearance.StatusBar" />

    <style name="TextAppearance.StatusBar.Expanded.Clock">
        <item name="android:textSize">20sp</item>
        <item name="android:textSize">@dimen/qs_time_expanded_size</item>
        <item name="android:fontFamily">sans-serif-medium</item>
        <item name="android:textColor">#ffffff</item>
    </style>
+30 −2
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@ import android.os.Message;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.SystemClock;
import android.os.Trace;
import android.os.UserHandle;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
@@ -73,6 +72,7 @@ import android.util.EventLog;
import android.util.Log;
import android.view.Display;
import android.view.Gravity;
import android.view.HardwareCanvas;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -82,6 +82,7 @@ import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewPropertyAnimator;
import android.view.ViewStub;
import android.view.ViewTreeObserver;
import android.view.WindowManager;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.Animation;
@@ -119,7 +120,6 @@ import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BluetoothControllerImpl;
import com.android.systemui.statusbar.policy.CastControllerImpl;
import com.android.systemui.statusbar.policy.DateView;
import com.android.systemui.statusbar.policy.FlashlightController;
import com.android.systemui.statusbar.policy.HeadsUpNotificationView;
import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;
@@ -130,6 +130,7 @@ import com.android.systemui.statusbar.policy.RotationLockControllerImpl;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.stack.NotificationStackScrollLayout.OnChildLocationsChangedListener;
import com.android.systemui.statusbar.stack.StackScrollAlgorithm;
import com.android.systemui.statusbar.stack.StackScrollState.ViewState;
import com.android.systemui.volume.VolumeComponent;

@@ -383,6 +384,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,

    private final ShadeUpdates mShadeUpdates = new ShadeUpdates();

    private int mDrawCount;

    private static final int VISIBLE_LOCATIONS = ViewState.LOCATION_FIRST_CARD
            | ViewState.LOCATION_TOP_STACK_PEEKING
            | ViewState.LOCATION_MAIN_AREA
@@ -723,9 +726,34 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
        // listen for USER_SETUP_COMPLETE setting (per-user)
        resetUserSetupObserver();

        startGlyphRasterizeHack();
        return mStatusBarView;
    }

    /**
     * Hack to improve glyph rasterization for scaled text views.
     */
    private void startGlyphRasterizeHack() {
        mStatusBarView.getViewTreeObserver().addOnPreDrawListener(
                new ViewTreeObserver.OnPreDrawListener() {
            @Override
            public boolean onPreDraw() {
                if (mDrawCount == 1) {
                    mStatusBarView.getViewTreeObserver().removeOnPreDrawListener(this);
                    HardwareCanvas.setProperty("extraRasterBucket",
                            Float.toString(StackScrollAlgorithm.DIMMED_SCALE));
                    HardwareCanvas.setProperty("extraRasterBucket", Float.toString(
                            mContext.getResources().getDimensionPixelSize(
                                    R.dimen.qs_time_collapsed_size)
                            / mContext.getResources().getDimensionPixelSize(
                                    R.dimen.qs_time_expanded_size)));
                }
                mDrawCount++;
                return true;
            }
        });
    }

    @Override
    protected void setZenMode(int mode) {
        super.setZenMode(mode);
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ public class StackScrollAlgorithm {

    /** When a child is activated, the other cards' alpha fade to this value. */
    private static final float ACTIVATED_INVERSE_ALPHA = 0.9f;
    private static final float DIMMED_SCALE = 0.95f;
    public static final float DIMMED_SCALE = 0.95f;

    private int mPaddingBetweenElements;
    private int mCollapsedSize;