|
1560 | 1560 | <remove-node api-since="30" path="/api/package[@name='android.animation']/interface[@name='Animator.AnimatorListener']/method[@name='onAnimationStart' and count(parameter)=2]" /> |
1561 | 1561 | <remove-node api-since="30" path="/api/package[@name='android.animation']/interface[@name='Animator.AnimatorListener']/method[@name='onAnimationEnd' and count(parameter)=2]" /> |
1562 | 1562 |
|
| 1563 | + <!-- Starting with API added in API-30, we are going to allow interfaces to contain nested types. |
| 1564 | + To preserve backwards compatibility, we need to "un-nest" anything added before API-30 --> |
| 1565 | + |
| 1566 | + <!-- Handle everything that has always existed (no @merge.SourceFile) --> |
| 1567 | + <attr api-since="30" path="/api/package/interface[not(@merge.SourceFile)]" name="unnest">true</attr> |
| 1568 | + <attr api-since="30" path="/api/package/class[not(@merge.SourceFile)]" name="unnest">true</attr> |
| 1569 | + |
| 1570 | + <!-- Need these for each platform prior to 30 --> |
| 1571 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-10.xml.in')]" name="unnest">true</attr> |
| 1572 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-10.xml.in')]" name="unnest">true</attr> |
| 1573 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-15.xml.in')]" name="unnest">true</attr> |
| 1574 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-15.xml.in')]" name="unnest">true</attr> |
| 1575 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-16.xml.in')]" name="unnest">true</attr> |
| 1576 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-16.xml.in')]" name="unnest">true</attr> |
| 1577 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-17.xml.in')]" name="unnest">true</attr> |
| 1578 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-17.xml.in')]" name="unnest">true</attr> |
| 1579 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-18.xml.in')]" name="unnest">true</attr> |
| 1580 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-18.xml.in')]" name="unnest">true</attr> |
| 1581 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-19.xml.in')]" name="unnest">true</attr> |
| 1582 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-19.xml.in')]" name="unnest">true</attr> |
| 1583 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-20.xml.in')]" name="unnest">true</attr> |
| 1584 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-20.xml.in')]" name="unnest">true</attr> |
| 1585 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-21.xml.in')]" name="unnest">true</attr> |
| 1586 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-21.xml.in')]" name="unnest">true</attr> |
| 1587 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-22.xml.in')]" name="unnest">true</attr> |
| 1588 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-22.xml.in')]" name="unnest">true</attr> |
| 1589 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-23.xml.in')]" name="unnest">true</attr> |
| 1590 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-23.xml.in')]" name="unnest">true</attr> |
| 1591 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-24.xml.in')]" name="unnest">true</attr> |
| 1592 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-24.xml.in')]" name="unnest">true</attr> |
| 1593 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-25.xml.in')]" name="unnest">true</attr> |
| 1594 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-25.xml.in')]" name="unnest">true</attr> |
| 1595 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-26.xml.in')]" name="unnest">true</attr> |
| 1596 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-26.xml.in')]" name="unnest">true</attr> |
| 1597 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-27.xml.in')]" name="unnest">true</attr> |
| 1598 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-27.xml.in')]" name="unnest">true</attr> |
| 1599 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-28.xml.in')]" name="unnest">true</attr> |
| 1600 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-28.xml.in')]" name="unnest">true</attr> |
| 1601 | + <attr api-since="30" path="/api/package/interface[contains(@merge.SourceFile,'api-29.xml.in')]" name="unnest">true</attr> |
| 1602 | + <attr api-since="30" path="/api/package/class[contains(@merge.SourceFile,'api-29.xml.in')]" name="unnest">true</attr> |
1563 | 1603 | </metadata> |
0 commit comments