Fix an issue where a non-styled string could be made into a styled string

If a styled version of an otherwise identical string is encountered before
a non-styled version, aapt merges the two, effectively making the
non-styled string have a spurious style.

Change-Id: I424a61c0c83c59e0b9c8939e457402efd06a7a4f
diff --git a/tools/aapt/StringPool.cpp b/tools/aapt/StringPool.cpp
index fe88e37..7f137ce 100644
--- a/tools/aapt/StringPool.cpp
+++ b/tools/aapt/StringPool.cpp
@@ -174,7 +174,9 @@
     }
 
     const bool first = vidx < 0;
-    if (first || !mergeDuplicates) {
+    const bool styled = (pos >= 0 && (size_t)pos < mEntryStyleArray.size()) ?
+        mEntryStyleArray[pos].spans.size() : 0;
+    if (first || styled || !mergeDuplicates) {
         pos = mEntryArray.add(eidx);
         if (first) {
             vidx = mValues.add(value, pos);