Merge "Add sym_def_app_icon to mipmap directory" into honeycomb
diff --git a/api/current.xml b/api/current.xml
index b1558ab..3b1c900 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -1471,17 +1471,6 @@
  visibility="public"
 >
 </constructor>
-<field name="accelerate_cubic_interpolator"
- type="int"
- transient="false"
- volatile="false"
- value="17432589"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="accelerate_decelerate_interpolator"
  type="int"
  transient="false"
@@ -1504,17 +1493,6 @@
  visibility="public"
 >
 </field>
-<field name="accelerate_quint_interpolator"
- type="int"
- transient="false"
- volatile="false"
- value="17432591"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="anticipate_interpolator"
  type="int"
  transient="false"
@@ -1559,17 +1537,6 @@
  visibility="public"
 >
 </field>
-<field name="decelerate_cubic_interpolator"
- type="int"
- transient="false"
- volatile="false"
- value="17432590"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="decelerate_interpolator"
  type="int"
  transient="false"
@@ -1581,17 +1548,6 @@
  visibility="public"
 >
 </field>
-<field name="decelerate_quint_interpolator"
- type="int"
- transient="false"
- volatile="false"
- value="17432592"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="fade_in"
  type="int"
  transient="false"
@@ -11037,6 +10993,28 @@
  visibility="public"
 >
 </field>
+<field name="windowMinWidthMajor"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16843608"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="windowMinWidthMinor"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16843609"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="windowNoDisplay"
  type="int"
  transient="false"
@@ -11451,6 +11429,28 @@
  visibility="public"
 >
 </field>
+<field name="dialog_min_width_major"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="17104899"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="dialog_min_width_minor"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="17104900"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="thumbnail_height"
  type="int"
  transient="false"
@@ -14860,7 +14860,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974050"
+ value="16974053"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -14871,7 +14871,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974052"
+ value="16974055"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -14882,7 +14882,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974051"
+ value="16974054"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -14893,7 +14893,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974053"
+ value="16974056"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -14904,7 +14904,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974055"
+ value="16974058"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -14915,7 +14915,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974054"
+ value="16974057"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15234,7 +15234,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973949"
+ value="16973952"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15245,7 +15245,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973950"
+ value="16973953"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15362,22 +15362,11 @@
  visibility="public"
 >
 </field>
-<field name="Theme_Dialog_NoFrame"
- type="int"
- transient="false"
- volatile="false"
- value="16973930"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="Theme_Holo"
  type="int"
  transient="false"
  volatile="false"
- value="16973932"
+ value="16973931"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15388,7 +15377,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973937"
+ value="16973936"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15399,7 +15388,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973943"
+ value="16973944"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15410,18 +15399,18 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973944"
+ value="16973945"
  static="true"
  final="true"
  deprecated="not deprecated"
  visibility="public"
 >
 </field>
-<field name="Theme_Holo_Dialog_Alert"
+<field name="Theme_Holo_Dialog_MinWidth"
  type="int"
  transient="false"
  volatile="false"
- value="16973941"
+ value="16973937"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15439,18 +15428,7 @@
  visibility="public"
 >
 </field>
-<field name="Theme_Holo_Light"
- type="int"
- transient="false"
- volatile="false"
- value="16973936"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="Theme_Holo_Light_Dialog"
+<field name="Theme_Holo_Dialog_NoActionBar_MinWidth"
  type="int"
  transient="false"
  volatile="false"
@@ -15461,62 +15439,7 @@
  visibility="public"
 >
 </field>
-<field name="Theme_Holo_Light_DialogWhenLarge"
- type="int"
- transient="false"
- volatile="false"
- value="16973945"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="Theme_Holo_Light_DialogWhenLarge_NoActionBar"
- type="int"
- transient="false"
- volatile="false"
- value="16973946"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="Theme_Holo_Light_Dialog_Alert"
- type="int"
- transient="false"
- volatile="false"
- value="16973942"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="Theme_Holo_Light_Dialog_NoActionBar"
- type="int"
- transient="false"
- volatile="false"
- value="16973940"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="Theme_Holo_NoActionBar"
- type="int"
- transient="false"
- volatile="false"
- value="16973934"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="Theme_Holo_NoActionBar_Fullscreen"
+<field name="Theme_Holo_Light"
  type="int"
  transient="false"
  volatile="false"
@@ -15527,7 +15450,29 @@
  visibility="public"
 >
 </field>
-<field name="Theme_Holo_Wallpaper"
+<field name="Theme_Holo_Light_Dialog"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973940"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_Light_DialogWhenLarge"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973946"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_Light_DialogWhenLarge_NoActionBar"
  type="int"
  transient="false"
  volatile="false"
@@ -15538,7 +15483,73 @@
  visibility="public"
 >
 </field>
-<field name="Theme_Holo_Wallpaper_NoTitleBar"
+<field name="Theme_Holo_Light_Dialog_MinWidth"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973941"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_Light_Dialog_NoActionBar"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973942"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_Light_Dialog_NoActionBar_MinWidth"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973943"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_Light_Panel"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973949"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_NoActionBar"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973933"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_NoActionBar_Fullscreen"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973934"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_Panel"
  type="int"
  transient="false"
  volatile="false"
@@ -15549,6 +15560,28 @@
  visibility="public"
 >
 </field>
+<field name="Theme_Holo_Wallpaper"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973950"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
+<field name="Theme_Holo_Wallpaper_NoTitleBar"
+ type="int"
+ transient="false"
+ volatile="false"
+ value="16973951"
+ static="true"
+ final="true"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</field>
 <field name="Theme_InputMethod"
  type="int"
  transient="false"
