[LeEco Le Pro3 ROMs, Kernels, Recoveries, & Other D] androcheck:
Hi! :)

Thanks for the details. What I didn't expect, is the fact that the native app stops working after enabling my module. It should not interfere with other apps (at least that's what I thought). May I ask what "native" app exactly you are using? Is this the same LeEco Remote Control App as on the LePro 3?

Regarding the UEI SDK: It shouldn't be necessarily the newest one (because I don't know, if the versions are maybe device-specific) but it should be that one that was pre-installed on the original EUI (i.e. the one which is used by the original Remote app and is working with your specific IR hardware).

If the original Remote Control app doesn't seem to use the UEI SDK then your device uses a different approach how to talk to the infrared hardware (and probably also contains different Infrared blaster hardware). In this case my module is useless as it just builds a bridge between Android Infrared API and UEI QuickSet SDK API. If your phone uses something else than UEI QuickSet, my module unfortunately will not help. And as I don't have the device I cannot really do anything in this case.

Just as a reference: These are the entries I am writing into the Xposed logfile when everything is working perfectly (I start all my log entries with "LeEco_Infrared_Fix" so just look for this string):

12-09 08:00:46.005 I/Xposed ( 3526): LeEco_Infrared_Fix: We are in 'android' package. Trying to hook Infrared API methods...
12-09 08:00:46.005 I/Xposed ( 3526): LeEco_Infrared_Fix: Located class ConsumerIrService. Will try to hook its methods now. :)
12-09 08:00:46.007 I/Xposed ( 3526): LeEco_Infrared_Fix: Successfully hooked constructor of ConsumerIrService.class :)
12-09 08:00:46.007 I/Xposed ( 3526): LeEco_Infrared_Fix: Successfully hooked method: private static native long com.android.server.ConsumerIrService.halOpen() :)
12-09 08:00:46.008 I/Xposed ( 3526): LeEco_Infrared_Fix: Successfully hooked method: private static native int com.android.server.ConsumerIrService.halTransmit(long,int,int[]) :)
12-09 08:00:46.008 I/Xposed ( 3526): LeEco_Infrared_Fix: Successfully hooked method: public boolean com.android.server.ConsumerIrService.hasIrEmitter() :)
12-09 08:00:46.008 I/Xposed ( 3526): LeEco_Infrared_Fix: Successfully hooked method: public int[] com.android.server.ConsumerIrService.getCarrierFrequencies() :)
12-09 08:00:46.008 I/Xposed ( 3526): LeEco_Infrared_Fix: Successfully hooked method: private void com.android.server.ConsumerIrService.throwIfNoIrEmitter() :)
12-09 08:00:46.009 I/Xposed ( 3526): LeEco_Infrared_Fix: Located class PackageManagerService. Will try to hook its methods now. :)
12-09 08:00:46.010 I/Xposed ( 3526): LeEco_Infrared_Fix: Successfully hooked method: public boolean com.android.server.pm.PackageManagerService.hasSystemFeature(java.lang.String) :)
12-09 08:00:46.010 I/Xposed ( 3526): LeEco_Infrared_Fix: Successfully hooked method: public android.content.pm.FeatureInfo[] com.android.server.pm.PackageManagerService.getSystemAvailableFeatures() :)
12-09 08:00:57.360 I/Xposed ( 4046): LeEco_Infrared_Fix: We are in 'com.android.settings' package. Trying to enable IR Blaster hardware...
12-09 08:00:58.877 I/Xposed ( 4046): LeEco_Infrared_Fix: Success! IR Blaster successfully enabled. Set '/sys/remote/enable' to 1. :)

Also there should not be any errors logged when actually pressing buttons in the remote app.

And in logcat during the use of a remote control app you should see something like this:

12-11 16:30:23.490 V/LeEco_Infrared_Fix( 3526): hasIrEmitter was called, returning true
12-11 16:30:26.045 V/LeEco_Infrared_Fix( 3526): halTransmit was called. return value: 0
12-11 16:30:26.503 V/LeEco_Infrared_Fix( 3526): halTransmit was called. return value: 0
12-11 16:30:26.720 V/LeEco_Infrared_Fix( 3526): halTransmit was called. return value: 0
12-11 16:30:27.036 V/LeEco_Infrared_Fix( 3526): halTransmit was called. return value: 0

Each time you press a button the "halTransmit was called" line shoud appear.