[GUIDE] [TUT] Weather On Lockscreen - Android

GUIDE Weather On Lockscreen
Work and Tested - CM 12.1 & LP Based
​
1. Decompile settings.apk
At the files:
Settings\res\xml\security_settings_chooser.xml
Settings\res\xml\security_settings_fingerprint.xml
Settings\res\xml\security_settings_lockscreen.xml
Settings\res\xml\security_settings_password.xml
Settings\res\xml\security_settings_pattern.xml
Settings\res\xml\security_settings_pin.xml
Looking for:
<PreferenceScreen android:title="@string/owner_info_settings_title" android:key="owner_info_settings" android:summary="@string/owner_info_settings_summary" android:fragment="com.android.settings.OwnerInfoSettings" />
Add this line, following inserted :
<PreferenceScreen android:title="@string/weather_lock_screen_settings_title" android:key="lockscreen_weather" android:fragment="com.android.settings.ahmednhk.LockScreen.LockScreenWeatherSettings" />
Click to expand...
Click to collapse
ADD ALL THIS LINES.
Settings\res\values\arrays.xml
<string-array name="weather_condition_icon_entries">
<item>@string/weather_condition_icon_monochrome_title</item>
<item>@string/weather_condition_icon_colored_title</item>
<item>@string/weather_condition_icon_vclouds_title</item>
</string-array>
<string-array name="weather_condition_icon_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
Click to expand...
Click to collapse
Settings\res\values\ids.xml
<item type="id" name="weather_hex">false</item>
<item type="id" name="weather_enter">false</item>
<item type="id" name="weather_color_picker_view">false</item>
<item type="id" name="weather_white_panel">false</item>
<item type="id" name="weather_black_panel">false</item>
<item type="id" name="weather_cyan_panel">false</item>
<item type="id" name="weather_red_panel">false</item>
<item type="id" name="weather_green_panel">false</item>
<item type="id" name="weather_yellow_panel">false</item>
<item type="id" name="weather_old_color_panel">false</item>
<item type="id" name="weather_new_color_panel">false</item>
<item type="id" name="weather_edittext">false</item>
<item type="id" name="weather_color_panel_view">false</item>
<item type="id" name="weather_hex_color_input">false</item>
<item type="id" name="weather_color_panel">false</item>
Click to expand...
Click to collapse
Settings\res\values\strings.xml
<string name="weather_lock_screen_settings_title">Lock screen weather</string>
<string name="weather_dlg_reset_values_message">"Reset values to
System- or Cyan?"</string>
<string name="weather_dlg_reset_android">System</string>
<string name="weather_dlg_reset_cyan">Cyan</string>
<string name="weather_reset">Reset</string>
<string name="weather_show_weather_title">Show weather</string>
<string name="weather_show_weather_summary">Enable to show weather informations</string>
<string name="weather_show_location_title">Show location</string>
<string name="weather_show_location_summary">Enable to show the location</string>
<string name="weather_show_timestamp_title">Show timestamp</string>
<string name="weather_show_timestamp_summary">Enable to show the timestamp</string>
<string name="weather_condition_icon_title">Condition icon</string>
<string name="weather_condition_icon_dlg_title">Coose an icon for displaying the weather condition</string>
<string name="weather_condition_icon_monochrome_title">Monochrome</string>
<string name="weather_condition_icon_colored_title">Colored</string>
<string name="weather_condition_icon_vclouds_title">VClouds</string>
<string name="weather_colorize_all_icons_title">Colorize all icons</string>
<string name="weather_colorize_all_icons_summary">Enable to colorize all icons, disable to colorize only the monochrome icons</string>
<string name="weather_icons_title">Icons</string>
<string name="weather_colors_title">Colors</string>
<string name="weather_text_title">Text</string>
<string name="weather_dialog_color_picker">Color Picker</string>
<string name="weather_press_color_to_apply">Press on color below to apply</string>
<string name="weather_arrow_right">→</string>
<string name="weather_arrow_down">↓</string>
<string name="weather_hex">Hex:</string>
<string name="weather_hex_hint">\#ff000000</string>
<string name="weather_set">Set</string>
<string name="weather_color_default">Default</string>
Click to expand...
Click to collapse
*compile and decompile again to assign the ID to a file*
Settings\smali\com\android\settings\ahmednhk\LockScreen\LockScreenWeatherSettings.smali
<public type="string" name="weather_reset"
Line 131>
<public type="drawable" name="ic_settings_reset"
Line 137>
<public type="xml" name="ahmednhk_lock_screen_weather"
Line 508>
Settings\smali\com\android\settings\ahmednhk\LockScreen\LockScreenWeatherSettings$MyAlertDialogFragment.smali
<public type="string" name="weather_reset"
Line 137
<public type="string" name="weather_dlg_reset_values_message"
Line 143
<public type="string" name="cancel"
Line 149
<public type="string" name="weather_dlg_reset_android"
Line 157
<public type="string" name="weather_dlg_reset_cyan"
Line 167>
Settings\smali\com\android\settings\ahmednhk\LockScreen\ColorPicker\ColorPickerDialog.smali
<public type="layout" name="weather_color_picker"
Line 129
<public type="string" name="weather_dialog_color_picker"
Line 142
<public type="id" name="weather_color_picker_view"
Line 147
<public type="id" name="weather_old_color_panel"
Line 158
<public type="id" name="weather_new_color_panel"
Line 169
<public type="id" name="weather_white_panel"
Line 180
<public type="id" name="weather_black_panel"
Line 191
<public type="id" name="weather_cyan_panel"
Line 202
<public type="id" name="weather_red_panel"
Line 213
<public type="id" name="weather_green_panel"
Line 224
<public type="id" name="weather_yellow_panel"
Line 235
<public type="id" name="weather_hex"
Line 246
<public type="id" name="weather_enter"
Line 257
<public type="id" name="weather_new_color_panel"
Line 413>
Click to expand...
Click to collapse
*Compile Settings DONE*
2. Decompile SystemUI.apk
ADD ALL THIS LINES.
SystemUI\res\layout\keyguard_status_view.xml
Looking for:
<TextClock android:textColor="@color/clock_white" android:layout_gravity="center_horizontal" android:id="@id/clock_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/bottom_text_spacing_digital" android:singleLine="true" android:format12Hour="@string/keyguard_widget_12_hours_format" android:format24Hour="@string/keyguard_widget_24_hours_format" style="@style/widget_big_thin" />
<include layout="@layout/keyguard_status_area" />
Add this line, following inserted :
<include layout="@layout/keyguard_weather_view" />
Click to expand...
Click to collapse
SystemUI\res\values\ids.xml
<item type="id" name="keyguard_weather_view">false</item>
<item type="id" name="weather_panel">false</item>
<item type="id" name="left_panel">false</item>
<item type="id" name="city">false</item>
<item type="id" name="wind">false</item>
<item type="id" name="center_panel">false</item>
<item type="id" name="weather_image">false</item>
<item type="id" name="right_panel">false</item>
<item type="id" name="current_temp">false</item>
<item type="id" name="humidity">false</item>
<item type="id" name="condition">false</item>
Click to expand...
Click to collapse
SystemUI\res\values\colors.xml
<color name="keyguard_default_primary_text_color">#ffffffff</color>
<color name="keyguard_default_secondary_text_color">#b3ffffff</color>
<color name="keyguard_default_icon_color">#ffffffff</color>
Click to expand...
Click to collapse
*compile and decompile again to assign the ID to a file*
SystemUI\smali\com\android\keyguard\KeyguardStatusView$Patterns.smali
0x11200c5 - <public type="bool" name="def_custom_dateformat">
строка 78
Click to expand...
Click to collapse
NOTE: We will add a line, only the changed file your ID (in the description), that is, you just do the changes, making your ID and only then add the file.​
PHP:
SystemUI\smali\com\android\keyguard\R$color.smali
At the end add:
.field public static final keyguard_default_icon_color:I = 0x7f080068
.field public static final keyguard_default_primary_text_color:I = 0x7f080066
SystemUI\smali\com\android\keyguard\R$id.smali
At the end add:
.field public static final keyguard_weather_view:I = 0x7f0f016f
.field public static final city:I = 0x7f0f0172
.field public static final wind:I = 0x7f0f0173
.field public static final weather_image:I = 0x7f0f0175
.field public static final current_temp:I = 0x7f0f0177
.field public static final humidity:I = 0x7f0f0178
.field public static final condition:I = 0x7f0f0179
.field public static final timestamp:I = 0x7f0f00bb
-U DONE CHANGED ALL ID'S OKAY -->>
----> *Compile SystemUI DONE*
DON'T FORGET TO TRANSFER ALL FILES (framework.jar)
ALSO U MUST TRANSFER My Update LockClock and replace with oldest.
Files and Compare Press Me​

Thank you !!!
Enviado desde mi Lenovo K50-t5 mediante Tapatalk

Related

[Q]Please help on Editing Android apk supporting different screen size

