[MOD][GUIDE] Statusbar Weather Text - Asus Zenfone 4

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

Related

[GUIDE][SMALI][4.4.2] How to port Mokee ListView Animation for TouchWiz

[GUIDE][SMALI][4.4.2] How to port Mokee ListView Animation for TouchWiz 4.4.2​
This guide will show you how to edit two files:
SecSettings.apk
Framework2.jar
You will need to know how to decompile/recompile and change ID's referenced in the smali that we add..
Like to give a BIG THANKS to @Adi Aisiteru Reborn for posting the initial port for CM11!
So lets start with SecSettings first..decompile it and go to res/values
in arrays.xml add this BEFORE </resources>:
Code:
<string-array name="listview_animation_entries">
<item>@string/listview_off</item>
<item>@string/listview_wave_left</item>
<item>@string/listview_wave_right</item>
<item>@string/listview_scale</item>
<item>@string/listview_alpha</item>
<item>@string/listview_stack_top</item>
<item>@string/listview_stack_bottom</item>
<item>@string/listview_unfold</item>
<item>@string/listview_fold</item>
<item>@string/listview_translate_left</item>
<item>@string/listview_translate_right</item>
<item>@string/listview_rotate</item>
</string-array>
<string-array name="listview_animation_values">
<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>
</string-array>
<string-array name="listview_interpolator_entries">
<item>@string/listview_off</item>
<item>@string/listview_accelerate_interpolator</item>
<item>@string/listview_decelerate_interpolator</item>
<item>@string/listview_accelerate_decelerate_interpolator</item>
<item>@string/listview_anticipate_interpolator</item>
<item>@string/listview_overshoot_interpolator</item>
<item>@string/listview_anticipate_overshoot_interpolator</item>
<item>@string/listview_bounce_interpolator</item>
</string-array>
<string-array name="listview_interpolator_values">
<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>
[COLOR="red"]</resources>[/COLOR]
Next strings.xml add this BEFORE </resources>:
Code:
<string name="listview_animation_title">ListView animation</string>
<string name="listview_off">Off</string>
<string name="listview_wave_left">Wave (left)</string>
<string name="listview_wave_right">Wave (right)</string>
<string name="listview_alpha">Alpha</string>
<string name="listview_scale">Scale</string>
<string name="listview_stack_top">Stack (top)</string>
<string name="listview_stack_bottom">Stack (bottom)</string>
<string name="listview_unfold">Unfold</string>
<string name="listview_fold">Fold</string>
<string name="listview_translate_left">Translate (left)</string>
<string name="listview_translate_right">Translate (right)</string>
<string name="listview_rotate">Rotate</string>
<string name="listview_interpolator_title">ListView interpolator</string>
<string name="listview_accelerate_interpolator">Accelerate</string>
<string name="listview_decelerate_interpolator">Decelerate</string>
<string name="listview_accelerate_decelerate_interpolator">Accelerate decelerate</string>
<string name="listview_anticipate_interpolator">Anticipate</string>
<string name="listview_overshoot_interpolator">Overshoot</string>
<string name="listview_anticipate_overshoot_interpolator">Anticipate overshoot</string>
<string name="listview_bounce_interpolator">Bounce</string>
[COLOR="Red"]</resources>[/COLOR]
Next you need to determine where you want the selection to pick you ListView animations. I put mine under Display options in SecSettings.
Go to res/xml and find display_settings.xml
Add this line wherever you want:
Code:
<PreferenceScreen android:title="@string/listview_animation_title" android:key="listview_animation_settings" android:fragment="com.android.settings.ND7.ListViewSettings" />
Next download the files attached and put them in their respectable folder.
res/xml goes into YOUR res/xml
com/android/settings/ goes into YOUR com/android/settings/ directory
Go ahead and recompile your SecSettings. Once compiled, get the NEWLY compiled one and decompile it.
Go to res/values/ public.xml
Search:
Code:
mokee_listview_animations
Copy the ID, the number at the end, 0x7*****
Go to com/android/settings/ListViewAnimations.smali (the one we added)
Search for the ID:
Code:
0x7f0700fc
and CHANGE IT TO YOURS.
Done with SecSettings..Recompile it!
Moving onto Framework2.jar.. decompile it and go to /android/widget/ directory..
Extract the attached zip and move the files into the directory above..
Compile and you should be done!
NOTE: There are some ID's referenced in AbsListView.smali but they should match all TouchWiz framework-res..If not let me know if you have trouble and I will post the ones you need to change!
IF anyone would like me to list my edits ONE BY ONE see HERE
Reserved..
Thanks sprytezero for the Video..
lacoursiere18 said:
Reserved..
Thanks sprytezero for the Video..
Click to expand...
Click to collapse
Hello I have problems with framerwork2.jar do according to your guide but when you start the rom will not let me go from the home screen that can be
migueldemon said:
Hello I have problems with framerwork2.jar do according to your guide but when you start the rom will not let me go from the home screen that can be
Click to expand...
Click to collapse
Can't really understand what you are trying to say..
Sent from my SM-G900F using XDA Premium 4 mobile app
lacoursiere18 said:
Can't really understand what you are trying to say..
Sent from my SM-G900F using XDA Premium 4 mobile app
Click to expand...
Click to collapse
lacoursiere18 hello and tried to correct your guide, but framerwork2.jar gives me fc rom to start
migueldemon said:
lacoursiere18 hello and tried to correct your guide, but framerwork2.jar gives me fc rom to start
Click to expand...
Click to collapse
Please post a logcat..
lacoursiere18 said:
Please post a logcat..
Click to expand...
Click to collapse
forgives me framerwirk2 compiles fine with apktool is to start the settings screen to boot my rom
migueldemon said:
forgives me framerwirk2 compiles fine with apktool is to start the settings screen to boot my rom
Click to expand...
Click to collapse
Well you need to post a logcat..
Any idea why it does not work for DN4 rom for S3
not sure how to get a logcat when i am unable to access anything
Little help please
@lacoursiere18 if you have time please look in to it.
http://forum.xda-developers.com/showpost.php?p=67512868&postcount=54

