[Feature]add MT2731_MP2_MR2_SVN388 baseline version

Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/meta/meta-mediatek/recipes-support/platform-libs-common/files/parseint.patch b/meta/meta-mediatek/recipes-support/platform-libs-common/files/parseint.patch
new file mode 100644
index 0000000..136fcc4
--- /dev/null
+++ b/meta/meta-mediatek/recipes-support/platform-libs-common/files/parseint.patch
@@ -0,0 +1,57 @@
+diff --git a/system/core/base/include/android-base/parseint.h b/system/core/base/include/android-base/parseint.h
+index ed75e2d..e3ebce6 100644
+--- a/system/core/base/include/android-base/parseint.h
++++ b/system/core/base/include/android-base/parseint.h
+@@ -21,6 +21,7 @@
+ #include <stdlib.h>
+ 
+ #include <limits>
++#include <string>
+ 
+ namespace android {
+ namespace base {
+@@ -31,7 +32,7 @@ namespace base {
+ template <typename T>
+ bool ParseUint(const char* s, T* out,
+                T max = std::numeric_limits<T>::max()) {
+-  int base = (s[0] == '0' && s[1] == 'x') ? 16 : 10;
++  int base = (s[0] == '0' && (s[1] == 'x' || s[1] == 'X')) ? 16 : 10;
+   errno = 0;
+   char* end;
+   unsigned long long int result = strtoull(s, &end, base);
+@@ -45,6 +46,12 @@ bool ParseUint(const char* s, T* out,
+   return true;
+ }
+ 
++// TODO: string_view
++template <typename T>
++bool ParseUint(const std::string& s, T* out,
++               T max = std::numeric_limits<T>::max()) {
++  return ParseUint(s.c_str(), out, max);
++}
+ // Parses the signed decimal integer in the string 's' and sets 'out' to
+ // that value. Optionally allows the caller to define a 'min' and 'max
+ // beyond which otherwise valid values will be rejected. Returns boolean
+@@ -53,7 +60,7 @@ template <typename T>
+ bool ParseInt(const char* s, T* out,
+               T min = std::numeric_limits<T>::min(),
+               T max = std::numeric_limits<T>::max()) {
+-  int base = (s[0] == '0' && s[1] == 'x') ? 16 : 10;
++  int base = (s[0] == '0' && (s[1] == 'x' || s[1] == 'X')) ? 16 : 10;
+   errno = 0;
+   char* end;
+   long long int result = strtoll(s, &end, base);
+@@ -67,6 +74,13 @@ bool ParseInt(const char* s, T* out,
+   return true;
+ }
+ 
++// TODO: string_view
++template <typename T>
++bool ParseInt(const std::string& s, T* out,
++              T min = std::numeric_limits<T>::min(),
++              T max = std::numeric_limits<T>::max()) {
++  return ParseInt(s.c_str(), out, min, max);
++}
+ }  // namespace base
+ }  // namespace android
+