FORUMS
Remove All Ads from XDA

[APP][ENGINE][2.3.6+][Xposed] Resflux - A powerful and very easy to use per-application theming module.

187 posts
Thanks Meter: 766
 
Post Reply Email Thread
Resflux
--------------------------------------------------------------------------------------------------

Do you want to THEME your phone easily, without learning how to do it?
Then you are in the right place!!!

Resflux is very straight-forward. It's very easy to use. You don't need to learn anything just to get started. All you need is your common sense. Once you launch the application, you will see very big buttons with one-word description of what that button will do.

And I forgot to tell you that Resflux supports Gingerbread 2.3.6 and up! yeah you heard it right!
Just use the ported version of xposed installer for gingerbread users...

What else can I do with Resflux?
Tons! All you need is the idea!

- Theming an app or all of your apps.
- Replacing icon and name of your apps.
- Translating app from one language to another
- Overriding default settings inside frameworl-res.apk, settingsprovider.apk and systemui.apk
- and many more posibilities!



Laboratory

The laboratory is where most things will happen. It is where you start theming resources of a specific package. You can theme as many as packages if you want.

After you have selected the target package, Resflux will redirect you to the Experiment area where you can see five buttons namely "Drawable", "String", "Color", "Boolean" and "Integer" though you can only see their icons.

When you click a tab, the list will be populated with the corresponding resources and their current values are even shown so you can tell if it is what you are looking for and trying to replace.


Drawable Tab


In the Drawable tab, previews of every drawables are shown and by clicking the selected drawable, you can replace it with a new one.


This is replacement drawable chooser dialog

String Tab


In the String tab, you can take a look at the list of all string resources in an apk. The current value is shown in each string resource and you can replace the value with a new one if you want by clicking it.

Color Tab


In the color tab, all the color resources are listed and the preview of each color is also shown. You can replace it with a new color using the HoloColorPicker dialog.

Boolean Tab


In the boolean tab, you can see all the boolean resources of an apk. Boolean is type where its value is only true or false. You can also change it anytime just like the other resources.

Integer Tab


The integer tab is new in Resflux, since the old Resxploit only supported Drawable, String, Color and Boolean.


Export


If you plan to distribute your work or do a back-up or share it to your friend, then you can export it anytime. You can select which packages you want to export and which are not to be included.
From there, you can also completely, remove all modifications made to a specific package by long-pressing the target package.


Import


If you have exported a mod or got it somewhere and you want to upload it into your Resflux, then all you need to do is to put the zip file inside /sdcard/Resflux. By putting it inside /sdcard/Resflux, Resflux will quickly find it, but you can still leave it in other directories as Resflux will also search the other directories inside your sdcard.

Download Link:
http://repo.xposed.info/module/com.iwisdomsky.resflux


Please leave FEEDBACKS or SUGGESTIONS

And don't forget to hit Thanks if you find it useful!

Change logs:
Code:
1.6.1
- Replaced AAPT with ResourceFileParser library
(This will fix resflux compatibility issue with Kitkat and Lollipop. Marshmallow is yet to be tested. This change also causes resflux mapping of resources to becoming 2-10x faster than before)

REMOVE:
1.7
- support for kitkat and above.
- faster mapping of resources (the mapping of resources will be done in the cloud)
- requires internet connection.
- 3x lesser apk file size.

1.6
- Disabled xposed installed check on app start.

1.5
- UI updates.

1.4
- fix for colors not working issues.
- fix for double "#" on color resource's values.
- minor ui updates.

1.3
- The scroll position will remain and will not jump to the top when resetting/restoring a resource's value. 
- Resflux Compiler link

1.2
- Fixed the resource name bug where an exclammation mark will appear before the modified resource's name.
- Forced the screen orientation of the Experiment area to stay in Portrait mode to avoid crashes when accidentally changed your phone's orientation.
- Added a possible fix for crashes on Import area.
- Increased the minimum width of dialogs to occupy some extra space on phones with bigger screen.
- Added labels to the tab buttons in the Experiment area.
- Updated the modified resource high-lighting feature for better visibility.
- Fast scroll enabled. Useful when you are trying to find a specific resource in the list quickly.
- Hold press a modified resource to restore its original value back.
- Clear cache action. If an installed app has received an update, it is a good practice clear the package's cache in Resflux so all changes to the resources to the updated app will become visible to Resflux.
- Added ability to supply a specific hex value to the color picker dialog as requested by many.
- Drawable picker dialog has been completely removed and replaced with an image chooser intent which will open the Gallery by default.
- When on drawable tab, you can change the drawable image preview's size by pressing the MENU key of your phone. Take note, this will not actually reflect to the final result but only to the previews.
- Other few minor UI changes. 

1.1
- resource caching system for faster consecutive access.
- high-lighting of the modified resources to distinguish changes.
- added large heap attribute to the application element inside the android manifest file.
- empty package mods cleaner for the packages directory of Resflux.