@@ -15575,7 +15608,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973933"
+ value="16973932"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15663,7 +15696,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973931"
+ value="16973930"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15795,7 +15828,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973951"
+ value="16973954"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15806,7 +15839,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973953"
+ value="16973956"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15817,7 +15850,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973957"
+ value="16973960"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15828,7 +15861,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973956"
+ value="16973959"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15894,7 +15927,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974065"
+ value="16974068"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -15982,7 +16015,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974057"
+ value="16974060"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16004,7 +16037,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973958"
+ value="16973961"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16037,7 +16070,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973959"
+ value="16973962"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16048,7 +16081,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974001"
+ value="16974004"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16059,7 +16092,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973996"
+ value="16973999"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16070,7 +16103,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974000"
+ value="16974003"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16081,7 +16114,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973997"
+ value="16974000"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16092,7 +16125,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973998"
+ value="16974001"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16103,7 +16136,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973999"
+ value="16974002"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16114,7 +16147,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973965"
+ value="16973968"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16125,7 +16158,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973960"
+ value="16973963"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16136,7 +16169,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974047"
+ value="16974050"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16147,7 +16180,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973962"
+ value="16973965"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16158,7 +16191,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973961"
+ value="16973964"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16169,7 +16202,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973963"
+ value="16973966"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16180,7 +16213,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974066"
+ value="16974069"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16191,7 +16224,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973966"
+ value="16973969"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16202,7 +16235,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973983"
+ value="16973986"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16213,7 +16246,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973987"
+ value="16973990"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16224,7 +16257,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973991"
+ value="16973994"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16235,7 +16268,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973992"
+ value="16973995"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16246,7 +16279,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973968"
+ value="16973971"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16257,7 +16290,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974060"
+ value="16974063"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16268,7 +16301,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973969"
+ value="16973972"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16279,7 +16312,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973970"
+ value="16973973"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16290,7 +16323,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973985"
+ value="16973988"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16301,7 +16334,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973971"
+ value="16973974"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16312,7 +16345,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974061"
+ value="16974064"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16323,7 +16356,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974059"
+ value="16974062"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16334,7 +16367,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974002"
+ value="16974005"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16345,7 +16378,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974046"
+ value="16974049"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16356,7 +16389,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974042"
+ value="16974045"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16367,7 +16400,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974045"
+ value="16974048"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16378,7 +16411,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974043"
+ value="16974046"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16389,7 +16422,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974044"
+ value="16974047"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16400,7 +16433,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974008"
+ value="16974011"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16411,7 +16444,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974003"
+ value="16974006"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16422,7 +16455,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974005"
+ value="16974008"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16433,7 +16466,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974004"
+ value="16974007"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16444,7 +16477,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974006"
+ value="16974009"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16455,7 +16488,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974067"
+ value="16974070"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16466,7 +16499,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974009"
+ value="16974012"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16477,7 +16510,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974029"
+ value="16974032"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16488,7 +16521,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974033"
+ value="16974036"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16499,7 +16532,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974037"
+ value="16974040"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16510,7 +16543,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974038"
+ value="16974041"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16521,7 +16554,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974011"
+ value="16974014"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16532,7 +16565,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974063"
+ value="16974066"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16543,7 +16576,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974012"
+ value="16974015"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16554,7 +16587,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974013"
+ value="16974016"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16565,7 +16598,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974031"
+ value="16974034"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16576,7 +16609,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974014"
+ value="16974017"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16587,7 +16620,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974064"
+ value="16974067"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16598,7 +16631,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974062"
+ value="16974065"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16609,7 +16642,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974040"
+ value="16974043"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16620,7 +16653,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974015"
+ value="16974018"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16631,7 +16664,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974010"
+ value="16974013"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16642,7 +16675,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974041"
+ value="16974044"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16653,7 +16686,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974016"
+ value="16974019"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16664,7 +16697,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974017"
+ value="16974020"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16675,7 +16708,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974018"
+ value="16974021"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16686,7 +16719,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974022"
+ value="16974025"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16697,7 +16730,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974021"
+ value="16974024"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16708,7 +16741,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974024"
+ value="16974027"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16719,7 +16752,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974019"
+ value="16974022"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16730,7 +16763,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974023"
+ value="16974026"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16741,7 +16774,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974020"
+ value="16974023"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16752,7 +16785,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974026"
+ value="16974029"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16763,7 +16796,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974027"
+ value="16974030"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16774,7 +16807,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974028"
+ value="16974031"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16785,7 +16818,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974030"
+ value="16974033"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16796,7 +16829,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974025"
+ value="16974028"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16807,7 +16840,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974032"
+ value="16974035"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16818,7 +16851,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974049"
+ value="16974052"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16829,7 +16862,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974034"
+ value="16974037"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16840,7 +16873,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974007"
+ value="16974010"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16851,7 +16884,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974039"
+ value="16974042"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16862,7 +16895,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974035"
+ value="16974038"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16873,7 +16906,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974036"
+ value="16974039"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16884,7 +16917,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973994"
+ value="16973997"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16895,7 +16928,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973972"
+ value="16973975"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16906,7 +16939,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973967"
+ value="16973970"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16917,7 +16950,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973995"
+ value="16973998"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16928,7 +16961,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973973"
+ value="16973976"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16939,7 +16972,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973974"
+ value="16973977"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16950,7 +16983,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973975"
+ value="16973978"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16961,7 +16994,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973978"
+ value="16973981"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16972,7 +17005,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973976"
+ value="16973979"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16983,7 +17016,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973977"
+ value="16973980"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -16994,7 +17027,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973980"
+ value="16973983"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17005,7 +17038,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973981"
+ value="16973984"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17016,7 +17049,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973982"
+ value="16973985"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17027,7 +17060,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973984"
+ value="16973987"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17038,7 +17071,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973979"
+ value="16973982"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17049,7 +17082,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973986"
+ value="16973989"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17060,7 +17093,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974048"
+ value="16974051"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17071,7 +17104,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973988"
+ value="16973991"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17082,7 +17115,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973964"
+ value="16973967"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17093,7 +17126,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973993"
+ value="16973996"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17104,7 +17137,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973989"
+ value="16973992"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17115,7 +17148,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973990"
+ value="16973993"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17137,7 +17170,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974058"
+ value="16974061"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17148,7 +17181,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16974056"
+ value="16974059"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17181,7 +17214,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973954"
+ value="16973957"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17236,7 +17269,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973955"
+ value="16973958"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -17379,7 +17412,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="16973952"
+ value="16973955"
  static="true"
  final="true"
  deprecated="not deprecated"
