Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4895861d authored by Adrian Roos's avatar Adrian Roos Committed by android-build-merger
Browse files

Merge "Apilint: lint for URL/URI" am: 1d50b63c

am: 3236806e

Change-Id: I643c6f868bff26717c324c95fbc1b22c212d5bad
parents 8b78132f 3236806e
Loading
Loading
Loading
Loading
+14 −0
Original line number Original line Diff line number Diff line
@@ -1262,6 +1262,19 @@ def verify_collections(clazz):
            if arg in bad:
            if arg in bad:
                error(clazz, m, "CL2", "Argument is concrete collection; must be higher-level interface")
                error(clazz, m, "CL2", "Argument is concrete collection; must be higher-level interface")


def verify_uris(clazz):
    bad = ["java.net.URL", "java.net.URI", "android.net.URL"]

    for f in clazz.fields:
        if f.typ in bad:
            error(clazz, f, None, "Field must be android.net.Uri instead of " + f.typ)

    for m in clazz.methods + clazz.ctors:
        if m.typ in bad:
            error(clazz, m, None, "Must return android.net.Uri instead of " + m.typ)
        for arg in m.args:
            if arg in bad:
                error(clazz, m, None, "Argument must take android.net.Uri instead of " + arg)


def verify_flags(clazz):
def verify_flags(clazz):
    """Verifies that flags are non-overlapping."""
    """Verifies that flags are non-overlapping."""
@@ -1982,6 +1995,7 @@ def examine_clazz(clazz):
    verify_layering(clazz)
    verify_layering(clazz)
    verify_boolean(clazz)
    verify_boolean(clazz)
    verify_collections(clazz)
    verify_collections(clazz)
    verify_uris(clazz)
    verify_flags(clazz)
    verify_flags(clazz)
    verify_exception(clazz)
    verify_exception(clazz)
    if not ALLOW_GOOGLE: verify_google(clazz)
    if not ALLOW_GOOGLE: verify_google(clazz)