Pseudolocalizer improvements.

Fixes accented pseudolocalization and adds RTL pseudolocale.

This change contains following modifications in the pseudolocalization logic:
1) zz_ZZ pseudolocale was removed;
2) en_XA pseudolocale was added for pseudo-accented;
3) ar_XB pseudolocale was added for pseudo-rtl;
4) Pseudo RTL localization functionality was implemented;
5) Text expansion functionality was implemented;
6) Text bracketing was implemented;
7) Couple of issues of previous implementation were fixed.

Change-Id: I9f7f27bed717e39e82717d15c398decffc8bec3c
Signed-off-by: Anton Krumin <antkrumin@google.com>
diff --git a/tools/aapt/ResourceFilter.h b/tools/aapt/ResourceFilter.h
index 0d127ba..c57770e 100644
--- a/tools/aapt/ResourceFilter.h
+++ b/tools/aapt/ResourceFilter.h
@@ -16,19 +16,22 @@
 class ResourceFilter
 {
 public:
-    ResourceFilter() : mData(), mContainsPseudo(false) {}
+    ResourceFilter() : mData(), mContainsPseudoAccented(false),
+        mContainsPseudoBidi(false) {}
     status_t parse(const char* arg);
     bool isEmpty() const;
     bool match(int axis, const ResTable_config& config) const;
     bool match(const ResTable_config& config) const;
     const SortedVector<AxisValue>* configsForAxis(int axis) const;
-    inline bool containsPseudo() const { return mContainsPseudo; }
+    inline bool containsPseudo() const { return mContainsPseudoAccented; }
+    inline bool containsPseudoBidi() const { return mContainsPseudoBidi; }
 
 private:
     bool match(int axis, const AxisValue& value) const;
 
     KeyedVector<int,SortedVector<AxisValue> > mData;
-    bool mContainsPseudo;
+    bool mContainsPseudoAccented;
+    bool mContainsPseudoBidi;
 };
 
 #endif