AAPT2: Ensure string pool ordering is compact

Keep styledstrings at the beginning of the StringPool
to reduce the padding in the StyledString array.

Bug:32336940
Test: manual
Change-Id: Iec820c21a54daac40ecc3b2f87517a0f1efc9d3d
diff --git a/tools/aapt2/StringPool.h b/tools/aapt2/StringPool.h
index 05c26e7..6e0d646 100644
--- a/tools/aapt2/StringPool.h
+++ b/tools/aapt2/StringPool.h
@@ -42,9 +42,22 @@
 
 class StringPool {
  public:
-  struct Context {
-    uint32_t priority;
+  class Context {
+   public:
+    enum : uint32_t {
+      kStylePriority = 0u,
+      kHighPriority = 1u,
+      kNormalPriority = 0x7fffffffu,
+      kLowPriority = 0xffffffffu,
+    };
+    uint32_t priority = kNormalPriority;
     ConfigDescription config;
+
+    Context() = default;
+    Context(uint32_t p, const ConfigDescription& c) : priority(p), config(c) {}
+    explicit Context(uint32_t p) : priority(p) {}
+    explicit Context(const ConfigDescription& c)
+        : priority(kNormalPriority), config(c) {}
   };
 
   class Entry;