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

Commit 8351f348 authored by John Spurlock's avatar John Spurlock Committed by Dan Sandler
Browse files

Support lights-out + bar icon dimming on low-end devices.

Bug: 12546110
Change-Id: Ie2d2cc4acfee3f4a70542c5ebf9f2e9d69bffb33
parent 35f922d1
Loading
Loading
Loading
Loading
+7 −6
Original line number Original line Diff line number Diff line
@@ -37,6 +37,8 @@ public class BarTransitions {
    private static final boolean DEBUG = false;
    private static final boolean DEBUG = false;
    private static final boolean DEBUG_COLORS = false;
    private static final boolean DEBUG_COLORS = false;


    public static final boolean HIGH_END = ActivityManager.isHighEndGfx();

    public static final int MODE_OPAQUE = 0;
    public static final int MODE_OPAQUE = 0;
    public static final int MODE_SEMI_TRANSPARENT = 1;
    public static final int MODE_SEMI_TRANSPARENT = 1;
    public static final int MODE_TRANSLUCENT = 2;
    public static final int MODE_TRANSLUCENT = 2;
@@ -48,7 +50,6 @@ public class BarTransitions {


    private final String mTag;
    private final String mTag;
    private final View mView;
    private final View mView;
    private final boolean mSupportsTransitions = ActivityManager.isHighEndGfx();
    private final BarBackgroundDrawable mBarBackground;
    private final BarBackgroundDrawable mBarBackground;


    private int mMode;
    private int mMode;
@@ -57,7 +58,7 @@ public class BarTransitions {
        mTag = "BarTransitions." + view.getClass().getSimpleName();
        mTag = "BarTransitions." + view.getClass().getSimpleName();
        mView = view;
        mView = view;
        mBarBackground = new BarBackgroundDrawable(mView.getContext(), gradientResourceId);
        mBarBackground = new BarBackgroundDrawable(mView.getContext(), gradientResourceId);
        if (mSupportsTransitions) {
        if (HIGH_END) {
            mView.setBackground(mBarBackground);
            mView.setBackground(mBarBackground);
        }
        }
    }
    }
@@ -72,14 +73,14 @@ public class BarTransitions {
        mMode = mode;
        mMode = mode;
        if (DEBUG) Log.d(mTag, String.format("%s -> %s animate=%s",
        if (DEBUG) Log.d(mTag, String.format("%s -> %s animate=%s",
                modeToString(oldMode), modeToString(mode),  animate));
                modeToString(oldMode), modeToString(mode),  animate));
        if (mSupportsTransitions) {
        onTransition(oldMode, mMode, animate);
        onTransition(oldMode, mMode, animate);
    }
    }
    }


    protected void onTransition(int oldMode, int newMode, boolean animate) {
    protected void onTransition(int oldMode, int newMode, boolean animate) {
        if (HIGH_END) {
            applyModeBackground(oldMode, newMode, animate);
            applyModeBackground(oldMode, newMode, animate);
        }
        }
    }


    protected void applyModeBackground(int oldMode, int newMode, boolean animate) {
    protected void applyModeBackground(int oldMode, int newMode, boolean animate) {
        if (DEBUG) Log.d(mTag, String.format("applyModeBackground oldMode=%s newMode=%s animate=%s",
        if (DEBUG) Log.d(mTag, String.format("applyModeBackground oldMode=%s newMode=%s animate=%s",
+1 −1
Original line number Original line Diff line number Diff line
@@ -91,7 +91,7 @@ public final class NavigationBarTransitions extends BarTransitions {
    }
    }


    private float alphaForMode(int mode) {
    private float alphaForMode(int mode) {
        final boolean isOpaque = mode == MODE_OPAQUE || mode == MODE_LIGHTS_OUT;
        final boolean isOpaque = mode == MODE_OPAQUE || mode == MODE_LIGHTS_OUT || !HIGH_END;
        return isOpaque ? KeyButtonView.DEFAULT_QUIESCENT_ALPHA : 1f;
        return isOpaque ? KeyButtonView.DEFAULT_QUIESCENT_ALPHA : 1f;
    }
    }


+1 −1
Original line number Original line Diff line number Diff line
@@ -68,7 +68,7 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
    }
    }


    private boolean isOpaque(int mode) {
    private boolean isOpaque(int mode) {
        return !(mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSLUCENT);
        return !(mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSLUCENT) || !HIGH_END;
    }
    }


    @Override
    @Override