1.0
- Initial release
Disclaimer
Though Resflux can modify any application, it is not guaranteed that it is can successfully modify all applications.

XDA:DevDB Information
Resflux, Xposed for all devices (see above for details)

Contributors
WisdomSky
Xposed Package Name: com.iwisdomsky.resflux

Version Information
Status: Stable
Current Stable Version: 1.5
Current Beta Version: 1.0
Beta Release Date: 2014-06-22

Created 2014-06-22
Last Updated 2014-08-03
The Following 138 Users Say Thank You to WisdomSky For This Useful Post: [ View ] Gift WisdomSky Ad-Free
 
 
22nd June 2014, 08:06 AM |#2  
WisdomSky's Avatar
OP Senior Member
Flag In your mind
Thanks Meter: 766
 
Donate to Me
More
Smile
How to use:

STEP 1: First, open Resflux then click Laboratory.

STEP 2: Next you need to choose the application you want to modify from the list and then click it.

STEP 3: Once you have clicked an application, Resflux will start mapping it's resources, you need to wait until it is finished before you can start.

STEP 4: If the mapping of resources has finished, you can now start changing any resource from the list. They are actually categorized as Drawable(Images), String(Texts), Color, Boolean(Switch) and Integer(Number)

STEP 5: Once you're done, you need to reboot your phone in order for the changes to take effect.


Sample Scripts

Disables Low Battery Warning notification
http://upfile.mobi/575226

System Font color changer (you need to extract the zip first then choose the zip of your fave color)
http://upfile.mobi/575213

NOTE: To install the scripts, you need to put all of them inside /sdcard/Resflux folder in your sdcard and then open Resflux and select Import and choose the file.

Reboot your phone afterwards to apply changes.:)


Resflux is proven working on these devices:
  • Motorola Moto G running Stock KitKat 4.4.2
  • S4 i9505 LTE running C-RoM 7.1 KitKat 4.4.4
  • Samsung Galaxy Y S3560 running Hyperion 8 GM Final Gingerbread 2.3.6
  • Cherry Mobile Flare S running Stock JellyBean 4.1.2
  • Cloudfone Thrill 430x running Stock JellyBean 4.1.2
  • Samsung Note Pro 12.2 tablet
  • HTC M8 running GPE KitKat 4.4.3
  • Samsung Note 2 running Touchwiz KitKat 4.4.2
  • Samsung S4 Mini
  • Xolo A500 running IceCreamSandwich 4.0.4
If Resflux is working on your device, please post your phone brand and model. thanks!
The Following 20 Users Say Thank You to WisdomSky For This Useful Post: [ View ] Gift WisdomSky Ad-Free
22nd June 2014, 08:06 AM |#3  
WisdomSky's Avatar
OP Senior Member
Flag In your mind
Thanks Meter: 766
 
Donate to Me
More
Special Thanks
I would like to thank everyone especially @rayjr13 for keeping the Resflux thread alive and answering all questions of other resflux users. Thank you very much!

I would also like to thank all who donated! Please send me your names.
The Following 4 Users Say Thank You to WisdomSky For This Useful Post: [ View ] Gift WisdomSky Ad-Free
22nd June 2014, 10:48 AM |#4  
WisdomSky's Avatar
OP Senior Member
Flag In your mind
Thanks Meter: 766
 
Donate to Me
More
Lightbulb
Source Code
Link.

Paypal Donations

If you have a very nice heart and want to make my wish come true, please don't hesistate to send your donations to my paypal account:
[email protected]



Scripting
(For themers and programmers)

Apart from the Laboratory where users are provided with user-friendly interface, there is an another way to make modifications and that is by using the scripting feature of Resflux.

Soon, I will be focusing on adding more features to it. One is providing support for layouts. Not the whole layout, but to the components inside defined with an id.

When you export packages mod in Resflux, you will be given a zip file. And when you look inside it, you will actually find atleast a Resflux.ini file. And when you look inside the Resflux.ini file, you will see how Resflux turn everything into series of keys, sections, comments and how they are arranged.

The structure of the Resflux.ini complies with of an INI file as defined here:
http://en.m.wikipedia.org/wiki/INI_file

From the INI File wiki page, you can learn about which one is a key, section or comment.

From it, you may start studying how to write your own.

If you are a programmer, you may find it very easy to understand on how it works. And you can see that you are like dealing with objects. For now, we only have drawable, string, color, boolean, integer, layout, resflux and ini.


Rules
Resflux have rules in when it comes to syntax, grouping and arrangement.

RULE 1: The Resflux.ini can contain only keys, sections, comments and blank lines(with space or not) and should follow their corresponding syntax and must occupy a line therefore two keys in a single line is not honored.

For comments:
Code:
# [any text here]
; [any text here]
For sections:
Code:
[package.name.here]
For keys:
Code:
object.property_name = value
object.property_name : value
For blank lines:
A an empty line or composed of whitespaces.

If an invalid syntax is found, resflux will return error status 0