@@ -28669,21 +28702,6 @@
  synchronized="false"
  static="false"
  final="false"
- deprecated="deprecated"
- visibility="public"
->
-<parameter name="activity" type="android.app.Activity">
-</parameter>
-<parameter name="tag" type="java.lang.String">
-</parameter>
-</method>
-<method name="show"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="false"
- final="false"
  deprecated="not deprecated"
  visibility="public"
 >
@@ -232565,6 +232583,17 @@
  visibility="public"
 >
 </method>
+<method name="getAllowContentAccess"
+ return="boolean"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="getAllowFileAccess"
  return="boolean"
  abstract="false"
@@ -232983,6 +233012,19 @@
  visibility="public"
 >
 </method>
+<method name="setAllowContentAccess"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="allow" type="boolean">
+</parameter>
+</method>
 <method name="setAllowFileAccess"
  return="void"
  abstract="false"
@@ -258022,7 +258064,7 @@
  deprecated="not deprecated"
  visibility="public"
 >
-<parameter name="arg0" type="T">
+<parameter name="t" type="T">
 </parameter>
 </method>
 </interface>
diff --git a/core/java/android/app/DialogFragment.java b/core/java/android/app/DialogFragment.java
index 72a455e..6194240 100644
--- a/core/java/android/app/DialogFragment.java
+++ b/core/java/android/app/DialogFragment.java
@@ -207,16 +207,6 @@
     }
 
     /**
-     * @deprecated Please use {@link #show(FragmentManager, String)}.
-     */
-    @Deprecated
-    public void show(Activity activity, String tag) {
-        FragmentTransaction ft = activity.getFragmentManager().openTransaction();
-        ft.add(this, tag);
-        ft.commit();
-    }
-
-    /**
      * Display the dialog, adding the fragment to the given FragmentManager.  This
      * is a convenience for explicitly creating a transaction, adding the
      * fragment to it with the given tag, and committing it.  This does
diff --git a/core/java/android/webkit/BrowserFrame.java b/core/java/android/webkit/BrowserFrame.java
index de1faa2..e246717 100644
--- a/core/java/android/webkit/BrowserFrame.java
+++ b/core/java/android/webkit/BrowserFrame.java
@@ -738,7 +738,8 @@
             }
 
         // content://
-        } else if (url.startsWith(ANDROID_CONTENT)) {
+        } else if (mSettings.getAllowContentAccess() &&
+                   url.startsWith(ANDROID_CONTENT)) {
             try {
                 // Strip off mimetype, for compatibility with ContentLoader.java
                 // If we don't do this, we can fail to load Gmail attachments,
diff --git a/core/java/android/webkit/FrameLoader.java b/core/java/android/webkit/FrameLoader.java
index 2b44775..0d80302 100644
--- a/core/java/android/webkit/FrameLoader.java
+++ b/core/java/android/webkit/FrameLoader.java
@@ -203,7 +203,8 @@
                                 settings.getAllowFileAccess())).sendToTarget();
             }
             return true;
-        } else if (URLUtil.isContentUrl(url)) {
+        } else if (settings.getAllowContentAccess() &&
+                   URLUtil.isContentUrl(url)) {
             // Send the raw url to the ContentLoader because it will do a
             // permission check and the url has to match.
             if (loadListener.isSynchronous()) {
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index 6750422..0670c4e 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -215,6 +215,7 @@
     private boolean         mBuiltInZoomControls = false;
     private boolean         mDisplayZoomControls = true;
     private boolean         mAllowFileAccess = true;
+    private boolean         mAllowContentAccess = true;
     private boolean         mLoadWithOverviewMode = false;
     private boolean         mEnableSmoothTransition = false;
 
@@ -587,7 +588,9 @@
 
     /**
      * Enable or disable file access within WebView. File access is enabled by
-     * default.
+     * default.  Note that this enables or disables file system access only.
+     * Assets and resources are still accessible using file:///android_asset and
+     * file:///android_res.
      */
     public void setAllowFileAccess(boolean allow) {
         mAllowFileAccess = allow;
@@ -601,6 +604,22 @@
     }
 
     /**
+     * Enable or disable content url access within WebView.  Content url access
+     * allows WebView to load content from a content provider installed in the
+     * system.  The default is enabled.
+     */
+    public void setAllowContentAccess(boolean allow) {
+        mAllowContentAccess = allow;
+    }
+
+    /**
+     * Returns true if this WebView supports content url access.
+     */
+    public boolean getAllowContentAccess() {
+        return mAllowContentAccess;
+    }
+
+    /**
      * Set whether the WebView loads a page with overview mode.
      */
     public void setLoadWithOverviewMode(boolean overview) {
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 5403bf7..36a38ff 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -5536,8 +5536,9 @@
                             + "mPreventDefault = " + mPreventDefault
                             + " mDeferTouchProcess = " + mDeferTouchProcess
                             + " mTouchMode = " + mTouchMode);
+                } else {
+                    mVelocityTracker.addMovement(ev);
                 }
-                mVelocityTracker.addMovement(ev);
                 if (mSelectingText && mSelectionStarted) {
                     if (DebugFlags.WEB_VIEW) {
                         Log.v(LOGTAG, "extend=" + contentX + "," + contentY);
@@ -5776,8 +5777,9 @@
                                         + mPreventDefault
                                         + " mDeferTouchProcess = "
                                         + mDeferTouchProcess);
+                            } else {
+                                mVelocityTracker.addMovement(ev);
                             }
-                            mVelocityTracker.addMovement(ev);
                             // set to MOTIONLESS_IGNORE so that it won't keep
                             // removing and sending message in
                             // drawCoreAndCursorRing()
@@ -5852,6 +5854,11 @@
 
         final ScaleGestureDetector detector =
             mZoomManager.getMultiTouchGestureDetector();