Hi , I am new here , someone suggest me here for android dev.
Newbie , would like to know is it a possible way to edit xml file to fit the screen size of an apps game ? Helping a friend of mine
https:// market.android.com/details?id=com.gp.mjpair
I had decompile it using apk manager downloaded from xda forum but without much knowledge on java+xml (newbie) , I dont know which line to edit it .
I tried with LCD density setting it lower still it doesn't fit the screen.
it works well with smaller screen size but not on large screen size.Here I attach the picture and apk file with zip.
The first picture fill up the screen but when installing in a galaxy tab 1200x600 , it get smaller on the second picture .Possible to edit or workaround changing the size ?
Here I attach a decompile apk and zip it.Hoping some could help out.
Thank you very much
Hi.
Look in res/layout folder if you can find a layout xml.
If yes, it's certainly this you must edit.
Under com.gp.mjpair-1.apk/res/layout there are 3 .xml file
help.xml , main.xml , white_title.xml
help.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout android:orientation="horizontal" android:id="@id/widget0" android:background="@android:color/white" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:id="@id/Adlayout" android:layout_width="fill_parent" android:layout_height="fill_parent" />
</AbsoluteLayout>
main.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout android:orientation="horizontal" android:id="@id/widget0" android:background="@android:color/white" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:id="@id/Adlayout" android:layout_width="fill_parent" android:layout_height="fill_parent" />
</AbsoluteLayout>
white_title.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_gravity="center" android:orientation="horizontal" android:background="@android:color/white" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="0.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView android:id="@id/my_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5.0dip" android:src="@android:drawable/ic_menu_help" />
<TextView android:textAppearance="?android:textAppearanceLarge" android:textStyle="bold" android:textColor="@android:color/darker_gray" android:layout_gravity="center" android:id="@id/my_title" android:padding="8.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Title" />
</LinearLayout>
Which one should I edit ? white_title.xml or main.xml ? and which code I should use ?
Sorry , because i dont know about java and xml.Hope someone here can help out .Thank you
Have you try to contact developer?
Not able to , the Developer dont have website and it's a free apps guess will have less support fixing it.
That's why I am asking here behalf of my friend who wanted to fix the resolution.
Is it really hard to fix the resolution ? Need to write a bunch of code ?
Any guide editing the resolution ?
Really appreciate anyone who can help me out.
Thank you again
Layout xml are really simple.
So i thinks play-board size is hard-coded in source code. So you need to look source about this size.
Where does it located ? Other xml are com.gp.mjpair-1.apk/res/values
attrs.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="testing" format="boolean" />
<attr name="backgroundColor" format="color" />
<attr name="textColor" format="color" />
<attr name="keywords" format="string" />
<attr name="refreshInterval" format="integer" />
<attr name="isGoneWithoutAd" format="boolean" />
</resources>
ids.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="webview">false</item>
<item type="id" name="widget0">false</item>
<item type="id" name="Adlayout">false</item>
<item type="id" name="my_icon">false</item>
<item type="id" name="my_title">false</item>
</resources>
public.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="attr" name="testing" id="0x7f010000" />
<public type="attr" name="backgroundColor" id="0x7f010001" />
<public type="attr" name="textColor" id="0x7f010002" />
<public type="attr" name="keywords" id="0x7f010003" />
<public type="attr" name="refreshInterval" id="0x7f010004" />
<public type="attr" name="isGoneWithoutAd" id="0x7f010005" />
<public type="drawable" name="colon" id="0x7f020000" />
<public type="drawable" name="complete" id="0x7f020001" />
<public type="drawable" name="g1" id="0x7f020002" />
<public type="drawable" name="g10" id="0x7f020003" />
<public type="drawable" name="g11" id="0x7f020004" />
<public type="drawable" name="g12" id="0x7f020005" />
<public type="drawable" name="g13" id="0x7f020006" />
<public type="drawable" name="g14" id="0x7f020007" />
<public type="drawable" name="g15" id="0x7f020008" />
<public type="drawable" name="g16" id="0x7f020009" />
<public type="drawable" name="g2" id="0x7f02000a" />
<public type="drawable" name="g3" id="0x7f02000b" />
<public type="drawable" name="g4" id="0x7f02000c" />
<public type="drawable" name="g5" id="0x7f02000d" />
<public type="drawable" name="g6" id="0x7f02000e" />
<public type="drawable" name="g7" id="0x7f02000f" />
<public type="drawable" name="g8" id="0x7f020010" />
<public type="drawable" name="g9" id="0x7f020011" />
<public type="drawable" name="help1" id="0x7f020012" />
<public type="drawable" name="help2" id="0x7f020013" />
<public type="drawable" name="icon" id="0x7f020014" />
<public type="drawable" name="level1" id="0x7f020015" />
<public type="drawable" name="level2" id="0x7f020016" />
<public type="drawable" name="mjmanu" id="0x7f020017" />
<public type="drawable" name="number0" id="0x7f020018" />
<public type="drawable" name="number1" id="0x7f020019" />
<public type="drawable" name="number2" id="0x7f02001a" />
<public type="drawable" name="number3" id="0x7f02001b" />
<public type="drawable" name="number4" id="0x7f02001c" />
<public type="drawable" name="number5" id="0x7f02001d" />
<public type="drawable" name="number6" id="0x7f02001e" />
<public type="drawable" name="number7" id="0x7f02001f" />
<public type="drawable" name="number8" id="0x7f020020" />
<public type="drawable" name="number9" id="0x7f020021" />
<public type="drawable" name="option1" id="0x7f020022" />
<public type="drawable" name="option2" id="0x7f020023" />
<public type="drawable" name="pbb" id="0x7f020024" />
<public type="drawable" name="pc1" id="0x7f020025" />
<public type="drawable" name="pc2" id="0x7f020026" />
<public type="drawable" name="pc3" id="0x7f020027" />
<public type="drawable" name="pc4" id="0x7f020028" />
<public type="drawable" name="pc5" id="0x7f020029" />
<public type="drawable" name="pc6" id="0x7f02002a" />
<public type="drawable" name="pc7" id="0x7f02002b" />
<public type="drawable" name="pc8" id="0x7f02002c" />
<public type="drawable" name="pc9" id="0x7f02002d" />
<public type="drawable" name="pcc" id="0x7f02002e" />
<public type="drawable" name="pee" id="0x7f02002f" />
<public type="drawable" name="pff" id="0x7f020030" />
<public type="drawable" name="pl_h" id="0x7f020031" />
<public type="drawable" name="pl_r0" id="0x7f020032" />
<public type="drawable" name="pl_r0s" id="0x7f020033" />
<public type="drawable" name="pl_r1" id="0x7f020034" />
<public type="drawable" name="pl_r1s" id="0x7f020035" />
<public type="drawable" name="pl_r2" id="0x7f020036" />
<public type="drawable" name="pl_r2s" id="0x7f020037" />
<public type="drawable" name="pl_r3" id="0x7f020038" />
<public type="drawable" name="pl_r3s" id="0x7f020039" />
<public type="drawable" name="pl_r4" id="0x7f02003a" />
<public type="drawable" name="pl_v" id="0x7f02003b" />
<public type="drawable" name="pl_vls" id="0x7f02003c" />
<public type="drawable" name="pl_vrs" id="0x7f02003d" />
<public type="drawable" name="pnn" id="0x7f02003e" />
<public type="drawable" name="pss" id="0x7f02003f" />
<public type="drawable" name="pt1" id="0x7f020040" />
<public type="drawable" name="pt2" id="0x7f020041" />
<public type="drawable" name="pt3" id="0x7f020042" />
<public type="drawable" name="pt4" id="0x7f020043" />
<public type="drawable" name="pt5" id="0x7f020044" />
<public type="drawable" name="pt6" id="0x7f020045" />
<public type="drawable" name="pt7" id="0x7f020046" />
<public type="drawable" name="pt8" id="0x7f020047" />
<public type="drawable" name="pt9" id="0x7f020048" />
<public type="drawable" name="pw1" id="0x7f020049" />
<public type="drawable" name="pw2" id="0x7f02004a" />
<public type="drawable" name="pw3" id="0x7f02004b" />
<public type="drawable" name="pw4" id="0x7f02004c" />
<public type="drawable" name="pw5" id="0x7f02004d" />
<public type="drawable" name="pw6" id="0x7f02004e" />
<public type="drawable" name="pw7" id="0x7f02004f" />
<public type="drawable" name="pw8" id="0x7f020050" />
<public type="drawable" name="pw9" id="0x7f020051" />
<public type="drawable" name="pww" id="0x7f020052" />
<public type="drawable" name="start1" id="0x7f020053" />
<public type="drawable" name="start2" id="0x7f020054" />
<public type="layout" name="help" id="0x7f030000" />
<public type="layout" name="main" id="0x7f030001" />
<public type="layout" name="white_title" id="0x7f030002" />
<public type="raw" name="sd_click" id="0x7f040000" />
<public type="raw" name="sd_final" id="0x7f040001" />
<public type="raw" name="sd_paired" id="0x7f040002" />
<public type="string" name="hello" id="0x7f050000" />
<public type="string" name="app_name" id="0x7f050001" />
<public type="string" name="str_about" id="0x7f050002" />
<public type="string" name="app_about_msg" id="0x7f050003" />
<public type="string" name="str_exit" id="0x7f050004" />
<public type="string" name="str_hint" id="0x7f050005" />
<public type="string" name="str_resort" id="0x7f050006" />
<public type="string" name="str_ok" id="0x7f050007" />
<public type="id" name="webview" id="0x7f060000" />
<public type="id" name="widget0" id="0x7f060001" />
<public type="id" name="Adlayout" id="0x7f060002" />
<public type="id" name="my_icon" id="0x7f060003" />
<public type="id" name="my_title" id="0x7f060004" />
</resources>
string.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, gsim!</string>
<string name="app_name">Mahjong Pair</string>
<string name="str_about">about</string>
<string name="app_about_msg">Ver 1.00 2010-10-10 20:00:00.</string>
<string name="str_exit">Exit</string>
<string name="str_hint">Hint</string>
<string name="str_resort">Resort</string>
<string name="str_ok">OK</string>
</resources>
Any help guys ?
I had attach the file above com.gp.mjpair-1.apk.zip , hope someone can have a look .Thanks
I've look your zip file. But i don't understand what is smali files.
I thinks it's byte code of sources.
http://code.google.com/p/smali/
The problem now is how and which file should I edit it for resize ?
Is it really hard to change the size only on an application ?
Anyone know which to add and edit the code ? There are a lot of smali file , which one should I edit ?
Thank you
I found something at com.gp.mjpair-1.apk/smali/com/gp/mjpair/R.smali
Which one and what should i edit or add ?
Code:
.class public final Lcom/gp/mjpair/R;
.super Ljava/lang/Object;
.source "R.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/gp/mjpair/R$attr;,
Lcom/gp/mjpair/R$drawable;,
Lcom/gp/mjpair/R$id;,
Lcom/gp/mjpair/R$layout;,
Lcom/gp/mjpair/R$raw;,
Lcom/gp/mjpair/R$string;,
Lcom/gp/mjpair/R$styleable;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
.line 10
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
Help guys ?
I found a guide on http://developer.android.com/guide/practices/screens_support.html
Do I need to create and edit the png images ? Actually what kind of problem is it that apps to get smaller ?
Dev didn't support density ?
Thank you
I tried numerous time , still it's the same resolution . Which one should I edit ?
I tried using spare part apps which can scale compatibility screen but it doesn't work.
Now , which part should get edit to fix the resolution ?
Does android gingerbread have patch like android 3.2 which support compatibility zoom ?
My thread on Android Apps and Games was remove , not knowing why , maybe it's not related with games ?
Any suggestion fix on the resolution ?
Anyone know who should I PM for help since no expert around android Q&A forum ?
Any dev here ?
So no one willing to help me ?
guess I am posting on a wrong section again that's why no response at all

