OSDN Git Service

Use IntFunction for inspector flag and enum mapping
authorAshley Rose <ashleyrose@google.com>
Wed, 13 Mar 2019 22:15:44 +0000 (18:15 -0400)
committerAshley Rose <ashleyrose@google.com>
Fri, 15 Mar 2019 19:47:53 +0000 (15:47 -0400)
commit83bac9f33a064baef9f1755942b623c7764a9950
tree739f17a465ce724c0261286bf4bd713846c6bf57
parent0a6dc7537157949ec6b09a18fdab5d32f1c1692c
Use IntFunction for inspector flag and enum mapping

+ Remove IntEnumMapping class, (use a bound lambda of
  SparseArray#get(int) instead).
+ Remove IntFlagMapping.Builder, and make IntFlagMapping mutable. The
  immuability guarantees are provided by using a lambda of
  IntFlagMapping#get(int).
+ Change PropertyMapper#mapIntEnum(String, int, IntFunction<String>)
  and #mapIntFlag(String, int, IntFunction<Set<String>>) to take
  IntFunctions instead of semantic types.
+ Changes to the annotation processor to support code generation for the
  lambdas and additional internal cleanups.

Bug: 124448834
Test: atest --host view-inspector-annotation-processor-test
Change-Id: I3e7ccac63d50caa6ff49be1e78732831886e7f6e
22 files changed:
api/current.txt
core/java/android/view/inspector/IntEnumMapping.java [deleted file]
core/java/android/view/inspector/IntFlagMapping.java
core/java/android/view/inspector/PropertyMapper.java
tools/processors/view_inspector/Android.bp
tools/processors/view_inspector/src/java/android/processor/view/inspector/AnnotationUtils.java
tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableClassModel.java
tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableNodeNameProcessor.java
tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectablePropertyProcessor.java
tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectionCompanionGenerator.java
tools/processors/view_inspector/src/java/android/processor/view/inspector/ModelProcessor.java
tools/processors/view_inspector/src/java/android/processor/view/inspector/PlatformInspectableProcessor.java
tools/processors/view_inspector/src/java/android/processor/view/inspector/ProcessingException.java
tools/processors/view_inspector/test/java/android/processor/view/inspector/InspectionCompanionGeneratorTest.java
tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/FieldProperty.java.txt
tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntEnum.java.txt
tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntFlag.java.txt
tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NestedClass.java.txt
tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NoAttributeId.java.txt
tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NodeName.java.txt
tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SimpleProperties.java.txt
tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SuppliedAttributeId.java.txt