+
+        // A few apps use WebView but don't instantiate gesture detector.
+        // We don't need to support multi touch for them.
+        if (detector == null) return false;
+
         int action = ev.getAction();
         float x = ev.getX();
         float y = ev.getY();
diff --git a/core/res/res/anim/accelerate_cubic_interpolator.xml b/core/res/res/anim/accelerate_cubic_interpolator.xml
deleted file mode 100644
index 90f62da..0000000
--- a/core/res/res/anim/accelerate_cubic_interpolator.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
-**
-**     http://www.apache.org/licenses/LICENSE-2.0 
-**
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
-** limitations under the License.
-*/
--->
-
-<accelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
-        android:factor="1.5" />
diff --git a/core/res/res/anim/accelerate_quint_interpolator.xml b/core/res/res/anim/accelerate_quint_interpolator.xml
deleted file mode 100644
index cd3595c..0000000
--- a/core/res/res/anim/accelerate_quint_interpolator.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
-**
-**     http://www.apache.org/licenses/LICENSE-2.0 
-**
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
-** limitations under the License.
-*/
--->
-
-<accelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
-        android:factor="2.5" />
diff --git a/core/res/res/anim/decelerate_cubic_interpolator.xml b/core/res/res/anim/decelerate_cubic_interpolator.xml
deleted file mode 100644
index 550a591..0000000
--- a/core/res/res/anim/decelerate_cubic_interpolator.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
-**
-**     http://www.apache.org/licenses/LICENSE-2.0 
-**
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
-** limitations under the License.
-*/
--->
-
-<decelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
-        android:factor="1.5" />
diff --git a/core/res/res/anim/decelerate_quint_interpolator.xml b/core/res/res/anim/decelerate_quint_interpolator.xml
deleted file mode 100644
index 7545b17..0000000
--- a/core/res/res/anim/decelerate_quint_interpolator.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
-**
-**     http://www.apache.org/licenses/LICENSE-2.0 
-**
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
-** limitations under the License.
-*/
--->
-
-<decelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
-        android:factor="2.5" />
diff --git a/core/res/res/layout-xlarge/alert_dialog.xml b/core/res/res/layout-xlarge/alert_dialog.xml
deleted file mode 100644
index 9444206..0000000
--- a/core/res/res/layout-xlarge/alert_dialog.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/* //device/apps/common/res/layout/alert_dialog.xml
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<com.android.internal.widget.WeightedLinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/parentPanel"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:paddingTop="9dip"
-    android:paddingBottom="3dip"
-    android:paddingLeft="3dip"
-    android:paddingRight="1dip"
-    android:majorWeightMin="0.45"
-    android:minorWeightMin="0.72">
-
-    <LinearLayout android:id="@+id/topPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="54dip"
-        android:orientation="vertical">
-        <LinearLayout android:id="@+id/title_template"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:gravity="center_vertical"
-            android:layout_marginTop="6dip"
-            android:layout_marginBottom="9dip"
-            android:layout_marginLeft="10dip"
-            android:layout_marginRight="10dip">
-            <ImageView android:id="@+id/icon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="top"
-                android:paddingTop="6dip"
-                android:paddingRight="10dip"
-                android:src="@drawable/ic_dialog_info" />
-            <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle"
-                style="?android:attr/textAppearanceLarge"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content" />
-        </LinearLayout>
-        <ImageView android:id="@+id/titleDivider"
-            android:layout_width="match_parent"
-            android:layout_height="1dip"
-            android:visibility="gone"
-            android:scaleType="fitXY"
-            android:gravity="fill_horizontal"
-            android:src="@android:drawable/divider_horizontal_dark" />
-        <!-- If the client uses a customTitle, it will be added here. -->
-    </LinearLayout>
-
-    <LinearLayout android:id="@+id/contentPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="vertical">
-        <ScrollView android:id="@+id/scrollView"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingTop="2dip"
-            android:paddingBottom="12dip"
-            android:paddingLeft="14dip"
-            android:paddingRight="10dip">
-            <TextView android:id="@+id/message"
-                style="?android:attr/textAppearanceMedium"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:padding="5dip" />
-        </ScrollView>
-    </LinearLayout>
-
-    <FrameLayout android:id="@+id/customPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1">
-        <FrameLayout android:id="@+android:id/custom"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingTop="5dip"
-            android:paddingBottom="5dip" />
-    </FrameLayout>
-
-    <LinearLayout android:id="@+id/buttonPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="54dip"
-        android:orientation="vertical" >
-        <LinearLayout
-            style="?android:attr/buttonBarStyle"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingTop="4dip"
-            android:paddingLeft="2dip"
-            android:paddingRight="2dip"
-            android:measureWithLargestChild="true">
-            <LinearLayout android:id="@+id/leftSpacer"
-                android:layout_weight="0.25"
-                android:layout_width="0dip"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                android:visibility="gone" />
-            <Button android:id="@+id/button1"
-                android:layout_width="0dip"
-                android:layout_gravity="left"
-                android:layout_weight="1"
-                style="?android:attr/buttonBarButtonStyle"
-                android:maxLines="2"
-                android:layout_height="wrap_content" />
-            <Button android:id="@+id/button3"
-                android:layout_width="0dip"
-                android:layout_gravity="center_horizontal"
-                android:layout_weight="1"
-                style="?android:attr/buttonBarButtonStyle"
-                android:maxLines="2"
-                android:layout_height="wrap_content" />
-            <Button android:id="@+id/button2"
-                android:layout_width="0dip"
-                android:layout_gravity="right"
-                android:layout_weight="1"
-                style="?android:attr/buttonBarButtonStyle"
-                android:maxLines="2"
-                android:layout_height="wrap_content" />
-            <LinearLayout android:id="@+id/rightSpacer"
-                android:layout_width="0dip"
-                android:layout_weight="0.25"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                android:visibility="gone" />
-        </LinearLayout>
-     </LinearLayout>
-</com.android.internal.widget.WeightedLinearLayout>
diff --git a/core/res/res/layout-xlarge/alert_dialog_holo.xml b/core/res/res/layout-xlarge/alert_dialog_holo.xml
deleted file mode 100644
index 2ebe7cd..0000000
--- a/core/res/res/layout-xlarge/alert_dialog_holo.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2010, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<com.android.internal.widget.WeightedLinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/parentPanel"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:majorWeightMin="0.45"
-    android:minorWeightMin="0.72">
-
-    <LinearLayout android:id="@+id/topPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="64dip"
-        android:orientation="vertical">
-        <ImageView android:id="@+id/titleDividerTop"
-            android:layout_width="match_parent"
-            android:layout_height="4dip"
-            android:visibility="gone"
-            android:scaleType="fitXY"
-            android:gravity="fill_horizontal"
-            android:paddingLeft="16dip"
-            android:paddingRight="16dip"
-            android:src="@android:drawable/divider_strong_holo" />
-        <LinearLayout android:id="@+id/title_template"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:gravity="center_vertical"
-            android:layout_marginTop="8dip"
-            android:layout_marginBottom="8dip"
-            android:layout_marginLeft="32dip"
-            android:layout_marginRight="32dip">
-            <ImageView android:id="@+id/icon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:paddingRight="16dip"
-                android:src="@null" />
-            <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle"
-                style="?android:attr/textAppearanceMedium"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content" />
-        </LinearLayout>
-        <ImageView android:id="@+id/titleDivider"
-            android:layout_width="match_parent"
-            android:layout_height="4dip"
-            android:visibility="gone"
-            android:scaleType="fitXY"
-            android:gravity="fill_horizontal"
-            android:paddingLeft="16dip"
-            android:paddingRight="16dip"
-            android:src="@android:drawable/divider_strong_holo" />
-        <!-- If the client uses a customTitle, it will be added here. -->
-    </LinearLayout>
-
-    <LinearLayout android:id="@+id/contentPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="vertical">
-        <ScrollView android:id="@+id/scrollView"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="16dip"
-            android:layout_marginRight="16dip"
-            android:paddingTop="32dip"
-            android:paddingBottom="32dip"
-            android:clipToPadding="false">
-            <TextView android:id="@+id/message"
-                style="?android:attr/textAppearanceMedium"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:paddingLeft="16dip"
-                android:paddingRight="16dip" />
-        </ScrollView>
-    </LinearLayout>
-
-    <FrameLayout android:id="@+id/customPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1">
-        <FrameLayout android:id="@+android:id/custom"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingTop="8dip"
-            android:paddingBottom="8dip"
-            android:paddingLeft="32dip"
-            android:paddingRight="32dip" />
-    </FrameLayout>
-
-    <LinearLayout android:id="@+id/buttonPanel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:minHeight="54dip"
-        android:orientation="vertical"
-        android:divider="?android:attr/dividerHorizontal"
-        android:showDividers="beginning"
-        android:dividerPadding="16dip">
-        <LinearLayout
-            style="?android:attr/buttonBarStyle"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:paddingLeft="2dip"
-            android:paddingRight="2dip"
-            android:measureWithLargestChild="true">
-            <LinearLayout android:id="@+id/leftSpacer"
-                android:layout_weight="0.25"
-                android:layout_width="0dip"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                android:visibility="gone" />
-            <Button android:id="@+id/button1"
-                android:layout_width="0dip"
-                android:layout_gravity="left"
-                android:layout_weight="1"
-                android:maxLines="2"
-                style="?android:attr/buttonBarButtonStyle"
-                android:layout_height="wrap_content" />
-            <Button android:id="@+id/button3"
-                android:layout_width="0dip"
-                android:layout_gravity="center_horizontal"
-                android:layout_weight="1"
-                android:maxLines="2"
-                style="?android:attr/buttonBarButtonStyle"
-                android:layout_height="wrap_content" />
-            <Button android:id="@+id/button2"
-                android:layout_width="0dip"
-                android:layout_gravity="right"
-                android:layout_weight="1"
-                android:maxLines="2"
-                style="?android:attr/buttonBarButtonStyle"
-                android:layout_height="wrap_content" />
-            <LinearLayout android:id="@+id/rightSpacer"
-                android:layout_width="0dip"
-                android:layout_weight="0.25"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                android:visibility="gone" />
-        </LinearLayout>
-     </LinearLayout>
-</com.android.internal.widget.WeightedLinearLayout>
diff --git a/core/res/res/layout/alert_dialog.xml b/core/res/res/layout/alert_dialog.xml
index a1498f7..4477e07 100644
--- a/core/res/res/layout/alert_dialog.xml
+++ b/core/res/res/layout/alert_dialog.xml
@@ -18,7 +18,7 @@
 */
 -->
 
