aconfig: add read/write permission

Introduce the concept of flag read/write permissions: a read-only flag
can only have its value set during the build; a writable flag can by
updated in runtime.

Bug: 279485059
Test: atest aconfig.test
Change-Id: I3ec5c9571faa54de5666120ccd60090d3db9e331
diff --git a/tools/aconfig/protos/aconfig.proto b/tools/aconfig/protos/aconfig.proto
index 65817ca..d95fd50 100644
--- a/tools/aconfig/protos/aconfig.proto
+++ b/tools/aconfig/protos/aconfig.proto
@@ -20,9 +20,15 @@
 
 package android.aconfig;
 
+enum permission {
+  READ_ONLY = 1;
+  READ_WRITE = 2;
+}
+
 message value {
   required bool value = 1;
-  optional uint32 since = 2;
+  required permission permission = 2;
+  optional uint32 since = 3;
 }
 
 message flag {
@@ -38,6 +44,7 @@
 message override {
   required string id = 1;
   required bool value = 2;
+  required permission permission = 3;
 };
 
 message override_config {