• Paul Duffin's avatar
    Clean up Predicate related code in android.test · fedb4b74
    Paul Duffin authored
    Part of the work of removing JUnit and dependent android.test classes
    from the Android API involves providing a static library that developers
    can include in their test applications to ease migration. That library
    will be built directly from the source (as opposed to android.jar which
    is built from stubs) and so developers will be able to see classes and
    methods that are not present in the stubs. This change is one of a
    number of similar changes that cleanup the existing non-API code in
    order to minimize the additional methods and classes exposed externally.
    The basic approach is to remove unused classes and methods, use least
    visible access modifier possible and generally minimize the amount of
    publicly visible code.
    
    The HasClassAnnotation and HasMethodAnnotation were never used
    separately and only used by HasAnnotation. This merges the functionality
    into a single nested class in TestPredicates, hidden behind the new
    TestPredicates.hasAnnotation(). The HasAnnotationTest was renamed as
    TestPredicatesTest and the HasClassAnnotationTest and
    HasMethodAnnotationTest classes were removed as their tests provide no
    additional coverage. The removal of the Has*Annotation.java files means
    that the test-runner/src/android/test/suitebuilder/annotation/ directory
    is empty apart from the package.html file so that was moved to
    legacy-test to sit alongside the actual annotation classes.
    
    The Predicates class, while part of the legacy-test module was only
    ever used by the test-runner module and only its not() method was
    actually used. So, the not() method and associated nested class were
    moved to TestPredicates, the tests for not() were moved to
    TestPredicatesTest and the Predicates* classes were removed.
    That allowed for the removal of the legacy-android-tests as that is now
    empty.
    
    TestPredicates has a number of constants that were public. They were
    hidden by moving them to the class that actually used them.
    
    A minor generic issue was fixed in AssignableFrom.
    
    Bug: 30188076
    Test: make checkbuild and run FrameworkTestRunnerTests
    Change-Id: I861da388a4146bb28e1e480d1b7ba9137b7b270e
    fedb4b74
Name
Last commit
Last update
..
android/test Loading commit data...
com/android/internal/util Loading commit data...
junit Loading commit data...