-<com.android.internal.widget.WeightedLinearLayout
+<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/parentPanel"
     android:layout_width="match_parent"
@@ -27,9 +27,7 @@
     android:paddingTop="9dip"
     android:paddingBottom="3dip"
     android:paddingLeft="3dip"
-    android:paddingRight="1dip"
-    android:majorWeightMin="0.65"
-    android:minorWeightMin="0.9">
+    android:paddingRight="1dip">
 
     <LinearLayout android:id="@+id/topPanel"
         android:layout_width="match_parent"
@@ -150,4 +148,4 @@
                 android:visibility="gone" />
         </LinearLayout>
      </LinearLayout>
-</com.android.internal.widget.WeightedLinearLayout>
+</LinearLayout>
diff --git a/core/res/res/layout/alert_dialog_holo.xml b/core/res/res/layout/alert_dialog_holo.xml
index 187504e..1002c4b 100644
--- a/core/res/res/layout/alert_dialog_holo.xml
+++ b/core/res/res/layout/alert_dialog_holo.xml
@@ -17,14 +17,12 @@
 */
 -->
 
-<com.android.internal.widget.WeightedLinearLayout
+<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/parentPanel"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:majorWeightMin="0.65"
-    android:minorWeightMin="0.9">
+    android:orientation="vertical">
 
     <LinearLayout android:id="@+id/topPanel"
         android:layout_width="match_parent"
