• Home
Name Date Size #Lines LOC

..--

latest_carrier_id/03-May-2024-11,36711,366

sdk28_carrier_id/03-May-2024-11,68311,682

sdk29_carrier_id/03-May-2024-11,51711,516

sdk30_carrier_id/03-May-2024-11,49611,495

READMED03-May-20242 KiB6043

README

1====== carrier_list.textpb ======
2
3DO NOT MANUALLY EDIT THIS FILE
4
5This file is the textpb verion of carrier_list.pb files under assets/, for readability purpose only.
6
7This file is not build into pb, thus modification of this file won't take any effect.
8
9===== carrier_list.pb =====
10DO NOT MANUALLY EDIT THIS FILE
11
12This file defines carrier id and should be single versioned.
13
14===== How to test carrier id locally =====
15
16If you want to make change locally during testing, currently there are two ways:
17
181. Modify carrierIdentification.db database by SQL command
19
20For example (Insert MCCMNC '12345' and gid1 'test' to carrier id 20000):
21```
22$ adb shell
23device:/ $ su
24device:/ # DB='/data/user_de/0/com.android.providers.telephony/databases/carrierIdentification.db'
25device:/ # sqlite3 $DB "INSERT INTO carrier_id(mccmnc, gid1, carrier_id, carrier_name) VALUES (12345, 'test', 20000, 'test_carrier')"
26device:/ # reboot
27```
28
292. Override carrier_list.pb
30
31- Modify carrier_list.textpb directly (Note: You should also bump the version
32  number to let TelephonyProvider reload the carrier_list.pb)
33- Generate class file by using the carrier id proto(TelephonyProvider/proto/src/carrierId.proto)
34  (See https://developers.google.com/protocol-buffers/docs/overview#generating)
35- Create a converter by using TextFormat tool to convert textpb to pb
36  (Text Format: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/TextFormat)
37- Rename file to carrier_list_test.pb and push the output file to
38    /data/user_de/0/com.android.providers.telephony/files/carrier_list_test.pb
39- Reboot the device
40
41Converter example:
42```
43#!/usr/bin/env python3
44from google.protobuf import text_format
45
46# Generated by: protoc -I=./ --python_out=./ ./carrierId.proto
47from carrierId_pb2 import CarrierList
48
49def main():
50  with open("carrier_list.textpb", "r") as rd:
51    carrierList = CarrierList()
52    text_format.Merge(rd.read(), carrierList)
53
54    with open("carrier_list.pb", "wb") as wf:
55      wf.write(carrierList.SerializeToString())
56
57if __name__ == '__main__':
58  main()
59```
60