Hi all, this is my first guide about modify AsusSystemUI..
This guide is based on the Asus Zenfone 4S (T00Q) Lollipop firmware
Feature:
Change Clock Style (STOCK, MIUI, DIY)
Change Clock color with enable/disable coloring
Change Clock size
Change Clock font
Enable/Disable digital clock
Advanced text customization (shadow text, etc)
Requirement:
- Understanding about APK compile/decompile
- APKTool
- Notepad++ (PC)
How:
Part AsusSystemUI:
1. Decompile AsusSystemUI.apk
2. Put smali from guide to smali folder.. Overwrite if already exist..
3. Copy or compare res/layout/asus_status_bar_expanded_header.xml from guide to res/layout folder on AsusSystemUI
4. Copy or compare res/layout/split_clock_view.xml from guide to res/layout folder on AsusSystemUI
5. Done. just Recompile UI , dont forget to Sign and zipalign.
6. SystemUI already push into system
Part ZenControl:
1. Decompile ZenControl
2. Open /res/xml/dropdown_prefs.xml and add this:
Code:
<PreferenceScreen android:title="@string/split_clock_preference">
<PreferenceCategory android:title="@string/split_clock_preference" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/split_clock_style_entries"
android:title="@string/split_clock_style_title"
android:key="split_clock_style"
android:defaultValue="0"
android:entryValues="@array/split_clock_style_values" />
<CheckBoxPreference
android:defaultValue="false"
android:title="@string/split_clock_digital_title"
android:key="split_clock_digital"
android:summaryOn="@string/enable"
android:summaryOff="@string/disable" />
<CheckBoxPreference
android:defaultValue="false"
android:title="@string/split_clock_force_coloring_title"
android:key="split_clock_force_coloring"
android:summaryOn="@string/enable"
android:summaryOff="@string/disable" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/split_clock_color_title"
android:key="split_clock_color"
android:defaultValue="\#ff737373"
alphaSlider="true"
android:dependency="split_clock_force_coloring" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/split_clock_font_style_entries"
android:title="@string/split_clock_font_title"
android:key="split_clock_font"
android:defaultValue="0"
android:entryValues="@array/split_clock_font_style_values" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:max="88"
android:title="@string/split_clock_size_title"
android:key="split_clock_size"
android:defaultValue="55" />
<PreferenceScreen android:title="@string/split_clock_adv_custom_title">
<PreferenceCategory android:title="@string/split_clock_adv_custom_title" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="10"
android:title="@string/split_clock_shadow_r_title"
android:key="split_clock_shadow_r"
android:defaultValue="1"
min="0"
unitsRight="" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/split_clock_shadow_x_title"
android:key="split_clock_shadow_x"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/split_clock_shadow_y_title"
android:key="split_clock_shadow_y"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/split_clock_shadow_c_title"
android:key="split_clock_shadow_c"
android:defaultValue="\#89000000"
alphaSlider="true" />
</PreferenceScreen>
</PreferenceScreen>
3. Add this to res/values/strings.xml
Code:
<string name="split_clock_preference">SplitClock Preference</string>
<string name="split_clock_style_title">Clock style</string>
<string name="split_clock_force_coloring_title">Enable Clock coloring</string>
<string name="split_clock_color_title">Clock color</string>
<string name="split_clock_size_title">Clock size</string>
<string name="split_clock_font_title">Clock font</string>
<string name="split_clock_digital_title">Transform to digital clock</string>
<string name="split_clock_font_normal">Normal</string>
<string name="split_clock_font_italic">Italic</string>
<string name="split_clock_font_bold">Bold</string>
<string name="split_clock_font_bold_italic">Bold Italic</string>
<string name="split_clock_font_light">Light</string>
<string name="split_clock_font_light_italic">Light Italic</string>
<string name="split_clock_font_thin">Thin</string>
<string name="split_clock_font_thin_italic">Thin Italic</string>
<string name="split_clock_font_condensed">Condensed</string>
<string name="split_clock_font_condensed_italic">Condensed Italic</string>
<string name="split_clock_font_condensed_light">Condensed Light</string>
<string name="split_clock_font_condensed_light_italic">Condensed Light Italic</string>
<string name="split_clock_font_condensed_bold">Condensed Bold</string>
<string name="split_clock_font_condensed_bold_italic">Condensed Bold Italic</string>
<string name="split_clock_font_medium">Medium</string>
<string name="split_clock_font_medium_italic">Medium Italic</string>
<string name="split_clock_font_black">Black</string>
<string name="split_clock_font_black_italic">Black Italic</string>
<string name="split_clock_adv_custom_title">Adv Text Customization</string>
<string name="split_clock_shadow_r_title">Shadow radius</string>
<string name="split_clock_shadow_x_title">Shadow Dx</string>
<string name="split_clock_shadow_y_title">Shadow Dy</string>
<string name="split_clock_shadow_c_title">Shadow color</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="split_clock_style_entries">
<item>Default</item>
<item>Up like MIUI</item>
<item>Down ˹DIY˼</item>
</string-array>
<string-array name="split_clock_style_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="split_clock_font_style_entries">
<item>@string/split_clock_font_normal</item>
<item>@string/split_clock_font_italic</item>
<item>@string/split_clock_font_bold</item>
<item>@string/split_clock_font_bold_italic</item>
<item>@string/split_clock_font_light</item>
<item>@string/split_clock_font_light_italic</item>
<item>@string/split_clock_font_thin</item>
<item>@string/split_clock_font_thin_italic</item>
<item>@string/split_clock_font_condensed</item>
<item>@string/split_clock_font_condensed_italic</item>
<item>@string/split_clock_font_condensed_light</item>
<item>@string/split_clock_font_condensed_light_italic</item>
<item>@string/split_clock_font_condensed_bold</item>
<item>@string/split_clock_font_condensed_bold_italic</item>
<item>@string/split_clock_font_medium</item>
<item>@string/split_clock_font_medium_italic</item>
<item>@string/split_clock_font_black</item>
<item>@string/split_clock_font_black_italic</item>
</string-array>
<string-array name="split_clock_font_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
</string-array>
5. Recompile ZenControl..
6. Install ZenControl as normal APK
Task: SystemUI must be restart for change to default color after disable clock coloring.
Good luck.. Keep Oprek.. Salam Bootloop
Created by [email protected]
fb.me/bamz4ever
http://forum.xda-developers.com/member.php?u=4672359
ZenControl by [email protected] & [email protected]
http://forum.xda-developers.com/android/apps-games/app-rom-control-app-devs-t3146567
Video: https://www.youtube.com/watch?v=m90XEGO_KnE
Screenshot
Screenshot
How to make this preference include settings and without ZenControl.apk:
1. Follow my guide: http://forum.xda-developers.com/zenfone-4/themes-apps/guide-easy-preference-control-t3317849
2. Open res/xml/zen_prefs.xml, and add:
Code:
<PreferenceScreen android:title="@string/split_clock_preference">
<PreferenceCategory android:title="@string/split_clock_preference" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/split_clock_style_entries"
android:title="@string/split_clock_style_title"
android:key="split_clock_style"
android:defaultValue="0"
android:entryValues="@array/split_clock_style_values" />
<CheckBoxPreference
android:defaultValue="false"
android:title="@string/split_clock_digital_title"
android:key="split_clock_digital"
android:summaryOn="@string/enable"
android:summaryOff="@string/disable" />
<CheckBoxPreference
android:defaultValue="false"
android:title="@string/split_clock_force_coloring_title"
android:key="split_clock_force_coloring"
android:summaryOn="@string/enable"
android:summaryOff="@string/disable" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/split_clock_color_title"
android:key="split_clock_color"
android:defaultValue="\#ff737373"
alphaSlider="true"
android:dependency="split_clock_force_coloring" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/split_clock_font_style_entries"
android:title="@string/split_clock_font_title"
android:key="split_clock_font"
android:defaultValue="0"
android:entryValues="@array/split_clock_font_style_values" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:max="88"
android:title="@string/split_clock_size_title"
android:key="split_clock_size"
android:defaultValue="55" />
<PreferenceScreen android:title="@string/split_clock_adv_custom_title">
<PreferenceCategory android:title="@string/split_clock_adv_custom_title" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="10"
android:title="@string/split_clock_shadow_r_title"
android:key="split_clock_shadow_r"
android:defaultValue="1"
min="0"
unitsRight="" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/split_clock_shadow_x_title"
android:key="split_clock_shadow_x"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/split_clock_shadow_y_title"
android:key="split_clock_shadow_y"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/split_clock_shadow_c_title"
android:key="split_clock_shadow_c"
android:defaultValue="\#89000000"
alphaSlider="true" />
</PreferenceScreen>
</PreferenceScreen>
3. Add this to res/values/strings.xml
Code:
<string name="split_clock_preference">SplitClock Preference</string>
<string name="split_clock_style_title">Clock style</string>
<string name="split_clock_force_coloring_title">Enable Clock coloring</string>
<string name="split_clock_color_title">Clock color</string>
<string name="split_clock_size_title">Clock size</string>
<string name="split_clock_font_title">Clock font</string>
<string name="split_clock_digital_title">Transform to digital clock</string>
<string name="split_clock_font_normal">Normal</string>
<string name="split_clock_font_italic">Italic</string>
<string name="split_clock_font_bold">Bold</string>
<string name="split_clock_font_bold_italic">Bold Italic</string>
<string name="split_clock_font_light">Light</string>
<string name="split_clock_font_light_italic">Light Italic</string>
<string name="split_clock_font_thin">Thin</string>
<string name="split_clock_font_thin_italic">Thin Italic</string>
<string name="split_clock_font_condensed">Condensed</string>
<string name="split_clock_font_condensed_italic">Condensed Italic</string>
<string name="split_clock_font_condensed_light">Condensed Light</string>
<string name="split_clock_font_condensed_light_italic">Condensed Light Italic</string>
<string name="split_clock_font_condensed_bold">Condensed Bold</string>
<string name="split_clock_font_condensed_bold_italic">Condensed Bold Italic</string>
<string name="split_clock_font_medium">Medium</string>
<string name="split_clock_font_medium_italic">Medium Italic</string>
<string name="split_clock_font_black">Black</string>
<string name="split_clock_font_black_italic">Black Italic</string>
<string name="split_clock_adv_custom_title">Adv Text Customization</string>
<string name="split_clock_shadow_r_title">Shadow radius</string>
<string name="split_clock_shadow_x_title">Shadow Dx</string>
<string name="split_clock_shadow_y_title">Shadow Dy</string>
<string name="split_clock_shadow_c_title">Shadow color</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="split_clock_style_entries">
<item>Default</item>
<item>Up like MIUI</item>
<item>Down ˹DIY˼</item>
</string-array>
<string-array name="split_clock_style_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="split_clock_font_style_entries">
<item>@string/split_clock_font_normal</item>
<item>@string/split_clock_font_italic</item>
<item>@string/split_clock_font_bold</item>
<item>@string/split_clock_font_bold_italic</item>
<item>@string/split_clock_font_light</item>
<item>@string/split_clock_font_light_italic</item>
<item>@string/split_clock_font_thin</item>
<item>@string/split_clock_font_thin_italic</item>
<item>@string/split_clock_font_condensed</item>
<item>@string/split_clock_font_condensed_italic</item>
<item>@string/split_clock_font_condensed_light</item>
<item>@string/split_clock_font_condensed_light_italic</item>
<item>@string/split_clock_font_condensed_bold</item>
<item>@string/split_clock_font_condensed_bold_italic</item>
<item>@string/split_clock_font_medium</item>
<item>@string/split_clock_font_medium_italic</item>
<item>@string/split_clock_font_black</item>
<item>@string/split_clock_font_black_italic</item>
</string-array>
<string-array name="split_clock_font_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
</string-array>
5. Recompile Settings..
6. You can uninstall ZenControl.apk
7. Done
Maknyoss mbah..:thumbup:
Thanks a lot.
Thanks:good::good:
Hi all.. this is my second guide about modifying AsusSystemUI..
This guide is based on the Asus Zenfone 4S (T00Q) Lollipop firmware.
Feature:
Change Traffic Style (Single, Dual)
Change Traffic alignment (hide/left/right)
Change Traffic color
Change Traffic size
Change Traffic font
Advanced text customization
Requirement:
- Understanding about APK compile/decompile
- APKTool
- Notepad++ (PC)
How:
Part AsusSystemUI:
1. Decompile AsusSystemUI.apk
2. Put smali from guide to smali folder.. Overwrite if already exist..
3. Open res/layout/statusbar.xml, and find
Code:
<com.android.keyguard.AlphaOptimizedLinearLayout android:id="@id/notification_icon_area_inner" ...
Add below:
Code:
<com.android.systemui.statusbar.policy.Traffic android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:gravity="left|center" android:id="@id/Traffic" android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingStart="3.0dip" android:paddingEnd="3.0dip" />
4. Open res/layout/system_icons.xml and find
Code:
<ImageView android:id="@id/wifi_direct" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" />
Add below:
Code:
<com.android.systemui.statusbar.policy.TrafficBamz android:textAppearance="@style/TextAppearance.StatusBar.Traffic" android:gravity="right|center" android:id="@id/Traffic2" android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingStart="3.0dip" android:paddingEnd="3.0dip" />
5. Open res/values/ids.xml
Scroll to end of line, add above </resources> :
Code:
<item type="id" name="Traffic">false</item>
<item type="id" name="Traffic2">false</item>
6. Open res/values/styles.xml
Scroll to end of line, add above </resources> :
Code:
<style name="TextAppearance.StatusBar.Traffic" parent="@android:style/TextAppearance.StatusBar.Icon">
<item name="android:textStyle">bold</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:textSize">14.0dip</item>
<item name="android:shadowColor">#89000000</item>
<item name="android:shadowDx">0.0</item>
<item name="android:shadowDy">0.0</item>
<item name="android:shadowRadius">1.5</item>
<item name="android:fontFamily">roboto-bold</item>
</style>
7. Done. Just Recompile UI , dont forget to Sign and zipalign.
8. SystemUI already push into system
Part ZenControl:
1. Decompile ZenControl
2. Open /res/xml/ui_prefs.xml and add this:
Code:
<PreferenceScreen android:title="@string/network_traffic_title" android:summary="@string/network_traffic_summary">
<PreferenceCategory android:title="@string/sb_traffic_title" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/sb_traffic_entries"
android:title="@string/sb_traffic_align_title"
android:key="status_bar_traffic_position"
android:defaultValue="1"
android:entryValues="@array/sb_traffic_values" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/sb_traffic_line_entries"
android:title="@string/sb_traffic_line_title"
android:key="status_bar_traffic_line"
android:defaultValue="1"
android:entryValues="@array/sb_traffic_line_values" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/sb_traffic_color_title"
android:key="status_bar_traffic_color"
android:defaultValue="\#ffffffff"
alphaSlider="true" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/sb_traffic_font_style_entries"
android:title="@string/sb_traffic_font_title"
android:key="status_bar_traffic_font"
android:defaultValue="0"
android:entryValues="@array/traffic_font_style_values" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="23"
android:title="@string/sb_traffic_size_title"
android:key="status_bar_traffic_size"
android:defaultValue="16"
min="5"
unitsRight="dp" />
<PreferenceScreen android:title="@string/sb_traffic_adv_custom_title">
<PreferenceCategory android:title="@string/sb_traffic_adv_custom_title" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="10"
android:title="@string/sb_traffic_shadow_r_title"
android:key="status_bar_traffic_shadow_r"
android:defaultValue="1"
min="0"
unitsRight="" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/sb_traffic_shadow_x_title"
android:key="status_bar_traffic_shadow_x"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/sb_traffic_shadow_y_title"
android:key="status_bar_traffic_shadow_y"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/sb_traffic_shadow_c_title"
android:key="status_bar_traffic_shadow_c"
android:defaultValue="\#89000000"
alphaSlider="true" />
</PreferenceScreen>
</PreferenceScreen>
3. Add this to res/values/strings.xml
Code:
<string name="network_traffic_title">Network traffic</string>
<string name="network_traffic_summary">Enable various network traffic options in statusbar</string>
<string name="sb_traffic_title">Traffic ThinkingBridge</string>
<string name="sb_traffic_align_title">Traffic alignment</string>
<string name="sb_traffic_color_title">Traffic color</string>
<string name="sb_traffic_size_title">Traffic size</string>
<string name="sb_traffic_font_title">Traffic font</string>
<string name="sb_traffic_line_title">Traffic style</string>
<string name="sb_traffic_right">Right</string>
<string name="sb_traffic_left">Left</string>
<string name="sb_traffic_dont_show">"Don't Show"</string>
<string name="sb_traffic_font_normal">Normal</string>
<string name="sb_traffic_font_italic">Italic</string>
<string name="sb_traffic_font_bold">Bold</string>
<string name="sb_traffic_font_bold_italic">Bold Italic</string>
<string name="sb_traffic_font_light">Light</string>
<string name="sb_traffic_font_light_italic">Light Italic</string>
<string name="sb_traffic_font_thin">Thin</string>
<string name="sb_traffic_font_thin_italic">Thin Italic</string>
<string name="sb_traffic_font_condensed">Condensed</string>
<string name="sb_traffic_font_condensed_italic">Condensed Italic</string>
<string name="sb_traffic_font_condensed_light">Condensed Light</string>
<string name="sb_traffic_font_condensed_light_italic">Condensed Light Italic</string>
<string name="sb_traffic_font_condensed_bold">Condensed Bold</string>
<string name="sb_traffic_font_condensed_bold_italic">Condensed Bold Italic</string>
<string name="sb_traffic_font_medium">Medium</string>
<string name="sb_traffic_font_medium_italic">Medium Italic</string>
<string name="sb_traffic_font_black">Black</string>
<string name="sb_traffic_font_black_italic">Black Italic</string>
<string name="sb_traffic_adv_custom_title">Adv Text Customization</string>
<string name="sb_traffic_shadow_r_title">Shadow radius</string>
<string name="sb_traffic_shadow_x_title">Shadow Dx</string>
<string name="sb_traffic_shadow_y_title">Shadow Dy</string>
<string name="sb_traffic_shadow_c_title">Shadow color</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="sb_traffic_font_style_entries">
<item>@string/sb_traffic_font_normal</item>
<item>@string/sb_traffic_font_italic</item>
<item>@string/sb_traffic_font_bold</item>
<item>@string/sb_traffic_font_bold_italic</item>
<item>@string/sb_traffic_font_light</item>
<item>@string/sb_traffic_font_light_italic</item>
<item>@string/sb_traffic_font_thin</item>
<item>@string/sb_traffic_font_thin_italic</item>
<item>@string/sb_traffic_font_condensed</item>
<item>@string/sb_traffic_font_condensed_italic</item>
<item>@string/sb_traffic_font_condensed_light</item>
<item>@string/sb_traffic_font_condensed_light_italic</item>
<item>@string/sb_traffic_font_condensed_bold</item>
<item>@string/sb_traffic_font_condensed_bold_italic</item>
<item>@string/sb_traffic_font_medium</item>
<item>@string/sb_traffic_font_medium_italic</item>
<item>@string/sb_traffic_font_black</item>
<item>@string/sb_traffic_font_black_italic</item>
</string-array>
<string-array name="traffic_font_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
</string-array>
<string-array name="sb_traffic_line_entries" translatable="false">
<item>Single</item>
<item>Dual</item>
</string-array>
<string-array name="sb_traffic_line_values" translatable="false">
<item>1</item>
<item>2</item>
</string-array>
<string-array name="sb_traffic_entries" translatable="false">
<item>@string/sb_traffic_dont_show</item>
<item>@string/sb_traffic_left</item>
<item>@string/sb_traffic_right</item>
</string-array>
<string-array name="sb_traffic_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
5. Recompile ZenControl..
6. Install ZenControl as normal APK
Good luck.. Keep Oprek.. Salam Bootloop
Created by [email protected]
fb.me/bamz4ever
http://forum.xda-developers.com/member.php?u=4672359
ZenControl by [email protected] & [email protected]
http://forum.xda-developers.com/andr...-devs-t3146567
Video: https://www.youtube.com/watch?v=5Ouhzgoc-4Y
Enjoy!
Screenshot
Screenshot
Include preference into Settings
How to include preference into settings:
1. Follow my guide: http://forum.xda-developers.com/zenfone-4/themes-apps/guide-easy-preference-control-t3317849
2. Open res/xml/zen_prefs.xml, and add:
Code:
<PreferenceScreen android:title="@string/network_traffic_title" android:summary="@string/network_traffic_summary">
<PreferenceCategory android:title="@string/sb_traffic_title" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/sb_traffic_entries"
android:title="@string/sb_traffic_align_title"
android:key="status_bar_traffic_position"
android:defaultValue="1"
android:entryValues="@array/sb_traffic_values" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/sb_traffic_line_entries"
android:title="@string/sb_traffic_line_title"
android:key="status_bar_traffic_line"
android:defaultValue="1"
android:entryValues="@array/sb_traffic_line_values" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/sb_traffic_color_title"
android:key="status_bar_traffic_color"
android:defaultValue="\#ffffffff"
alphaSlider="true" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/sb_traffic_font_style_entries"
android:title="@string/sb_traffic_font_title"
android:key="status_bar_traffic_font"
android:defaultValue="0"
android:entryValues="@array/traffic_font_style_values" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="23"
android:title="@string/sb_traffic_size_title"
android:key="status_bar_traffic_size"
android:defaultValue="16"
min="5"
unitsRight="dp" />
<PreferenceScreen android:title="@string/sb_traffic_adv_custom_title">
<PreferenceCategory android:title="@string/sb_traffic_adv_custom_title" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="10"
android:title="@string/sb_traffic_shadow_r_title"
android:key="status_bar_traffic_shadow_r"
android:defaultValue="1"
min="0"
unitsRight="" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/sb_traffic_shadow_x_title"
android:key="status_bar_traffic_shadow_x"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/sb_traffic_shadow_y_title"
android:key="status_bar_traffic_shadow_y"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/sb_traffic_shadow_c_title"
android:key="status_bar_traffic_shadow_c"
android:defaultValue="\#89000000"
alphaSlider="true" />
</PreferenceScreen>
</PreferenceScreen>
3. Add this to res/values/strings.xml
Code:
<string name="network_traffic_title">Network traffic</string>
<string name="network_traffic_summary">Enable various network traffic options in statusbar</string>
<string name="sb_traffic_title">Traffic ThinkingBridge</string>
<string name="sb_traffic_align_title">Traffic alignment</string>
<string name="sb_traffic_color_title">Traffic color</string>
<string name="sb_traffic_size_title">Traffic size</string>
<string name="sb_traffic_font_title">Traffic font</string>
<string name="sb_traffic_line_title">Traffic style</string>
<string name="sb_traffic_right">Right</string>
<string name="sb_traffic_left">Left</string>
<string name="sb_traffic_dont_show">"Don't Show"</string>
<string name="sb_traffic_font_normal">Normal</string>
<string name="sb_traffic_font_italic">Italic</string>
<string name="sb_traffic_font_bold">Bold</string>
<string name="sb_traffic_font_bold_italic">Bold Italic</string>
<string name="sb_traffic_font_light">Light</string>
<string name="sb_traffic_font_light_italic">Light Italic</string>
<string name="sb_traffic_font_thin">Thin</string>
<string name="sb_traffic_font_thin_italic">Thin Italic</string>
<string name="sb_traffic_font_condensed">Condensed</string>
<string name="sb_traffic_font_condensed_italic">Condensed Italic</string>
<string name="sb_traffic_font_condensed_light">Condensed Light</string>
<string name="sb_traffic_font_condensed_light_italic">Condensed Light Italic</string>
<string name="sb_traffic_font_condensed_bold">Condensed Bold</string>
<string name="sb_traffic_font_condensed_bold_italic">Condensed Bold Italic</string>
<string name="sb_traffic_font_medium">Medium</string>
<string name="sb_traffic_font_medium_italic">Medium Italic</string>
<string name="sb_traffic_font_black">Black</string>
<string name="sb_traffic_font_black_italic">Black Italic</string>
<string name="sb_traffic_adv_custom_title">Adv Text Customization</string>
<string name="sb_traffic_shadow_r_title">Shadow radius</string>
<string name="sb_traffic_shadow_x_title">Shadow Dx</string>
<string name="sb_traffic_shadow_y_title">Shadow Dy</string>
<string name="sb_traffic_shadow_c_title">Shadow color</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="sb_traffic_font_style_entries">
<item>@string/sb_traffic_font_normal</item>
<item>@string/sb_traffic_font_italic</item>
<item>@string/sb_traffic_font_bold</item>
<item>@string/sb_traffic_font_bold_italic</item>
<item>@string/sb_traffic_font_light</item>
<item>@string/sb_traffic_font_light_italic</item>
<item>@string/sb_traffic_font_thin</item>
<item>@string/sb_traffic_font_thin_italic</item>
<item>@string/sb_traffic_font_condensed</item>
<item>@string/sb_traffic_font_condensed_italic</item>
<item>@string/sb_traffic_font_condensed_light</item>
<item>@string/sb_traffic_font_condensed_light_italic</item>
<item>@string/sb_traffic_font_condensed_bold</item>
<item>@string/sb_traffic_font_condensed_bold_italic</item>
<item>@string/sb_traffic_font_medium</item>
<item>@string/sb_traffic_font_medium_italic</item>
<item>@string/sb_traffic_font_black</item>
<item>@string/sb_traffic_font_black_italic</item>
</string-array>
<string-array name="traffic_font_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
</string-array>
<string-array name="sb_traffic_line_entries" translatable="false">
<item>Single</item>
<item>Dual</item>
</string-array>
<string-array name="sb_traffic_line_values" translatable="false">
<item>1</item>
<item>2</item>
</string-array>
<string-array name="sb_traffic_entries" translatable="false">
<item>@string/sb_traffic_dont_show</item>
<item>@string/sb_traffic_left</item>
<item>@string/sb_traffic_right</item>
</string-array>
<string-array name="sb_traffic_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
5. Recompile Settings..
6. Done
awesome guide mastah.. i love it
dugeriss said:
awesome guide mastah.. i love it
Click to expand...
Click to collapse
Thanks sir Dug
Nice guide om . ijin icip.
Yup.. silahkan
nice !
Thx om.
Work di cm12.1..
Ijin icip icip om
Can you help me to mod in Zenfone 4S 4.4 ??
Hit thanks button bro.. hehe
Can use that Guide on JB 4.2.2??
nice guide om @bamzzz ijin icip
will this guide work in zenfone C (z007)
Hi all.. this is my third guide about modifying AsusSystemUI..
This guide is based on the Asus Zenfone 4S (T00Q) Lollipop firmware.
Feature:
Weather Text Style (Hidden, w/Scale, wo/Scale)
Weather Text Placement (left/right)
Weather Text color with Custom color/Rainbow/Animated Rainbow
Weather Text size
Weather Text font style
Weather icon coloring
Weather icon Placement
Condition icon style (Monochrome/Colored/VCloud)
Requirement:
Understanding about APK compile/decompile
APKTool
Notepad++ (PC)
How:
Part AsusSystemUI:
1. Decompile AsusSystemUI.apk
2. Put smali from guide to smali folder.. Overwrite if already exist..
3. Open res/layout/statusbar.xml, and find
Code:
<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon" android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />
Add above:
Code:
<com.bamzzz.WeatherTextLeft android:id="@id/weather_text_left" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingEnd="3.0dip" android:singleLine="true" />
Find:
Code:
<include layout="@layout/system_icons" />
Add below:
Code:
<com.bamzzz.WeatherText android:id="@id/weather_text" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingStart="3.0dip" android:paddingEnd="3.0dip" android:singleLine="true" />
4. Open res/values/ids.xml
Scroll to end of line, add above </resources> :
Code:
<item type="id" name="weather_text">false</item>
<item type="id" name="weather_text_left">false</item>
5. Done. Just Recompile UI , dont forget to Sign and zipalign.
6. SystemUI already push into system
Part ZenControl:
1. Decompile ZenControl
2. Open /res/xml/ui_prefs.xml and add this:
Code:
<PreferenceScreen android:title="@string/status_bar_weather_title"
android:summary="@string/status_bar_weather_summary">
<PreferenceCategory android:title="@string/status_bar_weather_title" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="0"
android:key="status_bar_temperature"
android:title="@string/status_bar_weather_title"
android:dialogTitle="@string/status_bar_weather_title"
android:entries="@array/status_bar_weather_entries"
android:entryValues="@array/status_bar_weather_values" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="1"
android:key="status_bar_temperature_style"
android:title="@string/status_bar_weather_location_title"
android:dialogTitle="@string/status_bar_weather_location_title"
android:entries="@array/status_bar_weather_location_entries"
android:entryValues="@array/status_bar_weather_location_values" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="1"
android:key="status_bar_weather_rainbow_color"
android:title="@string/status_bar_weather_color_title"
android:entries="@array/status_bar_weather_rainbow_color_entries"
android:entryValues="@array/status_bar_weather_rainbow_color_values" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/status_bar_weather_custom_color"
android:key="status_bar_weather_color"
android:defaultValue="\#ffffffff"
alphaSlider="true" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="0"
android:key="status_bar_weather_icon"
android:title="@string/status_bar_weather_icon_title"
android:entries="@array/status_bar_weather_icon_entries"
android:entryValues="@array/status_bar_weather_icon_values" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="1"
android:key="status_bar_weather_condition_icon"
android:title="@string/status_bar_weather_condition_icon_title"
android:dialogTitle="@string/status_bar_weather_condition_icon_dlg_title"
android:entries="@array/status_bar_weather_condition_icon_entries"
android:entryValues="@array/status_bar_weather_condition_icon_values" />
<SwitchPreference
android:defaultValue="false"
android:key="status_bar_weather_colorize_all_icons"
android:title="@string/status_bar_weather_colorize_all_icons_title"
android:summary="@string/status_bar_weather_colorize_all_icons_summary" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/status_bar_weather_icon_color_title"
android:key="status_bar_weather_icon_color"
android:defaultValue="\#ffffffff"
alphaSlider="true" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="0"
android:key="status_bar_weather_font_style"
android:entries="@array/status_bar_weather_font_style_entries"
android:entryValues="@array/status_bar_weather_font_style_values"
android:title="@string/status_bar_weather_font_style_title" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:key="status_bar_weather_size"
android:title="@string/status_bar_weather_size_title"
android:max="23"
min="4"
android:defaultValue="14"
unitsRight="dp" />
<PreferenceScreen
android:summary="@string/status_bar_open_weather_settings_summary"
android:title="@string/status_bar_open_weather_settings_title">
<intent
android:targetClass="com.cyanogenmod.lockclock.preference.Preferences"
android:targetPackage="com.cyanogenmod.lockclock" />
</PreferenceScreen>
</PreferenceScreen>
3. Add this to res/values/strings.xml
Code:
<string name="status_bar_weather_title">Weather Text</string>
<string name="status_bar_weather_summary">Enable various weather text options in statusbar</string>
<string name="status_bar_weather_hidden">Hidden</string>
<string name="status_bar_weather_show_scale">Shown with scale</string>
<string name="status_bar_weather_hide_scale">Shown without scale</string>
<string name="status_bar_weather_location_title">Placement</string>
<string name="status_bar_weather_location_summary">Select where the weather temperature is shown on the statusbar</string>
<string name="status_bar_weather_location_right">Show on right</string>
<string name="status_bar_weather_location_left">Show on left</string>
<string name="status_bar_weather_color_title">Temperature color</string>
<string name="status_bar_weather_size_title">Font size</string>
<string name="status_bar_weather_font_style_title">Font style</string>
<string name="status_bar_weather_icon_title">Weather Icon</string>
<string name="status_bar_weather_icon_color_title">Weather Icon Color</string>
<string name="status_bar_weather_condition_icon_title">Condition icon</string>
<string name="status_bar_weather_condition_icon_dlg_title">Coose an icon for displaying the weather condition</string>
<string name="status_bar_weather_condition_icon_monochrome_title">Monochrome</string>
<string name="status_bar_weather_condition_icon_colored_title">Colored</string>
<string name="status_bar_weather_condition_icon_vclouds_title">VClouds</string>
<string name="status_bar_weather_colorize_all_icons_title">Colorize all icons</string>
<string name="status_bar_weather_colorize_all_icons_summary">Enable to colorize all icons, disable to colorize only the monochrome icons</string>
<string name="status_bar_weather_custom_color">Custom Color</string>
<string name="status_bar_weather_rainbow_color">Rainbow</string>
<string name="status_bar_weather_anim_rainbow_color">Animated Rainbow</string>
<string name="status_bar_open_weather_settings_title">Weather settings</string>
<string name="status_bar_open_weather_settings_summary">Open cyanogen widget preference</string>
<string name="status_bar_weather_font_normal">Normal</string>
<string name="status_bar_weather_font_italic">Italic</string>
<string name="status_bar_weather_font_bold">Bold</string>
<string name="status_bar_weather_font_bold_italic">Bold Italic</string>
<string name="status_bar_weather_font_light">Light</string>
<string name="status_bar_weather_font_light_italic">Light Italic</string>
<string name="status_bar_weather_font_thin">Thin</string>
<string name="status_bar_weather_font_thin_italic">Thin Italic</string>
<string name="status_bar_weather_font_condensed">Condensed</string>
<string name="status_bar_weather_font_condensed_italic">Condensed Italic</string>
<string name="status_bar_weather_font_condensed_light">Condensed Light</string>
<string name="status_bar_weather_font_condensed_light_italic">Condensed Light Italic</string>
<string name="status_bar_weather_font_condensed_bold">Condensed Bold</string>
<string name="status_bar_weather_font_condensed_bold_italic">Condensed Bold Italic</string>
<string name="status_bar_weather_font_medium">Medium</string>
<string name="status_bar_weather_font_medium_italic">Medium Italic</string>
<string name="status_bar_weather_font_black">Black</string>
<string name="status_bar_weather_font_black_italic">Black Italic</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="status_bar_weather_entries" translatable="false">
<item>@string/status_bar_weather_hidden</item>
<item>@string/status_bar_weather_show_scale</item>
<item>@string/status_bar_weather_hide_scale</item>
</string-array>
<string-array name="status_bar_weather_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="status_bar_weather_location_entries" translatable="false">
<item>@string/status_bar_weather_location_right</item>
<item>@string/status_bar_weather_location_left</item>
</string-array>
<string-array name="status_bar_weather_location_values" translatable="false">
<item>0</item>
<item>1</item>
</string-array>
<string-array name="status_bar_weather_condition_icon_entries">
<item>@string/status_bar_weather_condition_icon_monochrome_title</item>
<item>@string/status_bar_weather_condition_icon_colored_title</item>
<item>@string/status_bar_weather_condition_icon_vclouds_title</item>
</string-array>
<string-array name="status_bar_weather_condition_icon_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="status_bar_weather_font_style_entries">
<item>@string/status_bar_weather_font_normal</item>
<item>@string/status_bar_weather_font_italic</item>
<item>@string/status_bar_weather_font_bold</item>
<item>@string/status_bar_weather_font_bold_italic</item>
<item>@string/status_bar_weather_font_light</item>
<item>@string/status_bar_weather_font_light_italic</item>
<item>@string/status_bar_weather_font_thin</item>
<item>@string/status_bar_weather_font_thin_italic</item>
<item>@string/status_bar_weather_font_condensed</item>
<item>@string/status_bar_weather_font_condensed_italic</item>
<item>@string/status_bar_weather_font_condensed_light</item>
<item>@string/status_bar_weather_font_condensed_light_italic</item>
<item>@string/status_bar_weather_font_condensed_bold</item>
<item>@string/status_bar_weather_font_condensed_bold_italic</item>
<item>@string/status_bar_weather_font_medium</item>
<item>@string/status_bar_weather_font_medium_italic</item>
<item>@string/status_bar_weather_font_black</item>
<item>@string/status_bar_weather_font_black_italic</item>
</string-array>
<string-array name="status_bar_weather_font_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
</string-array>
<string-array name="status_bar_weather_rainbow_color_entries" translatable="false">
<item>@string/status_bar_weather_custom_color</item>
<item>@string/status_bar_weather_rainbow_color</item>
<item>@string/status_bar_weather_anim_rainbow_color</item>
</string-array>
<string-array name="status_bar_weather_rainbow_color_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="status_bar_weather_icon_entries" translatable="false">
<item>@string/status_bar_weather_hidden</item>
<item>@string/right</item>
<item>@string/left</item>
</string-array>
<string-array name="status_bar_weather_icon_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
5. Recompile ZenControl..
6. Install ZenControl as normal APK
7. Copy LockClock.apk to /system/priv-app/LockClock
Good luck.. Keep Oprek.. Salam Bootloop..
Task: Rainbow text color masih ngawur.
Created by [email protected]
fb.me/bamz4ever
http://forum.xda-developers.com/member.php?u=4672359
ZenControl by [email protected] & [email protected]
http://forum.xda-developers.com/android/apps-games/app-rom-control-app-devs-t3146567
CyanogenMod Developers Team
Screenshot
Screenshot
Include preference into Settings
How to include preference into settings:
1. Follow my guide: http://forum.xda-developers.com/zenfone-4/themes-apps/guide-easy-preference-control-t3317849
2. Open res/xml/zen_prefs.xml, and add:
Code:
<PreferenceScreen android:title="@string/status_bar_weather_title"
android:summary="@string/status_bar_weather_summary">
<PreferenceCategory android:title="@string/status_bar_weather_title" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="0"
android:key="status_bar_temperature"
android:title="@string/status_bar_weather_title"
android:dialogTitle="@string/status_bar_weather_title"
android:entries="@array/status_bar_weather_entries"
android:entryValues="@array/status_bar_weather_values" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="1"
android:key="status_bar_temperature_style"
android:title="@string/status_bar_weather_location_title"
android:dialogTitle="@string/status_bar_weather_location_title"
android:entries="@array/status_bar_weather_location_entries"
android:entryValues="@array/status_bar_weather_location_values" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="1"
android:key="status_bar_weather_rainbow_color"
android:title="@string/status_bar_weather_color_title"
android:entries="@array/status_bar_weather_rainbow_color_entries"
android:entryValues="@array/status_bar_weather_rainbow_color_values" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/status_bar_weather_custom_color"
android:key="status_bar_weather_color"
android:defaultValue="\#ffffffff"
alphaSlider="true" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="0"
android:key="status_bar_weather_icon"
android:title="@string/status_bar_weather_icon_title"
android:entries="@array/status_bar_weather_icon_entries"
android:entryValues="@array/status_bar_weather_icon_values" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="1"
android:key="status_bar_weather_condition_icon"
android:title="@string/status_bar_weather_condition_icon_title"
android:dialogTitle="@string/status_bar_weather_condition_icon_dlg_title"
android:entries="@array/status_bar_weather_condition_icon_entries"
android:entryValues="@array/status_bar_weather_condition_icon_values" />
<SwitchPreference
android:defaultValue="false"
android:key="status_bar_weather_colorize_all_icons"
android:title="@string/status_bar_weather_colorize_all_icons_title"
android:summary="@string/status_bar_weather_colorize_all_icons_summary" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/status_bar_weather_icon_color_title"
android:key="status_bar_weather_icon_color"
android:defaultValue="\#ffffffff"
alphaSlider="true" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="0"
android:key="status_bar_weather_font_style"
android:entries="@array/status_bar_weather_font_style_entries"
android:entryValues="@array/status_bar_weather_font_style_values"
android:title="@string/status_bar_weather_font_style_title" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:key="status_bar_weather_size"
android:title="@string/status_bar_weather_size_title"
android:max="23"
min="4"
android:defaultValue="14"
unitsRight="dp" />
<PreferenceScreen
android:summary="@string/status_bar_open_weather_settings_summary"
android:title="@string/status_bar_open_weather_settings_title">
<intent
android:targetClass="com.cyanogenmod.lockclock.preference.Preferences"
android:targetPackage="com.cyanogenmod.lockclock" />
</PreferenceScreen>
</PreferenceScreen>
3. Add this to res/values/strings.xml
Code:
<string name="status_bar_weather_title">Weather Text</string>
<string name="status_bar_weather_summary">Enable various weather text options in statusbar</string>
<string name="status_bar_weather_hidden">Hidden</string>
<string name="status_bar_weather_show_scale">Shown with scale</string>
<string name="status_bar_weather_hide_scale">Shown without scale</string>
<string name="status_bar_weather_location_title">Placement</string>
<string name="status_bar_weather_location_summary">Select where the weather temperature is shown on the statusbar</string>
<string name="status_bar_weather_location_right">Show on right</string>
<string name="status_bar_weather_location_left">Show on left</string>
<string name="status_bar_weather_color_title">Temperature color</string>
<string name="status_bar_weather_size_title">Font size</string>
<string name="status_bar_weather_font_style_title">Font style</string>
<string name="status_bar_weather_icon_title">Weather Icon</string>
<string name="status_bar_weather_icon_color_title">Weather Icon Color</string>
<string name="status_bar_weather_condition_icon_title">Condition icon</string>
<string name="status_bar_weather_condition_icon_dlg_title">Coose an icon for displaying the weather condition</string>
<string name="status_bar_weather_condition_icon_monochrome_title">Monochrome</string>
<string name="status_bar_weather_condition_icon_colored_title">Colored</string>
<string name="status_bar_weather_condition_icon_vclouds_title">VClouds</string>
<string name="status_bar_weather_colorize_all_icons_title">Colorize all icons</string>
<string name="status_bar_weather_colorize_all_icons_summary">Enable to colorize all icons, disable to colorize only the monochrome icons</string>
<string name="status_bar_weather_custom_color">Custom Color</string>
<string name="status_bar_weather_rainbow_color">Rainbow</string>
<string name="status_bar_weather_anim_rainbow_color">Animated Rainbow</string>
<string name="status_bar_open_weather_settings_title">Weather settings</string>
<string name="status_bar_open_weather_settings_summary">Open cyanogen widget preference</string>
<string name="status_bar_weather_font_normal">Normal</string>
<string name="status_bar_weather_font_italic">Italic</string>
<string name="status_bar_weather_font_bold">Bold</string>
<string name="status_bar_weather_font_bold_italic">Bold Italic</string>
<string name="status_bar_weather_font_light">Light</string>
<string name="status_bar_weather_font_light_italic">Light Italic</string>
<string name="status_bar_weather_font_thin">Thin</string>
<string name="status_bar_weather_font_thin_italic">Thin Italic</string>
<string name="status_bar_weather_font_condensed">Condensed</string>
<string name="status_bar_weather_font_condensed_italic">Condensed Italic</string>
<string name="status_bar_weather_font_condensed_light">Condensed Light</string>
<string name="status_bar_weather_font_condensed_light_italic">Condensed Light Italic</string>
<string name="status_bar_weather_font_condensed_bold">Condensed Bold</string>
<string name="status_bar_weather_font_condensed_bold_italic">Condensed Bold Italic</string>
<string name="status_bar_weather_font_medium">Medium</string>
<string name="status_bar_weather_font_medium_italic">Medium Italic</string>
<string name="status_bar_weather_font_black">Black</string>
<string name="status_bar_weather_font_black_italic">Black Italic</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="status_bar_weather_entries" translatable="false">
<item>@string/status_bar_weather_hidden</item>
<item>@string/status_bar_weather_show_scale</item>
<item>@string/status_bar_weather_hide_scale</item>
</string-array>
<string-array name="status_bar_weather_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="status_bar_weather_location_entries" translatable="false">
<item>@string/status_bar_weather_location_right</item>
<item>@string/status_bar_weather_location_left</item>
</string-array>
<string-array name="status_bar_weather_location_values" translatable="false">
<item>0</item>
<item>1</item>
</string-array>
<string-array name="status_bar_weather_condition_icon_entries">
<item>@string/status_bar_weather_condition_icon_monochrome_title</item>
<item>@string/status_bar_weather_condition_icon_colored_title</item>
<item>@string/status_bar_weather_condition_icon_vclouds_title</item>
</string-array>
<string-array name="status_bar_weather_condition_icon_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="status_bar_weather_font_style_entries">
<item>@string/status_bar_weather_font_normal</item>
<item>@string/status_bar_weather_font_italic</item>
<item>@string/status_bar_weather_font_bold</item>
<item>@string/status_bar_weather_font_bold_italic</item>
<item>@string/status_bar_weather_font_light</item>
<item>@string/status_bar_weather_font_light_italic</item>
<item>@string/status_bar_weather_font_thin</item>
<item>@string/status_bar_weather_font_thin_italic</item>
<item>@string/status_bar_weather_font_condensed</item>
<item>@string/status_bar_weather_font_condensed_italic</item>
<item>@string/status_bar_weather_font_condensed_light</item>
<item>@string/status_bar_weather_font_condensed_light_italic</item>
<item>@string/status_bar_weather_font_condensed_bold</item>
<item>@string/status_bar_weather_font_condensed_bold_italic</item>
<item>@string/status_bar_weather_font_medium</item>
<item>@string/status_bar_weather_font_medium_italic</item>
<item>@string/status_bar_weather_font_black</item>
<item>@string/status_bar_weather_font_black_italic</item>
</string-array>
<string-array name="status_bar_weather_font_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
<item>16</item>
<item>17</item>
</string-array>
<string-array name="status_bar_weather_rainbow_color_entries" translatable="false">
<item>@string/status_bar_weather_custom_color</item>
<item>@string/status_bar_weather_rainbow_color</item>
<item>@string/status_bar_weather_anim_rainbow_color</item>
</string-array>
<string-array name="status_bar_weather_rainbow_color_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="status_bar_weather_icon_entries" translatable="false">
<item>@string/status_bar_weather_hidden</item>
<item>@string/right</item>
<item>@string/left</item>
</string-array>
<string-array name="status_bar_weather_icon_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
5. Recompile Settings..
6. Done
Pertamax
Keduax :laugh:
another awesome guide from you masbam ,great
Thank all.. ?
Really awesome mbah..
Simple guide and working ..
Process: com.android.settings
Flags: 0x40c83e45
Package: com.android.settings v22 (5.1.1-42ab6c19e7)
Build: samsung/cm_logan/logan:5.1.1/LMY49G/85ee9dad6b:userdebug/test-keys
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.SubSettings}: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2358)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2420)
at android.app.ActivityThread.access$900(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5294)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at android.app.SharedPreferencesImpl.getInt(SharedPreferencesImpl.java:239)
at android.preference.Preference.getPersistedInt(Preference.java:1567)
at com.android.settings.bamzzz.prefs.SeekBarPreference.onSetInitialValue(SeekBarPreference.java:188)
at android.preference.Preference.dispatchSetInitialValue(Preference.java:1384)
at android.preference.Preference.onAttachedToHierarchy(Preference.java:1171)
at android.preference.PreferenceGroup.addPreference(PreferenceGroup.java:167)
at android.preference.PreferenceGroup.addItemFromInflater(PreferenceGroup.java:108)
at android.preference.PreferenceGroup.addItemFromInflater(PreferenceGroup.java:45)
at android.preference.GenericInflater.rInflate(GenericInflater.java:488)
at android.preference.GenericInflater.rInflate(GenericInflater.java:493)
at android.preference.GenericInflater.inflate(GenericInflater.java:326)
at android.preference.GenericInflater.inflate(GenericInflater.java:263)
at android.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:272)
at android.preference.PreferenceFragment.addPreferencesFromResource(PreferenceFragment.java:299)
at com.android.settings.SettingsPreferenceFragment.addPreferencesFromResource(SettingsPreferenceFragment.java:146)
at com.android.settings.bamzzz.HandlePreferenceFragments.<init>(HandlePreferenceFragments.java:91)
at com.android.settings.bamzzz.ZenControl.onCreate(ZenControl.java:25)
at android.app.Fragment.performCreate(Fragment.java:2031)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:863)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
at android.app.BackStackRecord.run(BackStackRecord.java:834)
at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1452)
at android.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:483)
at com.android.settings.SettingsActivity.switchToFragment(SettingsActivity.java:1000)
at com.android.settings.SettingsActivity.onCreate(SettingsActivity.java:603)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2311)
... 10 more
---------- Post added at 03:14 AM ---------- Previous post was at 03:13 AM ----------
Help sir!!
First of all tnx for great guide.
Just for fun put this on my phone and want say that in guide miss manifest permission and detail where to put lockclock...
My icon weather a bit small lg g2...
Does this work for the galaxy s4 running kitkat
Hi all, this time I want to provide a "Header Machine Guide", this guide for change the background of Expanded Header.. Hopefully it works for all ..
This guide is based on the Asus Zenfone 4S (T00Q) Lollipop firmware.
Feature:
Header BG with option (Default, Color, BG Picker, Timer/Omni)
Header BG Timer/Omni style (Default, Modern, Poly)
Header BG alpha
Header BG animation
Enable/disable blur BG
Add options to set date for Idul Fitri, Idul Adha and birthday
Add Blur BG preview
Requirement:
- Understanding about APK compile/decompile
- APKTool
- Notepad++ (PC)
Step:
Part AsusSystemUI:
1. Decompile AsusSystemUI.apk
2. Copy smali and res folder from guide to your systemui.. Overwrite if exist..
3. Open AndroidManifest.xml
Find:
Code:
<activity android:excludeFromRecents="true" android:name="com.android.keyguard.KeyguardIntruderView" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
Add this just below:
Code:
<activity android:theme="@android:style/Theme.Holo" android:label="Header Machine Preference" android:icon="@null" android:name="com.bamzzz.prefs.HeaderMachineActivity" android:excludeFromRecents="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
4. Open res/layout/asus_status_bar_expanded_header.xml (Asus) or status_bar_expanded_header.xml (Other phone)
Find:
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.StatusBarHeaderView android:layout_gravity="@integer/notification_panel_layout_gravity" android:id="@id/header" android:background="@null" android:paddingBottom="@dimen/asus_quicksetting_panel_header_padding_bottom" android:focusable="true" android:clickable="true" android:layout_width="@dimen/notification_panel_width" android:layout_height="@dimen/asus_status_bar_header_height" android:baselineAligned="false" android:paddingStart="@dimen/notification_side_padding" android:paddingEnd="@dimen/notification_side_padding"
xmlns:android="http://schemas.android.com/apk/res/android">
Add this just below:
Code:
<com.bamzzz.HeaderMachine android:id="@id/header_machine"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:scaleType="fitXY"
android:adjustViewBounds="true" />
For Asus Zenfone only:
Find:
Code:
<Button android:textSize="@dimen/asus_notification_clear_all_text_size" android:textColor="@color/asus_notification_clear_all_text_color" android:id="@id/clear_all_button" android:background="@drawable/ic_notify_clear" android:layout_width="wrap_content" android:layout_height="@dimen/asus_notification_clear_all_height" android:text="@string/status_bar_clear_all_button" android:layout_alignParentBottom="true" android:contentDescription="@string/accessibility_clear_all" android:fontFamily="sans-serif" android:layout_marginEnd="@dimen/asus_quicksetting_button_margin_right" android:layout_alignParentEnd="true" />
Add this after "<Button "
Code:
android:layout_marginBottom="@dimen/asus_quicksetting_panel_header_padding_bottom"
Looks like this:
Code:
<Button [COLOR="Blue"]android:layout_marginBottom="@dimen/asus_quicksetting_panel_header_padding_bottom"[/COLOR] android:textSize="@dimen/asus_notification_clear_all_text_size" android:textColor="@color/asus_notification_clear_all_text_color" android:id="@id/clear_all_button" android:background="@drawable/ic_notify_clear" android:layout_width="wrap_content" android:layout_height="@dimen/asus_notification_clear_all_height" android:text="@string/status_bar_clear_all_button" android:layout_alignParentBottom="true" android:contentDescription="@string/accessibility_clear_all" android:fontFamily="sans-serif" android:layout_marginEnd="@dimen/asus_quicksetting_button_margin_right" android:layout_alignParentEnd="true" />
5. Open res/values/ids.xml and add this:
Code:
<item type="id" name="header_machine">false</item>
<item type="id" name="header_machine_layout">false</item>
<item type="id" name="header_machine_time_title">false</item>
<item type="id" name="header_machine_idul_fitri_text">false</item>
<item type="id" name="header_machine_idul_fitri_button">false</item>
<item type="id" name="header_machine_idul_adha_text">false</item>
<item type="id" name="header_machine_idul_adha_button">false</item>
<item type="id" name="header_machine_birthday_text">false</item>
<item type="id" name="header_machine_birthday_button">false</item>
<item type="id" name="header_machine_background_title">false</item>
<item type="id" name="header_machine_background_content">false</item>
<item type="id" name="header_machine_checkBlur">false</item>
<item type="id" name="header_machine_background_button_pick">false</item>
<item type="id" name="header_machine_background_button_set">false</item>
<item type="id" name="header_machine_tip_text">false</item>
6. This step should not be applied !!! Especially for Asus Zenfone, is used to remove the default background or default theme:
Open /smali/com/android/systemui/statusbar/phone/StatusBarHeaderView.smali
Find:
Code:
# instance fields
Add this just below:
Code:
.field private mHeaderMachine:I
Find:
Code:
.method private setImageViewDrawable()V
Then find:
Code:
invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setBackground(Landroid/graphics/drawable/Drawable;)V
Add this just above:
Code:
iget v8, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mHeaderMachine:I
const/4 v9, 0x0
if-ne v8, v9, :cond_brut
const-string v8, "BamzzzHeaderMachine"
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Header Machine disable -> "
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
iget v10, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mHeaderMachine:I
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-static {v8, v9}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
Find again:
Code:
invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setBackground(Landroid/graphics/drawable/Drawable;)V
Add this just below:
Code:
goto :goto_brutt
:cond_brut
const-string v8, "BamzzzHeaderMachine"
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Header Machine enable -> "
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
iget v10, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mHeaderMachine:I
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-static {v8, v9}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
const/4 v8, 0x0
invoke-virtual {p0, v8}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setBackgroundResource(I)V
:goto_brutt
Find:
Code:
.line 199
.local v8, "paddingBottom":I
const/4 v12, 0x0
invoke-virtual {p0, v7, v12, v7, v8}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setPaddingRelative(IIII)V
.line 200
return-void
Above it add:
Code:
const/4 v8, 0x0
Find:
Code:
.method public updateEverything()V
Above return void add:
Code:
invoke-static {}, Lcom/bamzzz/HeaderMachine;->getVisibilities()I
move-result v0
iput v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mHeaderMachine:I
invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setImageViewDrawable()V
7. Recompile SystemUI, then push and reboot phone.
8. Done
Part Settings:
Goto post 2
Attention: Don't rename or modify path of smali from this guide without my permissions !!!
Header Machine demo video: https://youtu.be/TaFGTlTdrMI
Created by [email protected]
fb.me/bamz4ever
http://forum.xda-developers.com/member.php?u=4672359
ZenControl by [email protected] & [email protected]
http://forum.xda-developers.com/android/apps-games/app-rom-control-app-devs-t3146567
Idea from StatusBar Header Machine and some drawables and some methods from OmniROM Project
Thanks to SyahrulLail for idea of Date picker preference
Part Settings
Optional..!!! You can using ZenControl.apk (Lollipop only) or/and include preference into Settings.apk
Add Preference using ZenControl.apk :
1. Decompile ZenControl.apk
2. Open res/xml/dropdown_prefs.xml and add this:
Code:
<PreferenceScreen android:title="@string/header_machine_title" android:summary="@string/header_machine_summary">
<PreferenceCategory android:title="@string/header_machine_title" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/header_machine_style_entries"
android:title="@string/header_machine_style_title"
android:key="header_machine_style"
android:defaultValue="3"
android:entryValues="@array/header_machine_style_values" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/header_machine_bg_style_entries"
android:title="@string/header_machine_bg_style_title"
android:key="header_machine_bg_style"
android:defaultValue="1"
android:entryValues="@array/header_machine_bg_style_values" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/header_machine_color_title"
android:key="header_machine_color"
android:defaultValue="\#00000000"
alphaSlider="true" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="255"
android:title="@string/header_machine_bg_alpha_title"
android:key="header_machine_bg_image_alpha"
android:defaultValue="100"
min="0"
unitsRight="" />
<CheckBoxPreference
android:defaultValue="false"
android:title="@string/header_machine_bg_animated_title"
android:key="header_machine_bg_animated"
android:summaryOn="@string/header_machine_enable"
android:summaryOff="@string/header_machine_disable" />
<CheckBoxPreference
android:defaultValue="false"
android:title="@string/header_machine_bg_image_blur_title"
android:key="header_machine_bg_image_blur"
android:summaryOn="@string/header_machine_enable"
android:summaryOff="@string/header_machine_disable" />
<PreferenceScreen
android:summary="@string/header_machine_preference_summary"
android:title="@string/header_machine_preference_title">
<intent
android:targetClass="com.bamzzz.prefs.HeaderMachineActivity"
android:targetPackage="com.android.systemui" />
</PreferenceScreen>
</PreferenceScreen>
3. Open res/values/strings.xml then add this:
Code:
<string name="header_machine_title">Header Machine</string>
<string name="header_machine_summary">Enable various bg options in expanded header</string>
<string name="header_machine_style_title">Header Machine Style</string>
<string name="header_machine_style_1_title">Default</string>
<string name="header_machine_style_2_title">Color</string>
<string name="header_machine_style_3_title">Custom Image</string>
<string name="header_machine_style_4_title">Timer (OMNI)</string>
<string name="header_machine_bg_style_title">Timer Background Style</string>
<string name="header_machine_bg_style_1_title">Default</string>
<string name="header_machine_bg_style_2_title">Modern</string>
<string name="header_machine_bg_style_3_title">Poly HD</string>
<string name="header_machine_color_title">Header Color</string>
<string name="header_machine_bg_alpha_title">Header BG Alpha</string>
<string name="header_machine_bg_animated_title">BG Animated</string>
<string name="header_machine_bg_image_blur_title">Blur BG</string>
<string name="header_machine_enable">Enable</string>
<string name="header_machine_disable">Disable</string>
<string name="header_machine_preference_title">Header Machine Preference</string>
<string name="header_machine_preference_summary">Set Header Machine Date and Custom Image Background</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="header_machine_bg_style_entries">
<item>@string/header_machine_bg_style_1_title</item>
<item>@string/header_machine_bg_style_2_title</item>
<item>@string/header_machine_bg_style_3_title</item>
</string-array>
<string-array name="header_machine_bg_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="header_machine_style_entries">
<item>@string/header_machine_style_1_title</item>
<item>@string/header_machine_style_2_title</item>
<item>@string/header_machine_style_3_title</item>
<item>@string/header_machine_style_4_title</item>
</string-array>
<string-array name="header_machine_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
5. Recompile ZenControl..
6. Install ZenControl.apk
Add Preference include settings:
1. First apply my guide: http://forum.xda-developers.com/zenfone-4/themes-apps/guide-easy-preference-control-t3317849
2. Open res/xml/zen_prefs.xml and add this
Code:
<PreferenceScreen android:title="@string/header_machine_title" android:summary="@string/header_machine_summary">
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/header_machine_style_entries"
android:title="@string/header_machine_style_title"
android:key="header_machine_style"
android:defaultValue="3"
android:entryValues="@array/header_machine_style_values" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/header_machine_bg_style_entries"
android:title="@string/header_machine_bg_style_title"
android:key="header_machine_bg_style"
android:defaultValue="1"
android:entryValues="@array/header_machine_bg_style_values" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/header_machine_color_title"
android:key="header_machine_color"
android:defaultValue="\#00000000"
alphaSlider="true" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="255"
android:title="@string/header_machine_bg_alpha_title"
android:key="header_machine_bg_image_alpha"
android:defaultValue="100"
min="0"
unitsRight="" />
<CheckBoxPreference
android:defaultValue="false"
android:title="@string/header_machine_bg_animated_title"
android:key="header_machine_bg_animated"
android:summaryOn="@string/header_machine_enable"
android:summaryOff="@string/header_machine_disable" />
<CheckBoxPreference
android:defaultValue="false"
android:title="@string/header_machine_bg_image_blur_title"
android:key="header_machine_bg_image_blur"
android:summaryOn="@string/header_machine_enable"
android:summaryOff="@string/header_machine_disable" />
<PreferenceScreen
android:summary="@string/header_machine_preference_summary"
android:title="@string/header_machine_preference_title">
<intent
android:targetClass="com.bamzzz.prefs.HeaderMachineActivity"
android:targetPackage="com.android.systemui" />
</PreferenceScreen>
</PreferenceScreen>
3. Open res/values/strings.xml and add this:
Code:
<string name="header_machine_title">Header Machine</string>
<string name="header_machine_summary">Enable various bg options in expanded header</string>
<string name="header_machine_style_title">Header Machine Style</string>
<string name="header_machine_style_1_title">Default</string>
<string name="header_machine_style_2_title">Color</string>
<string name="header_machine_style_3_title">Custom Image</string>
<string name="header_machine_style_4_title">Timer (OMNI)</string>
<string name="header_machine_bg_style_title">Timer Background Style</string>
<string name="header_machine_bg_style_1_title">Default</string>
<string name="header_machine_bg_style_2_title">Modern</string>
<string name="header_machine_bg_style_3_title">Poly HD</string>
<string name="header_machine_color_title">Header Color</string>
<string name="header_machine_bg_alpha_title">Header BG Alpha</string>
<string name="header_machine_bg_animated_title">BG Animated</string>
<string name="header_machine_bg_image_blur_title">Blur BG</string>
<string name="header_machine_enable">Enable</string>
<string name="header_machine_disable">Disable</string>
<string name="header_machine_preference_title">Header Machine Preference</string>
<string name="header_machine_preference_summary">Set Header Machine Date and Custom Image Background</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="header_machine_bg_style_entries">
<item>@string/header_machine_bg_style_1_title</item>
<item>@string/header_machine_bg_style_2_title</item>
<item>@string/header_machine_bg_style_3_title</item>
</string-array>
<string-array name="header_machine_bg_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="header_machine_style_entries">
<item>@string/header_machine_style_1_title</item>
<item>@string/header_machine_style_2_title</item>
<item>@string/header_machine_style_3_title</item>
<item>@string/header_machine_style_4_title</item>
</string-array>
<string-array name="header_machine_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
5. Compile Settings. Done.
Attention: Don't rename or modify path of smali from this guide without my permissions !!!
Fix header machine on some devices
Fix header machine on some devices
Download attached file (smaliheader2.zip) and overwrite existing smali.. Then
Replace old script from statusbar_expanded_header.xml with this:
Code:
<com.bamzzz.HeaderMachine
android:id="@id/header_machine"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
Rebuild your SystemUI.. Done.
nicee niceee niceeeeeeeee :3
Yeay mas octo..
Why not for Asus ZenFone 400cg... and is there any way to change battery icon without xposed and disable headsup notification ( except calls ) with out xposed
....
Sent from my ASUS_T00I using XDA Free mobile app
Bro its affect on my notification bg ...my header is still black can you please help me
bamzzz said:
Hi all, this time I want to provide a "Header Machine Guide", this guide for change the background of Expanded Header.. Hopefully it works for all ..
This guide is based on the Asus Zenfone 4S (T00Q) Lollipop firmware.
Feature:
Header BG with option (Default, Color, BG Picker, Timer/Omni)
Header BG Timer/Omni style (Default, Modern, Poly)
Header BG alpha
Header BG animation
Enable/disable blur BG
Add options to set date for Idul Fitri, Idul Adha and birthday
Add Blur BG preview
Requirement:
- Understanding about APK compile/decompile
- APKTool
- Notepad++ (PC)
Step:
Part AsusSystemUI:
1. Decompile AsusSystemUI.apk
2. Copy smali and res folder from guide to your systemui.. Overwrite if exist..
3. Open AndroidManifest.xml
Find:
Code:
<activity android:excludeFromRecents="true" android:name="com.android.keyguard.KeyguardIntruderView" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
Add this just below:
Code:
<activity android:theme="@android:style/Theme.Holo" android:label="Header Machine Preference" android:icon="@null" android:name="com.bamzzz.prefs.HeaderMachineActivity" android:excludeFromRecents="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
4. Open res/layout/asus_status_bar_expanded_header.xml (Asus) or status_bar_expanded_header.xml (Other phone)
Find:
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.StatusBarHeaderView android:layout_gravity="@integer/notification_panel_layout_gravity" android:id="@id/header" android:background="@null" android:paddingBottom="@dimen/asus_quicksetting_panel_header_padding_bottom" android:focusable="true" android:clickable="true" android:layout_width="@dimen/notification_panel_width" android:layout_height="@dimen/asus_status_bar_header_height" android:baselineAligned="false" android:paddingStart="@dimen/notification_side_padding" android:paddingEnd="@dimen/notification_side_padding"
xmlns:android="http://schemas.android.com/apk/res/android">
Add this just below:
Code:
<com.bamzzz.HeaderMachine android:id="@id/header_machine"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:scaleType="fitXY"
android:adjustViewBounds="true" />
For Asus Zenfone only:
Find:
Code:
<Button android:textSize="@dimen/asus_notification_clear_all_text_size" android:textColor="@color/asus_notification_clear_all_text_color" android:id="@id/clear_all_button" android:background="@drawable/ic_notify_clear" android:layout_width="wrap_content" android:layout_height="@dimen/asus_notification_clear_all_height" android:text="@string/status_bar_clear_all_button" android:layout_alignParentBottom="true" android:contentDescription="@string/accessibility_clear_all" android:fontFamily="sans-serif" android:layout_marginEnd="@dimen/asus_quicksetting_button_margin_right" android:layout_alignParentEnd="true" />
Add this after "<Button "
Code:
android:layout_marginBottom="@dimen/asus_quicksetting_panel_header_padding_bottom"
Looks like this:
Code:
<Button [COLOR="Blue"]android:layout_marginBottom="@dimen/asus_quicksetting_panel_header_padding_bottom"[/COLOR] android:textSize="@dimen/asus_notification_clear_all_text_size" android:textColor="@color/asus_notification_clear_all_text_color" android:id="@id/clear_all_button" android:background="@drawable/ic_notify_clear" android:layout_width="wrap_content" android:layout_height="@dimen/asus_notification_clear_all_height" android:text="@string/status_bar_clear_all_button" android:layout_alignParentBottom="true" android:contentDescription="@string/accessibility_clear_all" android:fontFamily="sans-serif" android:layout_marginEnd="@dimen/asus_quicksetting_button_margin_right" android:layout_alignParentEnd="true" />
5. Open res/values/ids.xml and add this:
Code:
<item type="id" name="header_machine">false</item>
<item type="id" name="header_machine_layout">false</item>
<item type="id" name="header_machine_time_title">false</item>
<item type="id" name="header_machine_idul_fitri_text">false</item>
<item type="id" name="header_machine_idul_fitri_button">false</item>
<item type="id" name="header_machine_idul_adha_text">false</item>
<item type="id" name="header_machine_idul_adha_button">false</item>
<item type="id" name="header_machine_birthday_text">false</item>
<item type="id" name="header_machine_birthday_button">false</item>
<item type="id" name="header_machine_background_title">false</item>
<item type="id" name="header_machine_background_content">false</item>
<item type="id" name="header_machine_checkBlur">false</item>
<item type="id" name="header_machine_background_button_pick">false</item>
<item type="id" name="header_machine_background_button_set">false</item>
<item type="id" name="header_machine_tip_text">false</item>
6. This step should not be applied !!! Especially for Asus Zenfone, is used to remove the default background or default theme:
Open /smali/com/android/systemui/statusbar/phone/StatusBarHeaderView.smali
Find:
Code:
# instance fields
Add this just below:
Code:
.field private mHeaderMachine:I
Find:
Code:
.method private setImageViewDrawable()V
Then find:
Code:
invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setBackground(Landroid/graphics/drawable/Drawable;)V
Add this just above:
Code:
iget v8, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mHeaderMachine:I
const/4 v9, 0x0
if-ne v8, v9, :cond_brut
const-string v8, "BamzzzHeaderMachine"
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Header Machine disable -> "
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
iget v10, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mHeaderMachine:I
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-static {v8, v9}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
Find again:
Code:
invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setBackground(Landroid/graphics/drawable/Drawable;)V
Add this just below:
Code:
goto :goto_brutt
:cond_brut
const-string v8, "BamzzzHeaderMachine"
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "Header Machine enable -> "
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
iget v10, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mHeaderMachine:I
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-static {v8, v9}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
const/4 v8, 0x0
invoke-virtual {p0, v8}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setBackgroundResource(I)V
:goto_brutt
Find:
Code:
.line 199
.local v8, "paddingBottom":I
const/4 v12, 0x0
invoke-virtual {p0, v7, v12, v7, v8}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setPaddingRelative(IIII)V
.line 200
return-void
Above it add:
Code:
const/4 v8, 0x0
Find:
Code:
.method public updateEverything()V
Above return void add:
Code:
invoke-static {}, Lcom/bamzzz/HeaderMachine;->getVisibilities()I
move-result v0
iput v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mHeaderMachine:I
invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->setImageViewDrawable()V
7. Recompile SystemUI, then push and reboot phone.
8. Done
Part Settings:
Goto post 2
Attention: Don't rename or modify path of smali from this guide without my permissions !!!
Header Machine demo video: https://youtu.be/TaFGTlTdrMI
Created by [email protected]
fb.me/bamz4ever
http://forum.xda-developers.com/member.php?u=4672359
ZenControl by [email protected] & [email protected]
http://forum.xda-developers.com/android/apps-games/app-rom-control-app-devs-t3146567
Idea from StatusBar Header Machine and some drawables and some methods from OmniROM Project
Thanks to SyahrulLail for idea of Date picker preference
Click to expand...
Click to collapse
I cant
Find: the Code:
<activity android:excludeFromRecents="true" android:name="com.android.keyguard.KeyguardIntruderView" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
and then I also add the code
<activity android:theme="@android:style/Theme.Holo" android:label="Header Machine Preference" android:icon="@null" android:name="com.bamzzz.prefs.HeaderMachineActivity" android:excludeFromRecents="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
,I finish all the guide,I find that Blur Bg cant work, I also cant find Header machine preference MENU in the setting,can you help me,send from my aosp lollipop.
Someone tell me how to make so that the picture overlaps the area allocated for the screenshot?
Baru jajal...?
.Nice guide mbah..?
Sent from my A75 using XDA-Developers Legacy app
@bamzzz
I'm using Asus Padfone S 4.4.2, and I found out there are two related xmls there:
Code:
asus_status_bar_expanded_header.xml
status_bar_expanded_header.xml
Which one should I edit? Could you tell me why there are two similar function xmls existing there, is it the feature of Asus UI?
By the way, do you konw how to change navbar size in Asus UI? I already tried to mod related strings in framework-res.apk, but only the change of status bar worked, the navbar ones didn't.
Big appreciate for your magic:good:
Nice work sir. I like this mod but i never succeeded in Header Machine Preference section in Rom Control
awatheeye said:
Nice work sir. I like this mod but i never succeeded in Header Machine Preference section in Rom Control
Click to expand...
Click to collapse
I will appreciate more if you put everything needed in zen control and upload for downloading because my major problem is with the intent area as seen in my attachment.
Thanks nice
nice
can u give me a clue this guide to apply on miui rom...???
Hi all, this time I want to provide a "OMNI Screenrecord Guide", this guide for recording screen with start/stop screenrecord using widget..
Hopefully it works for all ..
This guide is based on the Asus Zenfone 4S (T00Q) Lollipop firmware.
Feature:
Show/hide pointer while recording
Enable/disable thumbs preview after recording finish
Custom bitrate options
Custom time limit options
Saved path options
Requirement:
Understanding about APK compile/decompile
APKTool
Notepad++ (PC)
Step:
Part AsusSystemUI:
1. Decompile AsusSystemUI.apk
2. Put smali and res from guide to your systemui.. Overwrite if already exists..
3. Open AndroidManifest.xml
Find:
Code:
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
Then add this just below:
Code:
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" />
Find:
Code:
<activity android:excludeFromRecents="true" android:name="com.android.keyguard.KeyguardIntruderView" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
Add this just below:
Code:
<service android:name=".omni.screenrecord.TakeScreenrecordService" android:process=":screenrecord" android:exported="false" />
<receiver android:name="com.bamzzz.ScreenRecordWidget" android:label="@string/screenrecord_title">
<intent-filter >
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
<action android:name="android.appwidget.action.APPWIDGET_ENABLED"/>
<action android:name="android.appwidget.action.APPWIDGET_DISABLED"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/screen_record_widget_info" />
</receiver>
<receiver android:name="com.bamzzz.ScreenRecordWidgetReceiver" android:label="@string/screenrecord_title" >
<intent-filter>
<action android:name="com.bamzzz.intent.action.JONES_OF_RECORD" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/screen_record_widget_info" />
</receiver>
4. Open res/values/ids.xml and add this:
Code:
<item type="id" name="screen_record_image">false</item>
<item type="id" name="screen_record_label">false</item>
5. Open res/values/strings.xml and add this:
Code:
<string name="screenrecord_title">Screenrecord</string>
<string name="screenrecord_notif_ticker">Screen is being recorded</string>
<string name="screenrecord_notif_title">Recording screen</string>
<string name="screenrecord_notif_stop">Stop</string>
<string name="screenrecord_notif_share">Share</string>
<string name="screenrecord_notif_pointer_on">Show pointer</string>
<string name="screenrecord_notif_pointer_off">Hide pointer</string>
<string name="notification_recording_finished_title">Screen recording saved</string>
<string name="notification_recording_finished_text">Touch to view %s</string>
<string name="notification_recording_error_title">Screen recorder error</string>
<string name="notification_recording_error_text">%s</string>
6. Recompile SystemUI, then push and reboot phone.
7. Done.
Part Settings:
Optional..!!! You can using ZenControl.apk (Lollipop only) or/and include preference into Settings.apk
Add Preference using ZenControl.apk :
1. Decompile ZenControl.apk
2. Open res/xml/frameworks_general_prefs.xml and add this:
Code:
<PreferenceScreen android:title="@string/scr_options_title">
<PreferenceCategory android:title="@string/scr_options_title" />
<SwitchPreference
android:defaultValue="true"
android:key="scr_pointer"
android:summaryOff="@string/scr_disable"
android:summaryOn="@string/scr_enable"
android:title="@string/scr_pointer_title" />
<SwitchPreference
android:defaultValue="true"
android:key="scr_thumbs_preview"
android:summaryOff="@string/scr_disable"
android:summaryOn="@string/scr_enable"
android:title="@string/scr_thumbs_preview_title" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="4"
android:key="scr_bitrate"
android:entries="@array/scr_bitrate_entries"
android:entryValues="@array/scr_bitrate_values"
android:title="@string/scr_bitrate_title" />
<com.wubydax.romcontrol.prefs.MyEditTextPreference
android:title="@string/scr_bitrate_custom_title"
android:summary="@string/scr_bitrate_custom_summary"
android:key="scr_bitrate_custom"
android:dialogTitle="@string/scr_bitrate_custom_dialog"
android:inputType="number"
android:defaultValue="4000" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="2"
android:key="scr_timelimit"
android:entries="@array/scr_timelimit_entries"
android:entryValues="@array/scr_timelimit_values"
android:title="@string/scr_timelimit_title" />
<com.wubydax.romcontrol.prefs.MyEditTextPreference
android:title="@string/scr_timelimit_custom_title"
android:summary="@string/scr_timelimit_custom_summary"
android:key="scr_timelimit_custom"
android:dialogTitle="@string/scr_timelimit_custom_dialog"
android:inputType="number"
android:defaultValue="180" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="0"
android:key="scr_storage_path"
android:entries="@array/scr_storage_path_entries"
android:entryValues="@array/scr_storage_path_values"
android:title="@string/scr_storage_path_title" />
</PreferenceScreen>
3. Open res/values/strings.xml and add this:
Code:
<string name="scr_options_title">Screenrecord Options</string>
<string name="scr_pointer_title">Always show pointer</string>
<string name="scr_thumbs_preview_title">Show thumb preview</string>
<string name="scr_bitrate_title">Bitrate</string>
<string name="scr_bitrate_custom_title">Custom bitrate</string>
<string name="scr_bitrate_custom_summary">%s Kbps</string>
<string name="scr_bitrate_custom_dialog">Enter value in Kbps, accepted value 100–10000 = 100Kbps-10Mbps</string>
<string name="scr_timelimit_title">Record time limit</string>
<string name="scr_timelimit_custom_title">Custom time limit</string>
<string name="scr_timelimit_custom_summary">%s second(s)</string>
<string name="scr_timelimit_custom_dialog">Enter value in second (max 180)</string>
<string name="scr_storage_path_title">Saved to</string>
<string name="scr_enable">Enable</string>
<string name="scr_disable">Disable</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="scr_bitrate_entries">
<item>500Kbps</item>
<item>1Mbps</item>
<item>2Mbps</item>
<item>3Mbps</item>
<item>4Mbps (Default)</item>
<item>5Mbps</item>
<item>6Mbps</item>
<item>@string/scr_bitrate_custom_title</item>
</string-array>
<string-array name="scr_bitrate_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
</string-array>
<string-array name="scr_timelimit_entries">
<item>1 minute</item>
<item>2 minutes</item>
<item>3 minutes (Default)</item>
<item>@string/scr_timelimit_custom_title</item>
</string-array>
<string-array name="scr_timelimit_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
<string-array name="scr_storage_path_entries">
<item>Internal</item>
<item>MicroSD</item>
</string-array>
<string-array name="scr_storage_path_values" translatable="false">
<item>0</item>
<item>1</item>
</string-array>
5. Recompile ZenControl and install. Done.
Add Preference include settings:
1. Apply my guide: http://forum.xda-developers.com/zenfone-4/themes-apps/guide-easy-preference-control-t3317849
2. Open res/xml/zen_prefs.xml and add this:
Code:
<PreferenceScreen android:title="@string/scr_options_title">
<SwitchPreference
android:defaultValue="true"
android:key="scr_pointer"
android:summaryOff="@string/scr_disable"
android:summaryOn="@string/scr_enable"
android:title="@string/scr_pointer_title" />
<SwitchPreference
android:defaultValue="true"
android:key="scr_thumbs_preview"
android:summaryOff="@string/scr_disable"
android:summaryOn="@string/scr_enable"
android:title="@string/scr_thumbs_preview_title" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="4"
android:key="scr_bitrate"
android:entries="@array/scr_bitrate_entries"
android:entryValues="@array/scr_bitrate_values"
android:title="@string/scr_bitrate_title" />
<com.android.settings.bamzzz.prefs.MyEditTextPreference
android:title="@string/scr_bitrate_custom_title"
android:summary="@string/scr_bitrate_custom_summary"
android:key="scr_bitrate_custom"
android:dialogTitle="@string/scr_bitrate_custom_dialog"
android:inputType="number"
android:defaultValue="4000" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="2"
android:key="scr_timelimit"
android:entries="@array/scr_timelimit_entries"
android:entryValues="@array/scr_timelimit_values"
android:title="@string/scr_timelimit_title" />
<com.android.settings.bamzzz.prefs.MyEditTextPreference
android:title="@string/scr_timelimit_custom_title"
android:summary="@string/scr_timelimit_custom_summary"
android:key="scr_timelimit_custom"
android:dialogTitle="@string/scr_timelimit_custom_dialog"
android:inputType="number"
android:defaultValue="180" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="0"
android:key="scr_storage_path"
android:entries="@array/scr_storage_path_entries"
android:entryValues="@array/scr_storage_path_values"
android:title="@string/scr_storage_path_title" />
</PreferenceScreen>
3. Open res/values/strings.xml and add this:
Code:
<string name="scr_options_title">Screenrecord Options</string>
<string name="scr_pointer_title">Always show pointer</string>
<string name="scr_thumbs_preview_title">Show thumb preview</string>
<string name="scr_bitrate_title">Bitrate</string>
<string name="scr_bitrate_custom_title">Custom bitrate</string>
<string name="scr_bitrate_custom_summary">%s Kbps</string>
<string name="scr_bitrate_custom_dialog">Enter value in Kbps, accepted value 100–10000 = 100Kbps-10Mbps</string>
<string name="scr_timelimit_title">Record time limit</string>
<string name="scr_timelimit_custom_title">Custom time limit</string>
<string name="scr_timelimit_custom_summary">%s second(s)</string>
<string name="scr_timelimit_custom_dialog">Enter value in second (max 180)</string>
<string name="scr_storage_path_title">Saved to</string>
<string name="scr_enable">Enable</string>
<string name="scr_disable">Disable</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="scr_bitrate_entries">
<item>500Kbps</item>
<item>1Mbps</item>
<item>2Mbps</item>
<item>3Mbps</item>
<item>4Mbps (Default)</item>
<item>5Mbps</item>
<item>6Mbps</item>
<item>@string/scr_bitrate_custom_title</item>
</string-array>
<string-array name="scr_bitrate_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
</string-array>
<string-array name="scr_timelimit_entries">
<item>1 minute</item>
<item>2 minutes</item>
<item>3 minutes (Default)</item>
<item>@string/scr_timelimit_custom_title</item>
</string-array>
<string-array name="scr_timelimit_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
<string-array name="scr_storage_path_entries">
<item>Internal</item>
<item>MicroSD</item>
</string-array>
<string-array name="scr_storage_path_values" translatable="false">
<item>0</item>
<item>1</item>
</string-array>
5. Compile Settings. Done.
Attention: Don't rename or modify path of smali from this guide without my permissions !!!
Please hit thanks button if helped..
Created by [email protected]
fb.me/bamz4ever
http://forum.xda-developers.com/member.php?u=4672359
ZenControl by [email protected] & [email protected]
http://forum.xda-developers.com/android/apps-games/app-rom-control-app-devs-t3146567
OmniROM Project
/*
* Copyright (C) 2015 The OmniROM Project
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
Reserved
your guide are amazing!
Amazing:good: it's work too for my device grand prime g530h android 5.0.2
Nice jobs and mantab bro