@@ -159,4 +157,4 @@
                 android:visibility="gone" />
         </LinearLayout>
      </LinearLayout>
-</com.android.internal.widget.WeightedLinearLayout>
+</LinearLayout>
diff --git a/core/res/res/values-large/dimens.xml b/core/res/res/values-large/dimens.xml
new file mode 100644
index 0000000..5691548
--- /dev/null
+++ b/core/res/res/values-large/dimens.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2011, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources>
+    <item type="dimen" name="dialog_min_width_major">55%</item>
+    <item type="dimen" name="dialog_min_width_minor">80%</item>
+</resources>
diff --git a/core/res/res/values-large/themes.xml b/core/res/res/values-large/themes.xml
index f5c35f6..9e3e0bb 100644
--- a/core/res/res/values-large/themes.xml
+++ b/core/res/res/values-large/themes.xml
@@ -18,17 +18,17 @@
 -->
 <resources>
     <style name="Theme.Holo.DialogWhenLarge"
-            parent="@android:style/Theme.Holo.Dialog">
+            parent="@android:style/Theme.Holo.Dialog.MinWidth">
         <item name="preferencePanelStyle">@style/PreferencePanel.Dialog</item>
     </style>
     <style name="Theme.Holo.DialogWhenLarge.NoActionBar"
-            parent="@android:style/Theme.Holo.Dialog.NoActionBar">
+            parent="@android:style/Theme.Holo.Dialog.NoActionBar.MinWidth">
         <item name="preferencePanelStyle">@style/PreferencePanel.Dialog</item>
     </style>
     <style name="Theme.Holo.Light.DialogWhenLarge"
-            parent="@android:style/Theme.Holo.Light.Dialog">
+            parent="@android:style/Theme.Holo.Light.Dialog.MinWidth">
     </style>
     <style name="Theme.Holo.Light.DialogWhenLarge.NoActionBar"
-            parent="@android:style/Theme.Holo.Light.Dialog.NoActionBar">
+            parent="@android:style/Theme.Holo.Light.Dialog.NoActionBar.MinWidth">
     </style>
 </resources>
diff --git a/core/res/res/values-xlarge/dimens.xml b/core/res/res/values-xlarge/dimens.xml
index 18090ba..5b0ea30 100644
--- a/core/res/res/values-xlarge/dimens.xml
+++ b/core/res/res/values-xlarge/dimens.xml
@@ -43,4 +43,7 @@
     <dimen name="app_icon_size">64dip</dimen>
     <!-- Minimum width of the search view text entry area. -->
     <dimen name="search_view_text_min_width">192dip</dimen>
+
+    <item type="dimen" name="dialog_min_width_major">45%</item>
+    <item type="dimen" name="dialog_min_width_minor">72%</item>
 </resources>
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index fb269a6..c297751 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -1339,6 +1339,16 @@
         <attr name="windowActionModeOverlay" />
         <attr name="windowActionBarOverlay" />
         <attr name="windowEnableSplitTouch" />
+        <!-- The minimum width the window is allowed to be, along the major
+             axis of the screen.  That is, when in landscape.  Can be either
+             an absolute dimension or a fraction of the screen size in that
+             dimension. -->
+        <attr name="windowMinWidthMajor" format="dimension|fraction" />
+        <!-- The minimum width the window is allowed to be, along the minor
+             axis of the screen.  That is, when in portrait.  Can be either
+             an absolute dimension or a fraction of the screen size in that
+             dimension. -->
+        <attr name="windowMinWidthMinor" format="dimension|fraction" />
     </declare-styleable>
 
     <!-- The set of attributes that describe a AlertDialog's theme. -->
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 53d4e42..e5b6563 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -58,4 +58,14 @@
     <dimen name="preference_screen_side_margin_negative">0dp</dimen>
     <!-- Preference widget area width (to the left of the text) -->
     <dimen name="preference_widget_width">56dp</dimen>
+
+    <!-- The platform's desired minimum size for a dialog's width when it
+         is along the major axis (that is the screen is landscape).  This may
+         be either a fraction or a dimension. -->
+    <item type="dimen" name="dialog_min_width_major">65%</item>
+
+    <!-- The platform's desired minimum size for a dialog's width when it
+         is along the minor axis (that is the screen is portrait).  This may
+         be either a fraction or a dimension. -->
+    <item type="dimen" name="dialog_min_width_minor">95%</item>
 </resources>
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index dcc4bb0..6d79569 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -1422,6 +1422,8 @@
   <public type="attr" name="horizontalScrollViewStyle" />
   <public type="attr" name="layerType" />
   <public type="attr" name="alertDialogIcon" />
+  <public type="attr" name="windowMinWidthMajor" />
+  <public type="attr" name="windowMinWidthMinor" />
 
   <!-- A simple fade-in animation. -->
   <public type="animator" name="fade_in" id="0x010b0000" />
@@ -1458,21 +1460,15 @@
        sinusoidal pattern. -->
   <public type="interpolator" name="cycle" />
 
-  <!-- Acceleration curve matching a cubic ease in function. -->
-  <public type="anim" name="accelerate_cubic_interpolator" />
-  <!-- Acceleration curve matching a cubic ease out function. -->
-  <public type="anim" name="decelerate_cubic_interpolator" />
-  <!-- Acceleration curve matching a quint ease in function. -->
-  <public type="anim" name="accelerate_quint_interpolator" />
-  <!-- Acceleration curve matching a quint ease out function. -->
-  <public type="anim" name="decelerate_quint_interpolator" />
-
   <public type="id" name="home" />
   <!-- Context menu ID for the "Select text..." menu item to switch to text
        selection context mode in text views. -->
   <public type="id" name="selectTextMode" />
   <public type="id" name="up" />
 