[How-To]Removing Battery Percentage,Adding Toggles,Battery Circles to Statusbar

[How-To]Removing Battery Percentage and Adding Toggles to Statusbar​
Thanks to pvyParts for being part of this thread.
More info about public.xml - http://forum.xda-developers.com/showpost.php?p=34242328&postcount=73
Click to expand...
Click to collapse
Adding/porting toggles to Statusbar.
Decompile SystemUI.apk
Copy both folders from lidroid.zip to /systemui/smali.
Copy icons from the quickpanel-icons.zip to /systemui/res/drawable-hdpi.
Copy 3 xmls from power.zip to /systemui/res/layout.
Copy arrays.xml to /systemui/res/values.
Resource modifications:​
Edit "systemui\res\values\ids.xml" and add these Id:
Code:
<item type="id" name="power_widget_button_image">false</item>
<item type="id" name="power_widget_button_text">false</item>
<item type="id" name="power_widget_button_indic">false</item>
<item type="id" name="power_widget_button">false</item>
Edit "systemui\res\values\strings.xml" and add these strings:
Code:
<string name="quickpanel_sound_text">Sound</string>
<string name="quickpanel_sound_vibration_text">Sound</string>
<string name="quickpanel_silent_text">Silent</string>
<string name="quickpanel_vibration_text">Vibration</string>
<string name="quickpanel_rotation_text">Rotation</string>
<string name="quickpanel_bluetooth_text">Bluetooth</string>
<string name="quickpanel_gps_text">GPS</string>
<string name="quickpanel_autosync_text">Auto Sync</string>
<string name="quickpanel_brightness_text">Brightness</string>
<string name="quickpanel_screen_timeout_text">Timeout</string>
<string name="quickpanel_lockscreen_text">Lockscreen</string>
<string name="quickpanel_airplane_text">Flight</string>
<string name="quickpanel_flashlight_text">Flashlight</string>
<string name="quickpanel_reboot_text">Reboot</string>
<string name="quickpanel_shutdown_text">Shutdown</string>
<string name="airplane_mode">In Flight mode</string>
<string name="shutdown_confirm">Your phone will shut down.</string>
<string name="screen_timeout_seconds">Screen timeout set to: %d second(s)</string>
<string name="screen_timeout_minutes">Screen timeout set to: %d minute(s)</string>
<string name="screen_timeout_hours">Screen timeout set to: %d hour(s)</string>
<string name="hamster">Phone Options</string>
<string name="yes">OK</string>
<string name="no">Cancel</string>
<string name="reboot">Reboot</string>
<string name="reboot_recovery">Recovery</string>
<string name="quickpanel_dc_text">Data</string>
<string name="reboot_download">Download</string>
<string name="quickpanel_network_mode_text">Network</string>
<string name="quickpanel_wifi_text">WiFi</string>
Edit "systemui\res\values\public.xml" and add these:
Add after the last drawable declared:
Code:
<public type="drawable" name="stat_2g3g_off" id="0x7f0200e1" />
<public type="drawable" name="stat_2g3g_on" id="0x7f0200e2" />
<public type="drawable" name="stat_3g_on" id="0x7f0200e3" />
<public type="drawable" name="stat_airplane_off" id="0x7f0200e4" />
<public type="drawable" name="stat_airplane_on" id="0x7f0200e5" />
<public type="drawable" name="stat_bg_ing" id="0x7f0200e6" />
<public type="drawable" name="stat_bg_off" id="0x7f0200e7" />
<public type="drawable" name="stat_bg_on" id="0x7f0200e8" />
<public type="drawable" name="stat_bluetooth_off" id="0x7f0200e9" />
<public type="drawable" name="stat_bluetooth_on" id="0x7f0200ea" />
<public type="drawable" name="stat_brightness_auto" id="0x7f0200eb" />
<public type="drawable" name="stat_brightness_mid" id="0x7f0200ec" />
<public type="drawable" name="stat_brightness_off" id="0x7f0200ed" />
<public type="drawable" name="stat_brightness_on" id="0x7f0200ee" />
<public type="drawable" name="stat_data_off" id="0x7f0200ef" />
<public type="drawable" name="stat_data_on" id="0x7f0200f0" />
<public type="drawable" name="stat_flashlight_off" id="0x7f0200f1" />
<public type="drawable" name="stat_flashlight_on" id="0x7f0200f2" />
<public type="drawable" name="stat_gps_off" id="0x7f0200f3" />
<public type="drawable" name="stat_gps_on" id="0x7f0200f4" />
<public type="drawable" name="stat_lock_screen_off" id="0x7f0200f5" />
<public type="drawable" name="stat_lock_screen_on" id="0x7f0200f6" />
<public type="drawable" name="stat_wifi_on" id="0x7f0200f7" />
<public type="drawable" name="stat_orientation_off" id="0x7f0200f8" />
<public type="drawable" name="stat_orientation_on" id="0x7f0200f9" />
<public type="drawable" name="stat_reboot" id="0x7f0200fc" />
<public type="drawable" name="stat_ring_on" id="0x7f0200fd" />
<public type="drawable" name="stat_ring_vibrate_on" id="0x7f0200fe" />
<public type="drawable" name="stat_screen_timeout_10m" id="0x7f0200ff" />
<public type="drawable" name="stat_screen_timeout_15s" id="0x7f020100" />
<public type="drawable" name="stat_screen_timeout_1m" id="0x7f020101" />
<public type="drawable" name="stat_screen_timeout_2m" id="0x7f020102" />
<public type="drawable" name="stat_screen_timeout_30s" id="0x7f020103" />
<public type="drawable" name="stat_screen_timeout_off" id="0x7f020104" />
<public type="drawable" name="stat_screen_timeout_on" id="0x7f020105" />
<public type="drawable" name="stat_screen_timeout_unknown" id="0x7f020106" />
<public type="drawable" name="stat_shutdown" id="0x7f020107" />
<public type="drawable" name="stat_silent" id="0x7f020108" />
<public type="drawable" name="stat_sync_off" id="0x7f020109" />
<public type="drawable" name="stat_sync_on" id="0x7f02010a" />
<public type="drawable" name="stat_vibrate_off" id="0x7f02010b" />
<public type="drawable" name="stat_wifi_off" id="0x7f02010c" />
Add after the last layout declared:
Code:
<public type="layout" name="power_widget_button" id="0x7f03001b" />
<public type="layout" name="power_widget_layout" id="0x7f03001c" />
<public type="layout" name="power_widget_scrollview" id="0x7f03001d" />
Add after the last string declared:
Code:
<public type="string" name="quickpanel_sound_text" id="0x7f08007f" />
<public type="string" name="quickpanel_sound_vibration_text" id="0x7f080080" />
<public type="string" name="quickpanel_silent_text" id="0x7f080081" />
<public type="string" name="quickpanel_vibration_text" id="0x7f080082" />
<public type="string" name="quickpanel_rotation_text" id="0x7f080083" />
<public type="string" name="quickpanel_bluetooth_text" id="0x7f080084" />
<public type="string" name="quickpanel_gps_text" id="0x7f080085" />
<public type="string" name="quickpanel_autosync_text" id="0x7f080086" />
<public type="string" name="quickpanel_brightness_text" id="0x7f080087" />
<public type="string" name="quickpanel_screen_timeout_text" id="0x7f080088" />
<public type="string" name="quickpanel_lockscreen_text" id="0x7f080089" />
<public type="string" name="quickpanel_airplane_text" id="0x7f08008a" />
<public type="string" name="quickpanel_flashlight_text" id="0x7f08008b" />
<public type="string" name="quickpanel_reboot_text" id="0x7f08008c" />
<public type="string" name="quickpanel_shutdown_text" id="0x7f08008d" />
<public type="string" name="airplane_mode" id="0x7f08008e" />
<public type="string" name="shutdown_confirm" id="0x7f08008f" />
<public type="string" name="screen_timeout_seconds" id="0x7f080090" />
<public type="string" name="screen_timeout_minutes" id="0x7f080091" />
<public type="string" name="screen_timeout_hours" id="0x7f080092" />
<public type="string" name="hamster" id="0x7f080093" />
<public type="string" name="yes" id="0x7f080094" />
<public type="string" name="no" id="0x7f080095" />
<public type="string" name="reboot" id="0x7f080096" />
Add after the last id decalred:
Code:
<public type="id" name="power_widget_button_image" id="0x7f0e0094" />
<public type="id" name="power_widget_button_text" id="0x7f0e0095" />
<public type="id" name="power_widget_button_indic" id="0x7f0e0096" />
<public type="id" name="power_widget_button" id="0x7f0e0097" />
<public type="array" name="config_cdmaDbmThresholds" id="0x7f0f0000" />
<public type="array" name="config_cdmaEcioThresholds" id="0x7f0f0001" />
<public type="array" name="config_evdoDbmThresholds" id="0x7f0f0002" />
<public type="array" name="config_evdoSnrThresholds" id="0x7f0f0003" />
<public type="array" name="shutdown_reboot_options" id="0x7f0f0004" />
<public type="array" name="shutdown_reboot_actions" id="0x7f0f0005" />
Smali modifications:​
Edit "systemui\smali\com\android\systemui\statusbar \phone\PhoneStatusBar.smali" and make these changes :
Add the only lines prefixed by ++;
Code:
invoke-virtual {v0, v9, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
++ const v6, 0x7f03001c
++ invoke-static {v0, v6, v11}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
++ move-result-object v5
++ check-cast v5, Lcom/lidroid/systemui/quickpanel/PowerWidget;
++ invoke-virtual {v5}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V
++ iget-object v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedView:Lcom/android/systemui/statusbar/phone/ExpandedView;
++ invoke-virtual {v6, v5, v11}, Lcom/android/systemui/statusbar/phone/ExpandedView;->addView(Landroid/view/View;I)V
return-object v4
Compile SystemUI.apk.
Copy Meta-Inf and AndroidManifest.xml from stock SystemUI.apk to your modded one.
That's it.
Waring:If the variables you are going to add to public.xml is already used,then you will have edit more smali.
Like if variable for "stat_data_on ": 0x7f0200f0 is already used,then you have to change it to 0x7f02xxxx,not used.
Then you have edit systemui\smali\com\lidroid\systemui\quickpanel\MobileDataButton.smali.
Find 0x7f0200f0 and change it to new 0x7f02xxxx you have addedin public.xml.Similarly for other variables also,if it is used change the respective .smali
Credit:I have used resources from this thread
**********************************************************************************************************************************************************************
Removing Battery Percentage from Statusbar​
Decompile SystemUI.apk
Open systemui/res/layout/status_bar.xml.
Find the line :
Code:
<TextView android:layout_gravity="left|center" android:id="@id/battery_text" android: paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_settings_settings_button" android:singleLine="true" style="@style/StatusBarNotificationText" />
Change that line to:
Code:
<TextView android:layout_gravity="left|center" android:id="@id/battery_text" android: paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_settings_settings_button" android:singleLine="true" [B]android:visibility="gone"[/B] style="@style/StatusBarNotificationText" />
Save the file.
Compile SystemUI.apk
Copy Meta-Inf and AndroidManifest.xml from stock SystemUI.apk to your modded one.
That's it.
Then copy it to /system,set permissions to -rw-r-r.
Then copy it to /system/app.
Reboot the phone.
Credit:Thanks to pvyParts for the tip.
Download:SystemUI w/o battery percentage[U/Sola]
***********************************************************************************************************************************************
Battery Mod
1% Battery Mod​
You are very very fast )
Spaun_Studio said:
You are very very fast )
Click to expand...
Click to collapse
what?!
Great tutorial.
It would have been better if you also include guide how to add quick toggle to systemui.apk I really want to learn how. I have been trying to find a nice guide but most of them are for sams... phones.
Sent from my ST25i using Tapatalk 2
Great tutorial...
Worked just fine for me.. Thanks a lot, that % was starting to get annoying
pretty sure that adding
http://developer.android.com/reference/android/view/View.html#attr_android:visibility
Code:
android:visibility="GONE"
Code:
<TextView android:layout_gravity="left|center" android:id="@id/battery_text" android: paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_settings_settings_button" android:singleLine="true" [B][I]android:visibility="gone" [/I][/B]style="@style/StatusBarNotificationText" />
into the xml with no smali mods will also work
it did on older firmwares just an FYI.
Pvy.
pvyParts said:
pretty sure that adding
http://developer.android.com/reference/android/view/View.html#attr_android:visibility
Code:
android:visibility="GONE"
Code:
<TextView android:layout_gravity="left|center" android:id="@id/battery_text" android: paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/status_bar_settings_settings_button" android:singleLine="true" [B][I]android:visibility="gone" [/I][/B]style="@style/StatusBarNotificationText" />
into the xml with no smali mods will also work
it did on older firmwares just an FYI.
Pvy.
Click to expand...
Click to collapse
Great,it works.Changed the first post.
wisnuhadi23 said:
Great tutorial.
It would have been better if you also include guide how to add quick toggle to systemui.apk I really want to learn how. I have been trying to find a nice guide but most of them are for sams... phones.
Sent from my ST25i using Tapatalk 2
Click to expand...
Click to collapse
Added.
neectron said:
Added.
Click to expand...
Click to collapse
Thanks for the tutorial.
I tried to follow all the steps you mentioned but I always end up getting error like this : (attachment)
Do you know what's wrong with it ?
I get the error even when editing a single line in status_bar.xml
wisnuhadi23 said:
Thanks for the tutorial.
I tried to follow all the steps you mentioned but I always end up getting error like this : (attachment)
Do you know what's wrong with it ?
I get the error even when editing a single line in status_bar.xml
Click to expand...
Click to collapse
I think androidmanifest.xml didn't decompile properly,so it is not compiling.
neectron said:
I think androidmanifest.xml didn't decompile properly,so it is not compiling.
Click to expand...
Click to collapse
So how do I get it compiled?
I am using the latest apktool 1.5.0.
wisnuhadi23 said:
So how do I get it compiled?
I am using the latest apktool 1.5.0.
Click to expand...
Click to collapse
I am not sure :/
Replace that androidmanifest.xml with attached xml.
neectron said:
I think androidmanifest.xml didn't decompile properly,so it is not compiling.
Click to expand...
Click to collapse
Agreed. I find it is always good practice to do a clean decompile and recompile to ensure the environment is setup right before. This will make if easy fix a lot of small problems that can arise
Pvy
Sent from my Galaxy Nexus using xda premium
@neectron:
Could you please add how to add battery mod?
THX
thebrainkafka said:
@neectron:
Could you please add how to add battery mod?
THX
Click to expand...
Click to collapse
I can,wait for few minutes.
Adding 1% battery icons.​
Decompile SystemUI.apk
Add 100 icons for battery discharging and charging to /res/drawable-hdpi.
For charging icons,name should be "stat_sys_battery_x.png":x = 1 to 100.
For discharging icons,name should be "stat_sys_battery_charge_animxx":xx = 1 to 100.
As you can see from below xmls.
Sample icons: batteryicons.zipThese are not mine.
You can copy these to /res/drawable-hdpi.
Copy xmls from this zip to systemui\res\drawables\.
or
Edit "systemui\res\drawables\stat_sys_battery.xml" and replace with these:
Code:
<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0" />
<item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" />
<item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2" />
<item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3" />
<item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4" />
<item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="5" />
<item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="6" />
<item android:drawable="@drawable/stat_sys_battery_7" android:maxLevel="7" />
<item android:drawable="@drawable/stat_sys_battery_8" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_9" android:maxLevel="9" />
<item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="10" />
<item android:drawable="@drawable/stat_sys_battery_11" android:maxLevel="11" />
<item android:drawable="@drawable/stat_sys_battery_12" android:maxLevel="12" />
<item android:drawable="@drawable/stat_sys_battery_13" android:maxLevel="13" />
<item android:drawable="@drawable/stat_sys_battery_14" android:maxLevel="14" />
<item android:drawable="@drawable/stat_sys_battery_15" android:maxLevel="15" />
<item android:drawable="@drawable/stat_sys_battery_16" android:maxLevel="16" />
<item android:drawable="@drawable/stat_sys_battery_17" android:maxLevel="17" />
<item android:drawable="@drawable/stat_sys_battery_18" android:maxLevel="18" />
<item android:drawable="@drawable/stat_sys_battery_19" android:maxLevel="19" />
<item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_21" android:maxLevel="21" />
<item android:drawable="@drawable/stat_sys_battery_22" android:maxLevel="22" />
<item android:drawable="@drawable/stat_sys_battery_23" android:maxLevel="23" />
<item android:drawable="@drawable/stat_sys_battery_24" android:maxLevel="24" />
<item android:drawable="@drawable/stat_sys_battery_25" android:maxLevel="25" />
<item android:drawable="@drawable/stat_sys_battery_26" android:maxLevel="26" />
<item android:drawable="@drawable/stat_sys_battery_27" android:maxLevel="27" />
<item android:drawable="@drawable/stat_sys_battery_28" android:maxLevel="28" />
<item android:drawable="@drawable/stat_sys_battery_29" android:maxLevel="29" />
<item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_31" android:maxLevel="31" />
<item android:drawable="@drawable/stat_sys_battery_32" android:maxLevel="32" />
<item android:drawable="@drawable/stat_sys_battery_33" android:maxLevel="33" />
<item android:drawable="@drawable/stat_sys_battery_34" android:maxLevel="34" />
<item android:drawable="@drawable/stat_sys_battery_35" android:maxLevel="35" />
<item android:drawable="@drawable/stat_sys_battery_36" android:maxLevel="36" />
<item android:drawable="@drawable/stat_sys_battery_37" android:maxLevel="37" />
<item android:drawable="@drawable/stat_sys_battery_38" android:maxLevel="38" />
<item android:drawable="@drawable/stat_sys_battery_39" android:maxLevel="39" />
<item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_41" android:maxLevel="41" />
<item android:drawable="@drawable/stat_sys_battery_42" android:maxLevel="42" />
<item android:drawable="@drawable/stat_sys_battery_43" android:maxLevel="43" />
<item android:drawable="@drawable/stat_sys_battery_44" android:maxLevel="44" />
<item android:drawable="@drawable/stat_sys_battery_45" android:maxLevel="45" />
<item android:drawable="@drawable/stat_sys_battery_46" android:maxLevel="46" />
<item android:drawable="@drawable/stat_sys_battery_47" android:maxLevel="47" />
<item android:drawable="@drawable/stat_sys_battery_48" android:maxLevel="48" />
<item android:drawable="@drawable/stat_sys_battery_49" android:maxLevel="49" />
<item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_51" android:maxLevel="51" />
<item android:drawable="@drawable/stat_sys_battery_52" android:maxLevel="52" />
<item android:drawable="@drawable/stat_sys_battery_53" android:maxLevel="53" />
<item android:drawable="@drawable/stat_sys_battery_54" android:maxLevel="54" />
<item android:drawable="@drawable/stat_sys_battery_55" android:maxLevel="55" />
<item android:drawable="@drawable/stat_sys_battery_56" android:maxLevel="56" />
<item android:drawable="@drawable/stat_sys_battery_57" android:maxLevel="57" />
<item android:drawable="@drawable/stat_sys_battery_58" android:maxLevel="58" />
<item android:drawable="@drawable/stat_sys_battery_59" android:maxLevel="59" />
<item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_61" android:maxLevel="61" />
<item android:drawable="@drawable/stat_sys_battery_62" android:maxLevel="62" />
<item android:drawable="@drawable/stat_sys_battery_63" android:maxLevel="63" />
<item android:drawable="@drawable/stat_sys_battery_64" android:maxLevel="64" />
<item android:drawable="@drawable/stat_sys_battery_65" android:maxLevel="65" />
<item android:drawable="@drawable/stat_sys_battery_66" android:maxLevel="66" />
<item android:drawable="@drawable/stat_sys_battery_67" android:maxLevel="67" />
<item android:drawable="@drawable/stat_sys_battery_68" android:maxLevel="68" />
<item android:drawable="@drawable/stat_sys_battery_69" android:maxLevel="69" />
<item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_71" android:maxLevel="71" />
<item android:drawable="@drawable/stat_sys_battery_72" android:maxLevel="72" />
<item android:drawable="@drawable/stat_sys_battery_73" android:maxLevel="73" />
<item android:drawable="@drawable/stat_sys_battery_74" android:maxLevel="74" />
<item android:drawable="@drawable/stat_sys_battery_75" android:maxLevel="75" />
<item android:drawable="@drawable/stat_sys_battery_76" android:maxLevel="76" />
<item android:drawable="@drawable/stat_sys_battery_77" android:maxLevel="77" />
<item android:drawable="@drawable/stat_sys_battery_78" android:maxLevel="78" />
<item android:drawable="@drawable/stat_sys_battery_79" android:maxLevel="79" />
<item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_81" android:maxLevel="81" />
<item android:drawable="@drawable/stat_sys_battery_82" android:maxLevel="82" />
<item android:drawable="@drawable/stat_sys_battery_83" android:maxLevel="83" />
<item android:drawable="@drawable/stat_sys_battery_84" android:maxLevel="84" />
<item android:drawable="@drawable/stat_sys_battery_85" android:maxLevel="85" />
<item android:drawable="@drawable/stat_sys_battery_86" android:maxLevel="86" />
<item android:drawable="@drawable/stat_sys_battery_87" android:maxLevel="87" />
<item android:drawable="@drawable/stat_sys_battery_88" android:maxLevel="88" />
<item android:drawable="@drawable/stat_sys_battery_89" android:maxLevel="89" />
<item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_91" android:maxLevel="91" />
<item android:drawable="@drawable/stat_sys_battery_92" android:maxLevel="92" />
<item android:drawable="@drawable/stat_sys_battery_93" android:maxLevel="93" />
<item android:drawable="@drawable/stat_sys_battery_94" android:maxLevel="94" />
<item android:drawable="@drawable/stat_sys_battery_95" android:maxLevel="95" />
<item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="96" />
<item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="97" />
<item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="98" />
<item android:drawable="@drawable/stat_sys_battery_99" android:maxLevel="99" />
<item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100" />
</level-list>
Edit "systemui\res\drawables\stat_sys_battery_charge.xml" and replace with these:
Code:
<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/stat_sys_battery_charge_anim0" android:maxLevel="0" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim1" android:maxLevel="1" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim2" android:maxLevel="2" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim3" android:maxLevel="3" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim4" android:maxLevel="4" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim5" android:maxLevel="5" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim6" android:maxLevel="6" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim7" android:maxLevel="7" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim8" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim9" android:maxLevel="9" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim10" android:maxLevel="10" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim11" android:maxLevel="11" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim12" android:maxLevel="12" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim13" android:maxLevel="13" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim14" android:maxLevel="14" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim15" android:maxLevel="15" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim16" android:maxLevel="16" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim17" android:maxLevel="17" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim18" android:maxLevel="18" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim19" android:maxLevel="19" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim20" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim21" android:maxLevel="21" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim22" android:maxLevel="22" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim23" android:maxLevel="23" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim24" android:maxLevel="24" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim25" android:maxLevel="25" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim26" android:maxLevel="26" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim27" android:maxLevel="27" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim28" android:maxLevel="28" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim29" android:maxLevel="29" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim30" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim31" android:maxLevel="31" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim32" android:maxLevel="32" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim33" android:maxLevel="33" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim34" android:maxLevel="34" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim35" android:maxLevel="35" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim36" android:maxLevel="36" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim37" android:maxLevel="37" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim38" android:maxLevel="38" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim39" android:maxLevel="39" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim40" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim41" android:maxLevel="41" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim42" android:maxLevel="42" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim43" android:maxLevel="43" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim44" android:maxLevel="44" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim45" android:maxLevel="45" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim46" android:maxLevel="46" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim47" android:maxLevel="47" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim48" android:maxLevel="48" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim49" android:maxLevel="49" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim50" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim51" android:maxLevel="51" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim52" android:maxLevel="52" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim53" android:maxLevel="53" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim54" android:maxLevel="54" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim55" android:maxLevel="55" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim56" android:maxLevel="56" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim57" android:maxLevel="57" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim58" android:maxLevel="58" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim59" android:maxLevel="59" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim60" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim61" android:maxLevel="61" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim62" android:maxLevel="62" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim63" android:maxLevel="63" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim64" android:maxLevel="64" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim65" android:maxLevel="65" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim66" android:maxLevel="66" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim67" android:maxLevel="67" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim68" android:maxLevel="68" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim69" android:maxLevel="69" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim70" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim71" android:maxLevel="71" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim72" android:maxLevel="72" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim73" android:maxLevel="73" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim74" android:maxLevel="74" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim75" android:maxLevel="75" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim76" android:maxLevel="76" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim77" android:maxLevel="77" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim78" android:maxLevel="78" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim79" android:maxLevel="79" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim80" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim81" android:maxLevel="81" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim82" android:maxLevel="82" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim83" android:maxLevel="83" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim84" android:maxLevel="84" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim85" android:maxLevel="85" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim86" android:maxLevel="86" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim87" android:maxLevel="87" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim88" android:maxLevel="88" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim89" android:maxLevel="89" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim90" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim91" android:maxLevel="91" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim92" android:maxLevel="92" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim93" android:maxLevel="93" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim94" android:maxLevel="94" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim95" android:maxLevel="95" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim96" android:maxLevel="96" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim97" android:maxLevel="97" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim98" android:maxLevel="98" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim99" android:maxLevel="99" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim100" android:maxLevel="100" />
</level-list>
Compile SystemUI.apk
Copy Meta-Inf and AndroidManifest.xml from stock SystemUI.apk to your modded one.
That's it.
Then copy it to /system,set permissions to -rw-r-r.
Then copy it to /system/app.
Reboot the phone.
The animated wallpaper of the capture is soooooo beautiful!!! Can u plzzzz share???
How to fixed this problem?
http://forum.xda-developers.com/attachment.php?attachmentid=1395463&d=1350039492
Replace xml not working!
s04113 said:
The animated wallpaper of the capture is soooooo beautiful!!! Can u plzzzz share???
Click to expand...
Click to collapse
http://imageshack.us/a/img109/4043/spectrumflow.png
dimon2242 said:
How to fixed this problem?
http://forum.xda-developers.com/attachment.php?attachmentid=1395463&d=1350039492
Replace xml not working!
Click to expand...
Click to collapse
Can provide screenshot of your apktool folder?maybe there is something wrong with apktool environment.
Thanks for the tutorial, i was learning how to mod myself for the Lt28at Ion - I did everything right but the bar didn't show up. After reading your post I need to edit the lidroid/status bar/quick panel ids to match with my public.xml. What a great source :victory:
I had another question, where/what is the xml or smali that had the 4G icon next to the signal bar instead of above the status bar ? I looked through out the file, couldn't find it. Can you help please .
Sent from my LT28i using Tapatalk 2

