diff options
31 files changed, 688 insertions, 678 deletions
diff --git a/api/current.xml b/api/current.xml index 38ee9f6..53ab70c 100644 --- a/api/current.xml +++ b/api/current.xml @@ -1471,17 +1471,6 @@ visibility="public" > </constructor> -<field name="accelerate_cubic_interpolator" - type="int" - transient="false" - volatile="false" - value="17432589" - static="true" - final="true" - deprecated="not deprecated" - visibility="public" -> -</field> <field name="accelerate_decelerate_interpolator" type="int" transient="false" @@ -1504,17 +1493,6 @@ visibility="public" > </field> -<field name="accelerate_quint_interpolator" - type="int" - transient="false" - volatile="false" - value="17432591" - static="true" - final="true" - deprecated="not deprecated" - visibility="public" -> -</field> <field name="anticipate_interpolator" type="int" transient="false" @@ -1559,17 +1537,6 @@ visibility="public" > </field> -<field name="decelerate_cubic_interpolator" - type="int" - transient="false" - volatile="false" - value="17432590" - static="true" - final="true" - deprecated="not deprecated" - visibility="public" -> -</field> <field name="decelerate_interpolator" type="int" transient="false" @@ -1581,17 +1548,6 @@ visibility="public" > </field> -<field name="decelerate_quint_interpolator" - type="int" - transient="false" - volatile="false" - value="17432592" - static="true" - final="true" - deprecated="not deprecated" - visibility="public" -> -</field> <field name="fade_in" type="int" transient="false" @@ -11037,6 +10993,28 @@ visibility="public" > </field> +<field name="windowMinWidthMajor" + type="int" + transient="false" + volatile="false" + value="16843608" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="windowMinWidthMinor" + type="int" + transient="false" + volatile="false" + value="16843609" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="windowNoDisplay" type="int" transient="false" @@ -11451,6 +11429,28 @@ visibility="public" > </field> +<field name="dialog_min_width_major" + type="int" + transient="false" + volatile="false" + value="17104899" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="dialog_min_width_minor" + type="int" + transient="false" + volatile="false" + value="17104900" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> <field name="thumbnail_height" type="int" transient="false" @@ -14442,6 +14442,34 @@ > </constructor> </class> +<class name="R.mipmap" + extends="java.lang.Object" + abstract="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +<constructor name="R.mipmap" + type="android.R.mipmap" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +</constructor> +<field name="sym_def_app_icon" + type="int" + transient="false" + volatile="false" + value="17629184" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +</class> <class name="R.plurals" extends="java.lang.Object" abstract="false" @@ -14832,7 +14860,7 @@ type="int" transient="false" volatile="false" - value="16974050" + value="16974053" static="true" final="true" deprecated="not deprecated" @@ -14843,7 +14871,7 @@ type="int" transient="false" volatile="false" - value="16974052" + value="16974055" static="true" final="true" deprecated="not deprecated" @@ -14854,7 +14882,7 @@ type="int" transient="false" volatile="false" - value="16974051" + value="16974054" static="true" final="true" deprecated="not deprecated" @@ -14865,7 +14893,7 @@ type="int" transient="false" volatile="false" - value="16974053" + value="16974056" static="true" final="true" deprecated="not deprecated" @@ -14876,7 +14904,7 @@ type="int" transient="false" volatile="false" - value="16974055" + value="16974058" static="true" final="true" deprecated="not deprecated" @@ -14887,7 +14915,7 @@ type="int" transient="false" volatile="false" - value="16974054" + value="16974057" static="true" final="true" deprecated="not deprecated" @@ -15206,7 +15234,7 @@ type="int" transient="false" volatile="false" - value="16973949" + value="16973952" static="true" final="true" deprecated="not deprecated" @@ -15217,7 +15245,7 @@ type="int" transient="false" volatile="false" - value="16973950" + value="16973953" static="true" final="true" deprecated="not deprecated" @@ -15334,77 +15362,77 @@ visibility="public" > </field> -<field name="Theme_Dialog_NoFrame" +<field name="Theme_Holo" type="int" transient="false" volatile="false" - value="16973930" + value="16973931" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> -<field name="Theme_Holo" +<field name="Theme_Holo_Dialog" type="int" transient="false" volatile="false" - value="16973932" + value="16973936" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> -<field name="Theme_Holo_Dialog" +<field name="Theme_Holo_DialogWhenLarge" type="int" transient="false" volatile="false" - value="16973937" + value="16973944" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> -<field name="Theme_Holo_DialogWhenLarge" +<field name="Theme_Holo_DialogWhenLarge_NoActionBar" type="int" transient="false" volatile="false" - value="16973943" + value="16973945" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> -<field name="Theme_Holo_DialogWhenLarge_NoActionBar" +<field name="Theme_Holo_Dialog_MinWidth" type="int" transient="false" volatile="false" - value="16973944" + value="16973937" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> -<field name="Theme_Holo_Dialog_Alert" +<field name="Theme_Holo_Dialog_NoActionBar" type="int" transient="false" volatile="false" - value="16973941" + value="16973938" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> -<field name="Theme_Holo_Dialog_NoActionBar" +<field name="Theme_Holo_Dialog_NoActionBar_MinWidth" type="int" transient="false" volatile="false" - value="16973938" + value="16973939" static="true" final="true" deprecated="not deprecated" @@ -15415,7 +15443,7 @@ type="int" transient="false" volatile="false" - value="16973936" + value="16973935" static="true" final="true" deprecated="not deprecated" @@ -15426,7 +15454,7 @@ type="int" transient="false" volatile="false" - value="16973939" + value="16973940" static="true" final="true" deprecated="not deprecated" @@ -15437,7 +15465,7 @@ type="int" transient="false" volatile="false" - value="16973945" + value="16973946" static="true" final="true" deprecated="not deprecated" @@ -15448,18 +15476,18 @@ type="int" transient="false" volatile="false" - value="16973946" + value="16973947" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> -<field name="Theme_Holo_Light_Dialog_Alert" +<field name="Theme_Holo_Light_Dialog_MinWidth" type="int" transient="false" volatile="false" - value="16973942" + value="16973941" static="true" final="true" deprecated="not deprecated" @@ -15470,7 +15498,29 @@ type="int" transient="false" volatile="false" - value="16973940" + value="16973942" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="Theme_Holo_Light_Dialog_NoActionBar_MinWidth" + type="int" + transient="false" + volatile="false" + value="16973943" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="Theme_Holo_Light_Panel" + type="int" + transient="false" + volatile="false" + value="16973949" static="true" final="true" deprecated="not deprecated" @@ -15481,7 +15531,7 @@ type="int" transient="false" volatile="false" - value="16973934" + value="16973933" static="true" final="true" deprecated="not deprecated" @@ -15492,7 +15542,18 @@ type="int" transient="false" volatile="false" - value="16973935" + value="16973934" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> +<field name="Theme_Holo_Panel" + type="int" + transient="false" + volatile="false" + value="16973948" static="true" final="true" deprecated="not deprecated" @@ -15503,7 +15564,7 @@ type="int" transient="false" volatile="false" - value="16973947" + value="16973950" static="true" final="true" deprecated="not deprecated" @@ -15514,7 +15575,7 @@ type="int" transient="false" volatile="false" - value="16973948" + value="16973951" static="true" final="true" deprecated="not deprecated" @@ -15547,7 +15608,7 @@ type="int" transient="false" volatile="false" - value="16973933" + value="16973932" static="true" final="true" deprecated="not deprecated" @@ -15635,7 +15696,7 @@ type="int" transient="false" volatile="false" - value="16973931" + value="16973930" static="true" final="true" deprecated="not deprecated" @@ -15767,7 +15828,7 @@ type="int" transient="false" volatile="false" - value="16973951" + value="16973954" static="true" final="true" deprecated="not deprecated" @@ -15778,7 +15839,7 @@ type="int" transient="false" volatile="false" - value="16973953" + value="16973956" static="true" final="true" deprecated="not deprecated" @@ -15789,7 +15850,7 @@ type="int" transient="false" volatile="false" - value="16973957" + value="16973960" static="true" final="true" deprecated="not deprecated" @@ -15800,7 +15861,7 @@ type="int" transient="false" volatile="false" - value="16973956" + value="16973959" static="true" final="true" deprecated="not deprecated" @@ -15866,7 +15927,7 @@ type="int" transient="false" volatile="false" - value="16974065" + value="16974068" static="true" final="true" deprecated="not deprecated" @@ -15954,7 +16015,7 @@ type="int" transient="false" volatile="false" - value="16974057" + value="16974060" static="true" final="true" deprecated="not deprecated" @@ -15976,7 +16037,7 @@ type="int" transient="false" volatile="false" - value="16973958" + value="16973961" static="true" final="true" deprecated="not deprecated" @@ -16009,7 +16070,7 @@ type="int" transient="false" volatile="false" - value="16973959" + value="16973962" static="true" final="true" deprecated="not deprecated" @@ -16020,7 +16081,7 @@ type="int" transient="false" volatile="false" - value="16974001" + value="16974004" static="true" final="true" deprecated="not deprecated" @@ -16031,7 +16092,7 @@ type="int" transient="false" volatile="false" - value="16973996" + value="16973999" static="true" final="true" deprecated="not deprecated" @@ -16042,7 +16103,7 @@ type="int" transient="false" volatile="false" - value="16974000" + value="16974003" static="true" final="true" deprecated="not deprecated" @@ -16053,7 +16114,7 @@ type="int" transient="false" volatile="false" - value="16973997" + value="16974000" static="true" final="true" deprecated="not deprecated" @@ -16064,7 +16125,7 @@ type="int" transient="false" volatile="false" - value="16973998" + value="16974001" static="true" final="true" deprecated="not deprecated" @@ -16075,7 +16136,7 @@ type="int" transient="false" volatile="false" - value="16973999" + value="16974002" static="true" final="true" deprecated="not deprecated" @@ -16086,7 +16147,7 @@ type="int" transient="false" volatile="false" - value="16973965" + value="16973968" static="true" final="true" deprecated="not deprecated" @@ -16097,7 +16158,7 @@ type="int" transient="false" volatile="false" - value="16973960" + value="16973963" static="true" final="true" deprecated="not deprecated" @@ -16108,7 +16169,7 @@ type="int" transient="false" volatile="false" - value="16974047" + value="16974050" static="true" final="true" deprecated="not deprecated" @@ -16119,7 +16180,7 @@ type="int" transient="false" volatile="false" - value="16973962" + value="16973965" static="true" final="true" deprecated="not deprecated" @@ -16130,7 +16191,7 @@ type="int" transient="false" volatile="false" - value="16973961" + value="16973964" static="true" final="true" deprecated="not deprecated" @@ -16141,7 +16202,7 @@ type="int" transient="false" volatile="false" - value="16973963" + value="16973966" static="true" final="true" deprecated="not deprecated" @@ -16152,7 +16213,7 @@ type="int" transient="false" volatile="false" - value="16974066" + value="16974069" static="true" final="true" deprecated="not deprecated" @@ -16163,7 +16224,7 @@ type="int" transient="false" volatile="false" - value="16973966" + value="16973969" static="true" final="true" deprecated="not deprecated" @@ -16174,7 +16235,7 @@ type="int" transient="false" volatile="false" - value="16973983" + value="16973986" static="true" final="true" deprecated="not deprecated" @@ -16185,7 +16246,7 @@ type="int" transient="false" volatile="false" - value="16973987" + value="16973990" static="true" final="true" deprecated="not deprecated" @@ -16196,7 +16257,7 @@ type="int" transient="false" volatile="false" - value="16973991" + value="16973994" static="true" final="true" deprecated="not deprecated" @@ -16207,7 +16268,7 @@ type="int" transient="false" volatile="false" - value="16973992" + value="16973995" static="true" final="true" deprecated="not deprecated" @@ -16218,7 +16279,7 @@ type="int" transient="false" volatile="false" - value="16973968" + value="16973971" static="true" final="true" deprecated="not deprecated" @@ -16229,7 +16290,7 @@ type="int" transient="false" volatile="false" - value="16974060" + value="16974063" static="true" final="true" deprecated="not deprecated" @@ -16240,7 +16301,7 @@ type="int" transient="false" volatile="false" - value="16973969" + value="16973972" static="true" final="true" deprecated="not deprecated" @@ -16251,7 +16312,7 @@ type="int" transient="false" volatile="false" - value="16973970" + value="16973973" static="true" final="true" deprecated="not deprecated" @@ -16262,7 +16323,7 @@ type="int" transient="false" volatile="false" - value="16973985" + value="16973988" static="true" final="true" deprecated="not deprecated" @@ -16273,7 +16334,7 @@ type="int" transient="false" volatile="false" - value="16973971" + value="16973974" static="true" final="true" deprecated="not deprecated" @@ -16284,7 +16345,7 @@ type="int" transient="false" volatile="false" - value="16974061" + value="16974064" static="true" final="true" deprecated="not deprecated" @@ -16295,7 +16356,7 @@ type="int" transient="false" volatile="false" - value="16974059" + value="16974062" static="true" final="true" deprecated="not deprecated" @@ -16306,7 +16367,7 @@ type="int" transient="false" volatile="false" - value="16974002" + value="16974005" static="true" final="true" deprecated="not deprecated" @@ -16317,7 +16378,7 @@ type="int" transient="false" volatile="false" - value="16974046" + value="16974049" static="true" final="true" deprecated="not deprecated" @@ -16328,7 +16389,7 @@ type="int" transient="false" volatile="false" - value="16974042" + value="16974045" static="true" final="true" deprecated="not deprecated" @@ -16339,7 +16400,7 @@ type="int" transient="false" volatile="false" - value="16974045" + value="16974048" static="true" final="true" deprecated="not deprecated" @@ -16350,7 +16411,7 @@ type="int" transient="false" volatile="false" - value="16974043" + value="16974046" static="true" final="true" deprecated="not deprecated" @@ -16361,7 +16422,7 @@ type="int" transient="false" volatile="false" - value="16974044" + value="16974047" static="true" final="true" deprecated="not deprecated" @@ -16372,7 +16433,7 @@ type="int" transient="false" volatile="false" - value="16974008" + value="16974011" static="true" final="true" deprecated="not deprecated" @@ -16383,7 +16444,7 @@ type="int" transient="false" volatile="false" - value="16974003" + value="16974006" static="true" final="true" deprecated="not deprecated" @@ -16394,7 +16455,7 @@ type="int" transient="false" volatile="false" - value="16974005" + value="16974008" static="true" final="true" deprecated="not deprecated" @@ -16405,7 +16466,7 @@ type="int" transient="false" volatile="false" - value="16974004" + value="16974007" static="true" final="true" deprecated="not deprecated" @@ -16416,7 +16477,7 @@ type="int" transient="false" volatile="false" - value="16974006" + value="16974009" static="true" final="true" deprecated="not deprecated" @@ -16427,7 +16488,7 @@ type="int" transient="false" volatile="false" - value="16974067" + value="16974070" static="true" final="true" deprecated="not deprecated" @@ -16438,7 +16499,7 @@ type="int" transient="false" volatile="false" - value="16974009" + value="16974012" static="true" final="true" deprecated="not deprecated" @@ -16449,7 +16510,7 @@ type="int" transient="false" volatile="false" - value="16974029" + value="16974032" static="true" final="true" deprecated="not deprecated" @@ -16460,7 +16521,7 @@ type="int" transient="false" volatile="false" - value="16974033" + value="16974036" static="true" final="true" deprecated="not deprecated" @@ -16471,7 +16532,7 @@ type="int" transient="false" volatile="false" - value="16974037" + value="16974040" static="true" final="true" deprecated="not deprecated" @@ -16482,7 +16543,7 @@ type="int" transient="false" volatile="false" - value="16974038" + value="16974041" static="true" final="true" deprecated="not deprecated" @@ -16493,7 +16554,7 @@ type="int" transient="false" volatile="false" - value="16974011" + value="16974014" static="true" final="true" deprecated="not deprecated" @@ -16504,7 +16565,7 @@ type="int" transient="false" volatile="false" - value="16974063" + value="16974066" static="true" final="true" deprecated="not deprecated" @@ -16515,7 +16576,7 @@ type="int" transient="false" volatile="false" - value="16974012" + value="16974015" static="true" final="true" deprecated="not deprecated" @@ -16526,7 +16587,7 @@ type="int" transient="false" volatile="false" - value="16974013" + value="16974016" static="true" final="true" deprecated="not deprecated" @@ -16537,7 +16598,7 @@ type="int" transient="false" volatile="false" - value="16974031" + value="16974034" static="true" final="true" deprecated="not deprecated" @@ -16548,7 +16609,7 @@ type="int" transient="false" volatile="false" - value="16974014" + value="16974017" static="true" final="true" deprecated="not deprecated" @@ -16559,7 +16620,7 @@ type="int" transient="false" volatile="false" - value="16974064" + value="16974067" static="true" final="true" deprecated="not deprecated" @@ -16570,7 +16631,7 @@ type="int" transient="false" volatile="false" - value="16974062" + value="16974065" static="true" final="true" deprecated="not deprecated" @@ -16581,7 +16642,7 @@ type="int" transient="false" volatile="false" - value="16974040" + value="16974043" static="true" final="true" deprecated="not deprecated" @@ -16592,7 +16653,7 @@ type="int" transient="false" volatile="false" - value="16974015" + value="16974018" static="true" final="true" deprecated="not deprecated" @@ -16603,7 +16664,7 @@ type="int" transient="false" volatile="false" - value="16974010" + value="16974013" static="true" final="true" deprecated="not deprecated" @@ -16614,7 +16675,7 @@ type="int" transient="false" volatile="false" - value="16974041" + value="16974044" static="true" final="true" deprecated="not deprecated" @@ -16625,7 +16686,7 @@ type="int" transient="false" volatile="false" - value="16974016" + value="16974019" static="true" final="true" deprecated="not deprecated" @@ -16636,7 +16697,7 @@ type="int" transient="false" volatile="false" - value="16974017" + value="16974020" static="true" final="true" deprecated="not deprecated" @@ -16647,7 +16708,7 @@ type="int" transient="false" volatile="false" - value="16974018" + value="16974021" static="true" final="true" deprecated="not deprecated" @@ -16658,7 +16719,7 @@ type="int" transient="false" volatile="false" - value="16974022" + value="16974025" static="true" final="true" deprecated="not deprecated" @@ -16669,7 +16730,7 @@ type="int" transient="false" volatile="false" - value="16974021" + value="16974024" static="true" final="true" deprecated="not deprecated" @@ -16680,7 +16741,7 @@ type="int" transient="false" volatile="false" - value="16974024" + value="16974027" static="true" final="true" deprecated="not deprecated" @@ -16691,7 +16752,7 @@ type="int" transient="false" volatile="false" - value="16974019" + value="16974022" static="true" final="true" deprecated="not deprecated" @@ -16702,7 +16763,7 @@ type="int" transient="false" volatile="false" - value="16974023" + value="16974026" static="true" final="true" deprecated="not deprecated" @@ -16713,7 +16774,7 @@ type="int" transient="false" volatile="false" - value="16974020" + value="16974023" static="true" final="true" deprecated="not deprecated" @@ -16724,7 +16785,7 @@ type="int" transient="false" volatile="false" - value="16974026" + value="16974029" static="true" final="true" deprecated="not deprecated" @@ -16735,7 +16796,7 @@ type="int" transient="false" volatile="false" - value="16974027" + value="16974030" static="true" final="true" deprecated="not deprecated" @@ -16746,7 +16807,7 @@ type="int" transient="false" volatile="false" - value="16974028" + value="16974031" static="true" final="true" deprecated="not deprecated" @@ -16757,7 +16818,7 @@ type="int" transient="false" volatile="false" - value="16974030" + value="16974033" static="true" final="true" deprecated="not deprecated" @@ -16768,7 +16829,7 @@ type="int" transient="false" volatile="false" - value="16974025" + value="16974028" static="true" final="true" deprecated="not deprecated" @@ -16779,7 +16840,7 @@ type="int" transient="false" volatile="false" - value="16974032" + value="16974035" static="true" final="true" deprecated="not deprecated" @@ -16790,7 +16851,7 @@ type="int" transient="false" volatile="false" - value="16974049" + value="16974052" static="true" final="true" deprecated="not deprecated" @@ -16801,7 +16862,7 @@ type="int" transient="false" volatile="false" - value="16974034" + value="16974037" static="true" final="true" deprecated="not deprecated" @@ -16812,7 +16873,7 @@ type="int" transient="false" volatile="false" - value="16974007" + value="16974010" static="true" final="true" deprecated="not deprecated" @@ -16823,7 +16884,7 @@ type="int" transient="false" volatile="false" - value="16974039" + value="16974042" static="true" final="true" deprecated="not deprecated" @@ -16834,7 +16895,7 @@ type="int" transient="false" volatile="false" - value="16974035" + value="16974038" static="true" final="true" deprecated="not deprecated" @@ -16845,7 +16906,7 @@ type="int" transient="false" volatile="false" - value="16974036" + value="16974039" static="true" final="true" deprecated="not deprecated" @@ -16856,7 +16917,7 @@ type="int" transient="false" volatile="false" - value="16973994" + value="16973997" static="true" final="true" deprecated="not deprecated" @@ -16867,7 +16928,7 @@ type="int" transient="false" volatile="false" - value="16973972" + value="16973975" static="true" final="true" deprecated="not deprecated" @@ -16878,7 +16939,7 @@ type="int" transient="false" volatile="false" - value="16973967" + value="16973970" static="true" final="true" deprecated="not deprecated" @@ -16889,7 +16950,7 @@ type="int" transient="false" volatile="false" - value="16973995" + value="16973998" static="true" final="true" deprecated="not deprecated" @@ -16900,7 +16961,7 @@ type="int" transient="false" volatile="false" - value="16973973" + value="16973976" static="true" final="true" deprecated="not deprecated" @@ -16911,7 +16972,7 @@ type="int" transient="false" volatile="false" - value="16973974" + value="16973977" static="true" final="true" deprecated="not deprecated" @@ -16922,7 +16983,7 @@ type="int" transient="false" volatile="false" - value="16973975" + value="16973978" static="true" final="true" deprecated="not deprecated" @@ -16933,7 +16994,7 @@ type="int" transient="false" volatile="false" - value="16973978" + value="16973981" static="true" final="true" deprecated="not deprecated" @@ -16944,7 +17005,7 @@ type="int" transient="false" volatile="false" - value="16973976" + value="16973979" static="true" final="true" deprecated="not deprecated" @@ -16955,7 +17016,7 @@ type="int" transient="false" volatile="false" - value="16973977" + value="16973980" static="true" final="true" deprecated="not deprecated" @@ -16966,7 +17027,7 @@ type="int" transient="false" volatile="false" - value="16973980" + value="16973983" static="true" final="true" deprecated="not deprecated" @@ -16977,7 +17038,7 @@ type="int" transient="false" volatile="false" - value="16973981" + value="16973984" static="true" final="true" deprecated="not deprecated" @@ -16988,7 +17049,7 @@ type="int" transient="false" volatile="false" - value="16973982" + value="16973985" static="true" final="true" deprecated="not deprecated" @@ -16999,7 +17060,7 @@ type="int" transient="false" volatile="false" - value="16973984" + value="16973987" static="true" final="true" deprecated="not deprecated" @@ -17010,7 +17071,7 @@ type="int" transient="false" volatile="false" - value="16973979" + value="16973982" static="true" final="true" deprecated="not deprecated" @@ -17021,7 +17082,7 @@ type="int" transient="false" volatile="false" - value="16973986" + value="16973989" static="true" final="true" deprecated="not deprecated" @@ -17032,7 +17093,7 @@ type="int" transient="false" volatile="false" - value="16974048" + value="16974051" static="true" final="true" deprecated="not deprecated" @@ -17043,7 +17104,7 @@ type="int" transient="false" volatile="false" - value="16973988" + value="16973991" static="true" final="true" deprecated="not deprecated" @@ -17054,7 +17115,7 @@ type="int" transient="false" volatile="false" - value="16973964" + value="16973967" static="true" final="true" deprecated="not deprecated" @@ -17065,7 +17126,7 @@ type="int" transient="false" volatile="false" - value="16973993" + value="16973996" static="true" final="true" deprecated="not deprecated" @@ -17076,7 +17137,7 @@ type="int" transient="false" volatile="false" - value="16973989" + value="16973992" static="true" final="true" deprecated="not deprecated" @@ -17087,7 +17148,7 @@ type="int" transient="false" volatile="false" - value="16973990" + value="16973993" static="true" final="true" deprecated="not deprecated" @@ -17109,7 +17170,7 @@ type="int" transient="false" volatile="false" - value="16974058" + value="16974061" static="true" final="true" deprecated="not deprecated" @@ -17120,7 +17181,7 @@ type="int" transient="false" volatile="false" - value="16974056" + value="16974059" static="true" final="true" deprecated="not deprecated" @@ -17153,7 +17214,7 @@ type="int" transient="false" volatile="false" - value="16973954" + value="16973957" static="true" final="true" deprecated="not deprecated" @@ -17208,7 +17269,7 @@ type="int" transient="false" volatile="false" - value="16973955" + value="16973958" static="true" final="true" deprecated="not deprecated" @@ -17351,7 +17412,7 @@ type="int" transient="false" volatile="false" - value="16973952" + value="16973955" static="true" final="true" deprecated="not deprecated" @@ -28641,21 +28702,6 @@ synchronized="false" static="false" final="false" - deprecated="deprecated" - visibility="public" -> -<parameter name="activity" type="android.app.Activity"> -</parameter> -<parameter name="tag" type="java.lang.String"> -</parameter> -</method> -<method name="show" - return="void" - abstract="false" - native="false" - synchronized="false" - static="false" - final="false" deprecated="not deprecated" visibility="public" > @@ -166345,6 +166391,60 @@ <parameter name="b" type="android.graphics.Bitmap"> </parameter> </method> +<method name="createCubemapFromCubeFaces" + return="android.renderscript.Allocation" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="rs" type="android.renderscript.RenderScript"> +</parameter> +<parameter name="xpos" type="android.graphics.Bitmap"> +</parameter> +<parameter name="xneg" type="android.graphics.Bitmap"> +</parameter> +<parameter name="ypos" type="android.graphics.Bitmap"> +</parameter> +<parameter name="yneg" type="android.graphics.Bitmap"> +</parameter> +<parameter name="zpos" type="android.graphics.Bitmap"> +</parameter> +<parameter name="zneg" type="android.graphics.Bitmap"> +</parameter> +<parameter name="mips" type="android.renderscript.Allocation.MipmapControl"> +</parameter> +<parameter name="usage" type="int"> +</parameter> +</method> +<method name="createCubemapFromCubeFaces" + return="android.renderscript.Allocation" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="rs" type="android.renderscript.RenderScript"> +</parameter> +<parameter name="xpos" type="android.graphics.Bitmap"> +</parameter> +<parameter name="xneg" type="android.graphics.Bitmap"> +</parameter> +<parameter name="ypos" type="android.graphics.Bitmap"> +</parameter> +<parameter name="yneg" type="android.graphics.Bitmap"> +</parameter> +<parameter name="zpos" type="android.graphics.Bitmap"> +</parameter> +<parameter name="zneg" type="android.graphics.Bitmap"> +</parameter> +</method> <method name="createFromBitmap" return="android.renderscript.Allocation" abstract="false" diff --git a/core/java/android/app/DialogFragment.java b/core/java/android/app/DialogFragment.java index 72a455e..6194240 100644 --- a/core/java/android/app/DialogFragment.java +++ b/core/java/android/app/DialogFragment.java @@ -207,16 +207,6 @@ public class DialogFragment extends Fragment } /** - * @deprecated Please use {@link #show(FragmentManager, String)}. - */ - @Deprecated - public void show(Activity activity, String tag) { - FragmentTransaction ft = activity.getFragmentManager().openTransaction(); - ft.add(this, tag); - ft.commit(); - } - - /** * Display the dialog, adding the fragment to the given FragmentManager. This * is a convenience for explicitly creating a transaction, adding the * fragment to it with the given tag, and committing it. This does diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index c8ca080..b2937ba 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -2630,14 +2630,8 @@ public class PackageParser { int priority = sa.getInt( com.android.internal.R.styleable.AndroidManifestIntentFilter_priority, 0); - if (priority > 0 && isActivity && (flags&PARSE_IS_SYSTEM) == 0) { - Log.w(TAG, "Activity with priority > 0, forcing to 0 at " - + mArchiveSourcePath + " " - + parser.getPositionDescription()); - priority = 0; - } outInfo.setPriority(priority); - + TypedValue v = sa.peekValue( com.android.internal.R.styleable.AndroidManifestIntentFilter_label); if (v != null && (outInfo.labelRes=v.resourceId) == 0) { diff --git a/core/java/android/webkit/JniUtil.java b/core/java/android/webkit/JniUtil.java index 704d4da..62b415c 100644 --- a/core/java/android/webkit/JniUtil.java +++ b/core/java/android/webkit/JniUtil.java @@ -17,8 +17,13 @@ package android.webkit; import android.content.Context; +import android.net.Uri; +import android.util.Log; + +import java.io.InputStream; class JniUtil { + private static final String LOGTAG = "webkit"; private JniUtil() {} // Utility class, do not instantiate. // Used by the Chromium HTTP stack. @@ -69,6 +74,75 @@ class JniUtil { return sCacheDirectory; } + private static final String ANDROID_CONTENT = "content:"; + + /** + * Called by JNI. Calculates the size of an input stream by reading it. + * @return long The size of the stream + */ + private static synchronized long contentUrlSize(String url) { + // content:// + if (url.startsWith(ANDROID_CONTENT)) { + try { + // Strip off mimetype, for compatibility with ContentLoader.java + // If we don't do this, we can fail to load Gmail attachments, + // because the URL being loaded doesn't exactly match the URL we + // have permission to read. + int mimeIndex = url.lastIndexOf('?'); + if (mimeIndex != -1) { + url = url.substring(0, mimeIndex); + } + Uri uri = Uri.parse(url); + InputStream is = sContext.getContentResolver().openInputStream(uri); + byte[] buffer = new byte[1024]; + int n; + long size = 0; + try { + while ((n = is.read(buffer)) != -1) { + size += n; + } + } finally { + is.close(); + } + return size; + } catch (Exception e) { + Log.e(LOGTAG, "Exception: " + url); + return 0; + } + } else { + return 0; + } + } + + /** + * Called by JNI. + * + * @return Opened input stream to content + * TODO: Make all content loading use this instead of BrowserFrame.java + */ + private static synchronized InputStream contentUrlStream(String url) { + // content:// + if (url.startsWith(ANDROID_CONTENT)) { + try { + // Strip off mimetype, for compatibility with ContentLoader.java + // If we don't do this, we can fail to load Gmail attachments, + // because the URL being loaded doesn't exactly match the URL we + // have permission to read. + int mimeIndex = url.lastIndexOf('?'); + if (mimeIndex != -1) { + url = url.substring(0, mimeIndex); + } + Uri uri = Uri.parse(url); + return sContext.getContentResolver().openInputStream(uri); + } catch (Exception e) { + Log.e(LOGTAG, "Exception: " + url); + return null; + } + } else { + return null; + } + } + /** * Returns true if we're using the Chromium HTTP stack. * diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java index b28a3f0..7eaab82 100644 --- a/core/java/android/webkit/WebView.java +++ b/core/java/android/webkit/WebView.java @@ -5536,8 +5536,9 @@ public class WebView extends AbsoluteLayout + "mPreventDefault = " + mPreventDefault + " mDeferTouchProcess = " + mDeferTouchProcess + " mTouchMode = " + mTouchMode); + } else { + mVelocityTracker.addMovement(ev); } - mVelocityTracker.addMovement(ev); if (mSelectingText && mSelectionStarted) { if (DebugFlags.WEB_VIEW) { Log.v(LOGTAG, "extend=" + contentX + "," + contentY); @@ -5776,8 +5777,9 @@ public class WebView extends AbsoluteLayout + mPreventDefault + " mDeferTouchProcess = " + mDeferTouchProcess); + } else { + mVelocityTracker.addMovement(ev); } - mVelocityTracker.addMovement(ev); // set to MOTIONLESS_IGNORE so that it won't keep // removing and sending message in // drawCoreAndCursorRing() @@ -5852,6 +5854,11 @@ public class WebView extends AbsoluteLayout final ScaleGestureDetector detector = mZoomManager.getMultiTouchGestureDetector(); + + // A few apps use WebView but don't instantiate gesture detector. + // We don't need to support multi touch for them. + if (detector == null) return false; + int action = ev.getAction(); float x = ev.getX(); float y = ev.getY(); diff --git a/core/res/res/anim/accelerate_quint_interpolator.xml b/core/res/res/anim/accelerate_quint_interpolator.xml deleted file mode 100644 index cd3595c..0000000 --- a/core/res/res/anim/accelerate_quint_interpolator.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2010, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> - -<accelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android" - android:factor="2.5" /> diff --git a/core/res/res/anim/decelerate_cubic_interpolator.xml b/core/res/res/anim/decelerate_cubic_interpolator.xml deleted file mode 100644 index 550a591..0000000 --- a/core/res/res/anim/decelerate_cubic_interpolator.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2010, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> - -<decelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android" - android:factor="1.5" /> diff --git a/core/res/res/anim/decelerate_quint_interpolator.xml b/core/res/res/anim/decelerate_quint_interpolator.xml deleted file mode 100644 index 7545b17..0000000 --- a/core/res/res/anim/decelerate_quint_interpolator.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2010, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> - -<decelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android" - android:factor="2.5" /> diff --git a/core/res/res/layout-xlarge/alert_dialog.xml b/core/res/res/layout-xlarge/alert_dialog.xml deleted file mode 100644 index 9444206..0000000 --- a/core/res/res/layout-xlarge/alert_dialog.xml +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* //device/apps/common/res/layout/alert_dialog.xml -** -** Copyright 2006, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> - -<com.android.internal.widget.WeightedLinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/parentPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical" - android:paddingTop="9dip" - android:paddingBottom="3dip" - android:paddingLeft="3dip" - android:paddingRight="1dip" - android:majorWeightMin="0.45" - android:minorWeightMin="0.72"> - - <LinearLayout android:id="@+id/topPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="54dip" - android:orientation="vertical"> - <LinearLayout android:id="@+id/title_template" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:gravity="center_vertical" - android:layout_marginTop="6dip" - android:layout_marginBottom="9dip" - android:layout_marginLeft="10dip" - android:layout_marginRight="10dip"> - <ImageView android:id="@+id/icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="top" - android:paddingTop="6dip" - android:paddingRight="10dip" - android:src="@drawable/ic_dialog_info" /> - <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle" - style="?android:attr/textAppearanceLarge" - android:singleLine="true" - android:ellipsize="end" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - </LinearLayout> - <ImageView android:id="@+id/titleDivider" - android:layout_width="match_parent" - android:layout_height="1dip" - android:visibility="gone" - android:scaleType="fitXY" - android:gravity="fill_horizontal" - android:src="@android:drawable/divider_horizontal_dark" /> - <!-- If the client uses a customTitle, it will be added here. --> - </LinearLayout> - - <LinearLayout android:id="@+id/contentPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:orientation="vertical"> - <ScrollView android:id="@+id/scrollView" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingTop="2dip" - android:paddingBottom="12dip" - android:paddingLeft="14dip" - android:paddingRight="10dip"> - <TextView android:id="@+id/message" - style="?android:attr/textAppearanceMedium" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:padding="5dip" /> - </ScrollView> - </LinearLayout> - - <FrameLayout android:id="@+id/customPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1"> - <FrameLayout android:id="@+android:id/custom" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingTop="5dip" - android:paddingBottom="5dip" /> - </FrameLayout> - - <LinearLayout android:id="@+id/buttonPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="54dip" - android:orientation="vertical" > - <LinearLayout - style="?android:attr/buttonBarStyle" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:paddingTop="4dip" - android:paddingLeft="2dip" - android:paddingRight="2dip" - android:measureWithLargestChild="true"> - <LinearLayout android:id="@+id/leftSpacer" - android:layout_weight="0.25" - android:layout_width="0dip" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:visibility="gone" /> - <Button android:id="@+id/button1" - android:layout_width="0dip" - android:layout_gravity="left" - android:layout_weight="1" - style="?android:attr/buttonBarButtonStyle" - android:maxLines="2" - android:layout_height="wrap_content" /> - <Button android:id="@+id/button3" - android:layout_width="0dip" - android:layout_gravity="center_horizontal" - android:layout_weight="1" - style="?android:attr/buttonBarButtonStyle" - android:maxLines="2" - android:layout_height="wrap_content" /> - <Button android:id="@+id/button2" - android:layout_width="0dip" - android:layout_gravity="right" - android:layout_weight="1" - style="?android:attr/buttonBarButtonStyle" - android:maxLines="2" - android:layout_height="wrap_content" /> - <LinearLayout android:id="@+id/rightSpacer" - android:layout_width="0dip" - android:layout_weight="0.25" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:visibility="gone" /> - </LinearLayout> - </LinearLayout> -</com.android.internal.widget.WeightedLinearLayout> diff --git a/core/res/res/layout-xlarge/alert_dialog_holo.xml b/core/res/res/layout-xlarge/alert_dialog_holo.xml deleted file mode 100644 index 2ebe7cd..0000000 --- a/core/res/res/layout-xlarge/alert_dialog_holo.xml +++ /dev/null @@ -1,162 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* -** Copyright 2010, The Android Open Source Project -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ ---> - -<com.android.internal.widget.WeightedLinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/parentPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical" - android:majorWeightMin="0.45" - android:minorWeightMin="0.72"> - - <LinearLayout android:id="@+id/topPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="64dip" - android:orientation="vertical"> - <ImageView android:id="@+id/titleDividerTop" - android:layout_width="match_parent" - android:layout_height="4dip" - android:visibility="gone" - android:scaleType="fitXY" - android:gravity="fill_horizontal" - android:paddingLeft="16dip" - android:paddingRight="16dip" - android:src="@android:drawable/divider_strong_holo" /> - <LinearLayout android:id="@+id/title_template" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:gravity="center_vertical" - android:layout_marginTop="8dip" - android:layout_marginBottom="8dip" - android:layout_marginLeft="32dip" - android:layout_marginRight="32dip"> - <ImageView android:id="@+id/icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingRight="16dip" - android:src="@null" /> - <com.android.internal.widget.DialogTitle android:id="@+id/alertTitle" - style="?android:attr/textAppearanceMedium" - android:singleLine="true" - android:ellipsize="end" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - </LinearLayout> - <ImageView android:id="@+id/titleDivider" - android:layout_width="match_parent" - android:layout_height="4dip" - android:visibility="gone" - android:scaleType="fitXY" - android:gravity="fill_horizontal" - android:paddingLeft="16dip" - android:paddingRight="16dip" - android:src="@android:drawable/divider_strong_holo" /> - <!-- If the client uses a customTitle, it will be added here. --> - </LinearLayout> - - <LinearLayout android:id="@+id/contentPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1" - android:orientation="vertical"> - <ScrollView android:id="@+id/scrollView" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginLeft="16dip" - android:layout_marginRight="16dip" - android:paddingTop="32dip" - android:paddingBottom="32dip" - android:clipToPadding="false"> - <TextView android:id="@+id/message" - style="?android:attr/textAppearanceMedium" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingLeft="16dip" - android:paddingRight="16dip" /> - </ScrollView> - </LinearLayout> - - <FrameLayout android:id="@+id/customPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_weight="1"> - <FrameLayout android:id="@+android:id/custom" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingTop="8dip" - android:paddingBottom="8dip" - android:paddingLeft="32dip" - android:paddingRight="32dip" /> - </FrameLayout> - - <LinearLayout android:id="@+id/buttonPanel" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="54dip" - android:orientation="vertical" - android:divider="?android:attr/dividerHorizontal" - android:showDividers="beginning" - android:dividerPadding="16dip"> - <LinearLayout - style="?android:attr/buttonBarStyle" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:paddingLeft="2dip" - android:paddingRight="2dip" - android:measureWithLargestChild="true"> - <LinearLayout android:id="@+id/leftSpacer" - android:layout_weight="0.25" - android:layout_width="0dip" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:visibility="gone" /> - <Button android:id="@+id/button1" - android:layout_width="0dip" - android:layout_gravity="left" - android:layout_weight="1" - android:maxLines="2" - style="?android:attr/buttonBarButtonStyle" - android:layout_height="wrap_content" /> - <Button android:id="@+id/button3" - android:layout_width="0dip" - android:layout_gravity="center_horizontal" - android:layout_weight="1" - android:maxLines="2" - style="?android:attr/buttonBarButtonStyle" - android:layout_height="wrap_content" /> - <Button android:id="@+id/button2" - android:layout_width="0dip" - android:layout_gravity="right" - android:layout_weight="1" - android:maxLines="2" - style="?android:attr/buttonBarButtonStyle" - android:layout_height="wrap_content" /> - <LinearLayout android:id="@+id/rightSpacer" - android:layout_width="0dip" - android:layout_weight="0.25" - android:layout_height="wrap_content" - android:orientation="horizontal" - android:visibility="gone" /> - </LinearLayout> - </LinearLayout> -</com.android.internal.widget.WeightedLinearLayout> diff --git a/core/res/res/layout/alert_dialog.xml b/core/res/res/layout/alert_dialog.xml index a1498f7..4477e07 100644 --- a/core/res/res/layout/alert_dialog.xml +++ b/core/res/res/layout/alert_dialog.xml @@ -18,7 +18,7 @@ */ --> -<com.android.internal.widget.WeightedLinearLayout +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/parentPanel" android:layout_width="match_parent" @@ -27,9 +27,7 @@ android:paddingTop="9dip" android:paddingBottom="3dip" android:paddingLeft="3dip" - android:paddingRight="1dip" - android:majorWeightMin="0.65" - android:minorWeightMin="0.9"> + android:paddingRight="1dip"> <LinearLayout android:id="@+id/topPanel" android:layout_width="match_parent" @@ -150,4 +148,4 @@ android:visibility="gone" /> </LinearLayout> </LinearLayout> -</com.android.internal.widget.WeightedLinearLayout> +</LinearLayout> diff --git a/core/res/res/layout/alert_dialog_holo.xml b/core/res/res/layout/alert_dialog_holo.xml index 187504e..1002c4b 100644 --- a/core/res/res/layout/alert_dialog_holo.xml +++ b/core/res/res/layout/alert_dialog_holo.xml @@ -17,14 +17,12 @@ */ --> -<com.android.internal.widget.WeightedLinearLayout +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/parentPanel" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" - android:majorWeightMin="0.65" - android:minorWeightMin="0.9"> + android:orientation="vertical"> <LinearLayout android:id="@+id/topPanel" android:layout_width="match_parent" @@ -159,4 +157,4 @@ android:visibility="gone" /> </LinearLayout> </LinearLayout> -</com.android.internal.widget.WeightedLinearLayout> +</LinearLayout> diff --git a/core/res/res/mipmap-hdpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/mipmap-hdpi/sym_app_on_sd_unavailable_icon.png Binary files differnew file mode 100644 index 0000000..d915d41 --- /dev/null +++ b/core/res/res/mipmap-hdpi/sym_app_on_sd_unavailable_icon.png diff --git a/core/res/res/mipmap-hdpi/sym_def_app_icon.png b/core/res/res/mipmap-hdpi/sym_def_app_icon.png Binary files differnew file mode 100644 index 0000000..075d908 --- /dev/null +++ b/core/res/res/mipmap-hdpi/sym_def_app_icon.png diff --git a/core/res/res/mipmap-ldpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/mipmap-ldpi/sym_app_on_sd_unavailable_icon.png Binary files differnew file mode 100644 index 0000000..d88250a --- /dev/null +++ b/core/res/res/mipmap-ldpi/sym_app_on_sd_unavailable_icon.png diff --git a/core/res/res/mipmap-ldpi/sym_def_app_icon.png b/core/res/res/mipmap-ldpi/sym_def_app_icon.png Binary files differnew file mode 100644 index 0000000..2c205c8 --- /dev/null +++ b/core/res/res/mipmap-ldpi/sym_def_app_icon.png diff --git a/core/res/res/mipmap-mdpi/sym_app_on_sd_unavailable_icon.png b/core/res/res/mipmap-mdpi/sym_app_on_sd_unavailable_icon.png Binary files differnew file mode 100644 index 0000000..4730668 --- /dev/null +++ b/core/res/res/mipmap-mdpi/sym_app_on_sd_unavailable_icon.png diff --git a/core/res/res/mipmap-mdpi/sym_def_app_icon.png b/core/res/res/mipmap-mdpi/sym_def_app_icon.png Binary files differnew file mode 100644 index 0000000..9777d11 --- /dev/null +++ b/core/res/res/mipmap-mdpi/sym_def_app_icon.png diff --git a/core/res/res/anim/accelerate_cubic_interpolator.xml b/core/res/res/values-large/dimens.xml index 90f62da..5691548 100644 --- a/core/res/res/anim/accelerate_cubic_interpolator.xml +++ b/core/res/res/values-large/dimens.xml @@ -1,21 +1,22 @@ <?xml version="1.0" encoding="utf-8"?> <!-- /* -** Copyright 2010, The Android Open Source Project +** Copyright 2011, The Android Open Source Project ** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at ** -** http://www.apache.org/licenses/LICENSE-2.0 +** http://www.apache.org/licenses/LICENSE-2.0 ** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and ** limitations under the License. */ --> - -<accelerateInterpolator xmlns:android="http://schemas.android.com/apk/res/android" - android:factor="1.5" /> +<resources> + <item type="dimen" name="dialog_min_width_major">55%</item> + <item type="dimen" name="dialog_min_width_minor">80%</item> +</resources> diff --git a/core/res/res/values-large/themes.xml b/core/res/res/values-large/themes.xml index f5c35f6..9e3e0bb 100644 --- a/core/res/res/values-large/themes.xml +++ b/core/res/res/values-large/themes.xml @@ -18,17 +18,17 @@ --> <resources> <style name="Theme.Holo.DialogWhenLarge" - parent="@android:style/Theme.Holo.Dialog"> + parent="@android:style/Theme.Holo.Dialog.MinWidth"> <item name="preferencePanelStyle">@style/PreferencePanel.Dialog</item> </style> <style name="Theme.Holo.DialogWhenLarge.NoActionBar" - parent="@android:style/Theme.Holo.Dialog.NoActionBar"> + parent="@android:style/Theme.Holo.Dialog.NoActionBar.MinWidth"> <item name="preferencePanelStyle">@style/PreferencePanel.Dialog</item> </style> <style name="Theme.Holo.Light.DialogWhenLarge" - parent="@android:style/Theme.Holo.Light.Dialog"> + parent="@android:style/Theme.Holo.Light.Dialog.MinWidth"> </style> <style name="Theme.Holo.Light.DialogWhenLarge.NoActionBar" - parent="@android:style/Theme.Holo.Light.Dialog.NoActionBar"> + parent="@android:style/Theme.Holo.Light.Dialog.NoActionBar.MinWidth"> </style> </resources> diff --git a/core/res/res/values-xlarge/dimens.xml b/core/res/res/values-xlarge/dimens.xml index 18090ba..5b0ea30 100644 --- a/core/res/res/values-xlarge/dimens.xml +++ b/core/res/res/values-xlarge/dimens.xml @@ -43,4 +43,7 @@ <dimen name="app_icon_size">64dip</dimen> <!-- Minimum width of the search view text entry area. --> <dimen name="search_view_text_min_width">192dip</dimen> + + <item type="dimen" name="dialog_min_width_major">45%</item> + <item type="dimen" name="dialog_min_width_minor">72%</item> </resources> diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index fb269a6..c297751 100755 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -1339,6 +1339,16 @@ <attr name="windowActionModeOverlay" /> <attr name="windowActionBarOverlay" /> <attr name="windowEnableSplitTouch" /> + <!-- The minimum width the window is allowed to be, along the major + axis of the screen. That is, when in landscape. Can be either + an absolute dimension or a fraction of the screen size in that + dimension. --> + <attr name="windowMinWidthMajor" format="dimension|fraction" /> + <!-- The minimum width the window is allowed to be, along the minor + axis of the screen. That is, when in portrait. Can be either + an absolute dimension or a fraction of the screen size in that + dimension. --> + <attr name="windowMinWidthMinor" format="dimension|fraction" /> </declare-styleable> <!-- The set of attributes that describe a AlertDialog's theme. --> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 53d4e42..e5b6563 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -58,4 +58,14 @@ <dimen name="preference_screen_side_margin_negative">0dp</dimen> <!-- Preference widget area width (to the left of the text) --> <dimen name="preference_widget_width">56dp</dimen> + + <!-- The platform's desired minimum size for a dialog's width when it + is along the major axis (that is the screen is landscape). This may + be either a fraction or a dimension. --> + <item type="dimen" name="dialog_min_width_major">65%</item> + + <!-- The platform's desired minimum size for a dialog's width when it + is along the minor axis (that is the screen is portrait). This may + be either a fraction or a dimension. --> + <item type="dimen" name="dialog_min_width_minor">95%</item> </resources> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index e124d9d..6d79569 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -1422,6 +1422,8 @@ <public type="attr" name="horizontalScrollViewStyle" /> <public type="attr" name="layerType" /> <public type="attr" name="alertDialogIcon" /> + <public type="attr" name="windowMinWidthMajor" /> + <public type="attr" name="windowMinWidthMinor" /> <!-- A simple fade-in animation. --> <public type="animator" name="fade_in" id="0x010b0000" /> @@ -1458,21 +1460,15 @@ sinusoidal pattern. --> <public type="interpolator" name="cycle" /> - <!-- Acceleration curve matching a cubic ease in function. --> - <public type="anim" name="accelerate_cubic_interpolator" /> - <!-- Acceleration curve matching a cubic ease out function. --> - <public type="anim" name="decelerate_cubic_interpolator" /> - <!-- Acceleration curve matching a quint ease in function. --> - <public type="anim" name="accelerate_quint_interpolator" /> - <!-- Acceleration curve matching a quint ease out function. --> - <public type="anim" name="decelerate_quint_interpolator" /> - <public type="id" name="home" /> <!-- Context menu ID for the "Select text..." menu item to switch to text selection context mode in text views. --> <public type="id" name="selectTextMode" /> <public type="id" name="up" /> + <public type="dimen" name="dialog_min_width_major" /> + <public type="dimen" name="dialog_min_width_minor" /> + <!-- Standard content view for a {@link android.app.ListFragment}. If you are implementing a subclass of ListFragment with your own customized content, you can include this layout in that @@ -1494,7 +1490,6 @@ <public type="layout" name="simple_list_item_activated_2" /> <public type="style" name="Theme.WithActionBar" /> - <public type="style" name="Theme.Dialog.NoFrame" /> <public type="style" name="Theme.NoTitleBar.OverlayActionModes" /> <public type="style" name="Theme.Holo" /> @@ -1503,15 +1498,19 @@ <public type="style" name="Theme.Holo.NoActionBar.Fullscreen" /> <public type="style" name="Theme.Holo.Light" /> <public type="style" name="Theme.Holo.Dialog" /> + <public type="style" name="Theme.Holo.Dialog.MinWidth" /> <public type="style" name="Theme.Holo.Dialog.NoActionBar" /> + <public type="style" name="Theme.Holo.Dialog.NoActionBar.MinWidth" /> <public type="style" name="Theme.Holo.Light.Dialog" /> + <public type="style" name="Theme.Holo.Light.Dialog.MinWidth" /> <public type="style" name="Theme.Holo.Light.Dialog.NoActionBar" /> - <public type="style" name="Theme.Holo.Dialog.Alert" /> - <public type="style" name="Theme.Holo.Light.Dialog.Alert" /> + <public type="style" name="Theme.Holo.Light.Dialog.NoActionBar.MinWidth" /> <public type="style" name="Theme.Holo.DialogWhenLarge" /> <public type="style" name="Theme.Holo.DialogWhenLarge.NoActionBar" /> <public type="style" name="Theme.Holo.Light.DialogWhenLarge" /> <public type="style" name="Theme.Holo.Light.DialogWhenLarge.NoActionBar" /> + <public type="style" name="Theme.Holo.Panel" /> + <public type="style" name="Theme.Holo.Light.Panel" /> <public type="style" name="Theme.Holo.Wallpaper" /> <public type="style" name="Theme.Holo.Wallpaper.NoTitleBar" /> @@ -1635,6 +1634,9 @@ <public type="style" name="Widget.CalendarView" /> <public type="style" name="Widget.Holo.CalendarView" /> <public type="style" name="Widget.Holo.Light.CalendarView" /> + <public type="string" name="selectTextMode" /> + <!-- Default icon for applications that don't specify an icon. --> + <public type="mipmap" name="sym_def_app_icon" id="0x010d0000" /> </resources> diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml index 94a58f0..2aaac66 100644 --- a/core/res/res/values/themes.xml +++ b/core/res/res/values/themes.xml @@ -563,6 +563,7 @@ <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowFrame">@null</item> <item name="android:windowContentOverlay">@null</item> + <item name="android:windowAnimationStyle">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:backgroundDimEnabled">false</item> <item name="android:windowIsTranslucent">true</item> @@ -578,6 +579,23 @@ <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowFrame">@null</item> <item name="android:windowContentOverlay">@null</item> + <item name="android:windowAnimationStyle">@null</item> + <item name="android:windowIsFloating">true</item> + <item name="android:backgroundDimEnabled">false</item> + <item name="android:windowIsTranslucent">true</item> + <item name="android:windowNoTitle">true</item> + </style> + + <!-- Default holo dark theme for panel windows. This removes all extraneous + window decorations, so you basically have an empty rectangle in which + to place your content. It makes the window floating, with a transparent + background, and turns off dimming behind the window. --> + <style name="Theme.Holo.Panel"> + <item name="android:windowBackground">@android:color/transparent</item> + <item name="android:colorBackgroundCacheHint">@null</item> + <item name="android:windowFrame">@null</item> + <item name="android:windowContentOverlay">@null</item> + <item name="android:windowAnimationStyle">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:backgroundDimEnabled">false</item> <item name="android:windowIsTranslucent">true</item> @@ -593,6 +611,7 @@ <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowFrame">@null</item> <item name="android:windowContentOverlay">@null</item> + <item name="android:windowAnimationStyle">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:backgroundDimEnabled">false</item> <item name="android:windowIsTranslucent">true</item> @@ -1266,12 +1285,26 @@ <item name="textAppearanceInverse">@android:style/TextAppearance.Holo.Inverse</item> </style> + <!-- Variation of Theme.Holo.Dialog that has a nice minumum width for + a regular dialog. --> + <style name="Theme.Holo.Dialog.MinWidth"> + <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item> + <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item> + </style> + <!-- Variation of Theme.Holo.Dialog that does not include a title bar. --> <style name="Theme.Holo.Dialog.NoActionBar"> <item name="android:windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style> + <!-- Variation of Theme.Holo.Dialog.NoActionVar that has a nice minumum width for + a regular dialog. --> + <style name="Theme.Holo.Dialog.NoActionBar.MinWidth"> + <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item> + <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item> + </style> + <!-- Variation of Theme.Holo.Dialog that does not include a frame (or background). The view hierarchy of the dialog is responsible for drawing all of its pixels. --> @@ -1294,6 +1327,8 @@ <item name="windowBackground">@android:color/transparent</item> <item name="windowTitleStyle">@android:style/DialogWindowTitle.Holo</item> <item name="windowContentOverlay">@null</item> + <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item> + <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item> </style> <!-- Theme for a window that will be displayed either full-screen on @@ -1336,12 +1371,26 @@ <item name="textAppearanceInverse">@android:style/TextAppearance.Holo.Light.Inverse</item> </style> + <!-- Variation of Theme.Holo.Light.Dialog that has a nice minumum width for + a regular dialog. --> + <style name="Theme.Holo.Light.Dialog.MinWidth"> + <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item> + <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item> + </style> + <!-- Variation of Theme.Holo.Light.Dialog that does not include a title bar. --> <style name="Theme.Holo.Light.Dialog.NoActionBar"> <item name="android:windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style> + <!-- Variation of Theme.Holo.Light.Dialog.NoActionBar that has a nice minumum width for + a regular dialog. --> + <style name="Theme.Holo.Light.Dialog.NoActionBar.MinWidth"> + <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item> + <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item> + </style> + <!-- Theme for a window that will be displayed either full-screen on smaller screens (small, normal) or as a dialog on larger screens (large, xlarge). --> @@ -1364,6 +1413,8 @@ <item name="windowBackground">@android:color/transparent</item> <item name="windowTitleStyle">@android:style/DialogWindowTitle.Holo.Light</item> <item name="windowContentOverlay">@null</item> + <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item> + <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_major</item> </style> <!-- Default holographic (dark) for windows that want to have the user's selected diff --git a/graphics/java/android/renderscript/Allocation.java b/graphics/java/android/renderscript/Allocation.java index 40c9a96..abe66726 100644 --- a/graphics/java/android/renderscript/Allocation.java +++ b/graphics/java/android/renderscript/Allocation.java @@ -18,7 +18,6 @@ package android.renderscript; import java.io.IOException; import java.io.InputStream; - import android.content.res.Resources; import android.content.res.AssetManager; import android.graphics.Bitmap; @@ -470,7 +469,7 @@ public class Allocation extends BaseObj { throw new RSIllegalArgumentException("Cubemap height must be multiple of 6"); } if (width / 6 != height) { - throw new RSIllegalArgumentException("Only square cobe map faces supported"); + throw new RSIllegalArgumentException("Only square cube map faces supported"); } boolean isPow2 = (height & (height - 1)) == 0; if (!isPow2) { @@ -492,11 +491,73 @@ public class Allocation extends BaseObj { return new Allocation(id, rs, t, usage); } - static public Allocation createCubemapFromBitmap(RenderScript rs, Bitmap b) { + static public Allocation createCubemapFromBitmap(RenderScript rs, + Bitmap b) { return createCubemapFromBitmap(rs, b, MipmapControl.MIPMAP_NONE, USAGE_GRAPHICS_TEXTURE); } + static public Allocation createCubemapFromCubeFaces(RenderScript rs, + Bitmap xpos, + Bitmap xneg, + Bitmap ypos, + Bitmap yneg, + Bitmap zpos, + Bitmap zneg, + MipmapControl mips, + int usage) { + int height = xpos.getHeight(); + if (xpos.getWidth() != height || + xneg.getWidth() != height || xneg.getHeight() != height || + ypos.getWidth() != height || ypos.getHeight() != height || + yneg.getWidth() != height || yneg.getHeight() != height || + zpos.getWidth() != height || zpos.getHeight() != height || + zneg.getWidth() != height || zneg.getHeight() != height) { + throw new RSIllegalArgumentException("Only square cube map faces supported"); + } + boolean isPow2 = (height & (height - 1)) == 0; + if (!isPow2) { + throw new RSIllegalArgumentException("Only power of 2 cube faces supported"); + } + + Element e = elementFromBitmap(rs, xpos); + Type.Builder tb = new Type.Builder(rs, e); + tb.setX(height); + tb.setY(height); + tb.setFaces(true); + tb.setMipmaps(mips == MipmapControl.MIPMAP_FULL); + Type t = tb.create(); + Allocation cubemap = Allocation.createTyped(rs, t, mips, usage); + + AllocationAdapter adapter = AllocationAdapter.create2D(rs, cubemap); + adapter.setFace(Type.CubemapFace.POSITVE_X); + adapter.copyFrom(xpos); + adapter.setFace(Type.CubemapFace.NEGATIVE_X); + adapter.copyFrom(xneg); + adapter.setFace(Type.CubemapFace.POSITVE_Y); + adapter.copyFrom(ypos); + adapter.setFace(Type.CubemapFace.NEGATIVE_Y); + adapter.copyFrom(yneg); + adapter.setFace(Type.CubemapFace.POSITVE_Z); + adapter.copyFrom(zpos); + adapter.setFace(Type.CubemapFace.NEGATIVE_Z); + adapter.copyFrom(zneg); + + return cubemap; + } + + static public Allocation createCubemapFromCubeFaces(RenderScript rs, + Bitmap xpos, + Bitmap xneg, + Bitmap ypos, + Bitmap yneg, + Bitmap zpos, + Bitmap zneg) { + return createCubemapFromCubeFaces(rs, xpos, xneg, ypos, yneg, + zpos, zneg, MipmapControl.MIPMAP_NONE, + USAGE_GRAPHICS_TEXTURE); + } + static public Allocation createFromBitmapResource(RenderScript rs, Resources res, int id, diff --git a/libs/rs/rsAllocation.cpp b/libs/rs/rsAllocation.cpp index 673ade2..d6b90e6 100644 --- a/libs/rs/rsAllocation.cpp +++ b/libs/rs/rsAllocation.cpp @@ -28,6 +28,8 @@ #include "utils/StopWatch.h" +static void rsaAllocationGenerateScriptMips(RsContext con, RsAllocation va); + using namespace android; using namespace android::renderscript; @@ -699,13 +701,7 @@ void rsi_AllocationCopyFromBitmap(Context *rsc, RsAllocation va, const void *dat if (texAlloc->getIsScript()) { memcpy(texAlloc->getPtr(), data, s); if (genMips) { - Adapter2D adapt(rsc, texAlloc); - Adapter2D adapt2(rsc, texAlloc); - for (uint32_t lod=0; lod < (texAlloc->getType()->getLODCount() -1); lod++) { - adapt.setLOD(lod); - adapt2.setLOD(lod + 1); - mip(adapt2, adapt); - } + rsaAllocationGenerateScriptMips(rsc, texAlloc); } } else { texAlloc->upload2DTexture(false, data); @@ -770,6 +766,23 @@ void rsi_AllocationResize2D(Context *rsc, RsAllocation va, uint32_t dimX, uint32 } } +static void rsaAllocationGenerateScriptMips(RsContext con, RsAllocation va) { + Context *rsc = static_cast<Context *>(con); + Allocation *texAlloc = static_cast<Allocation *>(va); + uint32_t numFaces = texAlloc->getType()->getDimFaces() ? 6 : 1; + for (uint32_t face = 0; face < numFaces; face ++) { + Adapter2D adapt(rsc, texAlloc); + Adapter2D adapt2(rsc, texAlloc); + adapt.setFace(face); + adapt2.setFace(face); + for (uint32_t lod=0; lod < (texAlloc->getType()->getLODCount() -1); lod++) { + adapt.setLOD(lod); + adapt2.setLOD(lod + 1); + mip(adapt2, adapt); + } + } +} + const void * rsaAllocationGetType(RsContext con, RsAllocation va) { Allocation *a = static_cast<Allocation *>(va); a->getType()->incUserRef(); @@ -802,13 +815,7 @@ RsAllocation rsaAllocationCreateFromBitmap(RsContext con, RsType vtype, memcpy(texAlloc->getPtr(), data, t->getDimX() * t->getDimY() * t->getElementSizeBytes()); if (mips == RS_ALLOCATION_MIPMAP_FULL) { - Adapter2D adapt(rsc, texAlloc); - Adapter2D adapt2(rsc, texAlloc); - for (uint32_t lod=0; lod < (texAlloc->getType()->getLODCount() -1); lod++) { - adapt.setLOD(lod); - adapt2.setLOD(lod + 1); - mip(adapt2, adapt); - } + rsaAllocationGenerateScriptMips(rsc, texAlloc); } texAlloc->deferedUploadToTexture(rsc); @@ -846,18 +853,10 @@ RsAllocation rsaAllocationCubeCreateFromBitmap(RsContext con, RsType vtype, // Move the data pointer to the next cube face sourcePtr += copySize; + } - if (mips == RS_ALLOCATION_MIPMAP_FULL) { - Adapter2D adapt(rsc, texAlloc); - Adapter2D adapt2(rsc, texAlloc); - adapt.setFace(face); - adapt2.setFace(face); - for (uint32_t lod=0; lod < (texAlloc->getType()->getLODCount() -1); lod++) { - adapt.setLOD(lod); - adapt2.setLOD(lod + 1); - mip(adapt2, adapt); - } - } + if (mips == RS_ALLOCATION_MIPMAP_FULL) { + rsaAllocationGenerateScriptMips(rsc, texAlloc); } texAlloc->deferedUploadToTexture(rsc); diff --git a/media/libstagefright/MP3Extractor.cpp b/media/libstagefright/MP3Extractor.cpp index 0bb3a86..00a4dd5 100644 --- a/media/libstagefright/MP3Extractor.cpp +++ b/media/libstagefright/MP3Extractor.cpp @@ -228,22 +228,47 @@ static bool Resync( off64_t pos = *inout_pos; bool valid = false; + + const size_t kMaxReadBytes = 1024; + const size_t kMaxBytesChecked = 128 * 1024; + uint8_t buf[kMaxReadBytes]; + ssize_t bytesToRead = kMaxReadBytes; + ssize_t totalBytesRead = 0; + ssize_t remainingBytes = 0; + bool reachEOS = false; + uint8_t *tmp = buf; + do { - if (pos >= *inout_pos + 128 * 1024) { + if (pos >= *inout_pos + kMaxBytesChecked) { // Don't scan forever. LOGV("giving up at offset %ld", pos); break; } - uint8_t tmp[4]; - if (source->readAt(pos, tmp, 4) != 4) { - break; + if (remainingBytes < 4) { + if (reachEOS) { + break; + } else { + memcpy(buf, tmp, remainingBytes); + bytesToRead = kMaxReadBytes - remainingBytes; + totalBytesRead = source->readAt(pos, buf + remainingBytes, bytesToRead); + if (totalBytesRead <= 0) { + break; + } + reachEOS = (totalBytesRead != bytesToRead); + totalBytesRead += remainingBytes; + remainingBytes = totalBytesRead; + tmp = buf; + continue; + } } uint32_t header = U32_AT(tmp); if (match_header != 0 && (header & kMask) != (match_header & kMask)) { ++pos; + ++tmp; + --remainingBytes; continue; } @@ -253,6 +278,8 @@ static bool Resync( header, &frame_size, &sample_rate, &num_channels, &bitrate)) { ++pos; + ++tmp; + --remainingBytes; continue; } @@ -303,6 +330,8 @@ static bool Resync( } ++pos; + ++tmp; + --remainingBytes; } while (!valid); return valid; diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java index 6232afd..1fc2e6c 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java @@ -15,6 +15,9 @@ package com.android.internal.policy.impl; +import static android.view.View.MeasureSpec.AT_MOST; +import static android.view.View.MeasureSpec.EXACTLY; +import static android.view.View.MeasureSpec.getMode; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN; @@ -52,6 +55,7 @@ import android.os.Parcel; import android.os.Parcelable; import android.util.AndroidRuntimeException; import android.util.Config; +import android.util.DisplayMetrics; import android.util.EventLog; import android.util.Log; import android.util.SparseArray; @@ -72,6 +76,7 @@ import android.view.ViewManager; import android.view.ViewStub; import android.view.Window; import android.view.WindowManager; +import android.view.View.MeasureSpec; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.view.animation.Animation; @@ -98,7 +103,10 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { * Simple callback used by the context menu and its submenus. The options * menu submenus do not use this (their behavior is more complex). */ - DialogMenuCallback mContextMenuCallback = new DialogMenuCallback(FEATURE_CONTEXT_MENU); + final DialogMenuCallback mContextMenuCallback = new DialogMenuCallback(FEATURE_CONTEXT_MENU); + + final TypedValue mMinWidthMajor = new TypedValue(); + final TypedValue mMinWidthMinor = new TypedValue(); // This is the top-level view of the window, containing the window decor. private DecorView mDecor; @@ -1866,6 +1874,45 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + final DisplayMetrics metrics = getContext().getResources().getDisplayMetrics(); + final boolean isPortrait = metrics.widthPixels < metrics.heightPixels; + + final int widthMode = getMode(widthMeasureSpec); + + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + + int width = getMeasuredWidth(); + boolean measure = false; + + widthMeasureSpec = MeasureSpec.makeMeasureSpec(width, EXACTLY); + + final TypedValue tv = isPortrait ? mMinWidthMinor : mMinWidthMajor; + + if (widthMode == AT_MOST && tv.type != TypedValue.TYPE_NULL) { + final int min; + if (tv.type == TypedValue.TYPE_DIMENSION) { + min = (int)tv.getDimension(metrics); + } else if (tv.type == TypedValue.TYPE_FRACTION) { + min = (int)tv.getFraction(metrics.widthPixels, metrics.widthPixels); + } else { + min = 0; + } + + if (width < min) { + widthMeasureSpec = MeasureSpec.makeMeasureSpec(min, EXACTLY); + measure = true; + } + } + + // TODO: Support height? + + if (measure) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + } + + @Override public void draw(Canvas canvas) { super.draw(canvas); @@ -2274,6 +2321,9 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { setFlags(FLAG_SPLIT_TOUCH, FLAG_SPLIT_TOUCH&(~getForcedWindowFlags())); } + a.getValue(com.android.internal.R.styleable.Window_windowMinWidthMajor, mMinWidthMajor); + a.getValue(com.android.internal.R.styleable.Window_windowMinWidthMinor, mMinWidthMinor); + if (getContext().getApplicationInfo().targetSdkVersion < android.os.Build.VERSION_CODES.HONEYCOMB) { addFlags(WindowManager.LayoutParams.FLAG_NEEDS_MENU_KEY); diff --git a/services/java/com/android/server/IntentResolver.java b/services/java/com/android/server/IntentResolver.java index e47de13..a8b2840 100644 --- a/services/java/com/android/server/IntentResolver.java +++ b/services/java/com/android/server/IntentResolver.java @@ -346,7 +346,7 @@ public class IntentResolver<F extends IntentFilter, R extends Object> { int num = 0; while (i.hasNext()) { - String name = (String)i.next(); + String name = i.next(); num++; if (localLOGV) Slog.v(TAG, prefix + name); String baseName = name; @@ -395,7 +395,7 @@ public class IntentResolver<F extends IntentFilter, R extends Object> { int num = 0; while (i.hasNext()) { - String name = (String)i.next(); + String name = i.next(); num++; if (localLOGV) Slog.v(TAG, prefix + name); String baseName = name; @@ -534,8 +534,8 @@ public class IntentResolver<F extends IntentFilter, R extends Object> { // Sorts a List of IntentFilter objects into descending priority order. private static final Comparator mResolvePrioritySorter = new Comparator() { public int compare(Object o1, Object o2) { - float q1 = ((IntentFilter)o1).getPriority(); - float q2 = ((IntentFilter)o2).getPriority(); + final int q1 = ((IntentFilter) o1).getPriority(); + final int q2 = ((IntentFilter) o2).getPriority(); return (q1 > q2) ? -1 : ((q1 < q2) ? 1 : 0); } }; diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index e323b3b..b196f74 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -2882,13 +2882,13 @@ class PackageManagerService extends IPackageManager.Stub { SharedUserSetting suid = null; PackageSetting pkgSetting = null; - if ((pkg.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM) == 0) { + if (!isSystemApp(pkg)) { // Only system apps can use these features. pkg.mOriginalPackages = null; pkg.mRealPackage = null; pkg.mAdoptPermissions = null; } - + synchronized (mPackages) { // Check all shared libraries and map to their actual file path. if (pkg.usesLibraries != null || pkg.usesOptionalLibraries != null) { @@ -4080,6 +4080,7 @@ class PackageManagerService extends IPackageManager.Stub { } public final void addActivity(PackageParser.Activity a, String type) { + final boolean systemApp = isSystemApp(a.info.applicationInfo); mActivities.put(a.getComponentName(), a); if (SHOW_INFO || Config.LOGV) Log.v( TAG, " " + type + " " + @@ -4088,6 +4089,11 @@ class PackageManagerService extends IPackageManager.Stub { int NI = a.intents.size(); for (int j=0; j<NI; j++) { PackageParser.ActivityIntentInfo intent = a.intents.get(j); + if (!systemApp && intent.getPriority() > 0 && "activity".equals(type)) { + intent.setPriority(0); + Log.w(TAG, "Package " + a.info.applicationInfo.packageName + " has activity " + + a.className + " with priority > 0, forcing to 0"); + } if (SHOW_INFO || Config.LOGV) { Log.v(TAG, " IntentFilter:"); intent.dump(new LogPrinter(Log.VERBOSE, TAG), " "); @@ -6026,6 +6032,10 @@ class PackageManagerService extends IPackageManager.Stub { return (pkg.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0; } + private static boolean isSystemApp(ApplicationInfo info) { + return (info.flags & ApplicationInfo.FLAG_SYSTEM) != 0; + } + private static boolean isUpdatedSystemApp(PackageParser.Package pkg) { return (pkg.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0; } |