resolved conflicts for merge of f51ded0f to master

Change-Id: Ida356524a68aeb2b9b0013dfbb6ab4bd11e616e2
diff --git a/api/current.txt b/api/current.txt
index ac0a22e..28a6ea6 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -1474,6 +1474,35 @@
     field public static final int MediaButton_Rew = 16973884; // 0x103003c
     field public static final int TextAppearance = 16973886; // 0x103003e
     field public static final int TextAppearance_DialogWindowTitle = 16973889; // 0x1030041
+    field public static final int TextAppearance_Holo = 16974075; // 0x10300fb
+    field public static final int TextAppearance_Holo_DialogWindowTitle = 16974103; // 0x1030117
+    field public static final int TextAppearance_Holo_Inverse = 16974076; // 0x10300fc
+    field public static final int TextAppearance_Holo_Large = 16974077; // 0x10300fd
+    field public static final int TextAppearance_Holo_Large_Inverse = 16974078; // 0x10300fe
+    field public static final int TextAppearance_Holo_Medium = 16974079; // 0x10300ff
+    field public static final int TextAppearance_Holo_Medium_Inverse = 16974080; // 0x1030100
+    field public static final int TextAppearance_Holo_SearchResult_Subtitle = 16974084; // 0x1030104
+    field public static final int TextAppearance_Holo_SearchResult_Title = 16974083; // 0x1030103
+    field public static final int TextAppearance_Holo_Small = 16974081; // 0x1030101
+    field public static final int TextAppearance_Holo_Small_Inverse = 16974082; // 0x1030102
+    field public static final int TextAppearance_Holo_Widget = 16974085; // 0x1030105
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle = 16974099; // 0x1030113
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Title = 16974098; // 0x1030112
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle = 16974101; // 0x1030115
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Title = 16974100; // 0x1030114
+    field public static final int TextAppearance_Holo_Widget_Button = 16974086; // 0x1030106
+    field public static final int TextAppearance_Holo_Widget_DropDownHint = 16974091; // 0x103010b
+    field public static final int TextAppearance_Holo_Widget_DropDownItem = 16974092; // 0x103010c
+    field public static final int TextAppearance_Holo_Widget_EditText = 16974094; // 0x103010e
+    field public static final int TextAppearance_Holo_Widget_IconMenu_Item = 16974087; // 0x1030107
+    field public static final int TextAppearance_Holo_Widget_PopupMenu = 16974095; // 0x103010f
+    field public static final int TextAppearance_Holo_Widget_PopupMenu_Large = 16974096; // 0x1030110
+    field public static final int TextAppearance_Holo_Widget_PopupMenu_Small = 16974097; // 0x1030111
+    field public static final int TextAppearance_Holo_Widget_TabWidget = 16974088; // 0x1030108
+    field public static final int TextAppearance_Holo_Widget_TextView = 16974089; // 0x1030109
+    field public static final int TextAppearance_Holo_Widget_TextView_PopupMenu = 16974090; // 0x103010a
+    field public static final int TextAppearance_Holo_Widget_TextView_SpinnerItem = 16974093; // 0x103010d
+    field public static final int TextAppearance_Holo_WindowTitle = 16974102; // 0x1030116
     field public static final int TextAppearance_Inverse = 16973887; // 0x103003f
     field public static final int TextAppearance_Large = 16973890; // 0x1030042
     field public static final int TextAppearance_Large_Inverse = 16973891; // 0x1030043
@@ -1523,11 +1552,11 @@
     field public static final int Theme_Holo_Light_NoActionBar = 16974064; // 0x10300f0
     field public static final int Theme_Holo_Light_NoActionBar_Fullscreen = 16974065; // 0x10300f1
     field public static final int Theme_Holo_Light_Panel = 16973948; // 0x103007c
-    field public static final int Theme_Holo_Light_SplitActionBarWhenNarrow = 16974077; // 0x10300fd
+    field public static final int Theme_Holo_Light_SplitActionBarWhenNarrow = 16974106; // 0x103011a
     field public static final int Theme_Holo_NoActionBar = 16973932; // 0x103006c
     field public static final int Theme_Holo_NoActionBar_Fullscreen = 16973933; // 0x103006d
     field public static final int Theme_Holo_Panel = 16973947; // 0x103007b
-    field public static final int Theme_Holo_SplitActionBarWhenNarrow = 16974076; // 0x10300fc
+    field public static final int Theme_Holo_SplitActionBarWhenNarrow = 16974105; // 0x1030119
     field public static final int Theme_Holo_Wallpaper = 16973949; // 0x103007d
     field public static final int Theme_Holo_Wallpaper_NoTitleBar = 16973950; // 0x103007e
     field public static final int Theme_InputMethod = 16973908; // 0x1030054
@@ -13591,7 +13620,7 @@
     field public static final int GINGERBREAD_MR1 = 10; // 0xa
     field public static final int HONEYCOMB = 11; // 0xb
     field public static final int HONEYCOMB_MR1 = 12; // 0xc
