Loading core/jni/Android.bp +9 −0 Original line number Diff line number Diff line Loading @@ -290,4 +290,13 @@ cc_library_shared { // GraphicsJNI.h includes hwui headers "libhwui", ], product_variables: { debuggable: { cflags: ["-D__ANDROID_DEBUGGABLE__"] }, treble: { cflags: ["-D__ANDROID_TREBLE__"] }, }, } core/jni/android_os_HwBinder.cpp +15 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ #include "android_os_HwParcel.h" #include "android_os_HwRemoteBinder.h" #include <cstring> #include <JNIHelp.h> #include <android/hidl/manager/1.0/IServiceManager.h> #include <android/hidl/base/1.0/IBase.h> Loading Loading @@ -331,8 +333,19 @@ static jobject JHwBinder_native_getService( IServiceManager::Transport transport = transportRet; if ( transport != IServiceManager::Transport::EMPTY && transport != IServiceManager::Transport::HWBINDER) { #ifdef __ANDROID_TREBLE__ #ifdef __ANDROID_DEBUGGABLE__ const char* testingOverride = std::getenv("TREBLE_TESTING_OVERRIDE"); const bool vintfLegacy = (transport == IServiceManager::Transport::EMPTY) && testingOverride && !strcmp(testingOverride, "true"); #else // __ANDROID_TREBLE__ but not __ANDROID_DEBUGGABLE__ const bool vintfLegacy = false; #endif // __ANDROID_DEBUGGABLE__ #else // not __ANDROID_TREBLE__ const bool vintfLegacy = (transport == IServiceManager::Transport::EMPTY); #endif // __ANDROID_TREBLE__"; if (transport != IServiceManager::Transport::HWBINDER && !vintfLegacy) { LOG(ERROR) << "service " << ifaceName << " declares transport method " << toString(transport) << " but framework expects hwbinder."; signalExceptionForError(env, UNKNOWN_ERROR, true /* canThrowRemoteException */); Loading Loading
core/jni/Android.bp +9 −0 Original line number Diff line number Diff line Loading @@ -290,4 +290,13 @@ cc_library_shared { // GraphicsJNI.h includes hwui headers "libhwui", ], product_variables: { debuggable: { cflags: ["-D__ANDROID_DEBUGGABLE__"] }, treble: { cflags: ["-D__ANDROID_TREBLE__"] }, }, }
core/jni/android_os_HwBinder.cpp +15 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ #include "android_os_HwParcel.h" #include "android_os_HwRemoteBinder.h" #include <cstring> #include <JNIHelp.h> #include <android/hidl/manager/1.0/IServiceManager.h> #include <android/hidl/base/1.0/IBase.h> Loading Loading @@ -331,8 +333,19 @@ static jobject JHwBinder_native_getService( IServiceManager::Transport transport = transportRet; if ( transport != IServiceManager::Transport::EMPTY && transport != IServiceManager::Transport::HWBINDER) { #ifdef __ANDROID_TREBLE__ #ifdef __ANDROID_DEBUGGABLE__ const char* testingOverride = std::getenv("TREBLE_TESTING_OVERRIDE"); const bool vintfLegacy = (transport == IServiceManager::Transport::EMPTY) && testingOverride && !strcmp(testingOverride, "true"); #else // __ANDROID_TREBLE__ but not __ANDROID_DEBUGGABLE__ const bool vintfLegacy = false; #endif // __ANDROID_DEBUGGABLE__ #else // not __ANDROID_TREBLE__ const bool vintfLegacy = (transport == IServiceManager::Transport::EMPTY); #endif // __ANDROID_TREBLE__"; if (transport != IServiceManager::Transport::HWBINDER && !vintfLegacy) { LOG(ERROR) << "service " << ifaceName << " declares transport method " << toString(transport) << " but framework expects hwbinder."; signalExceptionForError(env, UNKNOWN_ERROR, true /* canThrowRemoteException */); Loading