Merge change 21038 into donut

* changes:
  Propagate info about whether a "call" command was issued in RecognitionResult.
diff --git a/api/current.xml b/api/current.xml
index b17cbe7..ffbe6e2 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -1438,237 +1438,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="17432608"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="17432599"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="17432598"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="17432597"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="17432596"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="17432595"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad15"
- type="int"
- transient="false"
- volatile="false"
- value="17432594"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad16"
- type="int"
- transient="false"
- volatile="false"
- value="17432593"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad17"
- type="int"
- transient="false"
- volatile="false"
- value="17432592"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad18"
- type="int"
- transient="false"
- volatile="false"
- value="17432591"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad19"
- type="int"
- transient="false"
- volatile="false"
- value="17432590"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="17432607"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad20"
- type="int"
- transient="false"
- volatile="false"
- value="17432589"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad21"
- type="int"
- transient="false"
- volatile="false"
- value="17432588"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="17432606"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="17432605"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="17432604"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="17432603"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="17432602"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="17432601"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="17432600"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="fade_in"
  type="int"
  transient="false"
@@ -1752,138 +1521,6 @@
  visibility="public"
 >
 </constructor>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="17235984"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="17235975"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="17235974"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="17235973"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="17235983"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="17235982"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="17235981"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="17235980"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="17235979"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="17235978"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="17235977"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="17235976"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="emailAddressTypes"
  type="int"
  transient="false"
@@ -3254,204 +2891,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="16843423"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="16843414"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="16843413"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="16843412"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="16843411"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="16843410"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad15"
- type="int"
- transient="false"
- volatile="false"
- value="16843409"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad16"
- type="int"
- transient="false"
- volatile="false"
- value="16843408"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad17"
- type="int"
- transient="false"
- volatile="false"
- value="16843407"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad18"
- type="int"
- transient="false"
- volatile="false"
- value="16843406"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="16843422"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="16843421"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="16843420"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="16843419"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="16843418"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="16843417"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="16843416"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="16843415"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="drawSelectorOnTop"
  type="int"
  transient="false"
@@ -9415,347 +8854,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="17170480"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="17170471"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="17170470"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="17170469"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="17170468"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="17170467"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad15"
- type="int"
- transient="false"
- volatile="false"
- value="17170466"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad16"
- type="int"
- transient="false"
- volatile="false"
- value="17170465"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad17"
- type="int"
- transient="false"
- volatile="false"
- value="17170464"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad18"
- type="int"
- transient="false"
- volatile="false"
- value="17170463"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad19"
- type="int"
- transient="false"
- volatile="false"
- value="17170462"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="17170479"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad20"
- type="int"
- transient="false"
- volatile="false"
- value="17170461"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad21"
- type="int"
- transient="false"
- volatile="false"
- value="17170460"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad22"
- type="int"
- transient="false"
- volatile="false"
- value="17170459"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad23"
- type="int"
- transient="false"
- volatile="false"
- value="17170458"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad24"
- type="int"
- transient="false"
- volatile="false"
- value="17170457"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad25"
- type="int"
- transient="false"
- volatile="false"
- value="17170456"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad26"
- type="int"
- transient="false"
- volatile="false"
- value="17170455"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad27"
- type="int"
- transient="false"
- volatile="false"
- value="17170454"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad28"
- type="int"
- transient="false"
- volatile="false"
- value="17170453"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad29"
- type="int"
- transient="false"
- volatile="false"
- value="17170452"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="17170478"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad30"
- type="int"
- transient="false"
- volatile="false"
- value="17170451"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad31"
- type="int"
- transient="false"
- volatile="false"
- value="17170450"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="17170477"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="17170476"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="17170475"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="17170474"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="17170473"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="17170472"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="primary_text_dark"
  type="int"
  transient="false"
@@ -9938,160 +9036,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="17104912"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="17104903"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="17104902"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="17104901"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="17104900"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="17104899"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="17104911"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="17104910"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="17104909"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="17104908"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="17104907"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="17104906"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="17104905"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="17104904"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="thumbnail_height"
  type="int"
  transient="false"
@@ -10406,446 +9350,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="17301712"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="17301703"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="17301702"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="17301701"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="17301700"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="17301699"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad15"
- type="int"
- transient="false"
- volatile="false"
- value="17301698"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad16"
- type="int"
- transient="false"
- volatile="false"
- value="17301697"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad17"
- type="int"
- transient="false"
- volatile="false"
- value="17301696"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad18"
- type="int"
- transient="false"
- volatile="false"
- value="17301695"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad19"
- type="int"
- transient="false"
- volatile="false"
- value="17301694"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="17301711"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad20"
- type="int"
- transient="false"
- volatile="false"
- value="17301693"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad21"
- type="int"
- transient="false"
- volatile="false"
- value="17301692"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad22"
- type="int"
- transient="false"
- volatile="false"
- value="17301691"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad23"
- type="int"
- transient="false"
- volatile="false"
- value="17301690"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad24"
- type="int"
- transient="false"
- volatile="false"
- value="17301689"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad25"
- type="int"
- transient="false"
- volatile="false"
- value="17301688"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad26"
- type="int"
- transient="false"
- volatile="false"
- value="17301687"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad27"
- type="int"
- transient="false"
- volatile="false"
- value="17301686"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad28"
- type="int"
- transient="false"
- volatile="false"
- value="17301685"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad29"
- type="int"
- transient="false"
- volatile="false"
- value="17301684"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="17301710"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad30"
- type="int"
- transient="false"
- volatile="false"
- value="17301683"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad31"
- type="int"
- transient="false"
- volatile="false"
- value="17301682"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad32"
- type="int"
- transient="false"
- volatile="false"
- value="17301681"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad33"
- type="int"
- transient="false"
- volatile="false"
- value="17301680"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad34"
- type="int"
- transient="false"
- volatile="false"
- value="17301679"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad35"
- type="int"
- transient="false"
- volatile="false"
- value="17301678"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad36"
- type="int"
- transient="false"
- volatile="false"
- value="17301677"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad37"
- type="int"
- transient="false"
- volatile="false"
- value="17301676"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad38"
- type="int"
- transient="false"
- volatile="false"
- value="17301675"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad39"
- type="int"
- transient="false"
- volatile="false"
- value="17301674"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="17301709"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad40"
- type="int"
- transient="false"
- volatile="false"
- value="17301673"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="17301708"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="17301707"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="17301706"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="17301705"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="17301704"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="edit_text"
  type="int"
  transient="false"
@@ -12513,248 +11017,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="16908352"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="16908343"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="16908342"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="16908341"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="16908340"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="16908339"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad15"
- type="int"
- transient="false"
- volatile="false"
- value="16908338"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad16"
- type="int"
- transient="false"
- volatile="false"
- value="16908337"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad17"
- type="int"
- transient="false"
- volatile="false"
- value="16908336"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad18"
- type="int"
- transient="false"
- volatile="false"
- value="16908335"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad19"
- type="int"
- transient="false"
- volatile="false"
- value="16908334"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="16908351"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad20"
- type="int"
- transient="false"
- volatile="false"
- value="16908333"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad21"
- type="int"
- transient="false"
- volatile="false"
- value="16908332"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad22"
- type="int"
- transient="false"
- volatile="false"
- value="16908331"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="16908350"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="16908349"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="16908348"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="16908347"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="16908346"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="16908345"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="16908344"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="edit"
  type="int"
  transient="false"
