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

Commit 5d88c4bd authored by Scott's avatar Scott Committed by Scott Warner
Browse files

Enable Dock Battery Percentage

Displays the dock battery percentage while docked, according to the users system settings.

Change-Id: I68b3739e2ccbaf0f4a1b64ec4aca27466ed4c11a
parent 50f5f13a
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -133,6 +133,17 @@
                android:paddingLeft="4dip"
                android:visibility="gone"
                />
           <TextView
                android:id="@+id/dock_battery_text"
                android:textAppearance="@style/TextAppearance.StatusBar.Battery"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:singleLine="true"
                android:textSize="20sp"
                android:paddingLeft="4dip"
                android:layout_marginRight="-3dip"
                android:gravity="center_vertical|left"
                />
            <ImageView
                android:id="@+id/dock_battery"
                android:layout_height="wrap_content"
+12 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@
        android:layout_marginTop="16dp"
        android:layout_marginBottom="16dp"
        android:shrinkColumns="2,4"
        android:stretchColumns="7"
        android:stretchColumns="8"
        >
        <TableRow>

@@ -140,6 +140,17 @@
                android:contentDescription="@null"
                />

            <TextView
                android:id="@+id/dock_battery_text"
                style="@style/StatusBarNotificationText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left|center_vertical"
                android:paddingRight="6dp"
                android:singleLine="true"
                android:text="@string/status_bar_settings_settings_button"
                />

            <ImageView
                android:id="@+id/battery"
                android:layout_height="wrap_content"
+24 −1
Original line number Diff line number Diff line
@@ -52,6 +52,9 @@ public class DockBatteryController extends BroadcastReceiver {
    private int mBatteryStyle;
    private int mBatteryIcon = BATTERY_ICON_STYLE_NORMAL;

    private static final int BATTERY_TEXT_STYLE_NORMAL  = R.string.status_bar_settings_battery_meter_format;
    private static final int BATTERY_TEXT_STYLE_MIN     = R.string.status_bar_settings_battery_meter_min_format;

    Handler mHandler;

    class SettingsObserver extends ContentObserver {
@@ -87,6 +90,10 @@ public class DockBatteryController extends BroadcastReceiver {
        mIconViews.add(v);
    }

    public void addLabelView(TextView v) {
        mLabelViews.add(v);
    }

    public void onReceive(Context context, Intent intent) {
        final String action = intent.getAction();
        if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
@@ -101,6 +108,12 @@ public class DockBatteryController extends BroadcastReceiver {
                v.setContentDescription(mContext.getString(R.string.accessibility_battery_level,
                        level));
            }
            N = mLabelViews.size();
            for (int i=0; i<N; i++) {
                TextView v = mLabelViews.get(i);
                v.setText(mContext.getString(BATTERY_TEXT_STYLE_MIN,
                        level));
            }
            updateBattery();
        }
    }
@@ -110,10 +123,15 @@ public class DockBatteryController extends BroadcastReceiver {
        int mText = View.GONE;
        int mIconStyle = BATTERY_ICON_STYLE_NORMAL;

        if (mBatteryStyle == 0 || mBatteryStyle == 1) {
        if (mBatteryStyle == 0) {
            mIcon = mDockStatus ? (View.VISIBLE) : (View.GONE);
            mIconStyle = mDockCharging ? BATTERY_ICON_STYLE_CHARGE
                    : BATTERY_ICON_STYLE_NORMAL;
        } else if(mBatteryStyle == 1){
            mIcon = mDockStatus ? (View.VISIBLE) : (View.GONE);
            mText = mDockStatus ? (View.VISIBLE) : (View.GONE);
            mIconStyle = mDockCharging ? BATTERY_ICON_STYLE_CHARGE
                    : BATTERY_ICON_STYLE_NORMAL;
        }

        int N = mIconViews.size();
@@ -122,6 +140,11 @@ public class DockBatteryController extends BroadcastReceiver {
            v.setVisibility(mIcon);
            v.setImageResource(mIconStyle);
        }
        N = mLabelViews.size();
        for (int i=0; i<N; i++) {
            TextView v = mLabelViews.get(i);
            v.setVisibility(mText);
        }
    }

    private void updateSettings() {
+4 −0
Original line number Diff line number Diff line
@@ -234,6 +234,8 @@ public class TabletStatusBar extends StatusBar implements

        if (mHasDockBattery) {
            mDockBatteryController.addIconView((ImageView)mNotificationPanel.findViewById(R.id.dock_battery));
            mDockBatteryController.addLabelView(
                    (TextView)mNotificationPanel.findViewById(R.id.dock_battery_text));
        }
        // Bt
        mBluetoothController.addIconView(
@@ -570,6 +572,8 @@ public class TabletStatusBar extends StatusBar implements
        if (mHasDockBattery) {
            mDockBatteryController = new DockBatteryController(mContext);
            mDockBatteryController.addIconView((ImageView)sb.findViewById(R.id.dock_battery));
            mDockBatteryController.addLabelView(
                    (TextView)sb.findViewById(R.id.dock_battery_text));
        }

        mBluetoothController = new BluetoothController(mContext);