-    field public static final int HONEYCOMB_MR2 = 10000; // 0x2710
+    field public static final int HONEYCOMB_MR2 = 13; // 0xd
     field public static final int ICE_CREAM_SANDWICH = 10000; // 0x2710
   }
 
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index d7bbab6..8ff5beb 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -232,7 +232,7 @@
         public static final int HONEYCOMB_MR1 = 12;
         
         /**
-         * Current development version.
+         * June 2011: Android 3.2.
          *
          * <p>Update to Honeycomb MR1 to support 7 inch tablets, improve
          * screen compatibility mode, etc.</p>
@@ -244,7 +244,7 @@
          * large as the current screen will provide the user with a UI to
          * switch them in to screen size compatibility mode.</p>
          */
-        public static final int HONEYCOMB_MR2 = CUR_DEVELOPMENT;
+        public static final int HONEYCOMB_MR2 = 13;
 
         /**
          * Current version under development.
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 4207d70..c17a5ea 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -1671,6 +1671,35 @@
   <public type="style" name="Widget.Holo.Light.ActionBar.TabView" />
   <public type="style" name="Widget.Holo.Light.ActionBar.TabText" />
   <public type="style" name="Widget.Holo.Light.ActionBar.TabBar" />
+  <public type="style" name="TextAppearance.Holo" />
+  <public type="style" name="TextAppearance.Holo.Inverse" />
+  <public type="style" name="TextAppearance.Holo.Large" />
+  <public type="style" name="TextAppearance.Holo.Large.Inverse" />
+  <public type="style" name="TextAppearance.Holo.Medium" />
+  <public type="style" name="TextAppearance.Holo.Medium.Inverse" />
+  <public type="style" name="TextAppearance.Holo.Small" />
+  <public type="style" name="TextAppearance.Holo.Small.Inverse" />
+  <public type="style" name="TextAppearance.Holo.SearchResult.Title" />
+  <public type="style" name="TextAppearance.Holo.SearchResult.Subtitle" />
+  <public type="style" name="TextAppearance.Holo.Widget" />
+  <public type="style" name="TextAppearance.Holo.Widget.Button" />
+  <public type="style" name="TextAppearance.Holo.Widget.IconMenu.Item" />
+  <public type="style" name="TextAppearance.Holo.Widget.TabWidget" />
+  <public type="style" name="TextAppearance.Holo.Widget.TextView" />
+  <public type="style" name="TextAppearance.Holo.Widget.TextView.PopupMenu" />
+  <public type="style" name="TextAppearance.Holo.Widget.DropDownHint" />
+  <public type="style" name="TextAppearance.Holo.Widget.DropDownItem" />
+  <public type="style" name="TextAppearance.Holo.Widget.TextView.SpinnerItem" />
+  <public type="style" name="TextAppearance.Holo.Widget.EditText" />
+  <public type="style" name="TextAppearance.Holo.Widget.PopupMenu" />
+  <public type="style" name="TextAppearance.Holo.Widget.PopupMenu.Large" />
+  <public type="style" name="TextAppearance.Holo.Widget.PopupMenu.Small" />
+  <public type="style" name="TextAppearance.Holo.Widget.ActionBar.Title" />
+  <public type="style" name="TextAppearance.Holo.Widget.ActionBar.Subtitle" />
+  <public type="style" name="TextAppearance.Holo.Widget.ActionMode.Title" />
+  <public type="style" name="TextAppearance.Holo.Widget.ActionMode.Subtitle" />
+  <public type="style" name="TextAppearance.Holo.WindowTitle" />
+  <public type="style" name="TextAppearance.Holo.DialogWindowTitle" />
 
 <!-- ===============================================================
      Resources added in version 14 of the platform (Ice Cream Sandwich)
diff --git a/include/utils/ResourceTypes.h b/include/utils/ResourceTypes.h
index 8a92cd6..612ff93 100644
--- a/include/utils/ResourceTypes.h
+++ b/include/utils/ResourceTypes.h
@@ -1988,7 +1988,8 @@
                                   String16* outName,
                                   const String16* defType = NULL,
                                   const String16* defPackage = NULL,
-                                  const char** outErrorMsg = NULL);
+                                  const char** outErrorMsg = NULL,
+                                  bool* outPublicOnly = NULL);
 
     static bool stringToInt(const char16_t* s, size_t len, Res_value* outValue);
     static bool stringToFloat(const char16_t* s, size_t len, Res_value* outValue);
diff --git a/libs/utils/ResourceTypes.cpp b/libs/utils/ResourceTypes.cpp
index 4a6a3db..cb6c246 100644
--- a/libs/utils/ResourceTypes.cpp
+++ b/libs/utils/ResourceTypes.cpp
@@ -2663,6 +2663,9 @@
                     goto nope;
                 }
             }
+            if (outTypeSpecFlags) {
+                *outTypeSpecFlags = ResTable_typeSpec::SPEC_PUBLIC;
+            }
             return m->id;
 nope:
             ;
@@ -2677,6 +2680,9 @@
                          index);
                     return 0;
                 }
+                if (outTypeSpecFlags) {
+                    *outTypeSpecFlags = ResTable_typeSpec::SPEC_PUBLIC;
+                }
                 return  Res_MAKEARRAY(index);
             }
         }
@@ -2687,6 +2693,8 @@
         return 0;
     }
 
+    bool fakePublic = false;
+
     // Figure out the package and type we are looking in...
 
     const char16_t* packageEnd = NULL;
@@ -2698,7 +2706,13 @@
         else if (*p == '/') typeEnd = p;
         p++;
     }
-    if (*name == '@') name++;
+    if (*name == '@') {
+        name++;
+        if (*name == '*') {
+            fakePublic = true;
+            name++;
+        }
+    }
     if (name >= nameEnd) {
         return 0;
     }
@@ -2803,6 +2817,9 @@
                 if (dtohl(entry->key.index) == (size_t)ei) {
                     if (outTypeSpecFlags) {
                         *outTypeSpecFlags = typeConfigs->typeSpecFlags[i];
+                        if (fakePublic) {
+                            *outTypeSpecFlags |= ResTable_typeSpec::SPEC_PUBLIC;
+                        }
                     }
                     return Res_MAKEID(group->id-1, ti, i);
                 }
@@ -2819,7 +2836,8 @@
                                  String16* outName,
                                  const String16* defType,
                                  const String16* defPackage,
-                                 const char** outErrorMsg)
+                                 const char** outErrorMsg,
+                                 bool* outPublicOnly)
 {
     const char16_t* packageEnd = NULL;
     const char16_t* typeEnd = NULL;
@@ -2836,6 +2854,16 @@
     p = refStr;
     if (*p == '@') p++;
 
+    if (outPublicOnly != NULL) {
+        *outPublicOnly = true;
+    }
+    if (*p == '*') {
+        p++;
+        if (outPublicOnly != NULL) {
+            *outPublicOnly = false;
+        }
+    }
+
     if (packageEnd) {
         *outPackage = String16(p, packageEnd-p);
         p = packageEnd+1;
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 86ffb4d..91a8855 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -16,25 +16,25 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <style name="TextAppearance.StatusBar.Title" parent="@android:style/TextAppearance.StatusBar">
+    <style name="TextAppearance.StatusBar.Title" parent="@*android:style/TextAppearance.StatusBar">
         <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
         <item name="android:textStyle">bold</item>
         <item name="android:textColor">?android:attr/textColorPrimary</item>
     </style>
 
     <style name="TextAppearance.StatusBar.IntruderAlert"
-        parent="@android:style/TextAppearance.StatusBar">
+        parent="@*android:style/TextAppearance.StatusBar">
     </style>
 
     <style name="TextAppearance.StatusBar.SystemPanel"
-        parent="@android:style/TextAppearance.StatusBar">
+        parent="@*android:style/TextAppearance.StatusBar">
         <item name="android:textAppearance">?android:attr/textAppearance</item>
         <item name="android:textStyle">normal</item>
         <item name="android:textColor">#FF808080</item>
     </style>
 
     <style name="TextAppearance.StatusBar.TextButton"
-        parent="@android:style/TextAppearance.StatusBar">
+        parent="@*android:style/TextAppearance.StatusBar">
         <item name="android:textAppearance">?android:attr/textAppearance</item>
         <item name="android:textStyle">normal</item>
         <item name="android:textColor">#FFFFFFFF</item>
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 5c5b4fd..81b924a 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -1963,10 +1963,11 @@
                                  bool onlyPublic) const
 {
     String16 package, type, name;
+    bool refOnlyPublic = true;
     if (!ResTable::expandResourceRef(
         ref.string(), ref.size(), &package, &type, &name,
         defType, defPackage ? defPackage:&mAssetsPackage,
-        outErrorMsg)) {
+        outErrorMsg, &refOnlyPublic)) {
         NOISY(printf("Expanding resource: ref=%s\n",
                      String8(ref).string()));
         NOISY(printf("Expanding resource: defType=%s\n",
@@ -1979,7 +1980,7 @@
                      String8(name).string()));
         return 0;
     }
-    uint32_t res = getResId(package, type, name, onlyPublic);
+    uint32_t res = getResId(package, type, name, onlyPublic && refOnlyPublic);
     NOISY(printf("Expanded resource: p=%s, t=%s, n=%s, res=%d\n",
                  String8(package).string(), String8(type).string(),
                  String8(name).string(), res));
diff --git a/tools/aapt/ResourceTable.h b/tools/aapt/ResourceTable.h
index bbb8140..734c541 100644
--- a/tools/aapt/ResourceTable.h
+++ b/tools/aapt/ResourceTable.h
@@ -162,13 +162,13 @@
     uint32_t getResId(const String16& package,
                       const String16& type,
                       const String16& name,
-                      bool onlyPublic = false) const;
+                      bool onlyPublic = true) const;
 
     uint32_t getResId(const String16& ref,
                       const String16* defType = NULL,
                       const String16* defPackage = NULL,
                       const char** outErrorMsg = NULL,
-                      bool onlyPublic = false) const;
+                      bool onlyPublic = true) const;
 
     static bool isValidResourceName(const String16& s);