@@ -13146,160 +11408,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="17694736"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="17694727"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="17694726"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="17694725"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="17694724"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="17694723"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="17694735"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="17694734"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="17694733"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="17694732"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="17694731"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="17694730"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="17694729"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="17694728"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 </class>
 <class name="R.layout"
  extends="java.lang.Object"
@@ -13339,149 +11447,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="17367072"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="17367063"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="17367062"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="17367061"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="17367060"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="17367071"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="17367070"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="17367069"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="17367068"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="17367067"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="17367066"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="17367065"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="17367064"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="expandable_list_content"
  type="int"
  transient="false"
@@ -13852,303 +11817,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="17039408"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="17039399"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="17039398"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="17039397"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="17039396"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="17039395"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad15"
- type="int"
- transient="false"
- volatile="false"
- value="17039394"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad16"
- type="int"
- transient="false"
- volatile="false"
- value="17039393"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad17"
- type="int"
- transient="false"
- volatile="false"
- value="17039392"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad18"
- type="int"
- transient="false"
- volatile="false"
- value="17039391"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad19"
- type="int"
- transient="false"
- volatile="false"
- value="17039390"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="17039407"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad20"
- type="int"
- transient="false"
- volatile="false"
- value="17039389"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad21"
- type="int"
- transient="false"
- volatile="false"
- value="17039388"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad22"
- type="int"
- transient="false"
- volatile="false"
- value="17039387"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad23"
- type="int"
- transient="false"
- volatile="false"
- value="17039386"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad24"
- type="int"
- transient="false"
- volatile="false"
- value="17039385"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad25"
- type="int"
- transient="false"
- volatile="false"
- value="17039384"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad26"
- type="int"
- transient="false"
- volatile="false"
- value="17039383"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad27"
- type="int"
- transient="false"
- volatile="false"
- value="17039382"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="17039406"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="17039405"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="17039404"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="17039403"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="17039402"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="17039401"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="17039400"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 <field name="emptyPhoneNumber"
  type="int"
  transient="false"
@@ -15299,215 +12967,6 @@
  visibility="public"
 >
 </field>
-<field name="donut_resource_pad1"
- type="int"
- transient="false"
- volatile="false"
- value="16973936"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad10"
- type="int"
- transient="false"
- volatile="false"
- value="16973927"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad11"
- type="int"
- transient="false"
- volatile="false"
- value="16973926"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad12"
- type="int"
- transient="false"
- volatile="false"
- value="16973925"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad13"
- type="int"
- transient="false"
- volatile="false"
- value="16973924"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad14"
- type="int"
- transient="false"
- volatile="false"
- value="16973923"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad15"
- type="int"
- transient="false"
- volatile="false"
- value="16973922"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad16"
- type="int"
- transient="false"
- volatile="false"
- value="16973921"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad17"
- type="int"
- transient="false"
- volatile="false"
- value="16973920"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad18"
- type="int"
- transient="false"
- volatile="false"
- value="16973919"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad19"
- type="int"
- transient="false"
- volatile="false"
- value="16973918"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad2"
- type="int"
- transient="false"
- volatile="false"
- value="16973935"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad3"
- type="int"
- transient="false"
- volatile="false"
- value="16973934"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad4"
- type="int"
- transient="false"
- volatile="false"
- value="16973933"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad5"
- type="int"
- transient="false"
- volatile="false"
- value="16973932"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad6"
- type="int"
- transient="false"
- volatile="false"
- value="16973931"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad7"
- type="int"
- transient="false"
- volatile="false"
- value="16973930"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad8"
- type="int"
- transient="false"
- volatile="false"
- value="16973929"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="donut_resource_pad9"
- type="int"
- transient="false"
- volatile="false"
- value="16973928"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
 </class>
 <class name="R.xml"
  extends="java.lang.Object"
@@ -92674,7 +90133,7 @@
  type="int"
  transient="false"
  volatile="false"
- value="10000"
+ value="4"
  static="true"
  final="true"
  deprecated="not deprecated"
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 32a2891..e045105 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -1701,6 +1701,14 @@
             printRow(pw, TWO_COUNT_COLUMNS, "numPagers:", stats.numPagers, "inactivePageKB:",
                     (stats.totalBytes - stats.referencedBytes) / 1024);
             printRow(pw, ONE_COUNT_COLUMN, "activePageKB:", stats.referencedBytes / 1024);