[GUIDE][TUTORIAL][SHARE] Create your own wallpaper chooser app!

Note : I'm just sharing the work of the XDA Member Renan Lazarotto.I've tried this guide and it worked like a charm.Here's a little introduction :
Renan Lazarotto said:
Hello guys!
After a bit of searching, trial and error, I managed to hack the TwWallpaperChooser.apk to add more wallpapers to it, or just change the standard ones. It is very simple and it shouldn't take more than 5 minutes to do.
You'll need:
- a bit of time
- apktool
- signapk
- any image-manipulation program that allows you to resize images (or you can use pixlr:http://pixlr.com/editor/)
- any text editor capable to edit .xml files (I recommend Notepad++:http://notepad-plus-plus.org/)
- obviously, wallpapers!
Lets do it. Start by decompiling TwWallpaperChoser (I've attached it) to any folder you want:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Go to the decompiled folder and navigate to res\drawable-mdpi. Here you'll paste the wallpapers you want to add. Each new wallpaper needs two files: the wallpaper itself and a preview, for the wallpaper select screen:
The wallpaper size needs to be 640x480px and the preview needs to be 107x80px. Both PNG and JPEG works. I didn't tried anything else than this. I'll leave the image work to you. After you've finished, rename the wallpaper file to wallpaper_(the name you want here) and the preview to wallpaper_(the name you want here)_small and move/paste them to the folder you've opened before. Note that the names cannot contain any spaces!
I've added wallpaper_80, wallpaper_beach, wallpaper_clouds and wallpaper_wave.
Now go to res\values folder and open public.xml. It will look something like this:
Copy the last drawable entry, in this case:
Code:
<public type="drawable" name="wallpaper_zanzibar" id="0x7f020016" />
<public type="drawable" name="wallpaper_zanzibar_small" id="0x7f020017" />
And paste it right below. It will look like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="drawable" name="APKTOOL_DUMMY_0001" id="0x7f020001" />
<public type="drawable" name="APKTOOL_DUMMY_0006" id="0x7f020006" />
<public type="drawable" name="APKTOOL_DUMMY_0007" id="0x7f020007" />
<public type="drawable" name="APKTOOL_DUMMY_0010" id="0x7f020010" />
<public type="drawable" name="APKTOOL_DUMMY_0011" id="0x7f020011" />
<public type="drawable" name="ic_launcher_wallpaper" id="0x7f020000" />
<public type="drawable" name="wallpaper_16" id="0x7f020002" />
<public type="drawable" name="wallpaper_16_small" id="0x7f020003" />
<public type="drawable" name="wallpaper_17" id="0x7f020004" />
<public type="drawable" name="wallpaper_17_small" id="0x7f020005" />
<public type="drawable" name="wallpaper_default" id="0x7f020008" />
<public type="drawable" name="wallpaper_default_small" id="0x7f020009" />
<public type="drawable" name="wallpaper_desert" id="0x7f02000a" />
<public type="drawable" name="wallpaper_desert_small" id="0x7f02000b" />
<public type="drawable" name="wallpaper_field" id="0x7f02000c" />
<public type="drawable" name="wallpaper_field_small" id="0x7f02000d" />
<public type="drawable" name="wallpaper_grass" id="0x7f02000e" />
<public type="drawable" name="wallpaper_grass_small" id="0x7f02000f" />
<public type="drawable" name="wallpaper_nexuswallpaper1" id="0x7f020012" />
<public type="drawable" name="wallpaper_nexuswallpaper1_small" id="0x7f020013" />
<public type="drawable" name="wallpaper_tree" id="0x7f020014" />
<public type="drawable" name="wallpaper_tree_small" id="0x7f020015" />
<public type="drawable" name="wallpaper_zanzibar" id="0x7f020016" />
<public type="drawable" name="wallpaper_zanzibar_small" id="0x7f020017" />
[B][COLOR="Blue"] <public type="drawable" name="wallpaper_zanzibar" id="0x7f020016" />
<public type="drawable" name="wallpaper_zanzibar_small" id="0x7f020017" />[/COLOR][/B]
<public type="layout" name="wallpaper_chooser" id="0x7f030000" />
<public type="layout" name="wallpaper_item" id="0x7f030001" />
<public type="array" name="extra_wallpapers" id="0x7f040000" />
<public type="array" name="wallpapers" id="0x7f040001" />
<public type="string" name="app_name" id="0x7f050000" />
<public type="string" name="pick_wallpaper" id="0x7f050001" />
<public type="string" name="wallpaper_instructions" id="0x7f050002" />
<public type="id" name="wallpaper" id="0x7f060000" />
<public type="id" name="gallery" id="0x7f060001" />
<public type="id" name="set" id="0x7f060002" />
</resources>
Now, rename the entry you've just added to the name of the wallpaper you've pasted in res\drawable-mdpi. For example:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="drawable" name="APKTOOL_DUMMY_0001" id="0x7f020001" />
<public type="drawable" name="APKTOOL_DUMMY_0006" id="0x7f020006" />
<public type="drawable" name="APKTOOL_DUMMY_0007" id="0x7f020007" />
<public type="drawable" name="APKTOOL_DUMMY_0010" id="0x7f020010" />
<public type="drawable" name="APKTOOL_DUMMY_0011" id="0x7f020011" />
<public type="drawable" name="ic_launcher_wallpaper" id="0x7f020000" />
<public type="drawable" name="wallpaper_16" id="0x7f020002" />
<public type="drawable" name="wallpaper_16_small" id="0x7f020003" />
<public type="drawable" name="wallpaper_17" id="0x7f020004" />
<public type="drawable" name="wallpaper_17_small" id="0x7f020005" />
<public type="drawable" name="wallpaper_default" id="0x7f020008" />
<public type="drawable" name="wallpaper_default_small" id="0x7f020009" />
<public type="drawable" name="wallpaper_desert" id="0x7f02000a" />
<public type="drawable" name="wallpaper_desert_small" id="0x7f02000b" />
<public type="drawable" name="wallpaper_field" id="0x7f02000c" />
<public type="drawable" name="wallpaper_field_small" id="0x7f02000d" />
<public type="drawable" name="wallpaper_grass" id="0x7f02000e" />
<public type="drawable" name="wallpaper_grass_small" id="0x7f02000f" />
<public type="drawable" name="wallpaper_nexuswallpaper1" id="0x7f020012" />
<public type="drawable" name="wallpaper_nexuswallpaper1_small" id="0x7f020013" />
<public type="drawable" name="wallpaper_tree" id="0x7f020014" />
<public type="drawable" name="wallpaper_tree_small" id="0x7f020015" />
<public type="drawable" name="wallpaper_zanzibar" id="0x7f020016" />
<public type="drawable" name="wallpaper_zanzibar_small" id="0x7f020017" />
[B][COLOR="blue"] <public type="drawable" name="[COLOR="Red"]wallpaper_80[/COLOR]" id="0x7f020016" />
<public type="drawable" name="[COLOR="red"]wallpaper_80_small[/COLOR]" id="0x7f020017" />[/COLOR][/B]
<public type="layout" name="wallpaper_chooser" id="0x7f030000" />
<public type="layout" name="wallpaper_item" id="0x7f030001" />
<public type="array" name="extra_wallpapers" id="0x7f040000" />
<public type="array" name="wallpapers" id="0x7f040001" />
<public type="string" name="app_name" id="0x7f050000" />
<public type="string" name="pick_wallpaper" id="0x7f050001" />
<public type="string" name="wallpaper_instructions" id="0x7f050002" />
<public type="id" name="wallpaper" id="0x7f060000" />
<public type="id" name="gallery" id="0x7f060001" />
<public type="id" name="set" id="0x7f060002" />
</resources>
Now, note that the ID is the same for the wallpaper_zanzibar entry and for the wallpaper_80 entry. We need to change this, so I'll increase the last digit, following the hexadecimal order (0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f):
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<public type="drawable" name="APKTOOL_DUMMY_0001" id="0x7f020001" />
<public type="drawable" name="APKTOOL_DUMMY_0006" id="0x7f020006" />
<public type="drawable" name="APKTOOL_DUMMY_0007" id="0x7f020007" />
<public type="drawable" name="APKTOOL_DUMMY_0010" id="0x7f020010" />
<public type="drawable" name="APKTOOL_DUMMY_0011" id="0x7f020011" />
<public type="drawable" name="ic_launcher_wallpaper" id="0x7f020000" />
<public type="drawable" name="wallpaper_16" id="0x7f020002" />
<public type="drawable" name="wallpaper_16_small" id="0x7f020003" />
<public type="drawable" name="wallpaper_17" id="0x7f020004" />
<public type="drawable" name="wallpaper_17_small" id="0x7f020005" />
<public type="drawable" name="wallpaper_default" id="0x7f020008" />
<public type="drawable" name="wallpaper_default_small" id="0x7f020009" />
<public type="drawable" name="wallpaper_desert" id="0x7f02000a" />
<public type="drawable" name="wallpaper_desert_small" id="0x7f02000b" />
<public type="drawable" name="wallpaper_field" id="0x7f02000c" />
<public type="drawable" name="wallpaper_field_small" id="0x7f02000d" />
<public type="drawable" name="wallpaper_grass" id="0x7f02000e" />
<public type="drawable" name="wallpaper_grass_small" id="0x7f02000f" />
<public type="drawable" name="wallpaper_nexuswallpaper1" id="0x7f020012" />
<public type="drawable" name="wallpaper_nexuswallpaper1_small" id="0x7f020013" />
<public type="drawable" name="wallpaper_tree" id="0x7f020014" />
<public type="drawable" name="wallpaper_tree_small" id="0x7f020015" />
<public type="drawable" name="wallpaper_zanzibar" id="0x7f020016" />
<public type="drawable" name="wallpaper_zanzibar_small" id="0x7f020017" />
[B][COLOR="blue"] <public type="drawable" name="wallpaper_80" id="0x7f02001[COLOR="Red"]8[/COLOR]" />
<public type="drawable" name="wallpaper_80_small" id="0x7f02001[COLOR="red"]9[/COLOR]" />[/COLOR][/B]
<public type="layout" name="wallpaper_chooser" id="0x7f030000" />
<public type="layout" name="wallpaper_item" id="0x7f030001" />
<public type="array" name="extra_wallpapers" id="0x7f040000" />
<public type="array" name="wallpapers" id="0x7f040001" />
<public type="string" name="app_name" id="0x7f050000" />
<public type="string" name="pick_wallpaper" id="0x7f050001" />
<public type="string" name="wallpaper_instructions" id="0x7f050002" />
<public type="id" name="wallpaper" id="0x7f060000" />
<public type="id" name="gallery" id="0x7f060001" />
<public type="id" name="set" id="0x7f060002" />
</resources>
Repeat these steps for every wallpaper you've added, but don't forget to change its ID or the apk won't compile. When your last digit is F (0x7f02001f, in my example), the next one should be 0x7f020020 and then the counting begins. Also, I don't know if there is a limitation to wallpapers to add!
When you finish this part, save and close. Now, navigate to res\values-mdpi folder and open arrays.xml:
We'll need to add the reference for the wallpaper here, so just copy and paste the last line and rename it to the wallpaper name (like I did on the image above). To change the order that wallpapers will appear on the selection screen, just change the order on this file. So, if you want the wallpaper you've added to be the first, move its entry to the top:
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="wallpapers">
[COLOR="red"]<item>wallpaper_80</item>[/COLOR]
<item>wallpaper_default</item>
<item>wallpaper_16</item>
<item>wallpaper_17</item>
<item>wallpaper_desert</item>
<item>wallpaper_zanzibar</item>
<item>wallpaper_tree</item>
<item>wallpaper_grass</item>
<item>wallpaper_field</item>
<item>wallpaper_nexuswallpaper1</item>
</string-array>
</resources>
Save and close. Now, recomplie the apk:
If everything went OK, you'll see this. Now, navigate to TwWallpaperChoser\dist and copy the TwWallpaperChoser.apk to the SignAPK folder (I strongly suggest you to place SignAPK in C:\SignAPK).
Open a terminal window, navigate to the SignAPK folder and enter the following command:
Code:
java -jar signapk.jar certificate.pem key.pk8 TwWallpaperChooser.apk TwWallpaperChooser-signed.apk
You can copy the entire command and right-click any empty space on terminal and select Paste:
SignApk doesn't output anything when it sign the apk successfully, so when your terminal window goes like this:
You're done! Now upload the TwWallpaperChoser-signed.apk to your phone and install it. Done! Now you have your customized wallpaper chooser.
Any questions feel free to ask. Also, thank me if this helped you and forgive me if I did something wrong, this is my first or second tutorial
Click to expand...
Click to collapse
finaly,i have looked a long time for a good guide,because i was to dumb,lol.many thanx brother!!!! :good::good::good:
bro maybe its only by me but i cant see the pictures,guide,look at my pic,lol
-CALIBAN666- said:
bro maybe its only by me but i cant see the pictures,guide,look at my pic,lol
Click to expand...
Click to collapse
Lol! That's not your fault.I edited the guide 2 minutes ago as some codes were missing.
Sorry!
LOL, that was some REALLY old tut that I wrote! Even I didn't remember about it! Thanks for sharing, though
Renan Lazarotto said:
LOL, that was some REALLY old tut that I wrote! Even I didn't remember about it! Thanks for sharing, though
Click to expand...
Click to collapse
Yeah I was browsing the Ace forums and saw your thread.
aniket.lamba said:
Yeah I was browsing the Ace forums and saw your thread.
Click to expand...
Click to collapse
Its been a long time, sold my Ace more than a year ago. One thing to note: you can do this on pretty much any wallpaper-chooser app... this is the basics. The CM wallpaper app is pretty much the same, but a bit more complex.
Renan Lazarotto said:
Its been a long time, sold my Ace more than a year ago. One thing to note: you can do this on pretty much any wallpaper-chooser app... this is the basics. The CM wallpaper app is pretty much the same, but a bit more complex.
Click to expand...
Click to collapse
Hmm I know.Dealing with CM7 isn't easy for me

help me please

please some one help me
i try to mod apk but i don`t known the java
i edit apk only
when i try to edit some app
i want but extra icon in launcher
i toke some icon and value from another launcher
when i but the value of public.xml(launcher 1) in public.xml(edited laucher)
and recompile apk it give me errors :
Public entry identifier entry index is larger than available symbols
Click to expand...
Click to collapse
can some one take public.xml to edit for me
i want but this id in public.xml
PHP:
<public type="drawable" name="chrome" id="" />
<public type="drawable" name="cleanmaster" id="" />
<public type="drawable" name="facebook" id="" />
<public type="drawable" name="facebookmessenger" id="" />
<public type="drawable" name="gmail" id="" />
<public type="drawable" name="googlesearch" id="" />
<public type="drawable" name="googlesettings" id="" />
<public type="drawable" name="hangouts" id="" />
<public type="drawable" name="googlevoice" id="" />
<public type="drawable" name="instagram" id="" />
<public type="drawable" name="maps" id="" />
<public type="drawable" name="newsandweather" id="" />
<public type="drawable" name="playbooks" id="" />
<public type="drawable" name="playgames" id="" />
<public type="drawable" name="playmagazines" id="" />
<public type="drawable" name="playmusic" id="" />
<public type="drawable" name="simtoolkit" id="" />
<public type="drawable" name="skype" id="" />
<public type="drawable" name="soundcloud" id="" />
<public type="drawable" name="supersu" id="" />
<public type="drawable" name="terminal" id="" />
<public type="drawable" name="playstore" id="" />
<public type="drawable" name="viber" id="" />
<public type="drawable" name="whatsapp" id="" />
<public type="drawable" name="youtube" id="" />
please some one help me please,
to put id in public.xml
this the link of public.xml : http://www.mediafire.com/download/yoey8639ol04vp5/public.xml
some one generate id for me

[GUIDE] [TUT] Toast Animation

GUIDE Toast Animation (Suppport Show-Hide Toast Icon)
Work and Tested - CM 12.1 & LP Based
​
1. Decompile framework-res
copy and paste ingredients into place
framework-res.apk\res\values
styles.xml
add the following lines
<style name="Animation.Toast.Fade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/fade_in</item>
<item name="windowExitAnimation">@anim/fade_out</item>
</style>
<style name="Animation.Toast.SlideRight" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/slide_in_right</item>
<item name="windowExitAnimation">@anim/slide_out_right</item>
</style>
<style name="Animation.Toast.SlideLeft" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/slide_in_left</item>
<item name="windowExitAnimation">@anim/slide_out_left</item>
</style>
<style name="Animation.Toast.Xylon" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/xylon_toast_enter</item>
<item name="windowExitAnimation">@anim/xylon_toast_exit</item>
</style>
<style name="Animation.Toast.Toko" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/toko_toast_enter</item>
<item name="windowExitAnimation">@anim/toko_toast_exit</item>
</style>
<style name="Animation.Toast.Tn" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/tn_toast_enter</item>
<item name="windowExitAnimation">@anim/tn_toast_exit</item>
</style>
<style name="Animation.Toast.Honami" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/honami_toast_enter</item>
<item name="windowExitAnimation">@anim/honami_toast_exit</item>
</style>
<style name="Animation.Toast.FastFade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/fast_fade_in</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.GrowFade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.GrowFadeCenter" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in_center</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.Translucent" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/translucent_enter</item>
<item name="windowExitAnimation">@anim/translucent_exit</item>
</style>
<style name="Animation.Toast.GrowFadeBottom" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in_from_bottom</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
Click to expand...
Click to collapse
Recompile-Decompile again..
open public.xml, and leave it opened
2.Decompile framework.jar
Copy and paste Ingredients Into His place
Replace id below conform with public.xml framework-res.apk
framework.jar\smali_classes2\android\widget\Toast$TN.smali (15 hits)
Line 97 : const v1, 0x1030004 # type="style" name="Animation.Toast"
Line 301: const v8, 0x1020006 # type="id" name="icon"
Line 525: const v8, 0x1030004 # type="style" name="Animation.Toast"
Line 535: const v8, 0x10304c3 # type="style" name="Animation.Toast.Fade"
Line 545: const v8, 0x10304c4 # type="style" name="Animation.Toast.SlideRight"
Line 555: const v8, 0x10304c5 # type="style" name="Animation.Toast.SlideLeft"
Line 565: const v8, 0x10304c6 # type="style" name="Animation.Toast.Xylon"
Line 575: const v8, 0x10304c7 # type="style" name="Animation.Toast.Toko"
Line 585: const v8, 0x10304c8 # type="style" name="Animation.Toast.Tn"
Line 595: const v8, 0x10304c9 # type="style" name="Animation.Toast.Honami"
Line 605: const v8, 0x10304ca # type="style" name="Animation.Toast.FastFade"
Line 615: const v8, 0x10304cb # type="style" name="Animation.Toast.GrowFade"
Line 625: const v8, 0x10304cc # type="style" name="Animation.Toast.GrowFadeCenter"
Line 635: const v8, 0x10304ce # type="style" name="Animation.Toast.GrowFadeBottom"
Line 645: const v8, 0x10304cd # type="style" name="Animation.Toast.Translucent"
Click to expand...
Click to collapse
3.Decompile Settings.apk
Settings.apk\res\xml
copy and paste ingredients into place
Settings.apk\res\xml
display.xml
-Add Line
<PreferenceScreen android:id="@+id/animation_settings" android:title="@string/animation_settings" android:fragment="com.android.settings.rr.AnimationSettings" />
Click to expand...
Click to collapse
Settings.apk\res\values
strings.xml
add the following lines
<string name="misc_settings_title"><b>Miscellaneous</b></string>
<string name="animation_settings"><b>Animations</b></string>
<string name="toast_title"><b>Toast</b></string>
<string name="toast_icon_title">Toast icon</string>
<string name="toast_animation_title">Toast animations</string>
<string name="toast_animation_summary">Select and preview system toast animation</string>
<string name="toast_none_animation">None</string>
<string name="toast_default_animation">Default</string>
<string name="toast_fade_animation">Fade animation</string>
<string name="toast_SlideRight_animation">Slide right</string>
<string name="toast_SlideLeft_animation">Slide left</string>
<string name="toast_Xylon_animation">Xylon animation</string>
<string name="toast_Toko_animation">Toko animation</string>
<string name="toast_Tn_animation">Tn animation</string>
<string name="toast_Honami_animation">Honami animation</string>
<string name="toast_FastFade_animation">Fast fade</string>
<string name="toast_GrowFade_animation">Grow fade</string>
<string name="toast_GrowFadeCenter_animation">Grow fade center</string>
<string name="toast_GrowFadeBottom_animation">Grow fade bottom</string>
<string name="toast_Translucent_animation">Translucent animation</string>
<string name="animation_settings_title">Animations</string>
Click to expand...
Click to collapse
Settings.apk\res\values
arrays.xml
add the following lines
<string-array name="toast_animation_entries">
<item>@string/toast_none_animation</item>
<item>@string/toast_default_animation</item>
<item>@string/toast_fade_animation</item>
<item>@string/toast_SlideRight_animation</item>
<item>@string/toast_SlideLeft_animation</item>
<item>@string/toast_Xylon_animation</item>
<item>@string/toast_Toko_animation</item>
<item>@string/toast_Tn_animation</item>
<item>@string/toast_Honami_animation</item>
<item>@string/toast_FastFade_animation</item>
<item>@string/toast_GrowFade_animation</item>
<item>@string/toast_GrowFadeCenter_animation</item>
<item>@string/toast_GrowFadeBottom_animation</item>
<item>@string/toast_Translucent_animation</item>
</string-array>
<string-array name="toast_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>
<item>12</item>
<item>13</item>
</string-array>
Click to expand...
Click to collapse
Settings.apk\smali\com\android\settings
SettingsPreferenceFragment.smali
PHP:
-copy and paste the line below
.field protected mContext:Landroid/content/Context;
-right below
.field private mContentResolver:Landroid/content/ContentResolver;
--------------------------------------------------------------------------
-copy and paste this line
.line 93
invoke-virtual {p0}, Lcom/android/settings/SettingsPreferenceFragment;->getActivity()Landroid/app/Activity;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
move-result-object v1
iput-object v1, p0, Lcom/android/settings/SettingsPreferenceFragment;->mContext:Landroid/content/Context;
.line 94
invoke-virtual {p0}, Lcom/android/settings/SettingsPreferenceFragment;->getActivity()Landroid/app/Activity;
move-result-object v2
invoke-virtual {v2}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
move-result-object v2
iput-object v2, p0, Lcom/android/settings/SettingsPreferenceFragment;->mContext:Landroid/content/Context;
-right below
invoke-super {p0, p1}, Landroid/preference/PreferenceFragment;->onCreate(Landroid/os/Bundle;)V
Recompile
Decompile
Settings.apk\smali\com\android\settings\rr
AnimationSettings.smali
Replace id below conform with public.xml
const v1, 0x7f06006c public type="xml" name="rr_animation_settings" id="
Click to expand...
Click to collapse
Recompile.
Files and Compare Press Me​
Thanks bro, and good job !!
Enviado desde mi Lenovo K50-t5 mediante Tapatalk

Categories

Resources