App permissions - Android Q&A, Help & Troubleshooting

Can someone help and check if these permissions are okay? Some look a bit too much for a system alarm clock, but I'm no expert and it's better to ask than start messing around with things.
Code:
<package name="com.android.deskclock" codePath="/system/app/DeskClock" nativeLibraryPath="/system/app/DeskClock/lib" primaryCpuAbi="arm64-v8a" publicFlags="1011465797" privateFlags="0" pkgFlagsEx="0" ft="11e8dc5d800" it="11e8dc5d800" ut="11e8dc5d800" version="450" sharedUserId="1000">
<sigs count="1">
<cert index="0" />
</sigs>
<perms>
<item name="android.permission.REAL_GET_TASKS" granted="true" flags="0" />
<item name="android.permission.BIND_INCALL_SERVICE" granted="true" flags="0" />
<item name="android.permission.WRITE_SETTINGS" granted="true" flags="0" />
<item name="android.permission.CONFIGURE_WIFI_DISPLAY" granted="true" flags="0" />
<item name="android.permission.ACCESS_WIMAX_STATE" granted="true" flags="0" />
<item name="android.permission.RESTART_PACKAGES" granted="true" flags="0" />
<item name="android.permission.STORAGE_INTERNAL" granted="true" flags="0" />
<item name="android.permission.USE_CREDENTIALS" granted="true" flags="0" />
<item name="android.permission.MODIFY_AUDIO_SETTINGS" granted="true" flags="0" />
<item name="android.permission.ACCESS_CHECKIN_PROPERTIES" granted="true" flags="0" />
<item name="android.permission.ACCESS_MOCK_LOCATION" granted="true" flags="0" />
<item name="android.permission.INSTALL_LOCATION_PROVIDER" granted="true" flags="0" />
<item name="android.permission.SYSTEM_ALERT_WINDOW" granted="true" flags="0" />
<item name="android.permission.BROADCAST_PHONE_ACCOUNT_REGISTRATION" granted="true" flags="0" />
<item name="android.permission.CLEAR_APP_USER_DATA" granted="true" flags="0" />
<item name="android.permission.BROADCAST_CALLLOG_INFO" granted="true" flags="0" />
<item name="android.permission.INSTALL_PACKAGES" granted="true" flags="0" />
<item name="android.permission.SHUTDOWN" granted="true" flags="0" />
<item name="android.permission.NFC" granted="true" flags="0" />
<item name="android.permission.CALL_PRIVILEGED" granted="true" flags="0" />
<item name="android.permission.CHANGE_NETWORK_STATE" granted="true" flags="0" />
<item name="android.permission.MASTER_CLEAR" granted="true" flags="0" />
<item name="android.permission.WRITE_SYNC_SETTINGS" granted="true" flags="0" />
<item name="android.permission.RECEIVE_BOOT_COMPLETED" granted="true" flags="0" />
<item name="com.google.android.googleapps.permission.GOOGLE_AUTH" granted="true" flags="0" />
<item name="android.permission.PEERS_MAC_ADDRESS" granted="true" flags="0" />
<item name="android.permission.DEVICE_POWER" granted="true" flags="0" />
<item name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS" granted="true" flags="0" />
<item name="android.permission.READ_PROFILE" granted="true" flags="0" />
<item name="android.permission.BLUETOOTH" granted="true" flags="0" />
<item name="com.android.alarm.permission.SET_ALARM" granted="true" flags="0" />
<item name="android.permission.WRITE_MEDIA_STORAGE" granted="true" flags="0" />
<item name="android.permission.WRITE_BLOCKED_NUMBERS" granted="true" flags="0" />
<item name="android.permission.GET_TASKS" granted="true" flags="0" />
<item name="android.permission.INTERNET" granted="true" flags="0" />
<item name="android.permission.TRANSMIT_IR" granted="true" flags="0" />
<item name="android.permission.BLUETOOTH_ADMIN" granted="true" flags="0" />
<item name="android.permission.CONTROL_VPN" granted="true" flags="0" />
<item name="android.permission.UPDATE_DEVICE_STATS" granted="true" flags="0" />
<item name="android.permission.READ_PRECISE_PHONE_STATE" granted="true" flags="0" />
<item name="android.permission.MANAGE_FINGERPRINT" granted="true" flags="0" />
<item name="android.permission.NET_ADMIN" granted="true" flags="0" />
<item name="android.permission.BIND_CONNECTION_SERVICE" granted="true" flags="0" />
<item name="android.permission.GET_PACKAGE_SIZE" granted="true" flags="0" />
<item name="android.permission.MANAGE_USB" granted="true" flags="0" />
<item name="android.permission.INTERACT_ACROSS_USERS_FULL" granted="true" flags="0" />
<item name="android.permission.STOP_APP_SWITCHES" granted="true" flags="0" />
<item name="android.permission.BATTERY_STATS" granted="true" flags="0" />
<item name="android.permission.PACKAGE_USAGE_STATS" granted="true" flags="0" />
<item name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" granted="true" flags="0" />
<item name="android.permission.TETHER_PRIVILEGED" granted="true" flags="0" />
<item name="android.permission.WRITE_SECURE_SETTINGS" granted="true" flags="0" />
<item name="android.permission.MOVE_PACKAGE" granted="true" flags="0" />
<item name="android.permission.READ_BLOCKED_NUMBERS" granted="true" flags="0" />
<item name="android.permission.READ_SEARCH_INDEXABLES" granted="true" flags="0" />
<item name="android.permission.DIAGNOSTIC" granted="true" flags="0" />
<item name="android.permission.READ_PRIVILEGED_PHONE_STATE" granted="true" flags="0" />
<item name="android.permission.ACCESS_DOWNLOAD_MANAGER" granted="true" flags="0" />
<item name="android.permission.BLUETOOTH_PRIVILEGED" granted="true" flags="0" />
<item name="android.permission.HARDWARE_TEST" granted="true" flags="0" />
<item name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE" granted="true" flags="0" />
<item name="android.permission.BIND_JOB_SERVICE" granted="true" flags="0" />
<item name="android.permission.CONFIRM_FULL_BACKUP" granted="true" flags="0" />
<item name="android.permission.SET_TIME" granted="true" flags="0" />
<item name="android.permission.WRITE_APN_SETTINGS" granted="true" flags="0" />
<item name="android.permission.CHANGE_WIFI_STATE" granted="true" flags="0" />
<item name="android.permission.ACCESS_BLUETOOTH_SHARE" granted="true" flags="0" />
<item name="android.permission.MANAGE_USERS" granted="true" flags="0" />
<item name="android.permission.ACCESS_NETWORK_STATE" granted="true" flags="0" />
<item name="android.permission.DISABLE_KEYGUARD" granted="true" flags="0" />
<item name="android.permission.BACKUP" granted="true" flags="0" />
<item name="android.permission.CHANGE_CONFIGURATION" granted="true" flags="0" />
<item name="android.permission.USER_ACTIVITY" granted="true" flags="0" />
<item name="android.permission.READ_LOGS" granted="true" flags="0" />
<item name="android.permission.COPY_PROTECTED_DATA" granted="true" flags="0" />
<item name="android.permission.INTERACT_ACROSS_USERS" granted="true" flags="0" />
<item name="android.permission.SET_KEYBOARD_LAYOUT" granted="true" flags="0" />
<item name="android.permission.READ_NETWORK_USAGE_HISTORY" granted="true" flags="0" />
<item name="android.permission.KILL_BACKGROUND_PROCESSES" granted="true" flags="0" />
<item name="android.permission.USE_FINGERPRINT" granted="true" flags="0" />
<item name="android.permission.WRITE_USER_DICTIONARY" granted="true" flags="0" />
<item name="android.permission.READ_SYNC_STATS" granted="true" flags="0" />
<item name="android.permission.REBOOT" granted="true" flags="0" />
<item name="android.permission.OEM_UNLOCK_STATE" granted="true" flags="0" />
<item name="android.permission.MANAGE_DEVICE_ADMINS" granted="true" flags="0" />
<item name="android.permission.CLEAR_APP_CACHE" granted="true" flags="0" />
<item name="android.permission.CHANGE_APP_IDLE_STATE" granted="true" flags="0" />
<item name="android.permission.MANAGE_NETWORK_POLICY" granted="true" flags="0" />
<item name="android.permission.SET_POINTER_SPEED" granted="true" flags="0" />
<item name="android.permission.MANAGE_NOTIFICATIONS" granted="true" flags="0" />
<item name="android.permission.CONNECTIVITY_INTERNAL" granted="true" flags="0" />
<item name="android.permission.READ_SYNC_SETTINGS" granted="true" flags="0" />
<item name="android.permission.OVERRIDE_WIFI_CONFIG" granted="true" flags="0" />
<item name="android.permission.FORCE_STOP_PACKAGES" granted="true" flags="0" />
<item name="android.permission.ACCESS_NOTIFICATIONS" granted="true" flags="0" />
<item name="android.permission.VIBRATE" granted="true" flags="0" />
<item name="com.android.certinstaller.INSTALL_AS_USER" granted="true" flags="0" />
<item name="android.permission.READ_USER_DICTIONARY" granted="true" flags="0" />
<item name="android.permission.CRYPT_KEEPER" granted="true" flags="0" />
<item name="android.permission.ACCESS_WIFI_STATE" granted="true" flags="0" />
<item name="android.permission.CHANGE_WIMAX_STATE" granted="true" flags="0" />
<item name="android.permission.MODIFY_PHONE_STATE" granted="true" flags="0" />
<item name="com.android.launcher.permission.INSTALL_SHORTCUT" granted="true" flags="0" />
<item name="android.permission.STATUS_BAR" granted="true" flags="0" />
<item name="android.permission.LOCATION_HARDWARE" granted="true" flags="0" />
<item name="android.permission.WAKE_LOCK" granted="true" flags="0" />
<item name="android.permission.INJECT_EVENTS" granted="true" flags="0" />
<item name="android.permission.DELETE_PACKAGES" granted="true" flags="0" />
</perms>
<proper-signing-keyset identifier="1" />
</package>

