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

Commit 2903f915 authored by Sven Dawitz's avatar Sven Dawitz Committed by Danny Baumann
Browse files

Forward port circle battery.

Change-Id: I6f832e614523b5218e0314060b04c2fc28968553
parent e2a600ad
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -103,6 +103,16 @@
                    android:layout_marginBottom="2px"
                    android:layout_marginStart="4dip"
                    />
                <com.android.systemui.statusbar.policy.CircleBattery
                    android:id="@+id/circle_battery"
                    android:layout_width="16dp"
                    android:layout_height="16dp"
                    android:layout_marginStart="4dip"
                    android:layout_marginBottom="2px"
                    android:textAppearance="@style/TextAppearance.StatusBar.Battery"
                    android:singleLine="true"
                    android:gravity="bottom"
                    />
            </LinearLayout>
    
            <com.android.systemui.statusbar.policy.Clock
+7 −0
Original line number Diff line number Diff line
@@ -52,6 +52,13 @@
        <item name="android:textColor">#FFFFFFFF</item>
    </style>

    <style name="TextAppearance.StatusBar.Battery" parent="@*android:style/TextAppearance.StatusBar.Icon">
        <!-- Note: must be dp to fit in status bar -->
        <item name="android:textSize">12dp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">@color/status_bar_clock_color</item>
    </style>

    <style name="TextAppearance.StatusBar.Clock" parent="@*android:style/TextAppearance.StatusBar.Icon">
        <!-- Note: must be dp to fit in status bar -->
        <item name="android:textSize">16dp</item>
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ public class BatteryTile extends QuickSettingsTile implements BatteryStateChange
    }

    @Override
    public void onBatteryLevelChanged(int level, boolean pluggedIn) {
    public void onBatteryLevelChanged(int level, boolean pluggedIn, int status) {
        mBatteryLevel = level;
        mPluggedIn = pluggedIn;
        updateResources();
+38 −11
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ import com.android.internal.statusbar.StatusBarIcon;
import com.android.systemui.DemoMode;
import com.android.systemui.EventLogTags;
import com.android.systemui.R;
import com.android.systemui.BatteryMeterView;
import com.android.systemui.statusbar.BaseStatusBar;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.GestureRecorder;
@@ -103,6 +104,7 @@ import com.android.systemui.statusbar.SignalClusterView;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.BluetoothController;
import com.android.systemui.statusbar.policy.CircleBattery;
import com.android.systemui.statusbar.policy.DateView;
import com.android.systemui.statusbar.policy.HeadsUpNotificationView;
import com.android.systemui.statusbar.policy.LocationController;
@@ -153,6 +155,11 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode {
    private static final int BRIGHTNESS_CONTROL_LONG_PRESS_TIMEOUT = 750; // ms
    private static final int BRIGHTNESS_CONTROL_LINGER_THRESHOLD = 20;

    private static final int BATTERY_STYLE_NORMAL = 0;
    private static final int BATTERY_STYLE_CIRCLE = 2;
    private static final int BATTERY_STYLE_CIRCLE_PERCENT = 3;
    private static final int BATTERY_STYLE_GONE = 4;

    // fling gesture tuning parameters, scaled to display density
    private float mSelfExpandVelocityPx; // classic value: 2000px/s
    private float mSelfCollapseVelocityPx; // classic value: 2000px/s (will be negated to collapse "up")
@@ -246,6 +253,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode {

    private boolean mShowCarrierInPanel = false;

    private BatteryMeterView mBatteryView;
    private CircleBattery mCircleBatteryView;

    // position
    int[] mPositionTmp = new int[2];
    boolean mExpandedVisible;
@@ -348,21 +358,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode {
                    Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL), false, this);
            resolver.registerContentObserver(Settings.System.getUriFor(
                    Settings.System.SCREEN_BRIGHTNESS_MODE), false, this);
            update();
            resolver.registerContentObserver(Settings.System.getUriFor(
                    Settings.System.STATUS_BAR_BATTERY), false, this);
            updateSettings();
        }

        @Override
        public void onChange(boolean selfChange) {
            update();
        }

        public void update() {
            ContentResolver resolver = mContext.getContentResolver();
            boolean autoBrightness = Settings.System.getInt(
                    resolver, Settings.System.SCREEN_BRIGHTNESS_MODE, 0) ==
                    Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
            mBrightnessControl = !autoBrightness && Settings.System.getInt(
                    resolver, Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL, 0) == 1;
            updateSettings();
        }
    }

@@ -680,6 +683,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode {
        final SignalClusterView signalCluster =
                (SignalClusterView)mStatusBarView.findViewById(R.id.signal_cluster);

        mBatteryView = (BatteryMeterView) mStatusBarView.findViewById(R.id.battery);
        mCircleBatteryView = (CircleBattery) mStatusBarView.findViewById(R.id.circle_battery);
        mBatteryController.addStateChangedCallback(mCircleBatteryView);

        mNetworkController.addSignalCluster(signalCluster);
        signalCluster.setNetworkController(mNetworkController);
@@ -2825,12 +2831,33 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode {
        animateCollapsePanels();
        updateNotificationIcons();
        resetUserSetupObserver();
        updateSettings();
        if (mNavigationBarView != null) {
            mNavigationBarView.updateSettings();
        }
        super.userSwitched(newUserId);
    }

    private void updateSettings() {
        ContentResolver resolver = mContext.getContentResolver();
        //XXX: multi-user correct?
        boolean autoBrightness = Settings.System.getInt(
                resolver, Settings.System.SCREEN_BRIGHTNESS_MODE, 0) ==
                Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
        mBrightnessControl = !autoBrightness && Settings.System.getInt(
                resolver, Settings.System.STATUS_BAR_BRIGHTNESS_CONTROL, 0) == 1;

        int batteryStyle = Settings.System.getInt(resolver,
                Settings.System.STATUS_BAR_BATTERY, BATTERY_STYLE_NORMAL);
        boolean meterVisible = batteryStyle == BATTERY_STYLE_NORMAL;
        boolean circleVisible = batteryStyle == BATTERY_STYLE_CIRCLE
                || batteryStyle == BATTERY_STYLE_CIRCLE_PERCENT;

        mBatteryView.setVisibility(meterVisible ? View.VISIBLE : View.GONE);
        mCircleBatteryView.setVisibility(circleVisible ? View.VISIBLE : View.GONE);
        mCircleBatteryView.setShowPercent(batteryStyle == BATTERY_STYLE_CIRCLE_PERCENT);
    }

    private void resetUserSetupObserver() {
        mContext.getContentResolver().unregisterContentObserver(mUserSetupObserver);
        mUserSetupObserver.onChange(false);
+6 −2
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
    private final PhoneStatusBarView mView;
    private final float mIconAlphaWhenOpaque;

    private View mLeftSide, mStatusIcons, mSignalCluster, mBattery, mClock;
    private View mLeftSide, mStatusIcons, mSignalCluster, mClock;
    private View mBattery, mCircleBattery;
    private Animator mCurrentAnimation;

    public PhoneStatusBarTransitions(PhoneStatusBarView view) {
@@ -47,6 +48,7 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
        mStatusIcons = mView.findViewById(R.id.statusIcons);
        mSignalCluster = mView.findViewById(R.id.signal_cluster);
        mBattery = mView.findViewById(R.id.battery);
        mCircleBattery = mView.findViewById(R.id.circle_battery);
        mClock = mView.findViewById(R.id.clock);
        applyModeBackground(-1, getMode(), false /*animate*/);
        applyMode(getMode(), false /*animate*/);
@@ -91,6 +93,7 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
                    animateTransitionTo(mStatusIcons, newAlpha),
                    animateTransitionTo(mSignalCluster, newAlpha),
                    animateTransitionTo(mBattery, newAlphaBC),
                    animateTransitionTo(mCircleBattery, newAlphaBC),
                    animateTransitionTo(mClock, newAlphaBC)
                    );
            if (mode == MODE_LIGHTS_OUT) {
@@ -103,6 +106,7 @@ public final class PhoneStatusBarTransitions extends BarTransitions {
            mStatusIcons.setAlpha(newAlpha);
            mSignalCluster.setAlpha(newAlpha);
            mBattery.setAlpha(newAlphaBC);
            mCircleBattery.setAlpha(newAlphaBC);
            mClock.setAlpha(newAlphaBC);
        }
    }
Loading