Skip to content

Commit

Permalink
circle battery
Browse files Browse the repository at this point in the history
full credits go to CyanogenMod

Change-Id: Iaafd11133047791bab5f6155491a8acc57b31009
  • Loading branch information
drcmda authored and iGio90 committed Mar 7, 2013
1 parent b1d4f32 commit 9f7644f
Show file tree
Hide file tree
Showing 6 changed files with 442 additions and 1 deletion.
6 changes: 6 additions & 0 deletions core/java/android/provider/Settings.java
Expand Up @@ -3557,6 +3557,12 @@ public static void setShowGTalkServiceStatusForUser(ContentResolver cr, boolean
"notification_clock_2",
};

/**
* Circle battery, default = 0, standard android battery
* @hide
*/
public static final String STATUS_BAR_CIRCLE_BATTERY = "status_bar_circle_battery";

/**
* Current UI Mode
*
Expand Down
11 changes: 10 additions & 1 deletion packages/SystemUI/res/layout/status_bar.xml
Expand Up @@ -107,6 +107,15 @@
android:layout_width="wrap_content"
android:paddingLeft="4dip"
/>
<com.android.systemui.statusbar.policy.CircleBattery
android:id="@+id/circle_battery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.StatusBar.Battery"
android:singleLine="true"
android:gravity="bottom"
android:paddingLeft="4dip"
/>
</LinearLayout>

<com.android.systemui.statusbar.policy.Clock
Expand All @@ -115,7 +124,7 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:singleLine="true"
android:paddingLeft="6dip"
android:paddingLeft="3dip"
android:gravity="center_vertical|left"
/>
</LinearLayout>
Expand Down
9 changes: 9 additions & 0 deletions packages/SystemUI/res/layout/system_bar_notification_area.xml
Expand Up @@ -162,6 +162,15 @@
android:gravity="center"
android:visibility="gone"
/>
<com.android.systemui.statusbar.policy.CircleBattery
android:id="@+id/circle_battery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/TextAppearance.StatusBar.Battery"
android:singleLine="true"
android:gravity="bottom"
android:paddingLeft="4dip"
/>
</LinearLayout>
</com.android.systemui.statusbar.tablet.NotificationArea>
</HorizontalScrollView>
6 changes: 6 additions & 0 deletions packages/SystemUI/res/values/styles.xml
Expand Up @@ -227,5 +227,11 @@
<item name="android:shadowRadius">2.0</item>
<item name="android:lineSpacingMultiplier">1.1</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">@android:color/holo_blue_light</item>
</style>

</resources>
Expand Up @@ -60,6 +60,33 @@ public BatteryController(Context context) {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
context.registerReceiver(this, filter);

updateStyle();

// Listen for style changes
mContext.getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.STATUS_BAR_CIRCLE_BATTERY), false,
new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
updateStyle();
}});
}

private void updateStyle() {
boolean circleBattery = (Settings.System.getInt(mContext.getContentResolver(),
Settings.System.STATUS_BAR_CIRCLE_BATTERY, 0)) == 1;

int N = mIconViews.size();
for (int i=0; i<N; i++) {
ImageView v = mIconViews.get(i);
v.setVisibility(!circleBattery);
}
N = mLabelViews.size();
for (int i=0; i<N; i++) {
TextView v = mLabelViews.get(i);
v.setVisibility(!circleBattery);
}
}

public void addIconView(ImageView v) {
Expand Down

0 comments on commit 9f7644f

Please sign in to comment.