Related

[Q] Decompile framework-res

Hello,
I'm trying to edit an XML file.
I decompile Framework-res.apk then edit the stat_sys_battery.xml add some lines, and finally I have this code:
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>
Then I re-compile it, open the re-compiled .apk file and grab the stat_sys_battery.xml and copy it to my original framework-res.apk, (and then copy it over the framework-res.apk in /system/framework/)
however, I don't the wanted result, because after a reboot, it displays the stat_sys_battery_unknown image.
(BTW: I use Root Explorer to copy the modified framework-res.apk to the /system/framework/ folder but I don't think that's the problem, but I'm not sure)
EDIT: Placing the re-compiled framework-res.apk results in a bootloop..
Thanks in advance!

[req] battery mod for ics

Can some tell ne how to get it at 1% at a time. i had decompiled and recompiled and edited the stat_sys_battery.xml and flashed and now the battery icon does not show up at all, i have all the icons correctly named and all, i don't know what i am doing wrong
here is what i have as my xml file
<?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>
am i missing anything?

[TUTORIAL][DIY] Add animated gps, sync, and 100% battery to your rom/theme

Hello everyone, lately I do not have enough time to make a full theme so I decided to make a couple of DIY Tutorials on animated statusbar icons, such as gps, sync, and battery. Most devs/themers already know how to add this to their roms/themes, but this is more for people who are just starting out. I will add more tutorials to this as time allows. Please do not post questions on how to use adb, apktool, etc… as there are plenty of guides on these posted all around xda.
Prerequisites
Knowledge of apktools
Knowledge of adb, root explorer, etc
Notepad++ or equivalent text editing program
Know how to follow directions…lol
To add animated gps to your rom/theme you need to
decompile SystemUI.apk using apktools {apktool d SystemUI.apk}
go to /res/drawable/stat_sys_gps_acquiring_anim.xml
open stat_sys_gps_acquiring_anim.xml with Notepad++
you will see the following code
Code:
<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
[COLOR="Red"]<item android:duration="500" android:drawable="@drawable/stat_sys_gps_acquiring" />
<item android:duration="500" android:drawable="@drawable/stat_sys_gps_on" />[/COLOR]
</animation-list>
Between the lines in red add the following code (you can add more animation by adding more lines and changing the # at the end to 4, 5, 6, etc..)
Code:
<item android:duration="100" android:drawable="@drawable/stat_sys_gps_acquiring1" />
<item android:duration="100" android:drawable="@drawable/stat_sys_gps_acquiring2" />
<item android:duration="100" android:drawable="@drawable/stat_sys_gps_acquiring3" />
Now replace the “500” duration values with “100”. (The smaller the duration values the faster the animation)
Save your work and go to /res/drawable-xhdpi
Add your images here
Your images have to be named stat_sys_gps_acquiring, stat_sys_gps_aquiring1, stat_sys_gps_aquiring2, etc…
Make sure they are 50x50
Make sure they are in png format.
Using apktools compile your apk {apktool b SystemUI}
If no errors appear, you are good to go.
Sign and zipalign the apk
Use adb, root explorer, etc... to push your file into the system/app folder. {adb push SystemUI.apk /system/app}
To add animated sync
{
"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"
}
to your rom/theme you need to
Decompile SystemUI.apk using apktool {apktool d SystemUI.apk}
Create a new xml file named stat_sys_sync_anim0.xml
Enter the following code
Code:
<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim1" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim2" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim3" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim4" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim5" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim6" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim7" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim8" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim9" />
<item android:duration="70" android:drawable="@drawable/stat_sys_sync_anim10" />
</animation-list>
Note
You can add more animations by adding more lines and changing the # at the end.
You can delete some animation by removing lines starting from the bottom up.
The smaller the duration values the faster the animation
Save your work and place the new xml file in /res/drawable
Go to /res/drawable-xhdpi
Delete stat_sys_sync_anim0.png
Add your images here
Your images have to be named stat_sys_sync_anim1, stat_sys_sync_anim2, stat_sys_sync_anim3, etc...
Make sure they are 50x50
Make sure they are in png format.
Using apktools compile your apk {apktool b SystemUI}
If no errors appear, you are good to go.
Sign and zipalign the apk
Use adb, root explorer, etc... to push your file into the system/app folder. {adb push SystemUI.apk /system/app}
IF YOUR ANIMATION DOES NOT WORK AFTER A REBOOT
Decompile SystemUI.apk using apktool {apktool d SystemUI.apk}
Go to /res/drawable-hdpi
Delete stat_sys_sync_anim0.png
Add your images here as well
Your images have to be named stat_sys_sync_anim1, stat_sys_sync_anim2, stat_sys_sync_anim3, etc...
Make sure they are 38x38
Make sure they are in png format.
Using apktools compile your apk {apktool b SystemUI}
If no errors appear, you are good to go.
Sign and zipalign the apk
Use adb, root explorer, etc... to push your file into the system/app folder. {adb push SystemUI.apk /system/app}
To add 100% Battery Mod
to your Theme/Rom you need to
Decompile SystemUI.apk using apktool {apktool d SystemUI.apk}
Go to /res/drawable/stat_sys_battery.xml
Open stat_sys_battery.xml with Notepad++
You will see the following code
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="1" />
<item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="101" />
</level-list>
Change it to
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="101" />
</level-list>
Save your work
Go to /res/drawable-xhdpi
Add your images here
Your images have to be named stat_sys_battery_0, stat_sys_battery_1, stat_sys_battery_2, etc...
Make sure they are 50x50
Make sure they are in png format.
Now go to res/drawable/stat_sys_battery_charge.xml
Open stat_sys_battery_charge.xml with Notepad++
You will see the following code
Code:
<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="0">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim0" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim1" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim2" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim3" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim6" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="1">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim0" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim1" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim2" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim3" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim6" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="10">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim1" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim2" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim3" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim6" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="20">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim2" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim3" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim6" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="30">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim3" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim6" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="40">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim4" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim6" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="50">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim5" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim6" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="60">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim6" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="70">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim7" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="80">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim8" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="90">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim9" />
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
<item android:maxLevel="101">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1000" android:drawable="@drawable/stat_sys_battery_charge_anim10" />
</animation-list>
</item>
</level-list>
Change it to View attachment stat_sys_battery_charge.zip (a txt document in the zip has the code in it...text was too long for the post...lol)
Save your work
Go to /res/drawable-xhdpi
Add your images here
Your images have to be named stat_sys_battery_charge_anim0, stat_sys_battery_charge_anim1, stat_sys_battery_charge_anim2, etc...
Make sure they are 50x50
Make sure they are in png format.
Using apktools compile your apk {apktool b SystemUI}
If no errors appear, you are good to go.
Sign and zipalign the apk
Use adb, root explorer, etc... to push your file into the system/app folder. {adb push SystemUI.apk /system/app}
Glad to see you around bro. This device has a ton of great devs, modders and themers. A lot of good stuff floating around.
Sent from LTEVO!
jeffsanace said:
Glad to see you around bro. This device has a ton of great devs, modders and themers. A lot of good stuff floating around.
Sent from LTEVO!
Click to expand...
Click to collapse
There sure is a lot of stuff going around, still debating on what rom to use as my daily...might just modify a stock rom to my liking. Glad you stopped by bro.
Awesome work! Glad to see others posting specific instructions on how to create mods with details!
Just wanted to add to post #3, if I may.
To get the animation working on the 3.16 and 3.17 SystemUI.apks, I had to also delete the stat_sys_sync_anim0.png from res/drawable-mdpi.

[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

[Q] Help with Xposed Mod Replacing Battery Icons

Can someone help me, I've tried everything I can think of. I'm trying to build an xposed mod to replace the battery charging icons on my s4 (custom stock rooted touchwiz rom).
So far I was able to get @rovo89 Red Clock tutorial to work, and i've even decompiled a few xposed battery tweak mods but i can't seem to replace the charging icons on my s4.
Here is my latest attempt
Code:
package com.elproduc3r.android.xposed.mods.redclock;
import com.elproduc3r.android.xposed.modules.redclock.R;
import android.content.res.XModuleResources;
import android.content.res.XResources;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.widget.TextView;
import de.robv.android.xposed.IXposedHookInitPackageResources;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.IXposedHookZygoteInit;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_InitPackageResources.InitPackageResourcesParam;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
public class redclock implements IXposedHookZygoteInit, IXposedHookInitPackageResources, IXposedHookLoadPackage {
private static String MODULE_PATH = null;
@Override
public void initZygote(StartupParam startupParam) throws Throwable {
// TODO Auto-generated method stub
MODULE_PATH = startupParam.modulePath;
// XModuleResources modRes = XModuleResources.createInstance(MODULE_PATH, null);
// XResources.setSystemWideReplacement("android", "drawable","stat_sys_battery_charge", modRes.fwd(R.drawable.stat_sys_battery_charge));
}
@Override
public void handleInitPackageResources(InitPackageResourcesParam resparam) throws Throwable {
if (!resparam.packageName.equals("com.android.systemui"))
return;
XModuleResources modRes = XModuleResources.createInstance(MODULE_PATH, resparam.res);
resparam.res.setReplacement("com.android.systemui", "drawable", "stat_sys_battery_charge", modRes.fwd(R.drawable.stat_sys_battery_charge));
}
//change clock text color
public void handleLoadPackage(final LoadPackageParam lpparam)throws Throwable {
if (!lpparam.packageName.equals("com.android.systemui")){
return;
}
findAndHookMethod("com.android.systemui.statusbar.policy.Clock", lpparam.classLoader, "updateClock", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
TextView tv = (TextView) param.thisObject;
tv.setTextColor(Color.parseColor("#33B5E5"));
}
});
}
}
Here is my stat_sys_battery_charge.xml in drawable folder
Code:
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="15">
<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim15" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim29" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim43" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim57" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim71" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim85" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim100" />
</animation-list>
</item>
<item android:maxLevel="29">
<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim29" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim43" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim57" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim71" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim85" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim100" />
</animation-list>
</item>
<item android:maxLevel="43">
<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim43" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim57" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim71" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim85" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim100" />
</animation-list>
</item>
<item android:maxLevel="57">
<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim57" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim71" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim85" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim100" />
</animation-list>
</item>
<item android:maxLevel="71">
<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim71" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim85" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim100" />
</animation-list>
</item>
<item android:maxLevel="85">
<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim85" />
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim100" />
</animation-list>
</item>
<item android:maxLevel="100">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="2000" android:drawable="@drawable/stat_sys_battery_charge_anim100" />
</animation-list>
</item>
<item android:drawable="@drawable/stat_sys_battery_charge_anim100" android:maxLevel="101" />
</level-list>
All of my anim.png files are present, but seems like the xml file is not found since this is the error in xposed.log
Code:
Loading Xposed v42 (for Zygote)...
Loading modules from /data/app/com.elproduc3r.android.xposed.modules.redclock-1.apk
Loading class com.elproduc3r.android.xposed.mods.redclock.redclock
android.content.res.Resources$NotFoundException: com.android.systemui:drawable/stat_sys_battery_charge
at android.content.res.XResources.setReplacement(XResources.java:261)
at com.elproduc3r.android.xposed.mods.redclock.redclock.handleInitPackageResources(redclock.java:40)
at de.robv.android.xposed.IXposedHookInitPackageResources$Wrapper.handleInitPackageResources(IXposedHookInitPackageResources.java:20)
at de.robv.android.xposed.callbacks.XC_InitPackageResources.call(XC_InitPackageResources.java:28)
at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
at de.robv.android.xposed.XposedBridge$1.afterHookedMethod(XposedBridge.java:668)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:561)
at android.app.ActivityThread.getTopLevelResources(Native Method)
at android.app.ActivityThread.getTopLevelResources(ActivityThread.java:1846)
at android.app.LoadedApk.getResources(LoadedApk.java:481)
at android.app.ContextImpl.init(ContextImpl.java:2343)
at android.app.ContextImpl.init(ContextImpl.java:2336)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4506)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:547)
at android.app.ActivityThread.handleBindApplication(Native Method)
at android.app.ActivityThread.access$1400(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1376)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:126)
at dalvik.system.NativeStart.main(Native Method)
Can someone please show me what i'm doing wrong?
Here is my androidmanifest.xml. i added a bunch of permissions hoping one of these would fix this for me. Any help is much appreciated.
Code:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.elproduc3r.android.xposed.modules.redclock"
android:versionCode="1"
android:versionName="1.0"
>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INJECT_EVENTS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
<uses-permission android:name="android.permission.STATUS_BAR" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
<uses-permission android:name="android.permission.MANAGE_USB" />
<uses-permission android:name="android.permission.DEVICE_POWER" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
<uses-permission android:name="android.permission.MASTER_CLEAR" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.REMOVE_TASKS" />
<uses-permission android:name="android.permission.STOP_APP_SWITCHES" />
<uses-permission android:name="android.permission.SET_SCREEN_COMPATIBILITY" />
<uses-permission android:name="android.permission.START_ANY_ACTIVITY" />
<uses-permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
<uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />
<uses-permission android:name="android.permission.SET_ORIENTATION" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-sdk
android:minSdkVersion="18"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data android:value="true" android:name="xposedmodule"/>
<meta-data android:value="2.4.1" android:name="xposedminversion"/>
<meta-data android:value="Demonstration of the Xposed framework.\nMakes the status bar clock red." android:name="xposeddescription"/>
</application>
</manifest>

Categories

Resources