Has ART Made a Noticeable Jump in App Performance?

We’ve received mixed reports about switching to ART but it seems that the … more

Samsung Galaxy S6 Edge Drop Test

The Samsung Galaxy S6 and Galaxy S6 Edge are already proving to be amongst the head turners of 2015. … more

Consolidated GApps Central

Following the retirement of Paranoid Android GApps Provider TKruzze and subsequent deletion of … more

Samsung Galaxy S4 I9505 Receives CyanogenMod 12.1

Released in 2013, the Samsung Galaxy S4 I9505 is the quad-core Snapdragon … more
Post Reply Subscribe to Thread Email Thread

Different parameters for specific OS version

3rd August 2014, 03:56 PM   |  #1  
OP Senior Member
Thanks Meter: 833
 
796 posts
Join Date:Joined: Jan 2013
More
I have code like this:
XposedHelpers.findAndHookMethod(packageManagerServ ice, null,
"anything", String.class, Integer.class, Integer.class, new XC_MethodHook() {

How can I change bolded code for specific Android Version?

For example:
if Android version is lower than JB MR2 then params = String.class, Integer.class, Integer.class, Integer.class else params = String.class, Integer.class, Integer.class

?
4th August 2014, 01:24 AM   |  #2  
GermainZ's Avatar
Forum Moderator / Recognized Developer / XDA Portal Team
Thanks Meter: 8,022
 
6,136 posts
Join Date:Joined: Aug 2012
More
Either pass the array of classes to e.g. findAndHookMethod, or define the hook and use different findAndHookMethod calls with the arguments you want.

Code:
Object[] argumentClasses;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
    argumentClasses = new Object[]{argumentClass1, argumentClass2};
else
    argumentClasses = new Object[]{argumentClass1};
findAndHookMethod(class, method, argumentClasses, hook);
Or:
Code:
XC_MethodHook hook = new XC_MethodHook() {
    @Override
        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
            // Hook
        }
};

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
    findAndHookMethod(class, method, argumentClass1, argumentClass2, hook);
else
    findAndHookMethod(class, method, argumentClass1, hook);
Last edited by GermainZ; 4th August 2014 at 01:26 AM.
The Following User Says Thank You to GermainZ For This Useful Post: [ View ]
4th August 2014, 02:28 PM   |  #3  
OP Senior Member
Thanks Meter: 833
 
796 posts
Join Date:Joined: Jan 2013
More
Great! Thank you!
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes