public static boolean areSoSourcesAbisSupported ( ) { sSoSourcesLock . readLock ( ) . lock ( ) ; try { if ( sSoSources == null ) { return false ; } String supportedAbis [ ] = SysUtil . getSupportedAbis ( ) ; for ( int i = 0 ; i < sSoSources . length ; ++ i ) { String [ ] soSourceAbis = sSoSources [ i ] . getSoSourceAbis ( ) ; for ( int j = 0 ; j < soSourceAbis . length ; ++ j ) { boolean soSourceSupported = false ; for ( int k = 0 ; k < supportedAbis . length && ! soSourceSupported ; ++ k ) { soSourceSupported = soSourceAbis [ j ] . equals ( supportedAbis [ k ] ) ; } if ( ! soSourceSupported ) { Log . e ( TAG , "abi not supported: " + soSourceAbis [ j ] ) ; return false ; } } } return true ; } finally { sSoSourcesLock . readLock ( ) . unlock ( ) ; } }
This function ensure that every SoSources Abi is supported for at least one abi in SysUtil . getSupportedAbis