Add "unique_rule_id" and "following" attributes to carrier_config

The new attributes are to explicit define the inheritance.
1. Add "unique_rule_id" attribute as the id for parent configuration.
2. Add the "following" attribute to indicate the inheritance from
   specific unique_rule_id.
3. The "unique_rule_id" attribute is limited in vendor.xml. AOSP
   Assets should NOT have carrier_config with unique_rule_id.
4. The unique_rule_id must be unique to one carrier_config. If there
   are more than one carrier_config that have the same unique_rule_id
   the carrier config convert tool will stop and report an error.
5. If one carrier_config has more than one "unique_rule_id", only the
   first one will take effect.
6. If one carrier_config has more than one "following", only the first
   one will take effect.
7. General carrier_config can NOT have "unique_rule_id" or "following".
8. The carrier_config has "unique_rule_id" can be before or after the
   carrier_config has "following". The order in vendor.xml won't break
   the inheritance.

Bug: 217591523
Change-Id: Iddb3004e6f7e9f1ec0a347e52edd3effa66537b8
1 file changed
tree: 53a5565a52e2ee903caf5840cdb6569b722e2223
  1. bin/
  2. java/
  3. proto/
  4. python/
  5. Android.bp
  6. main.sh
  7. OWNERS
  8. README