Michael Butler 49b5e4ebea Add dynamic interface casting to NN utility code
Prior to this CL, the NN utility code would always use the type of
IPreparedModel provided by IPreparedModeCallback::notify*. This means
that an IPreparedModel returned as a dynamic type of V1_X but static
type of V1_Y would be used by the utility code as V1_Y. This CL adds
dynamic casting, such that an IPreparedModel returned as a dynamic type
of V1_X but static type V1_Y will be dynamically cast to V1_X and used
as a V1_X::IPreparedModel.

This CL also adds the utility functions
V1_[0123]::convertFromNonCanonical to convert from a non-canonical type
to another non-canonical type by using canonical types as an
intermediate conversion "hop."

Bug: 178180472
Test: mma
Change-Id: I709b2a8944af2cc78b089aade55df1e2ab7b40cc
2021-02-03 17:53:12 +00:00
2021-01-14 15:26:28 -08:00
2020-09-29 06:52:28 +00:00
2021-01-08 15:57:56 +00:00
2021-01-27 18:48:54 +00:00
2019-12-13 14:24:23 -08:00
2016-08-30 11:28:36 -07:00
2020-12-16 18:09:12 +00:00
2021-01-21 15:06:51 +09:00
Description
No description provided
134 MiB
Languages
C++ 56.3%
AIDL 41.2%
C 1.5%
Rust 0.4%
Java 0.4%
Other 0.1%