[MOD][GUIDE] Custom SplitClockView Style

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:

[MOD][GUIDE] Relayout Traffic ThinkingBridge

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)

[MOD][GUIDE] Expanded Weather Panel

Hi all..
This guide is based on the Asus Zenfone 4S (T00Q) Lollipop firmware.
Feature:
Display/Hide weather
Weather style (Text only/Icon only/Icon & Text)
Show/Hide Condition and or temperature text
Weather Text color
Weather Text size
Weather Text font style
Weather icon color
Weather icon size
Condition icon style (Monochrome/Colored/VCloud)
Adv text customization (shadow color, radius, etc)
Requirement:
- Understanding about APK compile/decompile
- APKTool
- Notepad++ (PC)
How:
Part AsusSystemUI:
1. Decompile AsusSystemUI.apk
2. Copy smali from guide to smali folder on systemui.. Overwrite existing smali..
3. Open res/layout/asus_status_bar_expanded_header.xml (Asus) or status_bar_expanded_header.xml (Other phone)
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 just above:
Code:
<com.bamzzz.WeatherExpanded android:id="@id/weather_expanded" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginEnd="@dimen/asus_quicksetting_button_margin_right" android:layout_alignParentEnd="true">
<LinearLayout android:id="@id/weather_container" android:layout_gravity="center_vertical" android:orientation="vertical" android:background="@drawable/ripple_drawable" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:textSize="12.0dip" android:textColor="#ff737373" android:gravity="right" android:id="@id/weather_line_1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:importantForAccessibility="noHideDescendants" />
<TextView android:textSize="12.0dip" android:textColor="#ff737373" android:gravity="right" android:id="@id/weather_line_2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:importantForAccessibility="noHideDescendants" />
</LinearLayout>
<ImageView android:id="@id/weather_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@null" android:scaleType="fitXY" android:layout_toRightOf="@id/weather_container" />
</com.bamzzz.WeatherExpanded>
4. Open res/values/ids.xml
Add this:
Code:
<item type="id" name="weather_expanded">false</item>
<item type="id" name="weather_container">false</item>
<item type="id" name="weather_line_1">false</item>
<item type="id" name="weather_line_2">false</item>
<item type="id" name="weather_image">false</item>
5. Open res/values/strings.xml and add this:
Code:
<string name="status_bar_expanded_header_weather_format">%1$s - %2$s</string>
6. This step should not be applied !!! For Lollipop only, so that only appeared when fully expanded:
Open smali/com/android/systemui/statusbar/phone/StatusBarHeaderView.smali
Find:
Code:
# instance fields
Add this just below:
Code:
.field private mShowWeather:Z
.field private final mWeatherExpanded:Lcom/bamzzz/WeatherExpanded;
Find:
Code:
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
Then find and change .locals 1 to .locals 2
Just above return-void add:
Code:
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-static {v0, v1}, Lcom/bamzzz/ComotID;->init(Ljava/lang/String;Landroid/content/Context;)V
Find:
Code:
.method private updateVisibilities()V
Just above return-void add:
Code:
iget-object v3, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mWeatherExpanded:Lcom/bamzzz/WeatherExpanded;
iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mExpanded:Z
if-eqz v0, :cond_semvak
iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mShowWeather:Z
if-eqz v0, :cond_semvak
const/4 v0, 0x0
:goto_boool
invoke-virtual {v3, v0}, Lcom/bamzzz/WeatherExpanded;->setVisibility(I)V
Just above .end method add:
Code:
:cond_semvak
const/16 v0, 0x8
goto :goto_boool
Find:
Code:
.method protected onFinishInflate()V
Just below invoke-super {p0}, Landroid/widget/RelativeLayout;->onFinishInflate()V add:
Code:
const-string v0, "weather_expanded"
const-string v1, "id"
invoke-static {v0, v1}, Lcom/bamzzz/ComotID;->Get(Ljava/lang/String;Ljava/lang/String;)I
move-result v0
invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Lcom/bamzzz/WeatherExpanded;
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mWeatherExpanded:Lcom/bamzzz/WeatherExpanded;
Find:
Code:
.method public updateEverything()V
Just above return-void add:
Code:
invoke-static {}, Lcom/bamzzz/WeatherExpanded;->getVisibilities()Z
move-result v0
iput-boolean v0, p0, Lcom/android/systemui/statusbar/phone/StatusBarHeaderView;->mShowWeather:Z
7. Open AndroidManifest.xml and add this:
Code:
<uses-permission android:name="com.cyanogenmod.lockclock.permission.READ_WEATHER"/>
8. Recompile SystemUI, don't forget to Sign and zipalign apk.
9. Copy LockClock.apk to /system/priv-app/LockClock/ and set permission to rw-r-r (644) then reboot you phone
10. Done
Part Settings:
Optional..!!! You can using ZenControl.apk or 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/expanded_weather_title" android:summary="@string/expanded_weather_summary">
<PreferenceCategory android:title="@string/expanded_weather_title" />
<SwitchPreference
android:defaultValue="false"
android:title="@string/expanded_show_weather_title"
android:key="expanded_show_weather"
android:summaryOn="@string/expanded_weather_show"
android:summaryOff="@string/expanded_weather_hide" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/expanded_weather_style_entries"
android:title="@string/expanded_weather_style_title"
android:key="expanded_weather_style"
android:defaultValue="0"
android:dependency="expanded_show_weather"
android:entryValues="@array/expanded_weather_style_values" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/expanded_weather_temp_cond_style_entries"
android:title="@string/expanded_weather_temp_cond_style_title"
android:key="expanded_weather_temp_cond_style"
android:defaultValue="0"
android:dependency="expanded_show_weather"
android:entryValues="@array/expanded_weather_temp_cond_style_values" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/expanded_weather_text_color_title"
android:key="expanded_weather_text_color"
android:defaultValue="\#ffcccccc"
android:dependency="expanded_show_weather"
alphaSlider="true" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:entries="@array/expanded_weather_text_fontstyle_entries"
android:title="@string/expanded_weather_text_fontstyle_title"
android:key="expanded_weather_text_fontstyle"
android:defaultValue="0"
android:dependency="expanded_show_weather"
android:entryValues="@array/expanded_weather_text_fontstyle_values" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="21"
android:title="@string/expanded_weather_text_size_title"
android:key="expanded_weather_text_size"
android:defaultValue="12"
android:dependency="expanded_show_weather"
min="0"
unitsRight="dip" />
<com.wubydax.romcontrol.prefs.MyListPreference
android:defaultValue="1"
android:key="dropdown_weather_condition_icon"
android:title="@string/expanded_weather_condition_icon_title"
android:dialogTitle="@string/expanded_weather_condition_icon_dlg_title"
android:entries="@array/expanded_weather_condition_icon_entries"
android:dependency="expanded_show_weather"
android:entryValues="@array/expanded_weather_condition_icon_values" />
<SwitchPreference
android:defaultValue="false"
android:key="expanded_weather_colorize_all_icons"
android:title="@string/expanded_weather_colorize_all_icons_title"
android:dependency="expanded_show_weather"
android:summary="@string/expanded_weather_colorize_all_icons_summary" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/expanded_weather_icon_color_title"
android:key="expanded_weather_icon_color"
android:defaultValue="\#ffcccccc"
android:dependency="expanded_show_weather"
alphaSlider="true" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="100"
android:title="@string/expanded_weather_icon_size_title"
android:key="expanded_weather_icon_size"
android:defaultValue="50"
android:dependency="expanded_show_weather"
min="0"
unitsRight="px" />
<PreferenceScreen android:title="@string/expanded_weather_text_adv_custom_title">
<PreferenceCategory android:title="@string/expanded_weather_text_adv_custom_title" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/expanded_weather_text_shadow_r_title"
android:key="expanded_weather_text_shadow_r"
android:defaultValue="1"
min="0"
unitsRight="" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/expanded_weather_text_shadow_x_title"
android:key="expanded_weather_text_shadow_x"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.wubydax.romcontrol.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/expanded_weather_text_shadow_y_title"
android:key="expanded_weather_text_shadow_y"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.wubydax.romcontrol.prefs.ColorPickerPreference
android:title="@string/expanded_weather_text_shadow_c_title"
android:key="expanded_weather_text_shadow_c"
android:defaultValue="\#89000000"
alphaSlider="true" />
</PreferenceScreen>
</PreferenceScreen>
3. Open res/values/strings.xml and add this:
Code:
<string name="expanded_weather_title">Expanded Weather Panel</string>
<string name="expanded_weather_summary">Enable various weather text options in expanded/dropdown</string>
<string name="expanded_show_weather_title">Display Weather</string>
<string name="expanded_weather_show">Show</string>
<string name="expanded_weather_hide">Hide</string>
<string name="expanded_weather_style_title">Weather Style</string>
<string name="expanded_weather_style_1_title">Text only</string>
<string name="expanded_weather_style_2_title">Icon only</string>
<string name="expanded_weather_style_3_title">Both (Icon & Text)</string>
<string name="expanded_weather_temp_cond_style_title">Weather Condition Style</string>
<string name="expanded_weather_temp_cond_style_1_title">Condition & Temperature</string>
<string name="expanded_weather_temp_cond_style_2_title">Temperature only</string>
<string name="expanded_weather_temp_cond_style_3_title">Condition only</string>
<string name="expanded_weather_text_color_title">Weather Text Color</string>
<string name="expanded_weather_text_fontstyle_title">Weather Text Style</string>
<string name="expanded_weather_text_size_title">Weather Text Size</string>
<string name="expanded_weather_icon_color_title">Weather Icon Color</string>
<string name="expanded_weather_condition_icon_title">Condition icon</string>
<string name="expanded_weather_condition_icon_dlg_title">Coose an icon for displaying the weather condition</string>
<string name="expanded_weather_condition_icon_monochrome_title">Monochrome</string>
<string name="expanded_weather_condition_icon_colored_title">Colored</string>
<string name="expanded_weather_condition_icon_vclouds_title">VClouds</string>
<string name="expanded_weather_colorize_all_icons_title">Colorize all icons</string>
<string name="expanded_weather_colorize_all_icons_summary">Enable to colorize all icons, disable to colorize only the monochrome icons</string>
<string name="expanded_weather_icon_size_title">Weather Icon Size</string>
<string name="expanded_weather_font_normal">Normal</string>
<string name="expanded_weather_font_italic">Italic</string>
<string name="expanded_weather_font_bold">Bold</string>
<string name="expanded_weather_font_bold_italic">Bold Italic</string>
<string name="expanded_weather_font_light">Light</string>
<string name="expanded_weather_font_light_italic">Light Italic</string>
<string name="expanded_weather_font_thin">Thin</string>
<string name="expanded_weather_font_thin_italic">Thin Italic</string>
<string name="expanded_weather_font_condensed">Condensed</string>
<string name="expanded_weather_font_condensed_italic">Condensed Italic</string>
<string name="expanded_weather_font_condensed_light">Condensed Light</string>
<string name="expanded_weather_font_condensed_light_italic">Condensed Light Italic</string>
<string name="expanded_weather_font_condensed_bold">Condensed Bold</string>
<string name="expanded_weather_font_condensed_bold_italic">Condensed Bold Italic</string>
<string name="expanded_weather_font_medium">Medium</string>
<string name="expanded_weather_font_medium_italic">Medium Italic</string>
<string name="expanded_weather_font_black">Black</string>
<string name="expanded_weather_font_black_italic">Black Italic</string>
<string name="expanded_weather_text_adv_custom_title">Adv Text Customization</string>
<string name="expanded_weather_text_shadow_r_title">Shadow radius</string>
<string name="expanded_weather_text_shadow_x_title">Shadow Dx</string>
<string name="expanded_weather_text_shadow_y_title">Shadow Dy</string>
<string name="expanded_weather_text_shadow_c_title">Shadow color</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="expanded_weather_style_entries">
<item>@string/expanded_weather_style_1_title</item>
<item>@string/expanded_weather_style_2_title</item>
<item>@string/expanded_weather_style_3_title</item>
</string-array>
<string-array name="expanded_weather_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="expanded_weather_temp_cond_style_entries">
<item>@string/expanded_weather_temp_cond_style_1_title</item>
<item>@string/expanded_weather_temp_cond_style_2_title</item>
<item>@string/expanded_weather_temp_cond_style_3_title</item>
</string-array>
<string-array name="expanded_weather_temp_cond_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="expanded_weather_condition_icon_entries">
<item>@string/expanded_weather_condition_icon_monochrome_title</item>
<item>@string/expanded_weather_condition_icon_colored_title</item>
<item>@string/expanded_weather_condition_icon_vclouds_title</item>
</string-array>
<string-array name="expanded_weather_condition_icon_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="expanded_weather_text_fontstyle_entries">
<item>@string/expanded_weather_font_normal</item>
<item>@string/expanded_weather_font_italic</item>
<item>@string/expanded_weather_font_bold</item>
<item>@string/expanded_weather_font_bold_italic</item>
<item>@string/expanded_weather_font_light</item>
<item>@string/expanded_weather_font_light_italic</item>
<item>@string/expanded_weather_font_thin</item>
<item>@string/expanded_weather_font_thin_italic</item>
<item>@string/expanded_weather_font_condensed</item>
<item>@string/expanded_weather_font_condensed_italic</item>
<item>@string/expanded_weather_font_condensed_light</item>
<item>@string/expanded_weather_font_condensed_light_italic</item>
<item>@string/expanded_weather_font_condensed_bold</item>
<item>@string/expanded_weather_font_condensed_bold_italic</item>
<item>@string/expanded_weather_font_medium</item>
<item>@string/expanded_weather_font_medium_italic</item>
<item>@string/expanded_weather_font_black</item>
<item>@string/expanded_weather_font_black_italic</item>
</string-array>
<string-array name="expanded_weather_text_fontstyle_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.
Adding Preference include settings:
Goto Post 2
Attention: Don't rename or modify path of smali from this guide without my permissions !!!
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
Adding 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/expanded_weather_title" android:summary="@string/expanded_weather_summary">
<SwitchPreference
android:defaultValue="false"
android:title="@string/expanded_show_weather_title"
android:key="expanded_show_weather"
android:summaryOn="@string/expanded_weather_show"
android:summaryOff="@string/expanded_weather_hide" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/expanded_weather_style_entries"
android:title="@string/expanded_weather_style_title"
android:key="expanded_weather_style"
android:defaultValue="0"
android:dependency="expanded_show_weather"
android:entryValues="@array/expanded_weather_style_values" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/expanded_weather_temp_cond_style_entries"
android:title="@string/expanded_weather_temp_cond_style_title"
android:key="expanded_weather_temp_cond_style"
android:defaultValue="0"
android:dependency="expanded_show_weather"
android:entryValues="@array/expanded_weather_temp_cond_style_values" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/expanded_weather_text_color_title"
android:key="expanded_weather_text_color"
android:defaultValue="\#ffcccccc"
android:dependency="expanded_show_weather"
alphaSlider="true" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:entries="@array/expanded_weather_text_fontstyle_entries"
android:title="@string/expanded_weather_text_fontstyle_title"
android:key="expanded_weather_text_fontstyle"
android:defaultValue="0"
android:dependency="expanded_show_weather"
android:entryValues="@array/expanded_weather_text_fontstyle_values" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="21"
android:title="@string/expanded_weather_text_size_title"
android:key="expanded_weather_text_size"
android:defaultValue="12"
android:dependency="expanded_show_weather"
min="0"
unitsRight="dip" />
<com.android.settings.bamzzz.prefs.MyListPreference
android:defaultValue="1"
android:key="dropdown_weather_condition_icon"
android:title="@string/expanded_weather_condition_icon_title"
android:dialogTitle="@string/expanded_weather_condition_icon_dlg_title"
android:entries="@array/expanded_weather_condition_icon_entries"
android:dependency="expanded_show_weather"
android:entryValues="@array/expanded_weather_condition_icon_values" />
<SwitchPreference
android:defaultValue="false"
android:key="expanded_weather_colorize_all_icons"
android:title="@string/expanded_weather_colorize_all_icons_title"
android:dependency="expanded_show_weather"
android:summary="@string/expanded_weather_colorize_all_icons_summary" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/expanded_weather_icon_color_title"
android:key="expanded_weather_icon_color"
android:defaultValue="\#ffcccccc"
android:dependency="expanded_show_weather"
alphaSlider="true" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="100"
android:title="@string/expanded_weather_icon_size_title"
android:key="expanded_weather_icon_size"
android:defaultValue="50"
android:dependency="expanded_show_weather"
min="0"
unitsRight="px" />
<PreferenceScreen android:title="@string/expanded_weather_text_adv_custom_title">
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/expanded_weather_text_shadow_r_title"
android:key="expanded_weather_text_shadow_r"
android:defaultValue="1"
min="0"
unitsRight="" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/expanded_weather_text_shadow_x_title"
android:key="expanded_weather_text_shadow_x"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.android.settings.bamzzz.prefs.SeekBarPreference
android:icon="@null"
android:max="5"
android:title="@string/expanded_weather_text_shadow_y_title"
android:key="expanded_weather_text_shadow_y"
android:defaultValue="0"
min="-5"
unitsRight="" />
<com.android.settings.bamzzz.prefs.ColorPickerPreference
android:title="@string/expanded_weather_text_shadow_c_title"
android:key="expanded_weather_text_shadow_c"
android:defaultValue="\#89000000"
alphaSlider="true" />
</PreferenceScreen>
</PreferenceScreen>
3. Open res/values/strings.xml and add this:
Code:
<string name="expanded_weather_title">Expanded Weather Panel</string>
<string name="expanded_weather_summary">Enable various weather text options in expanded/dropdown</string>
<string name="expanded_show_weather_title">Display Weather</string>
<string name="expanded_weather_show">Show</string>
<string name="expanded_weather_hide">Hide</string>
<string name="expanded_weather_style_title">Weather Style</string>
<string name="expanded_weather_style_1_title">Text only</string>
<string name="expanded_weather_style_2_title">Icon only</string>
<string name="expanded_weather_style_3_title">Both (Icon & Text)</string>
<string name="expanded_weather_temp_cond_style_title">Weather Condition Style</string>
<string name="expanded_weather_temp_cond_style_1_title">Condition & Temperature</string>
<string name="expanded_weather_temp_cond_style_2_title">Temperature only</string>
<string name="expanded_weather_temp_cond_style_3_title">Condition only</string>
<string name="expanded_weather_text_color_title">Weather Text Color</string>
<string name="expanded_weather_text_fontstyle_title">Weather Text Style</string>
<string name="expanded_weather_text_size_title">Weather Text Size</string>
<string name="expanded_weather_icon_color_title">Weather Icon Color</string>
<string name="expanded_weather_condition_icon_title">Condition icon</string>
<string name="expanded_weather_condition_icon_dlg_title">Coose an icon for displaying the weather condition</string>
<string name="expanded_weather_condition_icon_monochrome_title">Monochrome</string>
<string name="expanded_weather_condition_icon_colored_title">Colored</string>
<string name="expanded_weather_condition_icon_vclouds_title">VClouds</string>
<string name="expanded_weather_colorize_all_icons_title">Colorize all icons</string>
<string name="expanded_weather_colorize_all_icons_summary">Enable to colorize all icons, disable to colorize only the monochrome icons</string>
<string name="expanded_weather_icon_size_title">Weather Icon Size</string>
<string name="expanded_weather_font_normal">Normal</string>
<string name="expanded_weather_font_italic">Italic</string>
<string name="expanded_weather_font_bold">Bold</string>
<string name="expanded_weather_font_bold_italic">Bold Italic</string>
<string name="expanded_weather_font_light">Light</string>
<string name="expanded_weather_font_light_italic">Light Italic</string>
<string name="expanded_weather_font_thin">Thin</string>
<string name="expanded_weather_font_thin_italic">Thin Italic</string>
<string name="expanded_weather_font_condensed">Condensed</string>
<string name="expanded_weather_font_condensed_italic">Condensed Italic</string>
<string name="expanded_weather_font_condensed_light">Condensed Light</string>
<string name="expanded_weather_font_condensed_light_italic">Condensed Light Italic</string>
<string name="expanded_weather_font_condensed_bold">Condensed Bold</string>
<string name="expanded_weather_font_condensed_bold_italic">Condensed Bold Italic</string>
<string name="expanded_weather_font_medium">Medium</string>
<string name="expanded_weather_font_medium_italic">Medium Italic</string>
<string name="expanded_weather_font_black">Black</string>
<string name="expanded_weather_font_black_italic">Black Italic</string>
<string name="expanded_weather_text_adv_custom_title">Adv Text Customization</string>
<string name="expanded_weather_text_shadow_r_title">Shadow radius</string>
<string name="expanded_weather_text_shadow_x_title">Shadow Dx</string>
<string name="expanded_weather_text_shadow_y_title">Shadow Dy</string>
<string name="expanded_weather_text_shadow_c_title">Shadow color</string>
4. Open res/values/arrays.xml and add this:
Code:
<string-array name="expanded_weather_style_entries">
<item>@string/expanded_weather_style_1_title</item>
<item>@string/expanded_weather_style_2_title</item>
<item>@string/expanded_weather_style_3_title</item>
</string-array>
<string-array name="expanded_weather_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="expanded_weather_temp_cond_style_entries">
<item>@string/expanded_weather_temp_cond_style_1_title</item>
<item>@string/expanded_weather_temp_cond_style_2_title</item>
<item>@string/expanded_weather_temp_cond_style_3_title</item>
</string-array>
<string-array name="expanded_weather_temp_cond_style_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="expanded_weather_condition_icon_entries">
<item>@string/expanded_weather_condition_icon_monochrome_title</item>
<item>@string/expanded_weather_condition_icon_colored_title</item>
<item>@string/expanded_weather_condition_icon_vclouds_title</item>
</string-array>
<string-array name="expanded_weather_condition_icon_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
<string-array name="expanded_weather_text_fontstyle_entries">
<item>@string/expanded_weather_font_normal</item>
<item>@string/expanded_weather_font_italic</item>
<item>@string/expanded_weather_font_bold</item>
<item>@string/expanded_weather_font_bold_italic</item>
<item>@string/expanded_weather_font_light</item>
<item>@string/expanded_weather_font_light_italic</item>
<item>@string/expanded_weather_font_thin</item>
<item>@string/expanded_weather_font_thin_italic</item>
<item>@string/expanded_weather_font_condensed</item>
<item>@string/expanded_weather_font_condensed_italic</item>
<item>@string/expanded_weather_font_condensed_light</item>
<item>@string/expanded_weather_font_condensed_light_italic</item>
<item>@string/expanded_weather_font_condensed_bold</item>
<item>@string/expanded_weather_font_condensed_bold_italic</item>
<item>@string/expanded_weather_font_medium</item>
<item>@string/expanded_weather_font_medium_italic</item>
<item>@string/expanded_weather_font_black</item>
<item>@string/expanded_weather_font_black_italic</item>
</string-array>
<string-array name="expanded_weather_text_fontstyle_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. Compile Settings. Done.
Reserved
vertamax!!
cool sir :good:
qoejohn said:
vertamax!!
cool sir :good:
Click to expand...
Click to collapse
Yeah..
Nice mbah..
Okay..
Waiting Weather on LC
great job, unlucky im using zenfone 4 not 4s
Nice guide
But, i am not using zenfone 4s again.
Sorry for my bad english

[GUIDE] OMNI Screenrecord with widget to start/stop screenrecord

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

Categories

Resources