RULE 2: All resflux.* must be grouped together and must be placed before sections and any other keys except comments.

When this rule is violated, Resflux will return Error Status 1 during an attempt of importing it.

Rule 3: ]: All ini.* must be grouped together and must be placed after resflux.* and before sections and any other keys except comments.

When violated, it returns error status 2.

Rule 4: Before starting defining a key, you must have atleast defined a section. A section is composed of a opening square bracket "[", followed by the package name of the target app, and then a closing square bracket "]".
For example:
Code:
[com.my.app]
Rule 5: Each key must follow their respective value's format.

For drawable:
it could be a PNG image relative path like:
Code:
drawable.ic_launcher = icon.png
# or it could be also a color hex code:
drawable.ic_launcher = #ffff0000
For color:
color can have a single possible format for its value.
Code:
color.bg_color = #ff0000
For boolean:
boolean can only have two choices, the value could be either true or false.
Code:
boolean.enable_nothing = true
boolean.enable_nothing = false
For string:
string can have any value.
Code:
string.app_name = anything you want!!!
# enclosing value with quotes is also fine and work with all types of keys
string.app_name = "!want you anything"
The Following 16 Users Say Thank You to WisdomSky For This Useful Post: [ View ] Gift WisdomSky Ad-Free
22nd June 2014, 11:49 AM |#5  
killoid's Avatar
Senior Member
Flag 23.7000° N, 90.3750° E
Thanks Meter: 444
 
More
OMG! the first themeing engine for gingerbread! many thanks sir! much appreciated it!
i'm gonna try it soon & report back.
22nd June 2014, 12:42 PM |#6  
GermainZ's Avatar
Inactive Recognized Developer / Retired Forum Moderator
Thanks Meter: 8,922
 
More
Two quick questions:
  • Will you upload this to the Xposed repo?
  • Do you plan on making the source available?
Thanks
The Following User Says Thank You to GermainZ For This Useful Post: [ View ] Gift GermainZ Ad-Free
22nd June 2014, 02:05 PM |#7  
WisdomSky's Avatar
OP Senior Member
Flag In your mind
Thanks Meter: 766
 
Donate to Me
More
Quote:
Originally Posted by GermainZ

Two quick questions:

  • Will you upload this to the Xposed repo?
  • Do you plan on making the source available?
Thanks

Thnx for the reminder sir...
I've uploaded it to the Xposed Repo.

I'm also planning to make it open sourced, but I still need to fix some things up. XD
The Following 7 Users Say Thank You to WisdomSky For This Useful Post: [ View ] Gift WisdomSky Ad-Free
22nd June 2014, 03:03 PM |#8  
manuelmagix's Avatar
Senior Member
Thanks Meter: 425
 
Donate to Me
More
Excelent work.

Enviado desde mi LG-D802 mediante Tapatalk
22nd June 2014, 03:59 PM |#9  
mattdm's Avatar
Senior Member
Thanks Meter: 455
 
More
Has anyone been able to use this with Hangouts at all? It seems to never get past the "Mapping Resources" screen...

EDIT: Maybe I'm just not waiting long enough. Is it normal for it to take more than 10 minutes to map resources for some apps?
22nd June 2014, 04:17 PM |#10  
WisdomSky's Avatar
OP Senior Member
Flag In your mind
Thanks Meter: 766
 
Donate to Me
More
Quote:
Originally Posted by GermainZ

Two quick questions:

  • Will you upload this to the Xposed repo?
  • Do you plan on making the source available?
Thanks

Quote:
Originally Posted by mattdm

Has anyone been able to use this with Hangouts at all? It seems to never get past the "Mapping Resources" screen...

EDIT: Maybe I'm just not waiting long enough. Is it normal for it to take more than 10 minutes to map resources for some apps?

It really depends... if the /res dir contents of the apk file is really big for example (more than 1k resources) then it should take some considerable time... and it will also depend on ur phone's processing power...

I tested the framework-res.apk with a quad-core phone(not mine) and it took more than 30secs...
and when I tried it with my Samsung Galaxy Y, it took almost a lifetime...
The Following 2 Users Say Thank You to WisdomSky For This Useful Post: [ View ] Gift WisdomSky Ad-Free
22nd June 2014, 04:27 PM |#11  
mattdm's Avatar
Senior Member
Thanks Meter: 455
 
More
Quote:
Originally Posted by WisdomSky

It really depends... if the /res dir contents of the apk file is really big for example (more than 1k resources) then it should take some considerable time... and it will also depend on ur phone's processing power...

I tested the framework-res.apk with a quad-core phone(not mine) and it took more than 30secs...
and when I tried it with my Samsung Galaxy Y, it took almost a lifetime...

Yeah, I let it go even longer, and it finally finished. I'm on an S4 Mini, which only has a dual-core Snapdragon 400.

Now my other problem is that when I look in the drawables of Dialer or Camera, there doesn't seem to be any launcher icon in the list. (I'm running an AOSP-based rom, FYI)
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes