tree c64628fbc16a9fa621395d2451e789c99dafbc5d
parent bdc57bef813d07a837202bae3040c98dd64506a0
author Makoto Onuki <omakoto@google.com> 1592846222 -0700
committer Makoto Onuki <omakoto@google.com> 1592930136 -0700

Don't add API annotations in the internal R.java

I'm trying to enable a check for the following structure:
```
/** @hide */
public class Class1 {
    /** @hide */
    @SystemApi // Invalid because the class is hidden.
    public void method1() { }
}
```

The internal R.java file violates this, which this change is going to fix.

Bug: 159162473
Test: build (treehugger)
Test: atest aapt2_tests

Merged-in: I613e8611ddaf5f8e4761d351d4cd0142d59c7cc9
Change-Id: I613e8611ddaf5f8e4761d351d4cd0142d59c7cc9