+  <public type="dimen" name="dialog_min_width_major" />
+  <public type="dimen" name="dialog_min_width_minor" />
+
   <!-- Standard content view for a {@link android.app.ListFragment}.
        If you are implementing a subclass of ListFragment with your
        own customized content, you can include this layout in that
@@ -1494,7 +1490,6 @@
   <public type="layout" name="simple_list_item_activated_2" />
 
   <public type="style" name="Theme.WithActionBar" />
-  <public type="style" name="Theme.Dialog.NoFrame" />
   <public type="style" name="Theme.NoTitleBar.OverlayActionModes" />
 
   <public type="style" name="Theme.Holo" />
@@ -1503,15 +1498,19 @@
   <public type="style" name="Theme.Holo.NoActionBar.Fullscreen" />
   <public type="style" name="Theme.Holo.Light" />
   <public type="style" name="Theme.Holo.Dialog" />
+  <public type="style" name="Theme.Holo.Dialog.MinWidth" />
   <public type="style" name="Theme.Holo.Dialog.NoActionBar" />
+  <public type="style" name="Theme.Holo.Dialog.NoActionBar.MinWidth" />
   <public type="style" name="Theme.Holo.Light.Dialog" />
+  <public type="style" name="Theme.Holo.Light.Dialog.MinWidth" />
   <public type="style" name="Theme.Holo.Light.Dialog.NoActionBar" />
-  <public type="style" name="Theme.Holo.Dialog.Alert" />
-  <public type="style" name="Theme.Holo.Light.Dialog.Alert" />
+  <public type="style" name="Theme.Holo.Light.Dialog.NoActionBar.MinWidth" />
   <public type="style" name="Theme.Holo.DialogWhenLarge" />
   <public type="style" name="Theme.Holo.DialogWhenLarge.NoActionBar" />
   <public type="style" name="Theme.Holo.Light.DialogWhenLarge" />
   <public type="style" name="Theme.Holo.Light.DialogWhenLarge.NoActionBar" />
+  <public type="style" name="Theme.Holo.Panel" />
+  <public type="style" name="Theme.Holo.Light.Panel" />
   <public type="style" name="Theme.Holo.Wallpaper" />
   <public type="style" name="Theme.Holo.Wallpaper.NoTitleBar" />
 
@@ -1635,6 +1634,7 @@
   <public type="style" name="Widget.CalendarView" />
   <public type="style" name="Widget.Holo.CalendarView" />
   <public type="style" name="Widget.Holo.Light.CalendarView" />
+
   <public type="string" name="selectTextMode" />
 
   <!-- Default icon for applications that don't specify an icon. -->
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index 94a58f0..2aaac66 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -563,6 +563,7 @@
         <item name="android:colorBackgroundCacheHint">@null</item>
         <item name="android:windowFrame">@null</item>
         <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowAnimationStyle">@null</item>
         <item name="android:windowIsFloating">true</item>
         <item name="android:backgroundDimEnabled">false</item>
         <item name="android:windowIsTranslucent">true</item>
@@ -578,6 +579,23 @@
         <item name="android:colorBackgroundCacheHint">@null</item>
         <item name="android:windowFrame">@null</item>
         <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowAnimationStyle">@null</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:backgroundDimEnabled">false</item>
+        <item name="android:windowIsTranslucent">true</item>
+        <item name="android:windowNoTitle">true</item>
+    </style>
+
+    <!-- Default holo dark theme for panel windows.  This removes all extraneous
+         window decorations, so you basically have an empty rectangle in which
+         to place your content.  It makes the window floating, with a transparent
+         background, and turns off dimming behind the window. -->
+    <style name="Theme.Holo.Panel">
+        <item name="android:windowBackground">@android:color/transparent</item>
+        <item name="android:colorBackgroundCacheHint">@null</item>
+        <item name="android:windowFrame">@null</item>
+        <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowAnimationStyle">@null</item>
         <item name="android:windowIsFloating">true</item>
         <item name="android:backgroundDimEnabled">false</item>
         <item name="android:windowIsTranslucent">true</item>
@@ -593,6 +611,7 @@
         <item name="android:colorBackgroundCacheHint">@null</item>
         <item name="android:windowFrame">@null</item>
         <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowAnimationStyle">@null</item>
         <item name="android:windowIsFloating">true</item>
         <item name="android:backgroundDimEnabled">false</item>
         <item name="android:windowIsTranslucent">true</item>
@@ -1266,12 +1285,26 @@
         <item name="textAppearanceInverse">@android:style/TextAppearance.Holo.Inverse</item>
     </style>
 
+    <!-- Variation of Theme.Holo.Dialog that has a nice minumum width for
+         a regular dialog. -->
+    <style name="Theme.Holo.Dialog.MinWidth">
+        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
+        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item>
+    </style>
+
     <!-- Variation of Theme.Holo.Dialog that does not include a title bar. -->
     <style name="Theme.Holo.Dialog.NoActionBar">
         <item name="android:windowActionBar">false</item>
         <item name="android:windowNoTitle">true</item>
     </style>
 
+    <!-- Variation of Theme.Holo.Dialog.NoActionVar that has a nice minumum width for
+         a regular dialog. -->
+    <style name="Theme.Holo.Dialog.NoActionBar.MinWidth">
+        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
+        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item>
+    </style>
+
     <!-- Variation of Theme.Holo.Dialog that does not include a frame (or background).
          The view hierarchy of the dialog is responsible for drawing all of
          its pixels. -->
@@ -1294,6 +1327,8 @@
         <item name="windowBackground">@android:color/transparent</item>
         <item name="windowTitleStyle">@android:style/DialogWindowTitle.Holo</item>
         <item name="windowContentOverlay">@null</item>
+        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
+        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item>
     </style>
 
     <!-- Theme for a window that will be displayed either full-screen on
@@ -1336,12 +1371,26 @@
         <item name="textAppearanceInverse">@android:style/TextAppearance.Holo.Light.Inverse</item>
     </style>
 
