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

Commit 5074e604 authored by Andrei Onea's avatar Andrei Onea
Browse files

Drop deprecated API lists from csv merge script

Only support the new API list names.

Bug: 162500436
Test: build and check hiddenapi-flags.csv
Change-Id: I5e3c2f8d14524d59dd65d26ce5196efcc15d6d8e
parent 429b59c8
Loading
Loading
Loading
Loading
+3 −53
Original line number Diff line number Diff line
@@ -34,26 +34,6 @@ FLAG_PUBLIC_API = 'public-api'
FLAG_SYSTEM_API = 'system-api'
FLAG_TEST_API = 'test-api'

OLD_FLAG_SDK = "whitelist"
OLD_FLAG_UNSUPPORTED = "greylist"
OLD_FLAG_BLOCKED = "blacklist"
OLD_FLAG_MAX_TARGET_O = "greylist-max-o"
OLD_FLAG_MAX_TARGET_P = "greylist-max-p"
OLD_FLAG_MAX_TARGET_Q = "greylist-max-q"
OLD_FLAG_MAX_TARGET_R = "greylist-max-r"

OLD_FLAGS_TO_NEW = {
    OLD_FLAG_SDK: FLAG_SDK,
    OLD_FLAG_UNSUPPORTED: FLAG_UNSUPPORTED,
    OLD_FLAG_BLOCKED: FLAG_BLOCKED,
    OLD_FLAG_MAX_TARGET_O: FLAG_MAX_TARGET_O,
    OLD_FLAG_MAX_TARGET_P: FLAG_MAX_TARGET_P,
    OLD_FLAG_MAX_TARGET_Q: FLAG_MAX_TARGET_Q,
    OLD_FLAG_MAX_TARGET_R: FLAG_MAX_TARGET_R,
}

NEW_FLAGS_TO_OLD = dict(zip(OLD_FLAGS_TO_NEW.values(), OLD_FLAGS_TO_NEW.keys()))

# List of all known flags.
FLAGS_API_LIST = [
    FLAG_SDK,
@@ -205,36 +185,6 @@ class FlagsDict:
            "Please visit go/hiddenapi for more information.").format(
                source, "\n".join(flags_subset - ALL_FLAGS_SET))

    def convert_to_new_flag(self, flag):
      """Converts old flag to a new variant.

      Flags that are considered old are replaced with new versions.
      Otherwise, it is a no-op.

      Args:
        flag: a string, representing SDK flag.

      Returns:
         A string. Result of conversion.

      """
      return OLD_FLAGS_TO_NEW.get(flag, flag)

    def convert_to_old_flag(self, flag):
      """Converts a new flag to a old variant.

      No-op if there is no suitable old flag.
      Only used to support backwards compatibility.

      Args:
        flag: a string, representing SDK flag.

      Returns:
         A string. Result of conversion.

      """
      return NEW_FLAGS_TO_OLD.get(flag, flag)

    def filter_apis(self, filter_fn):
        """Returns APIs which match a given predicate.

@@ -272,7 +222,7 @@ class FlagsDict:
        """
        lines = []
        for api in self._dict:
          flags = sorted([self.convert_to_old_flag(flag) for flag in self._dict[api]])
          flags = sorted(self._dict[api])
          lines.append(",".join([api] + flags))
        return sorted(lines)

@@ -298,12 +248,12 @@ class FlagsDict:
        # Check that all flags are known.
        csv_flags = set()
        for csv in csv_values:
          csv_flags.update([self.convert_to_new_flag(flag) for flag in csv[1:]])
          csv_flags.update(csv[1:])
        self._check_flags_set(csv_flags, source)

        # Iterate over all CSV lines, find entry in dict and append flags to it.
        for csv in csv_values:
            flags = [self.convert_to_new_flag(flag) for flag in csv[1:]]
            flags = csv[1:]
            if (FLAG_PUBLIC_API in flags) or (FLAG_SYSTEM_API in flags):
                flags.append(FLAG_SDK)
            self._dict[csv[0]].update(flags)
+8 −9
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ class TestHiddenapiListGeneration(unittest.TestCase):
        flags.parse_and_merge_csv(['A,' + FLAG_SDK, 'B', 'C'])
        flags.assign_flag(FLAG_UNSUPPORTED, set(['C']))
        self.assertEqual(flags.generate_csv(),
            [ 'A,' + OLD_FLAG_SDK, 'B', 'C,' + OLD_FLAG_UNSUPPORTED ])
            [ 'A,' + FLAG_SDK, 'B', 'C,' + FLAG_UNSUPPORTED ])

        # Check three things:
        # (1) B is selected as valid unassigned
@@ -50,8 +50,7 @@ class TestHiddenapiListGeneration(unittest.TestCase):
        # Test empty CSV entry.
        self.assertEqual(flags.generate_csv(), [])

        # Test new additions. CSV generator produces values with old flags
        # to be backwards compatible.
        # Test new additions.
        flags.parse_and_merge_csv([
            'A,' + FLAG_UNSUPPORTED,
            'B,' + FLAG_BLOCKED + ',' + FLAG_MAX_TARGET_O,
@@ -60,11 +59,11 @@ class TestHiddenapiListGeneration(unittest.TestCase):
            'E,' + FLAG_BLOCKED + ',' + FLAG_TEST_API,
        ])
        self.assertEqual(flags.generate_csv(), [
            'A,' + OLD_FLAG_UNSUPPORTED,
            'B,' + OLD_FLAG_BLOCKED + "," + OLD_FLAG_MAX_TARGET_O,
            'C,' + FLAG_SYSTEM_API + ',' + OLD_FLAG_SDK,
            'D,' + OLD_FLAG_UNSUPPORTED + ',' + FLAG_TEST_API,
            'E,' + OLD_FLAG_BLOCKED + ',' + FLAG_TEST_API,
            'A,' + FLAG_UNSUPPORTED,
            'B,' + FLAG_BLOCKED + "," + FLAG_MAX_TARGET_O,
            'C,' + FLAG_SYSTEM_API + ',' + FLAG_SDK,
            'D,' + FLAG_UNSUPPORTED + ',' + FLAG_TEST_API,
            'E,' + FLAG_BLOCKED + ',' + FLAG_TEST_API,
        ])

        # Test unknown flag.
@@ -78,7 +77,7 @@ class TestHiddenapiListGeneration(unittest.TestCase):
        # Test new additions.
        flags.assign_flag(FLAG_UNSUPPORTED, set([ 'A', 'B' ]))
        self.assertEqual(flags.generate_csv(),
            [ 'A,' + OLD_FLAG_UNSUPPORTED + "," + OLD_FLAG_SDK, 'B,' + OLD_FLAG_UNSUPPORTED ])
            [ 'A,' + FLAG_UNSUPPORTED + "," + FLAG_SDK, 'B,' + FLAG_UNSUPPORTED ])

        # Test invalid API signature.
        with self.assertRaises(AssertionError):