diff --git a/common/java/com/android/common/speech/Recognition.java b/common/java/com/android/common/speech/Recognition.java
index a79a19b..1970179 100644
--- a/common/java/com/android/common/speech/Recognition.java
+++ b/common/java/com/android/common/speech/Recognition.java
@@ -55,6 +55,7 @@
     public static final int HINT_CONTEXT_UNKNOWN = 0;
     public static final int HINT_CONTEXT_VOICE_SEARCH_HELP = 1;
     public static final int HINT_CONTEXT_CAR_HOME = 2;
+    public static final int HINT_CONTEXT_LAUNCHER = 3;
 
     private Recognition() { }   // don't instantiate
 }
diff --git a/include/utils/ResourceTypes.h b/include/utils/ResourceTypes.h
index 0e796dc..b701ce7 100644
--- a/include/utils/ResourceTypes.h
+++ b/include/utils/ResourceTypes.h
@@ -631,6 +631,8 @@
 
     void restart();
 
+    const ResStringPool& getStrings() const;
+
     event_code_t getEventType() const;
     // Note, unlike XmlPullParser, the first call to next() will return
     // START_TAG of the first element.
@@ -716,8 +718,6 @@
 
     void uninit();
 
-    const ResStringPool& getStrings() const;
-
 private:
     friend class ResXMLParser;
 
diff --git a/libs/audioflinger/Android.mk b/libs/audioflinger/Android.mk
index 29e4a57..870c0b8 100644
--- a/libs/audioflinger/Android.mk
+++ b/libs/audioflinger/Android.mk
@@ -119,14 +119,12 @@
     endif
 endif
 
-ifeq ($(LVMX),true)
-  ifeq ($(TARGET_ARCH),arm)
+ifeq ($(BOARD_USE_LVMX),true)
     LOCAL_CFLAGS += -DLVMX
     LOCAL_C_INCLUDES += vendor/nxp
     LOCAL_STATIC_LIBRARIES += liblifevibes
     LOCAL_SHARED_LIBRARIES += liblvmxservice
 #    LOCAL_SHARED_LIBRARIES += liblvmxipc
-  endif
 endif
 
 include $(BUILD_SHARED_LIBRARY)
diff --git a/libs/utils/ResourceTypes.cpp b/libs/utils/ResourceTypes.cpp
index 38d8412..7e0f881 100644
--- a/libs/utils/ResourceTypes.cpp
+++ b/libs/utils/ResourceTypes.cpp
@@ -625,6 +625,10 @@
     mCurNode = NULL;
     mEventCode = mTree.mError == NO_ERROR ? START_DOCUMENT : BAD_DOCUMENT;
 }
+const ResStringPool& ResXMLParser::getStrings() const
+{
+    return mTree.mStrings;
+}
 
 ResXMLParser::event_code_t ResXMLParser::getEventType() const
 {
@@ -1149,11 +1153,6 @@
     restart();
 }
 
-const ResStringPool& ResXMLTree::getStrings() const
-{
-    return mStrings;
-}
-
 status_t ResXMLTree::validateNode(const ResXMLTree_node* node) const
 {
     const uint16_t eventCode = dtohs(node->header.type);