+            
+            // Asset details.
+            String assetAlloc = AssetManager.getAssetAllocations();
+            if (assetAlloc != null) {
+                pw.println(" ");
+                pw.println(" Asset Allocations");
+                pw.print(assetAlloc);
+            }
         }
 
         private void printRow(PrintWriter pw, String format, Object...objs) {
diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java
index 7ad6423..97d46f8 100644
--- a/core/java/android/app/SearchManager.java
+++ b/core/java/android/app/SearchManager.java
@@ -369,7 +369,26 @@
  * forget to decode it.  (See {@link android.net.Uri#getPathSegments} and
  * {@link android.net.Uri#getLastPathSegment} for helpful utilities you can use here.)</li>
  * </ul>
- * 
+ *
+ * <p><b>Providing access to Content Providers that require permissions.</b>  If your content
+ * provider declares an android:readPermission in your application's manifest, you must provide
+ * access to the search infrastructure to the search suggestion path by including a path-permission
+ * that grants android:readPermission access to "android.permission.GLOBAL_SEARCH".  Granting access
+ * explicitly to the search infrastructure ensures it will be able to access the search suggestions
+ * without needing to know ahead of time any other details of the permissions protecting your
+ * provider.  Content providers that require no permissions are already available to the search
+ * infrastructure.  Here is an example of a provider that protects access to it with permissions,
+ * and provides read access to the search infrastructure to the path that it expects to receive the
+ * suggestion query on:
+ * <pre class="prettyprint">
+ * &lt;provider android:name="MyProvider" android:authorities="myprovider"
+ *        android:readPermission="android.permission.READ_MY_DATA"
+ *        android:writePermission="android.permission.WRITE_MY_DATA"&gt;
+ *    &lt;path-permission android:path="/search_suggest_query"
+ *            android:readPermission="android.permission.GLOBAL_SEARCH" /&gt;
+ * &lt;/provider&gt;
+ * </pre>
+ *
  * <p><b>Handling empty queries.</b>  Your application should handle the "empty query"
  * (no user text entered) case properly, and generate useful suggestions in this case.  There are a
  * number of ways to do this;  Two are outlined here:
@@ -377,7 +396,7 @@
  * unfiltered.  (example: People)</li>
  * <li>For a query search, you could simply present the most recent queries.  This allows the user
  * to quickly repeat a recent search.</li></ul>
- * 
+ *
  * <p><b>The Format of Individual Suggestions.</b>  Your suggestions are communicated back to the
  * Search Manager by way of a {@link android.database.Cursor Cursor}.  The Search Manager will
  * usually pass a null Projection, which means that your provider can simply return all appropriate
@@ -453,13 +472,42 @@
  *         <td align="center">No</td>
  *     </tr>
  *     
+ *     <tr><th>{@link #SUGGEST_COLUMN_INTENT_EXTRA_DATA}</th>
+ *         <td>If this column exists <i>and</i> this element exists at a given row, this is the
+ *             data that will be used when forming the suggestion's intent.  If not provided,
+ *             the Intent's extra data field will be null.  This column allows suggestions to
+ *             provide additional arbitrary data which will be included as an extra under the
+ *             key {@link #EXTRA_DATA_KEY}.</td>
+ *         <td align="center">No.</td>
+ *     </tr>
+ *
  *     <tr><th>{@link #SUGGEST_COLUMN_QUERY}</th>
  *         <td>If this column exists <i>and</i> this element exists at the given row, this is the 
  *             data that will be used when forming the suggestion's query.</td>
  *         <td align="center">Required if suggestion's action is 
  *             {@link android.content.Intent#ACTION_SEARCH ACTION_SEARCH}, optional otherwise.</td>
  *     </tr>
- *     
+ *
+ *     <tr><th>{@link #SUGGEST_COLUMN_SHORTCUT_ID}</th>
+ *         <td>This column is used to indicate whether a search suggestion should be stored as a
+ *             shortcut, and whether it should be validated.  Shortcuts are usually formed when the
+ *             user clicks a suggestion from Quick Search Box.  If missing, the result will be
+ *             stored as a shortcut and never refreshed.  If set to
+ *             {@link #SUGGEST_NEVER_MAKE_SHORTCUT}, the result will not be stored as a shortcut.
+ *             Otherwise, the shortcut id will be used to check back for for an up to date
+ *             suggestion using {@link #SUGGEST_URI_PATH_SHORTCUT}. Read more about shortcut
+ *             refreshing in the section about
+ *             <a href="#ExposingSearchSuggestionsToQuickSearchBox">exposing search suggestions to
+ *             Quick Search Box</a>.</td>
+ *         <td align="center">No.  Only applicable to sources included in Quick Search Box.</td>
+ *     </tr>
+ *
+ *     <tr><th>{@link #SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING}</th>
+ *         <td>This column is used to specify that a spinner should be shown in lieu of an icon2
+ *             while the shortcut of this suggestion is being refreshed.</td>
+ *         <td align="center">No.  Only applicable to sources included in Quick Search Box.</td>
+ *     </tr>
+ * 
  *     <tr><th><i>Other Columns</i></th>
  *         <td>Finally, if you have defined any <a href="#ActionKeys">Action Keys</a> and you wish 
  *             for them to have suggestion-specific definitions, you'll need to define one 
@@ -536,7 +584,55 @@
  * <a name="ExposingSearchSuggestionsToQuickSearchBox"></a>
  * <h3>Exposing Search Suggestions to Quick Search Box</h3>
  * 
- * <p>
+ * <p>Once your application is setup to provide search suggestions, making them available to the
+ * globally accessable Quick Search Box is as easy as setting android:includeInGlobalSearch to
+ * "true" in your searchable metadata file.  Beyond that, here are some more details of how
+ * suggestions interact with Quick Search Box, and optional ways that you may customize suggestions
+ * for your application.
+ *
+ * <p><b>Source Ranking:</b>  Once your application's search results are made available to Quick
+ * Search Box, how they surface to the user for a particular query will depend on how many
+ * other apps have results for that query, and how often the user has clicked on your results
+ * compared to the other apps'.  The apps with the best track record within Quick Search
+ * Box will get queried earlier and have a better chance of showing their results in the top few
+ * slots.  If there are more results than can be displayed to the user within a screen or two, the
+ * results may spill into a "more results" section that groups the remaining results by
+ * source.  The newest apps with little usage information are given middle of the road positioning
+ * until enough usage information is available to rank it as usual.  The exact formula for ranking
+ * the results is not set in stone, but suffice it is to say that providing quality results will
+ * increase the likelihood that your app's suggestions are provided in a prominent position, and
+ * apps that provide lower quality suggestions will be more likely to be pushed into the spillover
+ * area.
+ *
+ * <p><b>Search Settings:</b>  Each app that is available to Quick Search Box has an entry in the
+ * system settings where the user can enable or disable the inclusion of its results.  Below the
+ * name of the application, each application may provide a brief description of what kind of
+ * information will be made available via a search settings description string pointed to by the
+ * android:searchSettingsDescription attribute in the searchable metadata.
+ *
+ * <p><b>Shortcuts:</b>  Suggestions that are clicked on by the user are automatically made into
+ * shortcuts, or, copied so they can quickly be displayed to the user before querying any of
+ * the sources. Thereafter, the shortcutted suggestion will be displayed for the query that yielded
+ * the suggestion and for any prefixes of that query.  When multiple shortcuts are made available
+ * for a given query, they are ranked based on recency and the number of clicks they have received.
+ * You can control how your suggestions are made into shortcuts, and whether they are refreshed,
+ * using the {@link #SUGGEST_COLUMN_SHORTCUT_ID} column:
+ * <ul><li>Suggestions that do not include a shortcut id column will be made into shortcuts and
+ * never refreshed.  This makes sense for suggestions that refer to data that will never be changed
+ * or removed.</li>
+ * <li>Suggestions that include a shortcut id will be re-queried for a fresh version of the
+ * suggestion each time the shortcut is displayed.  The shortcut will be quickly displayed with
+ * whatever data was most recently available until the refresh query returns, after which the
+ * suggestion will be dynamically refreshed with the up to date information.  The shortcut refresh
+ * query will be sent to your suggestion provider with a uri of {@link #SUGGEST_URI_PATH_SHORTCUT}.
+ * The result should contain one suggestion using the same columns as the suggestion query, or be
+ * empty, indicating that the shortcut is no longer valid.  Shortcut ids make sense when referring
+ * to data that may change over time, such as a contact's presence status.  If a suggestion refers
+ * to data that could take longer to refresh, such as a network based refresh of a stock quote, you
+ * may include {@link #SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING} to show a progress spinner for the
+ * right hand icon until the refresh is complete.</li>
+ * <li>Finally, to prevent a suggestion from being copied into a shortcut, you may provide a
+ * shortcut id with a value of {@link #SUGGEST_NEVER_MAKE_SHORTCUT}.</li></ul>
  * 
  * <a name="ActionKeys"></a>
  * <h3>Action Keys</h3>
@@ -673,7 +769,7 @@
  *             entered.</td>
  *         <td align="center">No</td>
  *     </tr>
- *     
+ *
  *     <tr><th>android:searchButtonText</th>
  *         <td>If provided, this text will replace the default text in the "Search" button.</td>
  *         <td align="center">No</td>
@@ -853,7 +949,48 @@
  *     
  *     </tbody>
  * </table>
- * 
+ *
+ * <p>Elements of search metadata that configure search suggestions being available to Quick Search
+ * Box:
+ * <table border="2" width="85%" align="center" frame="hsides" rules="rows">
+ *
+ *     <thead>
+ *     <tr><th>Attribute</th> <th>Description</th> <th>Required?</th></tr>
+ *     </thead>
+ *
+ *     <tr><th>android:includeInGlobalSearch</th>
+ *         <td>If true, indicates the search suggestions provided by your application should be
+ *             included in the globally accessible Quick Search Box.  The attributes below are only
+ *             applicable if this is set to true.</td>
+ *         <td align="center">Yes</td>
+ *     </tr>
+ *
+ *     <tr><th>android:searchSettingsDescription</th>
+ *         <td>If provided, provides a brief description of the search suggestions that are provided
+ *             by your application to Quick Search Box, and will be displayed in the search settings
+ *             entry for your application.</td>
+ *         <td align="center">No</td>
+ *     </tr>
+ *
+ *     <tr><th>android:queryAfterZeroResults</th>
+ *         <td>Indicates whether a source should be invoked for supersets of queries it has
+ *             returned zero results for in the past.  For example, if a source returned zero
+ *             results for "bo", it would be ignored for "bob".  If set to false, this source
+ *             will only be ignored for a single session; the next time the search dialog is
+ *             invoked, all sources will be queried.  The default value is false.</td>
+ *         <td align="center">No</td>
+ *     </tr>
+ *
+ *     <tr><th>android:searchSuggestThreshold</th>
+ *         <td>Indicates the minimum number of characters needed to trigger a source from Quick
+ *             Search Box.  Only guarantees that a source will not be queried for anything shorter
+ *             than the threshold.  The default value is 0.</td>
+ *         <td align="center">No</td>
+ *     </tr>
+ *
+ *     </tbody>
+ * </table>
+ *
  * <p><b>Additional metadata for search action keys.</b>  For each action key that you would like to
  * define, you'll need to add an additional element defining that key, and using the attributes
  * discussed in <a href="#ActionKeys">Action Keys</a>.  A simple example is shown here:
@@ -1376,10 +1513,10 @@
 
     /**
      * Column name for suggestions cursor. <i>Optional.</i>  This column is used to indicate whether
-     * a search suggestion should be stored as a shortcut, and whether it should be validated.  If
+     * a search suggestion should be stored as a shortcut, and whether it should be refreshed.  If
      * missing, the result will be stored as a shortcut and never validated.  If set to
      * {@link #SUGGEST_NEVER_MAKE_SHORTCUT}, the result will not be stored as a shortcut.
-     * Otherwise, the shortcut id will be used to check back for validation via
+     * Otherwise, the shortcut id will be used to check back for an up to date suggestion using
      * {@link #SUGGEST_URI_PATH_SHORTCUT}.
      */
     public final static String SUGGEST_COLUMN_SHORTCUT_ID = "suggest_shortcut_id";
diff --git a/core/java/android/content/res/AssetManager.java b/core/java/android/content/res/AssetManager.java
index 8ebe093..0bc8a9d 100644
--- a/core/java/android/content/res/AssetManager.java
+++ b/core/java/android/content/res/AssetManager.java
@@ -667,6 +667,11 @@
     /**
      * {@hide}
      */
+    public native static final String getAssetAllocations();
+    
+    /**
+     * {@hide}
+     */
     public native static final int getGlobalAssetManagerCount();
     
     private native final int newTheme();
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index 830b0bd..1775a4b 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -120,9 +120,18 @@
          * {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} permission to be
          * able to modify the contents of the SD card.  (Apps targeting
          * earlier versions will always request the permission.)
+         * <li> They must explicitly request the
+         * {@link android.Manifest.permission#READ_PHONE_STATE} permission to be
+         * able to be able to retrieve phone state info.  (Apps targeting
+         * earlier versions will always request the permission.)
+         * <li> They are assumed to support different screen densities and
+         * sizes.  (Apps targeting earlier versions are assumed to only support
+         * medium density normal size screens unless otherwise indicated).
+         * They can still explicitly specify screen support either way with the
+         * supports-screens manifest tag.
          * </ul>
          */
-        public static final int DONUT = CUR_DEVELOPMENT;
+        public static final int DONUT = 4;
     }
     
     /** The type of build, like "user" or "eng". */
diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java
index 04a0ec8..4405a53 100755
--- a/core/java/android/speech/tts/TextToSpeech.java
+++ b/core/java/android/speech/tts/TextToSpeech.java
@@ -1032,7 +1032,7 @@
             }
             try {
                 String[] locStrings =  mITts.getLanguage();
-                if (locStrings.length == 3) {
+                if ((locStrings != null) && (locStrings.length == 3)) {
                     return new Locale(locStrings[0], locStrings[1], locStrings[2]);
                 } else {
                     return null;
diff --git a/core/java/android/widget/ProgressBar.java b/core/java/android/widget/ProgressBar.java
index 2c9e71e..b179a13 100644
--- a/core/java/android/widget/ProgressBar.java
+++ b/core/java/android/widget/ProgressBar.java
@@ -190,10 +190,12 @@
 
         mBehavior = a.getInt(R.styleable.ProgressBar_indeterminateBehavior, mBehavior);
 
-        final int resID = a.getResourceId(com.android.internal.R.styleable.ProgressBar_interpolator, -1);
+        final int resID = a.getResourceId(
+                com.android.internal.R.styleable.ProgressBar_interpolator, 
+                android.R.anim.linear_interpolator); // default to linear interpolator
         if (resID > 0) {
             setInterpolator(context, resID);
-        }
+        } 
 
         setMax(a.getInt(R.styleable.ProgressBar_max, mMax));
 
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp
index 66b2506..562cc8f 100644
--- a/core/jni/android_util_AssetManager.cpp
+++ b/core/jni/android_util_AssetManager.cpp
@@ -1536,6 +1536,22 @@
     return Asset::getGlobalCount();
 }
 
+static jobject android_content_AssetManager_getAssetAllocations(JNIEnv* env, jobject clazz)
+{
+    String8 alloc = Asset::getAssetAllocations();
+    if (alloc.length() <= 0) {
+        return NULL;
+    }
+    
+    jstring str = env->NewStringUTF(alloc.string());
+    if (str == NULL) {
+        doThrow(env, "java/lang/OutOfMemoryError");
+        return NULL;
+    }
+    
+    return str;
+}
+
 static jint android_content_AssetManager_getGlobalAssetManagerCount(JNIEnv* env, jobject clazz)
 {
     return AssetManager::getGlobalCount();
@@ -1646,6 +1662,8 @@
         (void*) android_content_AssetManager_destroy },
     { "getGlobalAssetCount", "()I",
         (void*) android_content_AssetManager_getGlobalAssetCount },
+    { "getAssetAllocations", "()Ljava/lang/String;",
+        (void*) android_content_AssetManager_getAssetAllocations },
     { "getGlobalAssetManagerCount", "()I",
         (void*) android_content_AssetManager_getGlobalAssetCount },
 };
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 48b565f..442357e 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -577,9 +577,7 @@
          backup and restore of the application's settings to external storage. -->
     <attr name="backupAgent" format="string" />
 
-    <!-- Whether the application allows its data to be backed up at all.  This
-         attribute defaults to 'true':  unless the application opts out, the
-         user will be able to back up its data to desktop storage. -->
+    <!-- This is not the attribute you are looking for. -->
     <attr name="allowBackup" format="boolean" />
 
     <!-- The <code>manifest</code> tag is the root of an
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 6a6b7fc..087e4b4 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -1128,38 +1128,16 @@
   <public type="attr" name="autoUrlDetect" />
   <public type="attr" name="resizeable" />
 
-  <public-padding type="attr" name="donut_resource_pad" end="0x0101029f" />
-
-  <public-padding type="id" name="donut_resource_pad" end="0x01020040" />
-  
   <public type="style" name="Widget.ProgressBar.Inverse" id="0x0103005b" />
   <public type="style" name="Widget.ProgressBar.Large.Inverse" id="0x0103005c" />
   <public type="style" name="Widget.ProgressBar.Small.Inverse" id="0x0103005d" /> 
-  <public-padding type="style" name="donut_resource_pad" end="0x01030070" />
-  
-  <public-padding type="string" name="donut_resource_pad" end="0x01040030" />
-
-  <public-padding type="dimen" name="donut_resource_pad" end="0x01050010" />
-
-  <public-padding type="color" name="donut_resource_pad" end="0x01060030" />
-
-  <public-padding type="array" name="donut_resource_pad" end="0x01070010" />
 
   <public type="drawable" name="stat_sys_vp_phone_call" />
   <public type="drawable" name="stat_sys_vp_phone_call_on_hold" />
   
-  <public-padding type="drawable" name="donut_resource_pad" end="0x010800d0" />
-  
-  <public-padding type="layout" name="donut_resource_pad" end="0x01090020" />
-  
   <public type="anim" name="anticipate_interpolator" />
   <public type="anim" name="overshoot_interpolator" />
   <public type="anim" name="anticipate_overshoot_interpolator" />
   <public type="anim" name="bounce_interpolator" />
   <public type="anim" name="linear_interpolator" />
-
-  <public-padding type="anim" name="donut_resource_pad" end="0x010a0020" />
-  
-  <public-padding type="integer" name="donut_resource_pad" end="0x010e0010" />
-  
 </resources>
diff --git a/include/utils/Asset.h b/include/utils/Asset.h
index 453a204..5908bcc 100644
--- a/include/utils/Asset.h
+++ b/include/utils/Asset.h
@@ -45,6 +45,7 @@
     virtual ~Asset(void);
 
     static int32_t getGlobalCount();
+    static String8 getAssetAllocations();
     
     /* used when opening an asset */
     typedef enum AccessMode {
@@ -110,6 +111,12 @@
     virtual int openFileDescriptor(off_t* outStart, off_t* outLength) const = 0;
     
     /*
+     * Return whether this asset's buffer is allocated in RAM (not mmapped).
+     * Note: not virtual so it is safe to call even when being destroyed.
+     */
+    virtual bool isAllocated(void) const { return false; }
+    
+    /*
      * Get a string identifying the asset's source.  This might be a full
      * path, it might be a colon-separated list of identifiers.
      *
@@ -197,6 +204,9 @@
 
     AccessMode  mAccessMode;        // how the asset was opened
     String8    mAssetSource;       // debug string
+    
+    Asset*		mNext;				// linked list.
+    Asset*		mPrev;
 };
 
 
@@ -239,6 +249,7 @@
     virtual off_t getLength(void) const { return mLength; }
     virtual off_t getRemainingLength(void) const { return mLength-mOffset; }
     virtual int openFileDescriptor(off_t* outStart, off_t* outLength) const;
+    virtual bool isAllocated(void) const { return mBuf != NULL; }
 
 private:
     off_t       mStart;         // absolute file offset of start of chunk
@@ -295,6 +306,7 @@
     virtual off_t getLength(void) const { return mUncompressedLen; }
     virtual off_t getRemainingLength(void) const { return mUncompressedLen-mOffset; }
     virtual int openFileDescriptor(off_t* outStart, off_t* outLength) const { return -1; }
+    virtual bool isAllocated(void) const { return mBuf != NULL; }
 
 private:
     off_t       mStart;         // offset to start of compressed data
diff --git a/libs/utils/Asset.cpp b/libs/utils/Asset.cpp
index 23cb72d..4295123 100644
--- a/libs/utils/Asset.cpp
+++ b/libs/utils/Asset.cpp
@@ -27,6 +27,7 @@
 #include <utils/ZipUtils.h>
 #include <utils/ZipFileRO.h>
 #include <utils/Log.h>
+#include <utils/threads.h>
 
 #include <string.h>
 #include <memory.h>
@@ -40,24 +41,71 @@
 # define O_BINARY 0
 #endif
 
-static volatile int32_t gCount = 0;
+static Mutex gAssetLock;
+static int32_t gCount = 0;
+static Asset* gHead = NULL;
+static Asset* gTail = NULL;
 
 int32_t Asset::getGlobalCount()
 {
+    AutoMutex _l(gAssetLock);
     return gCount;
 }
 
+String8 Asset::getAssetAllocations()
+{
+    AutoMutex _l(gAssetLock);
+    String8 res;
+    Asset* cur = gHead;
+    while (cur != NULL) {
+        if (cur->isAllocated()) {
+            res.append("    ");
+            res.append(cur->getAssetSource());
+            off_t size = (cur->getLength()+512)/1024;
+            char buf[64];
+            sprintf(buf, ": %dK\n", (int)size);
+            res.append(buf);
+        }
+        cur = cur->mNext;
+    }
+    
+    return res;
+}
+
 Asset::Asset(void)
     : mAccessMode(ACCESS_UNKNOWN)
 {
-    int count = android_atomic_inc(&gCount)+1;
-    //LOGI("Creating Asset %p #%d\n", this, count);
+    AutoMutex _l(gAssetLock);
+    gCount++;
+    mNext = mPrev = NULL;
+    if (gTail == NULL) {
+        gHead = gTail = this;
+  	} else {
+  	    mPrev = gTail;
+  	    gTail->mNext = this;
+  	    gTail = this;
+  	}
+    //LOGI("Creating Asset %p #%d\n", this, gCount);
 }
 
 Asset::~Asset(void)
 {
-    int count = android_atomic_dec(&gCount);
-    //LOGI("Destroying Asset in %p #%d\n", this, count);
+    AutoMutex _l(gAssetLock);
+	gCount--;
+    if (gHead == this) {
+        gHead = mNext;
+    }
+    if (gTail == this) {
+        gTail = mPrev;
+    }
+    if (mNext != NULL) {
+        mNext->mPrev = mPrev;
+    }
+    if (mPrev != NULL) {
+        mPrev->mNext = mNext;
+    }
+    mNext = mPrev = NULL;
+    //LOGI("Destroying Asset in %p #%d\n", this, gCount);
 }
 
 /*
diff --git a/media/libdrm/mobile1/Android.mk b/media/libdrm/mobile1/Android.mk
index 2065cd2..f105799 100644
--- a/media/libdrm/mobile1/Android.mk
+++ b/media/libdrm/mobile1/Android.mk
@@ -36,15 +36,15 @@
     $(LOCAL_PATH)/include/objmng    \
     $(LOCAL_PATH)/include/parser    \
     $(LOCAL_PATH)/include/xml       \
-    external/aes                     \
+    external/openssl/include        \
     $(call include-path-for, system-core)/cutils
 
 LOCAL_CFLAGS := $(LOCAL_DRM_CFLAG)
 
 LOCAL_SHARED_LIBRARIES :=   \
-	libaes                  \
-	libutils                \
-	libcutils
+    libutils                \
+    libcutils               \
+    libcrypto
 
 LOCAL_MODULE := libdrm1
 
@@ -66,15 +66,14 @@
 # Header files path
 LOCAL_C_INCLUDES :=         \
     $(LOCAL_PATH)/include   \
-	$(LOCAL_PATH)/include/parser \
+    $(LOCAL_PATH)/include/parser \
     $(JNI_H_INCLUDE)    \
-	$(call include-path-for, system-core)/cutils \
-	external/aes
+    $(call include-path-for, system-core)/cutils
 	
 
 LOCAL_SHARED_LIBRARIES := libdrm1 \
-	libutils                      \
-	libcutils
+    libutils                      \
+    libcutils
 
 LOCAL_MODULE := libdrm1_jni
 
diff --git a/media/libdrm/mobile1/include/objmng/drm_rights_manager.h b/media/libdrm/mobile1/include/objmng/drm_rights_manager.h
index dd2116c..d81e7a1 100644
--- a/media/libdrm/mobile1/include/objmng/drm_rights_manager.h
+++ b/media/libdrm/mobile1/include/objmng/drm_rights_manager.h
@@ -21,9 +21,9 @@
 extern "C" {
 #endif
 
+#include <openssl/aes.h>
 #include <drm_common_types.h>
 #include <parser_rel.h>
-#include <aes.h>
 
 #ifdef DRM_DEVICE_ARCH_ARM
 #define ANDROID_DRM_CORE_PATH   "/data/drm/rights/"
@@ -141,12 +141,12 @@
  *
  * \param Buffer    The buffer to decrypted and also used to save the output data.
  * \param BufferLen The length of the buffer data and also save the output data length.
- * \param ctx       The structure of the CEK.
+ * \param key       The structure of the CEK.
  *
  * \return
  *      -0
  */
-int32_t drm_aesDecBuffer(uint8_t * Buffer, int32_t * BufferLen, aes_decrypt_ctx ctx[1]);
+int32_t drm_aesDecBuffer(uint8_t * Buffer, int32_t * BufferLen, AES_KEY *key);
 
 /**
  * Update the DCF data length according the CEK.
diff --git a/media/libdrm/mobile1/src/objmng/drm_api.c b/media/libdrm/mobile1/src/objmng/drm_api.c
index 0e453de..249cdbe 100644
--- a/media/libdrm/mobile1/src/objmng/drm_api.c
+++ b/media/libdrm/mobile1/src/objmng/drm_api.c
@@ -22,7 +22,6 @@
 #include <drm_rights_manager.h>
 #include <drm_time.h>
 #include <drm_decoder.h>
-#include <aes.h>
 #include "log.h"
 
 /**
@@ -1578,7 +1577,7 @@
     int32_t readBytes = 0;
     int32_t bufLen, piece, i, copyBytes, leftBytes;
     int32_t aesStart, mediaStart, mediaBufOff;
-    aes_decrypt_ctx ctx[1];
+    AES_KEY key;
 
     if (FALSE == drm_getKey(s->contentID, keyValue))
         return DRM_NO_RIGHTS;
@@ -1600,7 +1599,7 @@
         piece = (offset + readBytes - 1) / DRM_ONE_AES_BLOCK_LEN - offset / DRM_ONE_AES_BLOCK_LEN + 2;
         mediaStart = offset % DRM_ONE_AES_BLOCK_LEN;
 
-        aes_decrypt_key128(keyValue, ctx);
+        AES_set_decrypt_key(keyValue, DRM_KEY_LEN * 8, &key);
         mediaBufOff = 0;
         leftBytes = readBytes;
 
@@ -1608,7 +1607,7 @@
             memcpy(buf, s->rawContent + aesStart + i * DRM_ONE_AES_BLOCK_LEN, DRM_TWO_AES_BLOCK_LEN);
             bufLen = DRM_TWO_AES_BLOCK_LEN;
 
-            if (drm_aesDecBuffer(buf, &bufLen, ctx) < 0)
+            if (drm_aesDecBuffer(buf, &bufLen, &key) < 0)
                 return DRM_MEDIA_DATA_INVALID;
 
             if (0 != i)
@@ -1651,7 +1650,7 @@
         piece = (offset + leftBytes - 1) / DRM_ONE_AES_BLOCK_LEN - offset / DRM_ONE_AES_BLOCK_LEN + 2;
         mediaBufOff = readBytes;
 
-        aes_decrypt_key128(keyValue, ctx);
+        AES_set_decrypt_key(keyValue, DRM_KEY_LEN * 8, &key);
 
         for (i = 0; i < piece - 1; i++) {
             if (-1 == (res = drm_readAesData(buf, s, aesStart, DRM_TWO_AES_BLOCK_LEN)))
@@ -1663,7 +1662,7 @@
             bufLen = DRM_TWO_AES_BLOCK_LEN;
             aesStart += DRM_ONE_AES_BLOCK_LEN;
 
-            if (drm_aesDecBuffer(buf, &bufLen, ctx) < 0)
+            if (drm_aesDecBuffer(buf, &bufLen, &key) < 0)
                 return DRM_MEDIA_DATA_INVALID;
 
             drm_discardPaddingByte(buf, &bufLen);
diff --git a/media/libdrm/mobile1/src/objmng/drm_rights_manager.c b/media/libdrm/mobile1/src/objmng/drm_rights_manager.c
index 80901f5..df22327 100644
--- a/media/libdrm/mobile1/src/objmng/drm_rights_manager.c
+++ b/media/libdrm/mobile1/src/objmng/drm_rights_manager.c
@@ -573,7 +573,7 @@
     return;
 }
 
-int32_t drm_aesDecBuffer(uint8_t * Buffer, int32_t * BufferLen, aes_decrypt_ctx ctx[1])
+int32_t drm_aesDecBuffer(uint8_t * Buffer, int32_t * BufferLen, AES_KEY *key)
 {
     uint8_t dbuf[3 * DRM_ONE_AES_BLOCK_LEN], buf[DRM_ONE_AES_BLOCK_LEN];
     uint64_t i, len, wlen = DRM_ONE_AES_BLOCK_LEN, curLen, restLen;
@@ -596,7 +596,7 @@
     if (len < 2 * DRM_ONE_AES_BLOCK_LEN) { /* The original file is less than one block in length */
         len -= DRM_ONE_AES_BLOCK_LEN;
         /* Decrypt from position len to position len + DRM_ONE_AES_BLOCK_LEN */
-        aes_decrypt((dbuf + len), (dbuf + len), ctx);
+        AES_decrypt((dbuf + len), (dbuf + len), key);
 
         /* Undo the CBC chaining */
         for (i = 0; i < len; ++i)
@@ -620,7 +620,7 @@
             Buffer += len;
 
             /* Decrypt the b2 block */
-            aes_decrypt((uint8_t *)b2, buf, ctx);
+            AES_decrypt((uint8_t *)b2, buf, key);
 
             if (len == 0 || len == DRM_ONE_AES_BLOCK_LEN) { /* No ciphertext stealing */
                 /* Unchain CBC using the previous ciphertext block in b1 */
@@ -639,7 +639,7 @@
                     b3[i] = buf[i];
 
                 /* Decrypt the C[N-1] block in b3 */
-                aes_decrypt((uint8_t *)b3, (uint8_t *)b3, ctx);
+                AES_decrypt((uint8_t *)b3, (uint8_t *)b3, key);
 
                 /* Produce the last but one plaintext block by xoring with */
                 /* The last but two ciphertext block */
@@ -669,15 +669,15 @@
 
 int32_t drm_updateDcfDataLen(uint8_t* pDcfLastData, uint8_t* keyValue, int32_t* moreBytes)
 {
-    aes_decrypt_ctx ctx[1];
+    AES_KEY key;
     int32_t len = DRM_TWO_AES_BLOCK_LEN;
 
     if (NULL == pDcfLastData || NULL == keyValue)
         return FALSE;
 
-    aes_decrypt_key128(keyValue, ctx);
+    AES_set_decrypt_key(keyValue, DRM_KEY_LEN * 8, &key);
 
-    if (drm_aesDecBuffer(pDcfLastData, &len, ctx) < 0)
+    if (drm_aesDecBuffer(pDcfLastData, &len, &key) < 0)
         return FALSE;
 
     drm_discardPaddingByte(pDcfLastData, &len);
diff --git a/packages/TtsService/src/android/tts/TtsService.java b/packages/TtsService/src/android/tts/TtsService.java
index 1b99d32..cd24727 100755
--- a/packages/TtsService/src/android/tts/TtsService.java
+++ b/packages/TtsService/src/android/tts/TtsService.java
@@ -172,10 +172,18 @@
     @Override
     public void onDestroy() {
         super.onDestroy();
+
+        // TODO replace the call to stopAll() with a method to clear absolutely all upcoming
+        // uses of the native synth, including synthesis to a file, and delete files for which
+        // synthesis was not complete.
+        stopAll("");
+
         // Don't hog the media player
         cleanUpPlayer();
 
-        sNativeSynth.shutdown();
+        if (sNativeSynth != null) {
+            sNativeSynth.shutdown();
+        }
         sNativeSynth = null;
 
         // Unregister all callbacks.
@@ -243,38 +251,70 @@
 
 
     private int setSpeechRate(String callingApp, int rate) {
-        if (isDefaultEnforced()) {
-            return sNativeSynth.setSpeechRate(getDefaultRate());
-        } else {
-            return sNativeSynth.setSpeechRate(rate);
+        int res = TextToSpeech.ERROR;
+        try {
+            if (isDefaultEnforced()) {
+                res = sNativeSynth.setSpeechRate(getDefaultRate());
+            } else {
+                res = sNativeSynth.setSpeechRate(rate);
+            }
+        } catch (NullPointerException e) {
+            // synth will become null during onDestroy()
+            res = TextToSpeech.ERROR;
         }
+        return res;
     }
 
 
     private int setPitch(String callingApp, int pitch) {
-        return sNativeSynth.setPitch(pitch);
+        int res = TextToSpeech.ERROR;
+        try {
+            res = sNativeSynth.setPitch(pitch);
+        } catch (NullPointerException e) {
+            // synth will become null during onDestroy()
+            res = TextToSpeech.ERROR;
+        }
+        return res;
     }
 
 
     private int isLanguageAvailable(String lang, String country, String variant) {
         //Log.v("TtsService", "TtsService.isLanguageAvailable(" + lang + ", " + country + ", " +variant+")");
-        return sNativeSynth.isLanguageAvailable(lang, country, variant);
+        int res = TextToSpeech.LANG_NOT_SUPPORTED;
+        try {
+            res = sNativeSynth.isLanguageAvailable(lang, country, variant);
+        } catch (NullPointerException e) {
+            // synth will become null during onDestroy()
+            res = TextToSpeech.LANG_NOT_SUPPORTED;
+        }
+        return res;
     }
 
 
     private String[] getLanguage() {
-        return sNativeSynth.getLanguage();
+        try {
+            return sNativeSynth.getLanguage();
+        } catch (Exception e) {
+            return null;
+        }
     }
 
 
     private int setLanguage(String callingApp, String lang, String country, String variant) {
         Log.v("TtsService", "TtsService.setLanguage(" + lang + ", " + country + ", " + variant + ")");
-        if (isDefaultEnforced()) {
-            return sNativeSynth.setLanguage(getDefaultLanguage(), getDefaultCountry(),
-                    getDefaultLocVariant());
-        } else {
-            return sNativeSynth.setLanguage(lang, country, variant);
+        int res = TextToSpeech.ERROR;
+        try {
+            if (isDefaultEnforced()) {
+                res = sNativeSynth.setLanguage(getDefaultLanguage(), getDefaultCountry(),
+                        getDefaultLocVariant());
+            } else {
+                res = sNativeSynth.setLanguage(lang, country, variant);
+            }
+        } catch (NullPointerException e) {
+            // synth will become null during onDestroy()
+            res = TextToSpeech.ERROR;
         }
+        return res;
     }
 
 
@@ -402,7 +442,12 @@
                 }
                 if ((mCurrentSpeechItem != null) &&
                      mCurrentSpeechItem.mCallingApp.equals(callingApp)) {
-                    result = sNativeSynth.stop();
+                    try {
+                        result = sNativeSynth.stop();
+                    } catch (NullPointerException e1) {
+                        // synth will become null during onDestroy()
+                        result = TextToSpeech.ERROR;
+                    }
                     mKillList.put(mCurrentSpeechItem, true);
                     if (mPlayer != null) {
                         try {
@@ -434,7 +479,8 @@
 
 
     /**
-     * Stops all speech output and removes any utterances still in the queue globally.
+     * Stops all speech output and removes any utterances still in the queue globally, except
+     * those intended to be synthesized to file.
      */
     private int stopAll(String callingApp) {
         int result = TextToSpeech.ERROR;
@@ -451,7 +497,12 @@
                 if ((mCurrentSpeechItem != null) &&
                     ((mCurrentSpeechItem.mType != SpeechItem.TEXT_TO_FILE) ||
                       mCurrentSpeechItem.mCallingApp.equals(callingApp))) {
-                    result = sNativeSynth.stop();
+                    try {
+                        result = sNativeSynth.stop();
+                    } catch (NullPointerException e1) {
+                        // synth will become null during onDestroy()
+                        result = TextToSpeech.ERROR;
+                    }
                     mKillList.put(mCurrentSpeechItem, true);
                     if (mPlayer != null) {
                         try {
@@ -591,7 +642,12 @@
                         if (speechRate.length() > 0){
                             setSpeechRate("", Integer.parseInt(speechRate));
                         }
-                        sNativeSynth.speak(speechItem.mText, streamType);
+                        try {
+                            sNativeSynth.speak(speechItem.mText, streamType);
+                        } catch (NullPointerException e) {
+                            // synth will become null during onDestroy()
+                            Log.v("TtsService", " null synth, can't speak");
+                        }
                     }
                 } catch (InterruptedException e) {
                     Log.e("TtsService", "TTS speakInternalOnly(): tryLock interrupted");
@@ -660,7 +716,12 @@
                         if (speechRate.length() > 0){
                             setSpeechRate("", Integer.parseInt(speechRate));
                         }
-                        sNativeSynth.synthesizeToFile(speechItem.mText, speechItem.mFilename);
+                        try {
+                            sNativeSynth.synthesizeToFile(speechItem.mText, speechItem.mFilename);
+                        } catch (NullPointerException e) {
+                            // synth will become null during onDestroy()
+                            Log.v("TtsService", " null synth, can't synthesize to file");
+                        }
                     }
                 } catch (InterruptedException e) {
                     Log.e("TtsService", "TTS synthToFileInternalOnly(): tryLock interrupted");
diff --git a/services/java/com/android/server/AppWidgetService.java b/services/java/com/android/server/AppWidgetService.java
index 78db6f9..5439f8b 100644
--- a/services/java/com/android/server/AppWidgetService.java
+++ b/services/java/com/android/server/AppWidgetService.java
@@ -1009,8 +1009,7 @@
         if (success) {
             // delete any hosts that didn't manage to get connected (should happen)
             // if it matters, they'll be reconnected.
-            final int N = mHosts.size();
-            for (int i=0; i<N; i++) {
+            for (int i=mHosts.size()-1; i>=0; i--) {
                 pruneHostLocked(mHosts.get(i));
             }
         } else {
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index ae790c9..04bfae6 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -4449,7 +4449,7 @@
     }
 
     final void appNotRespondingLocked(ProcessRecord app, HistoryRecord activity, 
-            final String annotation) {
+            HistoryRecord reportedActivity, final String annotation) {
         if (app.notResponding || app.crashing) {
             return;
         }
@@ -4477,8 +4477,13 @@
 
         StringBuilder info = mStringBuilder;
         info.setLength(0);
-        info.append("ANR (application not responding) in process: ");
+        info.append("ANR in process: ");
         info.append(app.processName);
+        if (reportedActivity != null && reportedActivity.app != null) {
+            info.append(" (last in ");
+            info.append(reportedActivity.app.processName);
+            info.append(")");
+        }
         if (annotation != null) {
             info.append("\nAnnotation: ");
             info.append(annotation);
@@ -4498,10 +4503,44 @@
         } else {
             // Dumping traces to a file so dump all active processes we know about
             synchronized (this) {
-                for (int i = mLRUProcesses.size() - 1 ; i >= 0 ; i--) {
+                // First, these are the most important processes.
+                final int[] imppids = new int[3];
+                int i=0;
+                imppids[0] = app.pid;
+                i++;
+                if (reportedActivity != null && reportedActivity.app != null
+                        && reportedActivity.app.thread != null
+                        && reportedActivity.app.pid != app.pid) {
+                    imppids[i] = reportedActivity.app.pid;
+                    i++;
+                }
+                imppids[i] = Process.myPid();
+                for (i=0; i<imppids.length && imppids[i] != 0; i++) {
+                    Process.sendSignal(imppids[i], Process.SIGNAL_QUIT);
+                    synchronized (this) {
+                        try {
+                            wait(200);
+                        } catch (InterruptedException e) {
+                        }
+                    }
+                }
+                for (i = mLRUProcesses.size() - 1 ; i >= 0 ; i--) {
                     ProcessRecord r = mLRUProcesses.get(i);
-                    if (r.thread != null) {
+                    boolean done = false;
+                    for (int j=0; j<imppids.length && imppids[j] != 0; j++) {
+                        if (imppids[j] == r.pid) {
+                            done = true;
+                            break;
+                        }
+                    }
+                    if (!done && r.thread != null) {
                         Process.sendSignal(r.pid, Process.SIGNAL_QUIT);
+                        synchronized (this) {
+                            try {
+                                wait(200);
+                            } catch (InterruptedException e) {
+                            }
+                        }
                     }
                 }
             }
@@ -4565,7 +4604,7 @@
                 if (!dir.exists()) {
                     fileReady = dir.mkdirs();
                     FileUtils.setPermissions(dir.getAbsolutePath(),
-                            FileUtils.S_IRWXU | FileUtils.S_IRWXG | FileUtils.S_IRWXO, -1, -1);
+                            FileUtils.S_IRWXU | FileUtils.S_IRWXG | FileUtils.S_IXOTH, -1, -1);
                 } else if (dir.isDirectory()) {
                     fileReady = true;
                 }
@@ -4575,6 +4614,18 @@
                 Log.i(TAG, "Removing old ANR trace file from " + tracesPath);
                 fileReady = f.delete();
             }
+            
+            if (removeExisting) {
+                try {
+                    f.createNewFile();
+                    FileUtils.setPermissions(f.getAbsolutePath(),
+                            FileUtils.S_IRWXU | FileUtils.S_IRWXG
+                            | FileUtils.S_IWOTH | FileUtils.S_IROTH, -1, -1);
+                    fileReady = true;
+                } catch (IOException e) {
+                    Log.w(TAG, "Unable to make ANR traces file", e);
+                }
+            }
         }
 
         return fileReady;
@@ -10597,7 +10648,7 @@
             }
             if (timeout != null && mLRUProcesses.contains(proc)) {
                 Log.w(TAG, "Timeout executing service: " + timeout);
-                appNotRespondingLocked(proc, null, "Executing service "
+                appNotRespondingLocked(proc, null, null, "Executing service "
                         + timeout.name);
             } else {
                 Message msg = mHandler.obtainMessage(SERVICE_TIMEOUT_MSG);
@@ -11392,7 +11443,8 @@
             }
             
             if (app != null) {
-                appNotRespondingLocked(app, null, "Broadcast of " + r.intent.toString());
+                appNotRespondingLocked(app, null, null,
+                        "Broadcast of " + r.intent.toString());
             }
 
             if (mPendingBroadcast == r) {
diff --git a/services/java/com/android/server/am/HistoryRecord.java b/services/java/com/android/server/am/HistoryRecord.java
index b3fc313..84ded22 100644
--- a/services/java/com/android/server/am/HistoryRecord.java
+++ b/services/java/com/android/server/am/HistoryRecord.java
@@ -470,7 +470,8 @@
                 }
                 
                 if (r.app.instrumentationClass == null) { 
-                    service.appNotRespondingLocked(r.app, r, "keyDispatchingTimedOut");
+                    service.appNotRespondingLocked(r.app, r, this,
+                            "keyDispatchingTimedOut");
                 } else {
                     Bundle info = new Bundle();
                     info.putString("shortMsg", "keyDispatchingTimedOut");
diff --git a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
index f1207e4..af59126 100644
--- a/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
+++ b/telephony/java/com/android/internal/telephony/gsm/SmsMessage.java
@@ -277,10 +277,12 @@
             }
 
             if (header != null) {
-                userData = new byte[header.length + textPart.length];
+                // Need 1 byte for UDHL
+                userData = new byte[header.length + textPart.length + 1];
 
-                System.arraycopy(header, 0, userData, 0, header.length);
-                System.arraycopy(textPart, 0, userData, header.length, textPart.length);
+                userData[0] = (byte)header.length;
+                System.arraycopy(header, 0, userData, 1, header.length);
+                System.arraycopy(textPart, 0, userData, header.length + 1, textPart.length);
             }
             else {
                 userData = textPart;
diff --git a/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewCallbacks.java b/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewCallbacks.java
index 89421e48..29000dd 100644
--- a/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewCallbacks.java
+++ b/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewCallbacks.java
@@ -19,8 +19,8 @@
 import android.app.Instrumentation;
 import android.test.ActivityInstrumentationTestCase2;
 import android.test.FlakyTest;
-import android.test.suitebuilder.annotation.MediumTest;
 
+// TODO: tests fail intermittently. Add back MediumTest annotation when fixed
 public class AutoCompleteTextViewCallbacks
         extends ActivityInstrumentationTestCase2<AutoCompleteTextViewSimple> {
 
@@ -32,7 +32,6 @@
 
     /** Test that the initial popup of the suggestions does not select anything.
      */
-    @MediumTest
     @FlakyTest(tolerance=3)
     public void testPopupNoSelection() throws Exception {
         AutoCompleteTextViewSimple theActivity = getActivity();
@@ -57,7 +56,6 @@
     }
 
     /** Test that arrow-down into the popup calls the onSelected callback. */
-    @MediumTest
     @FlakyTest(tolerance=3)
     public void testPopupEnterSelection() throws Exception {
         AutoCompleteTextViewSimple theActivity = getActivity();
@@ -95,7 +93,6 @@
     }
 
     /** Test that arrow-up out of the popup calls the onNothingSelected callback */
-    @MediumTest
     @FlakyTest(tolerance=3)
     public void testPopupLeaveSelection() {
         AutoCompleteTextViewSimple theActivity = getActivity();
diff --git a/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewPopup.java b/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewPopup.java
index 1e4cd20..c48c056 100644
--- a/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewPopup.java
+++ b/tests/FrameworkTest/tests/src/android/widget/AutoCompleteTextViewPopup.java
@@ -20,10 +20,11 @@
 import android.test.ActivityInstrumentationTestCase2;
 import android.test.FlakyTest;
 import android.test.suitebuilder.annotation.MediumTest;
-import android.util.Log;
 
 /**
  * A collection of tests on aspects of the AutoCompleteTextView's popup
+ *
+ * TODO: tests fail intermittently. Add back MediumTest annotation when fixed
  */
 public class AutoCompleteTextViewPopup
         extends ActivityInstrumentationTestCase2<AutoCompleteTextViewSimple> {
@@ -40,7 +41,6 @@
     }
 
     /** Test that we can move the selection and it responds as expected */
-    @MediumTest
     @FlakyTest(tolerance=3)
     public void testPopupSetListSelection() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
@@ -73,7 +73,6 @@
     }
 
     /** Test that we can look at the selection as we move around */
-    @MediumTest
     @FlakyTest(tolerance=3)
     public void testPopupGetListSelection() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
@@ -101,7 +100,6 @@
     }
 
     /** Test that we can clear the selection */
-    @MediumTest
     @FlakyTest(tolerance=3)
     public void testPopupClearListSelection() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
@@ -135,7 +133,6 @@
     }
 
     /** Make sure we handle an empty adapter properly */
-    @MediumTest
     @FlakyTest(tolerance=3)
     public void testPopupNavigateNoAdapter() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();
@@ -170,7 +167,6 @@
     }
 
     /** Test the show/hide behavior of the drop-down. */
-    @MediumTest
     @FlakyTest(tolerance=3)
     public void testPopupShow() throws Throwable {
         AutoCompleteTextViewSimple theActivity = getActivity();