forked from daproy/android_packages_apps_Settings
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path0008-option-to-change-status-bar-transparency-1-2.patch
153 lines (137 loc) · 6.46 KB
/
0008-option-to-change-status-bar-transparency-1-2.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
From e44f6683f96d8c7bf87f73c28b30370d452f9772 Mon Sep 17 00:00:00 2001
From: Konsta <[email protected]>
Date: Wed, 27 Jun 2012 18:31:54 +0300
Subject: [PATCH 12/16] option to change status bar transparency (1/2)
thanks to AOKP
Change-Id: Iee6dcf262f1a794080f5906e850f4676e5588c3a
---
res/values/arrays.xml | 17 +++++++++++++
res/values/strings.xml | 9 +++++++
res/xml/status_bar.xml | 7 ++++++
.../android/settings/cyanogenmod/StatusBar.java | 26 ++++++++++++++++++++
4 files changed, 59 insertions(+)
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index a0fbecb..4ef94e4 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1298,5 +1298,22 @@
<item>25|250</item>
<item>50|500</item>
</string-array>
+
+ <!--- Status bar transparency -->
+ <string-array name="statusbar_transparency_entries">
+ <item>@string/statusbar_transparency_no</item>
+ <item>@string/statusbar_transparency_25</item>
+ <item>@string/statusbar_transparency_50</item>
+ <item>@string/statusbar_transparency_75</item>
+ <item>@string/statusbar_transparency_full</item>
+ </string-array>
+
+ <string-array name="statusbar_transparency_values">
+ <item>100</item>
+ <item>75</item>
+ <item>50</item>
+ <item>25</item>
+ <item>0</item>
+ </string-array>
<!-- **** CYANOGENMOD EDITS END **** -->
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6c3ccba..21fc5ef 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -4558,6 +4558,15 @@ found in the list of installed apps.</string>
<string name="power_dialog_show_sound_toggle_title">Sound options</string>
<string name="power_dialog_show_sound_toggle_summary">Show sound options in power menu</string>
+ <!--- Status bar transparency -->
+ <string name="statusbar_transparency">Status bar transparency</string>
+ <string name="statusbar_transparency_summary">Warning: turning on status bar transparency might affect performance and battery life</string>
+ <string name="statusbar_transparency_no">No transparency</string>
+ <string name="statusbar_transparency_25">25%</string>
+ <string name="statusbar_transparency_50">50%</string>
+ <string name="statusbar_transparency_75">75%</string>
+ <string name="statusbar_transparency_full">Full transparency</string>
+
<string name="increasing_ring_title">Ascending ringtone</string>
<!-- Sound settings screen, the caption of the checkbox for making incoming calls increase in volume -->
<string name="checkbox_increasing_ring">Enable</string>
diff --git a/res/xml/status_bar.xml b/res/xml/status_bar.xml
index dad68a4..e4e2dda 100644
--- a/res/xml/status_bar.xml
+++ b/res/xml/status_bar.xml
@@ -71,6 +71,13 @@
android:entries="@array/entries_status_bar_signal"
android:entryValues="@array/values_status_bar_signal" />
+ <ListPreference
+ android:key="statusbar_transparency"
+ android:title="@string/statusbar_transparency"
+ android:summary="@string/statusbar_transparency_summary"
+ android:entries="@array/statusbar_transparency_entries"
+ android:entryValues="@array/statusbar_transparency_values" />
+
<CheckBoxPreference
android:key="status_bar_brightness_control"
android:title="@string/status_bar_toggle_brightness"
diff --git a/src/com/android/settings/cyanogenmod/StatusBar.java b/src/com/android/settings/cyanogenmod/StatusBar.java
index bf7ebca..c5b3f77 100644
--- a/src/com/android/settings/cyanogenmod/StatusBar.java
+++ b/src/com/android/settings/cyanogenmod/StatusBar.java
@@ -16,6 +16,8 @@
package com.android.settings.cyanogenmod;
+import java.io.IOException;
+
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
@@ -49,6 +51,8 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
private static final String STATUS_BAR_NOTIF_COUNT = "status_bar_notif_count";
+ private static final String STATUSBAR_TRANSPARENCY = "statusbar_transparency";
+
private static final String STATUS_BAR_BOTTOM = "status_bar_bottom";
private static final String STATUS_BAR_CATEGORY_GENERAL = "status_bar_general";
@@ -69,6 +73,8 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
private CheckBoxPreference mStatusBarNotifCount;
+ private ListPreference mStatusbarTransparency;
+
private CheckBoxPreference mStatusBarBottom;
private PreferenceCategory mPrefCategoryGeneral;
@@ -138,6 +144,12 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
mStatusBarNotifCount.setChecked((Settings.System.getInt(getActivity().getApplicationContext().getContentResolver(),
Settings.System.STATUS_BAR_NOTIF_COUNT, 0) == 1));
+ mStatusbarTransparency = (ListPreference) findPreference(STATUSBAR_TRANSPARENCY);
+ mStatusbarTransparency.setOnPreferenceChangeListener(this);
+ mStatusbarTransparency.setValue(Integer.toString(Settings.System.getInt(getActivity()
+ .getContentResolver(), Settings.System.STATUSBAR_TRANSPARENCY,
+ 100)));
+
mPrefCategoryGeneral = (PreferenceCategory) findPreference(STATUS_BAR_CATEGORY_GENERAL);
if (Utils.isScreenLarge()) {
@@ -165,6 +177,12 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(),
Settings.System.STATUS_BAR_SIGNAL_TEXT, signalStyle);
return true;
+ } else if (preference == mStatusbarTransparency) {
+ int val = Integer.parseInt((String) newValue);
+ Settings.System.putInt(getActivity().getContentResolver(),
+ Settings.System.STATUSBAR_TRANSPARENCY, val);
+ restartSystemUI();
+ return true;
}
return false;
}
@@ -205,4 +223,12 @@ public class StatusBar extends SettingsPreferenceFragment implements OnPreferenc
}
return false;
}
+
+ private void restartSystemUI() {
+ try {
+ Runtime.getRuntime().exec("pkill -TERM -f com.android.systemui");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
}
--
1.7.9.5