+    <!-- Variation of Theme.Holo.Light.Dialog that has a nice minumum width for
+         a regular dialog. -->
+    <style name="Theme.Holo.Light.Dialog.MinWidth">
+        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
+        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item>
+    </style>
+
     <!-- Variation of Theme.Holo.Light.Dialog that does not include a title bar. -->
     <style name="Theme.Holo.Light.Dialog.NoActionBar">
         <item name="android:windowActionBar">false</item>
         <item name="android:windowNoTitle">true</item>
     </style>
 
+    <!-- Variation of Theme.Holo.Light.Dialog.NoActionBar that has a nice minumum width for
+         a regular dialog. -->
+    <style name="Theme.Holo.Light.Dialog.NoActionBar.MinWidth">
+        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
+        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item>
+    </style>
+
     <!-- Theme for a window that will be displayed either full-screen on
          smaller screens (small, normal) or as a dialog on larger screens
          (large, xlarge). -->
@@ -1364,6 +1413,8 @@
         <item name="windowBackground">@android:color/transparent</item>
         <item name="windowTitleStyle">@android:style/DialogWindowTitle.Holo.Light</item>
         <item name="windowContentOverlay">@null</item>
+        <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>
+        <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item>
     </style>
 
     <!-- Default holographic (dark) for windows that want to have the user's selected
diff --git a/media/libstagefright/MediaBuffer.cpp b/media/libstagefright/MediaBuffer.cpp
index cbccd31..a8fadf2c 100644
--- a/media/libstagefright/MediaBuffer.cpp
+++ b/media/libstagefright/MediaBuffer.cpp
@@ -26,17 +26,10 @@
 #include <media/stagefright/MetaData.h>
 
 #include <ui/GraphicBuffer.h>
+#include <sys/atomics.h>
 
 namespace android {
 
-// XXX make this truly atomic.
-static int atomic_add(int *value, int delta) {
-    int prev_value = *value;
-    *value += delta;
-
-    return prev_value;
-}
-
 MediaBuffer::MediaBuffer(void *data, size_t size)
     : mObserver(NULL),
       mNextBuffer(NULL),
@@ -84,7 +77,7 @@
         return;
     }
 
-    int prevCount = atomic_add(&mRefCount, -1);
+    int prevCount = __atomic_dec(&mRefCount);
     if (prevCount == 1) {
         if (mObserver == NULL) {
             delete this;
@@ -104,7 +97,7 @@
 }
 
 void MediaBuffer::add_ref() {
-    atomic_add(&mRefCount, 1);
+    (void) __atomic_inc(&mRefCount);
 }
 
 void *MediaBuffer::data() const {
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
index 6232afd..1fc2e6c 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
@@ -15,6 +15,9 @@
 
 package com.android.internal.policy.impl;
 
+import static android.view.View.MeasureSpec.AT_MOST;
+import static android.view.View.MeasureSpec.EXACTLY;
+import static android.view.View.MeasureSpec.getMode;
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
 import static android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN;
@@ -52,6 +55,7 @@
 import android.os.Parcelable;
 import android.util.AndroidRuntimeException;
 import android.util.Config;
+import android.util.DisplayMetrics;
 import android.util.EventLog;
 import android.util.Log;
 import android.util.SparseArray;
@@ -72,6 +76,7 @@
 import android.view.ViewStub;
 import android.view.Window;
 import android.view.WindowManager;
+import android.view.View.MeasureSpec;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
 import android.view.animation.Animation;
@@ -98,7 +103,10 @@
      * Simple callback used by the context menu and its submenus. The options
      * menu submenus do not use this (their behavior is more complex).
      */
-    DialogMenuCallback mContextMenuCallback = new DialogMenuCallback(FEATURE_CONTEXT_MENU);
+    final DialogMenuCallback mContextMenuCallback = new DialogMenuCallback(FEATURE_CONTEXT_MENU);
+
+    final TypedValue mMinWidthMajor = new TypedValue();
+    final TypedValue mMinWidthMinor = new TypedValue();
 
     // This is the top-level view of the window, containing the window decor.
     private DecorView mDecor;
@@ -1866,6 +1874,45 @@
         }
 
         @Override
+        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+            final DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
+            final boolean isPortrait = metrics.widthPixels < metrics.heightPixels;
+
+            final int widthMode = getMode(widthMeasureSpec);
+
+            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+
+            int width = getMeasuredWidth();
+            boolean measure = false;
+
+            widthMeasureSpec = MeasureSpec.makeMeasureSpec(width, EXACTLY);
+
+            final TypedValue tv = isPortrait ? mMinWidthMinor : mMinWidthMajor;
+
+            if (widthMode == AT_MOST && tv.type != TypedValue.TYPE_NULL) {
+                final int min;
+                if (tv.type == TypedValue.TYPE_DIMENSION) {
+                    min = (int)tv.getDimension(metrics);
+                } else if (tv.type == TypedValue.TYPE_FRACTION) {
+                    min = (int)tv.getFraction(metrics.widthPixels, metrics.widthPixels);
+                } else {
+                    min = 0;
+                }
+
+                if (width < min) {
+                    widthMeasureSpec = MeasureSpec.makeMeasureSpec(min, EXACTLY);
+                    measure = true;
+                }
+            }
+
+            // TODO: Support height?
+
+            if (measure) {
+                super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+            }
+        }
+
+        @Override
         public void draw(Canvas canvas) {
             super.draw(canvas);
 
@@ -2274,6 +2321,9 @@
             setFlags(FLAG_SPLIT_TOUCH, FLAG_SPLIT_TOUCH&(~getForcedWindowFlags()));
         }
 
+        a.getValue(com.android.internal.R.styleable.Window_windowMinWidthMajor, mMinWidthMajor);
+        a.getValue(com.android.internal.R.styleable.Window_windowMinWidthMinor, mMinWidthMinor);
+
         if (getContext().getApplicationInfo().targetSdkVersion
                 < android.os.Build.VERSION_CODES.HONEYCOMB) {
             addFlags(WindowManager.LayoutParams.FLAG_NEEDS_MENU_KEY);