Extract common logic from UnsupportedAppUsageProcessor into SingleAnnotationProcessor.

In a follow up this will be used in ChangeIdProcessor.

- Add @Nullable to helper methods.
- Put logic like source position processing into a common class.
- Put logic for bucketing annotated elements by package and class names into common class.
Bug: 152220864
Test: manually diff hiddenapi-flags.csv; atest; m

Change-Id: I1dc45a47044449b2db98b0a9ff91ec322756debc
Merged-In: I1dc45a47044449b2db98b0a9ff91ec322756debc
(cherry picked from commit 361b5cf0b9eb76e5c76cc969ca689022a48b5ad5)
11 files changed
tree: 3f31435fdf6b90ac66119b04aa8d30ff464a2ffd
  1. build/
  2. java/
  3. javatest/
  4. Android.mk
  5. OWNERS
  6. README.md
README.md

Platform compat tools

Tools for Android App Compat (go/android-compat).

What's in here?

├── build # python helper scripts for build
├── java # All Java source files; directories follow corresponding java packages
│   └── android
│       ├── compat
│       │   └── annotation # Annotations used for go/compat-framework and go/unsupportedappusage
│       └── processor
│           └── compat  # Java annotation processors for annotations defined in src/
│               ├── changeid # Creates compat_config xml files from @ChangeId constants
│               └── unsupportedappusage # Creates csv files with source positions for @UnsupportedAppUsage elements
└── javatest # Tests for source files defined under java/