Merge change Ia834022d
* changes:
Convert DataConnection to an HSM and rename PdpConnection to GsmDataConnection.
diff --git a/api/current.xml b/api/current.xml
index d8afcef..9801036 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -34055,6 +34055,8 @@
deprecated="not deprecated"
visibility="public"
>
+<implements name="java.lang.Cloneable">
+</implements>
<implements name="android.os.Parcelable">
</implements>
<constructor name="Intent"
@@ -93936,7 +93938,7 @@
<method name="glPointSizePointerOES"
return="void"
abstract="false"
- native="true"
+ native="false"
synchronized="false"
static="true"
final="false"
@@ -96959,7 +96961,7 @@
<method name="glMatrixIndexPointerOES"
return="void"
abstract="false"
- native="true"
+ native="false"
synchronized="false"
static="true"
final="false"
@@ -97517,7 +97519,7 @@
<method name="glWeightPointerOES"
return="void"
abstract="false"
- native="true"
+ native="false"
synchronized="false"
static="true"
final="false"
@@ -105206,6545 +105208,6 @@
>
</field>
</class>
-<class name="GLES20"
- extends="java.lang.Object"
- abstract="false"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<constructor name="GLES20"
- type="android.opengl.GLES20"
- static="false"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</constructor>
-<method name="glActiveTexture"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="texture" type="int">
-</parameter>
-</method>
-<method name="glAttachShader"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="shader" type="int">
-</parameter>
-</method>
-<method name="glBindAttribLocation"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="index" type="int">
-</parameter>
-<parameter name="name" type="java.lang.String">
-</parameter>
-</method>
-<method name="glBindBuffer"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="buffer" type="int">
-</parameter>
-</method>
-<method name="glBindFramebuffer"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="framebuffer" type="int">
-</parameter>
-</method>
-<method name="glBindRenderbuffer"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="renderbuffer" type="int">
-</parameter>
-</method>
-<method name="glBindTexture"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="texture" type="int">
-</parameter>
-</method>
-<method name="glBlendColor"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="red" type="float">
-</parameter>
-<parameter name="green" type="float">
-</parameter>
-<parameter name="blue" type="float">
-</parameter>
-<parameter name="alpha" type="float">
-</parameter>
-</method>
-<method name="glBlendEquation"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="mode" type="int">
-</parameter>
-</method>
-<method name="glBlendEquationSeparate"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="modeRGB" type="int">
-</parameter>
-<parameter name="modeAlpha" type="int">
-</parameter>
-</method>
-<method name="glBlendFunc"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="sfactor" type="int">
-</parameter>
-<parameter name="dfactor" type="int">
-</parameter>
-</method>
-<method name="glBlendFuncSeparate"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="srcRGB" type="int">
-</parameter>
-<parameter name="dstRGB" type="int">
-</parameter>
-<parameter name="srcAlpha" type="int">
-</parameter>
-<parameter name="dstAlpha" type="int">
-</parameter>
-</method>
-<method name="glBufferData"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="size" type="int">
-</parameter>
-<parameter name="data" type="java.nio.Buffer">
-</parameter>
-<parameter name="usage" type="int">
-</parameter>
-</method>
-<method name="glBufferSubData"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-<parameter name="size" type="int">
-</parameter>
-<parameter name="data" type="java.nio.Buffer">
-</parameter>
-</method>
-<method name="glCheckFramebufferStatus"
- return="int"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-</method>
-<method name="glClear"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="mask" type="int">
-</parameter>
-</method>
-<method name="glClearColor"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="red" type="float">
-</parameter>
-<parameter name="green" type="float">
-</parameter>
-<parameter name="blue" type="float">
-</parameter>
-<parameter name="alpha" type="float">
-</parameter>
-</method>
-<method name="glClearDepthf"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="depth" type="float">
-</parameter>
-</method>
-<method name="glClearStencil"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="s" type="int">
-</parameter>
-</method>
-<method name="glColorMask"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="red" type="boolean">
-</parameter>
-<parameter name="green" type="boolean">
-</parameter>
-<parameter name="blue" type="boolean">
-</parameter>
-<parameter name="alpha" type="boolean">
-</parameter>
-</method>
-<method name="glCompileShader"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-</method>
-<method name="glCompressedTexImage2D"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="level" type="int">
-</parameter>
-<parameter name="internalformat" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-<parameter name="border" type="int">
-</parameter>
-<parameter name="imageSize" type="int">
-</parameter>
-<parameter name="data" type="java.nio.Buffer">
-</parameter>
-</method>
-<method name="glCompressedTexSubImage2D"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="level" type="int">
-</parameter>
-<parameter name="xoffset" type="int">
-</parameter>
-<parameter name="yoffset" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-<parameter name="format" type="int">
-</parameter>
-<parameter name="imageSize" type="int">
-</parameter>
-<parameter name="data" type="java.nio.Buffer">
-</parameter>
-</method>
-<method name="glCopyTexImage2D"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="level" type="int">
-</parameter>
-<parameter name="internalformat" type="int">
-</parameter>
-<parameter name="x" type="int">
-</parameter>
-<parameter name="y" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-<parameter name="border" type="int">
-</parameter>
-</method>
-<method name="glCopyTexSubImage2D"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="level" type="int">
-</parameter>
-<parameter name="xoffset" type="int">
-</parameter>
-<parameter name="yoffset" type="int">
-</parameter>
-<parameter name="x" type="int">
-</parameter>
-<parameter name="y" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-</method>
-<method name="glCreateProgram"
- return="int"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
-<method name="glCreateShader"
- return="int"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="type" type="int">
-</parameter>
-</method>
-<method name="glCullFace"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="mode" type="int">
-</parameter>
-</method>
-<method name="glDeleteBuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="buffers" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glDeleteBuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="buffers" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glDeleteFramebuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="framebuffers" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glDeleteFramebuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="framebuffers" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glDeleteProgram"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-</method>
-<method name="glDeleteRenderbuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="renderbuffers" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glDeleteRenderbuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="renderbuffers" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glDeleteShader"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-</method>
-<method name="glDeleteTextures"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="textures" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glDeleteTextures"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="textures" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glDepthFunc"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="func" type="int">
-</parameter>
-</method>
-<method name="glDepthMask"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="flag" type="boolean">
-</parameter>
-</method>
-<method name="glDepthRangef"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="zNear" type="float">
-</parameter>
-<parameter name="zFar" type="float">
-</parameter>
-</method>
-<method name="glDetachShader"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="shader" type="int">
-</parameter>
-</method>
-<method name="glDisable"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="cap" type="int">
-</parameter>
-</method>
-<method name="glDisableVertexAttribArray"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="index" type="int">
-</parameter>
-</method>
-<method name="glDrawArrays"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="mode" type="int">
-</parameter>
-<parameter name="first" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-</method>
-<method name="glDrawElements"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="mode" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="type" type="int">
-</parameter>
-<parameter name="indices" type="java.nio.Buffer">
-</parameter>
-</method>
-<method name="glEnable"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="cap" type="int">
-</parameter>
-</method>
-<method name="glEnableVertexAttribArray"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="index" type="int">
-</parameter>
-</method>
-<method name="glFinish"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
-<method name="glFlush"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
-<method name="glFramebufferRenderbuffer"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="attachment" type="int">
-</parameter>
-<parameter name="renderbuffertarget" type="int">
-</parameter>
-<parameter name="renderbuffer" type="int">
-</parameter>
-</method>
-<method name="glFramebufferTexture2D"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="attachment" type="int">
-</parameter>
-<parameter name="textarget" type="int">
-</parameter>
-<parameter name="texture" type="int">
-</parameter>
-<parameter name="level" type="int">
-</parameter>
-</method>
-<method name="glFrontFace"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="mode" type="int">
-</parameter>
-</method>
-<method name="glGenBuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="buffers" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGenBuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="buffers" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGenFramebuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="framebuffers" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGenFramebuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="framebuffers" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGenRenderbuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="renderbuffers" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGenRenderbuffers"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="renderbuffers" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGenTextures"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="textures" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGenTextures"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="textures" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGenerateMipmap"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-</method>
-<method name="glGetActiveAttrib"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="index" type="int">
-</parameter>
-<parameter name="bufsize" type="int">
-</parameter>
-<parameter name="length" type="int[]">
-</parameter>
-<parameter name="lengthOffset" type="int">
-</parameter>
-<parameter name="size" type="int[]">
-</parameter>
-<parameter name="sizeOffset" type="int">
-</parameter>
-<parameter name="type" type="int[]">
-</parameter>
-<parameter name="typeOffset" type="int">
-</parameter>
-<parameter name="name" type="byte[]">
-</parameter>
-<parameter name="nameOffset" type="int">
-</parameter>
-</method>
-<method name="glGetActiveAttrib"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="index" type="int">
-</parameter>
-<parameter name="bufsize" type="int">
-</parameter>
-<parameter name="length" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="size" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="type" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="name" type="byte">
-</parameter>
-</method>
-<method name="glGetActiveUniform"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="index" type="int">
-</parameter>
-<parameter name="bufsize" type="int">
-</parameter>
-<parameter name="length" type="int[]">
-</parameter>
-<parameter name="lengthOffset" type="int">
-</parameter>
-<parameter name="size" type="int[]">
-</parameter>
-<parameter name="sizeOffset" type="int">
-</parameter>
-<parameter name="type" type="int[]">
-</parameter>
-<parameter name="typeOffset" type="int">
-</parameter>
-<parameter name="name" type="byte[]">
-</parameter>
-<parameter name="nameOffset" type="int">
-</parameter>
-</method>
-<method name="glGetActiveUniform"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="index" type="int">
-</parameter>
-<parameter name="bufsize" type="int">
-</parameter>
-<parameter name="length" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="size" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="type" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="name" type="byte">
-</parameter>
-</method>
-<method name="glGetAttachedShaders"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="maxcount" type="int">
-</parameter>
-<parameter name="count" type="int[]">
-</parameter>
-<parameter name="countOffset" type="int">
-</parameter>
-<parameter name="shaders" type="int[]">
-</parameter>
-<parameter name="shadersOffset" type="int">
-</parameter>
-</method>
-<method name="glGetAttachedShaders"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="maxcount" type="int">
-</parameter>
-<parameter name="count" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="shaders" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetAttribLocation"
- return="int"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="name" type="java.lang.String">
-</parameter>
-</method>
-<method name="glGetBooleanv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="boolean[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetBooleanv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetBufferParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetBufferParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetError"
- return="int"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
-<method name="glGetFloatv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetFloatv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glGetFramebufferAttachmentParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="attachment" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetFramebufferAttachmentParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="attachment" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetIntegerv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetIntegerv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetProgramInfoLog"
- return="java.lang.String"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-</method>
-<method name="glGetProgramiv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetProgramiv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetRenderbufferParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetRenderbufferParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetShaderInfoLog"
- return="java.lang.String"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-</method>
-<method name="glGetShaderPrecisionFormat"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shadertype" type="int">
-</parameter>
-<parameter name="precisiontype" type="int">
-</parameter>
-<parameter name="range" type="int[]">
-</parameter>
-<parameter name="rangeOffset" type="int">
-</parameter>
-<parameter name="precision" type="int[]">
-</parameter>
-<parameter name="precisionOffset" type="int">
-</parameter>
-</method>
-<method name="glGetShaderPrecisionFormat"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shadertype" type="int">
-</parameter>
-<parameter name="precisiontype" type="int">
-</parameter>
-<parameter name="range" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="precision" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetShaderSource"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-<parameter name="bufsize" type="int">
-</parameter>
-<parameter name="length" type="int[]">
-</parameter>
-<parameter name="lengthOffset" type="int">
-</parameter>
-<parameter name="source" type="byte[]">
-</parameter>
-<parameter name="sourceOffset" type="int">
-</parameter>
-</method>
-<method name="glGetShaderSource"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-<parameter name="bufsize" type="int">
-</parameter>
-<parameter name="length" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="source" type="byte">
-</parameter>
-</method>
-<method name="glGetShaderiv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetShaderiv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetString"
- return="java.lang.String"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="name" type="int">
-</parameter>
-</method>
-<method name="glGetTexParameterfv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetTexParameterfv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glGetTexParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetTexParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetUniformLocation"
- return="int"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="name" type="java.lang.String">
-</parameter>
-</method>
-<method name="glGetUniformfv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="location" type="int">
-</parameter>
-<parameter name="params" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetUniformfv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="location" type="int">
-</parameter>
-<parameter name="params" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glGetUniformiv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="location" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetUniformiv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-<parameter name="location" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glGetVertexAttribfv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="index" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetVertexAttribfv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="index" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glGetVertexAttribiv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="index" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glGetVertexAttribiv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="index" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glHint"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="mode" type="int">
-</parameter>
-</method>
-<method name="glIsBuffer"
- return="boolean"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="buffer" type="int">
-</parameter>
-</method>
-<method name="glIsEnabled"
- return="boolean"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="cap" type="int">
-</parameter>
-</method>
-<method name="glIsFramebuffer"
- return="boolean"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="framebuffer" type="int">
-</parameter>
-</method>
-<method name="glIsProgram"
- return="boolean"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-</method>
-<method name="glIsRenderbuffer"
- return="boolean"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="renderbuffer" type="int">
-</parameter>
-</method>
-<method name="glIsShader"
- return="boolean"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-</method>
-<method name="glIsTexture"
- return="boolean"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="texture" type="int">
-</parameter>
-</method>
-<method name="glLineWidth"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="width" type="float">
-</parameter>
-</method>
-<method name="glLinkProgram"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-</method>
-<method name="glPixelStorei"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="param" type="int">
-</parameter>
-</method>
-<method name="glPolygonOffset"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="factor" type="float">
-</parameter>
-<parameter name="units" type="float">
-</parameter>
-</method>
-<method name="glReadPixels"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="x" type="int">
-</parameter>
-<parameter name="y" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-<parameter name="format" type="int">
-</parameter>
-<parameter name="type" type="int">
-</parameter>
-<parameter name="pixels" type="java.nio.Buffer">
-</parameter>
-</method>
-<method name="glReleaseShaderCompiler"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-</method>
-<method name="glRenderbufferStorage"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="internalformat" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-</method>
-<method name="glSampleCoverage"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="value" type="float">
-</parameter>
-<parameter name="invert" type="boolean">
-</parameter>
-</method>
-<method name="glScissor"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="x" type="int">
-</parameter>
-<parameter name="y" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-</method>
-<method name="glShaderBinary"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="shaders" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-<parameter name="binaryformat" type="int">
-</parameter>
-<parameter name="binary" type="java.nio.Buffer">
-</parameter>
-<parameter name="length" type="int">
-</parameter>
-</method>
-<method name="glShaderBinary"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="n" type="int">
-</parameter>
-<parameter name="shaders" type="java.nio.IntBuffer">
-</parameter>
-<parameter name="binaryformat" type="int">
-</parameter>
-<parameter name="binary" type="java.nio.Buffer">
-</parameter>
-<parameter name="length" type="int">
-</parameter>
-</method>
-<method name="glShaderSource"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="shader" type="int">
-</parameter>
-<parameter name="string" type="java.lang.String">
-</parameter>
-</method>
-<method name="glStencilFunc"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="func" type="int">
-</parameter>
-<parameter name="ref" type="int">
-</parameter>
-<parameter name="mask" type="int">
-</parameter>
-</method>
-<method name="glStencilFuncSeparate"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="face" type="int">
-</parameter>
-<parameter name="func" type="int">
-</parameter>
-<parameter name="ref" type="int">
-</parameter>
-<parameter name="mask" type="int">
-</parameter>
-</method>
-<method name="glStencilMask"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="mask" type="int">
-</parameter>
-</method>
-<method name="glStencilMaskSeparate"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="face" type="int">
-</parameter>
-<parameter name="mask" type="int">
-</parameter>
-</method>
-<method name="glStencilOp"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="fail" type="int">
-</parameter>
-<parameter name="zfail" type="int">
-</parameter>
-<parameter name="zpass" type="int">
-</parameter>
-</method>
-<method name="glStencilOpSeparate"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="face" type="int">
-</parameter>
-<parameter name="fail" type="int">
-</parameter>
-<parameter name="zfail" type="int">
-</parameter>
-<parameter name="zpass" type="int">
-</parameter>
-</method>
-<method name="glTexImage2D"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="level" type="int">
-</parameter>
-<parameter name="internalformat" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-<parameter name="border" type="int">
-</parameter>
-<parameter name="format" type="int">
-</parameter>
-<parameter name="type" type="int">
-</parameter>
-<parameter name="pixels" type="java.nio.Buffer">
-</parameter>
-</method>
-<method name="glTexParameterf"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="param" type="float">
-</parameter>
-</method>
-<method name="glTexParameterfv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glTexParameterfv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glTexParameteri"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="param" type="int">
-</parameter>
-</method>
-<method name="glTexParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glTexParameteriv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="pname" type="int">
-</parameter>
-<parameter name="params" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glTexSubImage2D"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="target" type="int">
-</parameter>
-<parameter name="level" type="int">
-</parameter>
-<parameter name="xoffset" type="int">
-</parameter>
-<parameter name="yoffset" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-<parameter name="format" type="int">
-</parameter>
-<parameter name="type" type="int">
-</parameter>
-<parameter name="pixels" type="java.nio.Buffer">
-</parameter>
-</method>
-<method name="glUniform1f"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="x" type="float">
-</parameter>
-</method>
-<method name="glUniform1fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniform1fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glUniform1i"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="x" type="int">
-</parameter>
-</method>
-<method name="glUniform1iv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniform1iv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glUniform2f"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="x" type="float">
-</parameter>
-<parameter name="y" type="float">
-</parameter>
-</method>
-<method name="glUniform2fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniform2fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glUniform2i"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="x" type="int">
-</parameter>
-<parameter name="y" type="int">
-</parameter>
-</method>
-<method name="glUniform2iv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniform2iv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glUniform3f"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="x" type="float">
-</parameter>
-<parameter name="y" type="float">
-</parameter>
-<parameter name="z" type="float">
-</parameter>
-</method>
-<method name="glUniform3fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniform3fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glUniform3i"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="x" type="int">
-</parameter>
-<parameter name="y" type="int">
-</parameter>
-<parameter name="z" type="int">
-</parameter>
-</method>
-<method name="glUniform3iv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniform3iv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glUniform4f"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="x" type="float">
-</parameter>
-<parameter name="y" type="float">
-</parameter>
-<parameter name="z" type="float">
-</parameter>
-<parameter name="w" type="float">
-</parameter>
-</method>
-<method name="glUniform4fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniform4fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glUniform4i"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="x" type="int">
-</parameter>
-<parameter name="y" type="int">
-</parameter>
-<parameter name="z" type="int">
-</parameter>
-<parameter name="w" type="int">
-</parameter>
-</method>
-<method name="glUniform4iv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="int[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniform4iv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="v" type="java.nio.IntBuffer">
-</parameter>
-</method>
-<method name="glUniformMatrix2fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="transpose" type="boolean">
-</parameter>
-<parameter name="value" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniformMatrix2fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="transpose" type="boolean">
-</parameter>
-<parameter name="value" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glUniformMatrix3fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="transpose" type="boolean">
-</parameter>
-<parameter name="value" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniformMatrix3fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="transpose" type="boolean">
-</parameter>
-<parameter name="value" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glUniformMatrix4fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="transpose" type="boolean">
-</parameter>
-<parameter name="value" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glUniformMatrix4fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="location" type="int">
-</parameter>
-<parameter name="count" type="int">
-</parameter>
-<parameter name="transpose" type="boolean">
-</parameter>
-<parameter name="value" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glUseProgram"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-</method>
-<method name="glValidateProgram"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="program" type="int">
-</parameter>
-</method>
-<method name="glVertexAttrib1f"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="x" type="float">
-</parameter>
-</method>
-<method name="glVertexAttrib1fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="values" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glVertexAttrib1fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="values" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glVertexAttrib2f"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="x" type="float">
-</parameter>
-<parameter name="y" type="float">
-</parameter>
-</method>
-<method name="glVertexAttrib2fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="values" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glVertexAttrib2fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="values" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glVertexAttrib3f"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="x" type="float">
-</parameter>
-<parameter name="y" type="float">
-</parameter>
-<parameter name="z" type="float">
-</parameter>
-</method>
-<method name="glVertexAttrib3fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="values" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glVertexAttrib3fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="values" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glVertexAttrib4f"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="x" type="float">
-</parameter>
-<parameter name="y" type="float">
-</parameter>
-<parameter name="z" type="float">
-</parameter>
-<parameter name="w" type="float">
-</parameter>
-</method>
-<method name="glVertexAttrib4fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="values" type="float[]">
-</parameter>
-<parameter name="offset" type="int">
-</parameter>
-</method>
-<method name="glVertexAttrib4fv"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="values" type="java.nio.FloatBuffer">
-</parameter>
-</method>
-<method name="glVertexAttribPointer"
- return="void"
- abstract="false"
- native="false"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="indx" type="int">
-</parameter>
-<parameter name="size" type="int">
-</parameter>
-<parameter name="type" type="int">
-</parameter>
-<parameter name="normalized" type="boolean">
-</parameter>
-<parameter name="stride" type="int">
-</parameter>
-<parameter name="ptr" type="java.nio.Buffer">
-</parameter>
-</method>
-<method name="glViewport"
- return="void"
- abstract="false"
- native="true"
- synchronized="false"
- static="true"
- final="false"
- deprecated="not deprecated"
- visibility="public"
->
-<parameter name="x" type="int">
-</parameter>
-<parameter name="y" type="int">
-</parameter>
-<parameter name="width" type="int">
-</parameter>
-<parameter name="height" type="int">
-</parameter>
-</method>
-<field name="GL_ACTIVE_ATTRIBUTES"
- type="int"
- transient="false"
- volatile="false"
- value="35721"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"
- type="int"
- transient="false"
- volatile="false"
- value="35722"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ACTIVE_TEXTURE"
- type="int"
- transient="false"
- volatile="false"
- value="34016"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ACTIVE_UNIFORMS"
- type="int"
- transient="false"
- volatile="false"
- value="35718"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ACTIVE_UNIFORM_MAX_LENGTH"
- type="int"
- transient="false"
- volatile="false"
- value="35719"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ALIASED_LINE_WIDTH_RANGE"
- type="int"
- transient="false"
- volatile="false"
- value="33902"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ALIASED_POINT_SIZE_RANGE"
- type="int"
- transient="false"
- volatile="false"
- value="33901"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="6406"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ALPHA_BITS"
- type="int"
- transient="false"
- volatile="false"
- value="3413"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ALWAYS"
- type="int"
- transient="false"
- volatile="false"
- value="519"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ARRAY_BUFFER"
- type="int"
- transient="false"
- volatile="false"
- value="34962"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ARRAY_BUFFER_BINDING"
- type="int"
- transient="false"
- volatile="false"
- value="34964"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ATTACHED_SHADERS"
- type="int"
- transient="false"
- volatile="false"
- value="35717"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BACK"
- type="int"
- transient="false"
- volatile="false"
- value="1029"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND"
- type="int"
- transient="false"
- volatile="false"
- value="3042"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND_COLOR"
- type="int"
- transient="false"
- volatile="false"
- value="32773"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND_DST_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="32970"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND_DST_RGB"
- type="int"
- transient="false"
- volatile="false"
- value="32968"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND_EQUATION"
- type="int"
- transient="false"
- volatile="false"
- value="32777"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND_EQUATION_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="34877"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND_EQUATION_RGB"
- type="int"
- transient="false"
- volatile="false"
- value="32777"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND_SRC_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="32971"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLEND_SRC_RGB"
- type="int"
- transient="false"
- volatile="false"
- value="32969"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BLUE_BITS"
- type="int"
- transient="false"
- volatile="false"
- value="3412"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BOOL"
- type="int"
- transient="false"
- volatile="false"
- value="35670"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BOOL_VEC2"
- type="int"
- transient="false"
- volatile="false"
- value="35671"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BOOL_VEC3"
- type="int"
- transient="false"
- volatile="false"
- value="35672"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BOOL_VEC4"
- type="int"
- transient="false"
- volatile="false"
- value="35673"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BUFFER_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="34660"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BUFFER_USAGE"
- type="int"
- transient="false"
- volatile="false"
- value="34661"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_BYTE"
- type="int"
- transient="false"
- volatile="false"
- value="5120"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CCW"
- type="int"
- transient="false"
- volatile="false"
- value="2305"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CLAMP_TO_EDGE"
- type="int"
- transient="false"
- volatile="false"
- value="33071"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_COLOR_ATTACHMENT0"
- type="int"
- transient="false"
- volatile="false"
- value="36064"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_COLOR_BUFFER_BIT"
- type="int"
- transient="false"
- volatile="false"
- value="16384"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_COLOR_CLEAR_VALUE"
- type="int"
- transient="false"
- volatile="false"
- value="3106"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_COLOR_WRITEMASK"
- type="int"
- transient="false"
- volatile="false"
- value="3107"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_COMPILE_STATUS"
- type="int"
- transient="false"
- volatile="false"
- value="35713"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_COMPRESSED_TEXTURE_FORMATS"
- type="int"
- transient="false"
- volatile="false"
- value="34467"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CONSTANT_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="32771"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CONSTANT_COLOR"
- type="int"
- transient="false"
- volatile="false"
- value="32769"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CULL_FACE"
- type="int"
- transient="false"
- volatile="false"
- value="2884"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CULL_FACE_MODE"
- type="int"
- transient="false"
- volatile="false"
- value="2885"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CURRENT_PROGRAM"
- type="int"
- transient="false"
- volatile="false"
- value="35725"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CURRENT_VERTEX_ATTRIB"
- type="int"
- transient="false"
- volatile="false"
- value="34342"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_CW"
- type="int"
- transient="false"
- volatile="false"
- value="2304"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DECR"
- type="int"
- transient="false"
- volatile="false"
- value="7683"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DECR_WRAP"
- type="int"
- transient="false"
- volatile="false"
- value="34056"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DELETE_STATUS"
- type="int"
- transient="false"
- volatile="false"
- value="35712"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_ATTACHMENT"
- type="int"
- transient="false"
- volatile="false"
- value="36096"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_BITS"
- type="int"
- transient="false"
- volatile="false"
- value="3414"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_BUFFER_BIT"
- type="int"
- transient="false"
- volatile="false"
- value="256"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_CLEAR_VALUE"
- type="int"
- transient="false"
- volatile="false"
- value="2931"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_COMPONENT"
- type="int"
- transient="false"
- volatile="false"
- value="6402"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_COMPONENT16"
- type="int"
- transient="false"
- volatile="false"
- value="33189"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_FUNC"
- type="int"
- transient="false"
- volatile="false"
- value="2932"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_RANGE"
- type="int"
- transient="false"
- volatile="false"
- value="2928"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_TEST"
- type="int"
- transient="false"
- volatile="false"
- value="2929"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DEPTH_WRITEMASK"
- type="int"
- transient="false"
- volatile="false"
- value="2930"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DITHER"
- type="int"
- transient="false"
- volatile="false"
- value="3024"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DONT_CARE"
- type="int"
- transient="false"
- volatile="false"
- value="4352"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DST_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="772"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DST_COLOR"
- type="int"
- transient="false"
- volatile="false"
- value="774"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_DYNAMIC_DRAW"
- type="int"
- transient="false"
- volatile="false"
- value="35048"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ELEMENT_ARRAY_BUFFER"
- type="int"
- transient="false"
- volatile="false"
- value="34963"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ELEMENT_ARRAY_BUFFER_BINDING"
- type="int"
- transient="false"
- volatile="false"
- value="34965"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_EQUAL"
- type="int"
- transient="false"
- volatile="false"
- value="514"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_EXTENSIONS"
- type="int"
- transient="false"
- volatile="false"
- value="7939"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FALSE"
- type="int"
- transient="false"
- volatile="false"
- value="0"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FASTEST"
- type="int"
- transient="false"
- volatile="false"
- value="4353"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FIXED"
- type="int"
- transient="false"
- volatile="false"
- value="5132"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FLOAT"
- type="int"
- transient="false"
- volatile="false"
- value="5126"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FLOAT_MAT2"
- type="int"
- transient="false"
- volatile="false"
- value="35674"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FLOAT_MAT3"
- type="int"
- transient="false"
- volatile="false"
- value="35675"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FLOAT_MAT4"
- type="int"
- transient="false"
- volatile="false"
- value="35676"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FLOAT_VEC2"
- type="int"
- transient="false"
- volatile="false"
- value="35664"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FLOAT_VEC3"
- type="int"
- transient="false"
- volatile="false"
- value="35665"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FLOAT_VEC4"
- type="int"
- transient="false"
- volatile="false"
- value="35666"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAGMENT_SHADER"
- type="int"
- transient="false"
- volatile="false"
- value="35632"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER"
- type="int"
- transient="false"
- volatile="false"
- value="36160"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"
- type="int"
- transient="false"
- volatile="false"
- value="36049"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"
- type="int"
- transient="false"
- volatile="false"
- value="36048"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"
- type="int"
- transient="false"
- volatile="false"
- value="36051"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"
- type="int"
- transient="false"
- volatile="false"
- value="36050"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_BINDING"
- type="int"
- transient="false"
- volatile="false"
- value="36006"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_COMPLETE"
- type="int"
- transient="false"
- volatile="false"
- value="36053"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
- type="int"
- transient="false"
- volatile="false"
- value="36054"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"
- type="int"
- transient="false"
- volatile="false"
- value="36057"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"
- type="int"
- transient="false"
- volatile="false"
- value="36055"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRAMEBUFFER_UNSUPPORTED"
- type="int"
- transient="false"
- volatile="false"
- value="36061"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRONT"
- type="int"
- transient="false"
- volatile="false"
- value="1028"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRONT_AND_BACK"
- type="int"
- transient="false"
- volatile="false"
- value="1032"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FRONT_FACE"
- type="int"
- transient="false"
- volatile="false"
- value="2886"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FUNC_ADD"
- type="int"
- transient="false"
- volatile="false"
- value="32774"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FUNC_REVERSE_SUBTRACT"
- type="int"
- transient="false"
- volatile="false"
- value="32779"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_FUNC_SUBTRACT"
- type="int"
- transient="false"
- volatile="false"
- value="32778"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_GENERATE_MIPMAP_HINT"
- type="int"
- transient="false"
- volatile="false"
- value="33170"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_GEQUAL"
- type="int"
- transient="false"
- volatile="false"
- value="518"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_GREATER"
- type="int"
- transient="false"
- volatile="false"
- value="516"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_GREEN_BITS"
- type="int"
- transient="false"
- volatile="false"
- value="3411"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_HIGH_FLOAT"
- type="int"
- transient="false"
- volatile="false"
- value="36338"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_HIGH_INT"
- type="int"
- transient="false"
- volatile="false"
- value="36341"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"
- type="int"
- transient="false"
- volatile="false"
- value="35739"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_IMPLEMENTATION_COLOR_READ_TYPE"
- type="int"
- transient="false"
- volatile="false"
- value="35738"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INCR"
- type="int"
- transient="false"
- volatile="false"
- value="7682"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INCR_WRAP"
- type="int"
- transient="false"
- volatile="false"
- value="34055"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INFO_LOG_LENGTH"
- type="int"
- transient="false"
- volatile="false"
- value="35716"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INT"
- type="int"
- transient="false"
- volatile="false"
- value="5124"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INT_VEC2"
- type="int"
- transient="false"
- volatile="false"
- value="35667"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INT_VEC3"
- type="int"
- transient="false"
- volatile="false"
- value="35668"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INT_VEC4"
- type="int"
- transient="false"
- volatile="false"
- value="35669"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INVALID_ENUM"
- type="int"
- transient="false"
- volatile="false"
- value="1280"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INVALID_FRAMEBUFFER_OPERATION"
- type="int"
- transient="false"
- volatile="false"
- value="1286"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INVALID_OPERATION"
- type="int"
- transient="false"
- volatile="false"
- value="1282"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INVALID_VALUE"
- type="int"
- transient="false"
- volatile="false"
- value="1281"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_INVERT"
- type="int"
- transient="false"
- volatile="false"
- value="5386"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_KEEP"
- type="int"
- transient="false"
- volatile="false"
- value="7680"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LEQUAL"
- type="int"
- transient="false"
- volatile="false"
- value="515"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LESS"
- type="int"
- transient="false"
- volatile="false"
- value="513"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LINEAR"
- type="int"
- transient="false"
- volatile="false"
- value="9729"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LINEAR_MIPMAP_LINEAR"
- type="int"
- transient="false"
- volatile="false"
- value="9987"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LINEAR_MIPMAP_NEAREST"
- type="int"
- transient="false"
- volatile="false"
- value="9985"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LINES"
- type="int"
- transient="false"
- volatile="false"
- value="1"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LINE_LOOP"
- type="int"
- transient="false"
- volatile="false"
- value="2"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LINE_STRIP"
- type="int"
- transient="false"
- volatile="false"
- value="3"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LINE_WIDTH"
- type="int"
- transient="false"
- volatile="false"
- value="2849"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LINK_STATUS"
- type="int"
- transient="false"
- volatile="false"
- value="35714"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LOW_FLOAT"
- type="int"
- transient="false"
- volatile="false"
- value="36336"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LOW_INT"
- type="int"
- transient="false"
- volatile="false"
- value="36339"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LUMINANCE"
- type="int"
- transient="false"
- volatile="false"
- value="6409"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_LUMINANCE_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="6410"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"
- type="int"
- transient="false"
- volatile="false"
- value="35661"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="34076"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"
- type="int"
- transient="false"
- volatile="false"
- value="36349"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_RENDERBUFFER_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="34024"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_TEXTURE_IMAGE_UNITS"
- type="int"
- transient="false"
- volatile="false"
- value="34930"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_TEXTURE_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="3379"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_VARYING_VECTORS"
- type="int"
- transient="false"
- volatile="false"
- value="36348"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_VERTEX_ATTRIBS"
- type="int"
- transient="false"
- volatile="false"
- value="34921"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"
- type="int"
- transient="false"
- volatile="false"
- value="35660"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_VERTEX_UNIFORM_VECTORS"
- type="int"
- transient="false"
- volatile="false"
- value="36347"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MAX_VIEWPORT_DIMS"
- type="int"
- transient="false"
- volatile="false"
- value="3386"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MEDIUM_FLOAT"
- type="int"
- transient="false"
- volatile="false"
- value="36337"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MEDIUM_INT"
- type="int"
- transient="false"
- volatile="false"
- value="36340"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_MIRRORED_REPEAT"
- type="int"
- transient="false"
- volatile="false"
- value="33648"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NEAREST"
- type="int"
- transient="false"
- volatile="false"
- value="9728"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NEAREST_MIPMAP_LINEAR"
- type="int"
- transient="false"
- volatile="false"
- value="9986"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NEAREST_MIPMAP_NEAREST"
- type="int"
- transient="false"
- volatile="false"
- value="9984"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NEVER"
- type="int"
- transient="false"
- volatile="false"
- value="512"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NICEST"
- type="int"
- transient="false"
- volatile="false"
- value="4354"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NONE"
- type="int"
- transient="false"
- volatile="false"
- value="0"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NOTEQUAL"
- type="int"
- transient="false"
- volatile="false"
- value="517"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NO_ERROR"
- type="int"
- transient="false"
- volatile="false"
- value="0"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"
- type="int"
- transient="false"
- volatile="false"
- value="34466"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_NUM_SHADER_BINARY_FORMATS"
- type="int"
- transient="false"
- volatile="false"
- value="36345"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ONE"
- type="int"
- transient="false"
- volatile="false"
- value="1"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ONE_MINUS_CONSTANT_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="32772"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ONE_MINUS_CONSTANT_COLOR"
- type="int"
- transient="false"
- volatile="false"
- value="32770"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ONE_MINUS_DST_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="773"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ONE_MINUS_DST_COLOR"
- type="int"
- transient="false"
- volatile="false"
- value="775"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ONE_MINUS_SRC_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="771"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ONE_MINUS_SRC_COLOR"
- type="int"
- transient="false"
- volatile="false"
- value="769"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_OUT_OF_MEMORY"
- type="int"
- transient="false"
- volatile="false"
- value="1285"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_PACK_ALIGNMENT"
- type="int"
- transient="false"
- volatile="false"
- value="3333"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_POINTS"
- type="int"
- transient="false"
- volatile="false"
- value="0"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_POLYGON_OFFSET_FACTOR"
- type="int"
- transient="false"
- volatile="false"
- value="32824"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_POLYGON_OFFSET_FILL"
- type="int"
- transient="false"
- volatile="false"
- value="32823"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_POLYGON_OFFSET_UNITS"
- type="int"
- transient="false"
- volatile="false"
- value="10752"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RED_BITS"
- type="int"
- transient="false"
- volatile="false"
- value="3410"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER"
- type="int"
- transient="false"
- volatile="false"
- value="36161"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_ALPHA_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="36179"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_BINDING"
- type="int"
- transient="false"
- volatile="false"
- value="36007"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_BLUE_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="36178"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_DEPTH_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="36180"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_GREEN_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="36177"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_HEIGHT"
- type="int"
- transient="false"
- volatile="false"
- value="36163"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_INTERNAL_FORMAT"
- type="int"
- transient="false"
- volatile="false"
- value="36164"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_RED_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="36176"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_STENCIL_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="36181"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERBUFFER_WIDTH"
- type="int"
- transient="false"
- volatile="false"
- value="36162"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RENDERER"
- type="int"
- transient="false"
- volatile="false"
- value="7937"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_REPEAT"
- type="int"
- transient="false"
- volatile="false"
- value="10497"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_REPLACE"
- type="int"
- transient="false"
- volatile="false"
- value="7681"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RGB"
- type="int"
- transient="false"
- volatile="false"
- value="6407"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RGB565"
- type="int"
- transient="false"
- volatile="false"
- value="36194"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RGB5_A1"
- type="int"
- transient="false"
- volatile="false"
- value="32855"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RGBA"
- type="int"
- transient="false"
- volatile="false"
- value="6408"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_RGBA4"
- type="int"
- transient="false"
- volatile="false"
- value="32854"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SAMPLER_2D"
- type="int"
- transient="false"
- volatile="false"
- value="35678"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SAMPLER_CUBE"
- type="int"
- transient="false"
- volatile="false"
- value="35680"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SAMPLES"
- type="int"
- transient="false"
- volatile="false"
- value="32937"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SAMPLE_ALPHA_TO_COVERAGE"
- type="int"
- transient="false"
- volatile="false"
- value="32926"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SAMPLE_BUFFERS"
- type="int"
- transient="false"
- volatile="false"
- value="32936"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SAMPLE_COVERAGE"
- type="int"
- transient="false"
- volatile="false"
- value="32928"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SAMPLE_COVERAGE_INVERT"
- type="int"
- transient="false"
- volatile="false"
- value="32939"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SAMPLE_COVERAGE_VALUE"
- type="int"
- transient="false"
- volatile="false"
- value="32938"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SCISSOR_BOX"
- type="int"
- transient="false"
- volatile="false"
- value="3088"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SCISSOR_TEST"
- type="int"
- transient="false"
- volatile="false"
- value="3089"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SHADER_BINARY_FORMATS"
- type="int"
- transient="false"
- volatile="false"
- value="36344"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SHADER_COMPILER"
- type="int"
- transient="false"
- volatile="false"
- value="36346"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SHADER_SOURCE_LENGTH"
- type="int"
- transient="false"
- volatile="false"
- value="35720"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SHADER_TYPE"
- type="int"
- transient="false"
- volatile="false"
- value="35663"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SHADING_LANGUAGE_VERSION"
- type="int"
- transient="false"
- volatile="false"
- value="35724"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SHORT"
- type="int"
- transient="false"
- volatile="false"
- value="5122"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SRC_ALPHA"
- type="int"
- transient="false"
- volatile="false"
- value="770"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SRC_ALPHA_SATURATE"
- type="int"
- transient="false"
- volatile="false"
- value="776"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SRC_COLOR"
- type="int"
- transient="false"
- volatile="false"
- value="768"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STATIC_DRAW"
- type="int"
- transient="false"
- volatile="false"
- value="35044"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_ATTACHMENT"
- type="int"
- transient="false"
- volatile="false"
- value="36128"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BACK_FAIL"
- type="int"
- transient="false"
- volatile="false"
- value="34817"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BACK_FUNC"
- type="int"
- transient="false"
- volatile="false"
- value="34816"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"
- type="int"
- transient="false"
- volatile="false"
- value="34818"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BACK_PASS_DEPTH_PASS"
- type="int"
- transient="false"
- volatile="false"
- value="34819"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BACK_REF"
- type="int"
- transient="false"
- volatile="false"
- value="36003"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BACK_VALUE_MASK"
- type="int"
- transient="false"
- volatile="false"
- value="36004"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BACK_WRITEMASK"
- type="int"
- transient="false"
- volatile="false"
- value="36005"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BITS"
- type="int"
- transient="false"
- volatile="false"
- value="3415"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_BUFFER_BIT"
- type="int"
- transient="false"
- volatile="false"
- value="1024"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_CLEAR_VALUE"
- type="int"
- transient="false"
- volatile="false"
- value="2961"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_FAIL"
- type="int"
- transient="false"
- volatile="false"
- value="2964"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_FUNC"
- type="int"
- transient="false"
- volatile="false"
- value="2962"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_INDEX"
- type="int"
- transient="false"
- volatile="false"
- value="6401"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_INDEX8"
- type="int"
- transient="false"
- volatile="false"
- value="36168"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_PASS_DEPTH_FAIL"
- type="int"
- transient="false"
- volatile="false"
- value="2965"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_PASS_DEPTH_PASS"
- type="int"
- transient="false"
- volatile="false"
- value="2966"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_REF"
- type="int"
- transient="false"
- volatile="false"
- value="2967"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_TEST"
- type="int"
- transient="false"
- volatile="false"
- value="2960"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_VALUE_MASK"
- type="int"
- transient="false"
- volatile="false"
- value="2963"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STENCIL_WRITEMASK"
- type="int"
- transient="false"
- volatile="false"
- value="2968"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_STREAM_DRAW"
- type="int"
- transient="false"
- volatile="false"
- value="35040"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_SUBPIXEL_BITS"
- type="int"
- transient="false"
- volatile="false"
- value="3408"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE"
- type="int"
- transient="false"
- volatile="false"
- value="5890"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE0"
- type="int"
- transient="false"
- volatile="false"
- value="33984"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE1"
- type="int"
- transient="false"
- volatile="false"
- value="33985"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE10"
- type="int"
- transient="false"
- volatile="false"
- value="33994"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE11"
- type="int"
- transient="false"
- volatile="false"
- value="33995"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE12"
- type="int"
- transient="false"
- volatile="false"
- value="33996"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE13"
- type="int"
- transient="false"
- volatile="false"
- value="33997"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE14"
- type="int"
- transient="false"
- volatile="false"
- value="33998"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE15"
- type="int"
- transient="false"
- volatile="false"
- value="33999"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE16"
- type="int"
- transient="false"
- volatile="false"
- value="34000"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE17"
- type="int"
- transient="false"
- volatile="false"
- value="34001"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE18"
- type="int"
- transient="false"
- volatile="false"
- value="34002"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE19"
- type="int"
- transient="false"
- volatile="false"
- value="34003"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE2"
- type="int"
- transient="false"
- volatile="false"
- value="33986"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE20"
- type="int"
- transient="false"
- volatile="false"
- value="34004"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE21"
- type="int"
- transient="false"
- volatile="false"
- value="34005"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE22"
- type="int"
- transient="false"
- volatile="false"
- value="34006"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE23"
- type="int"
- transient="false"
- volatile="false"
- value="34007"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE24"
- type="int"
- transient="false"
- volatile="false"
- value="34008"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE25"
- type="int"
- transient="false"
- volatile="false"
- value="34009"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE26"
- type="int"
- transient="false"
- volatile="false"
- value="34010"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE27"
- type="int"
- transient="false"
- volatile="false"
- value="34011"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE28"
- type="int"
- transient="false"
- volatile="false"
- value="34012"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE29"
- type="int"
- transient="false"
- volatile="false"
- value="34013"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE3"
- type="int"
- transient="false"
- volatile="false"
- value="33987"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE30"
- type="int"
- transient="false"
- volatile="false"
- value="34014"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE31"
- type="int"
- transient="false"
- volatile="false"
- value="34015"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE4"
- type="int"
- transient="false"
- volatile="false"
- value="33988"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE5"
- type="int"
- transient="false"
- volatile="false"
- value="33989"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE6"
- type="int"
- transient="false"
- volatile="false"
- value="33990"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE7"
- type="int"
- transient="false"
- volatile="false"
- value="33991"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE8"
- type="int"
- transient="false"
- volatile="false"
- value="33992"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE9"
- type="int"
- transient="false"
- volatile="false"
- value="33993"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_2D"
- type="int"
- transient="false"
- volatile="false"
- value="3553"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_BINDING_2D"
- type="int"
- transient="false"
- volatile="false"
- value="32873"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_BINDING_CUBE_MAP"
- type="int"
- transient="false"
- volatile="false"
- value="34068"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_CUBE_MAP"
- type="int"
- transient="false"
- volatile="false"
- value="34067"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X"
- type="int"
- transient="false"
- volatile="false"
- value="34070"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"
- type="int"
- transient="false"
- volatile="false"
- value="34072"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"
- type="int"
- transient="false"
- volatile="false"
- value="34074"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_X"
- type="int"
- transient="false"
- volatile="false"
- value="34069"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y"
- type="int"
- transient="false"
- volatile="false"
- value="34071"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z"
- type="int"
- transient="false"
- volatile="false"
- value="34073"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_MAG_FILTER"
- type="int"
- transient="false"
- volatile="false"
- value="10240"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_MIN_FILTER"
- type="int"
- transient="false"
- volatile="false"
- value="10241"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_WRAP_S"
- type="int"
- transient="false"
- volatile="false"
- value="10242"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TEXTURE_WRAP_T"
- type="int"
- transient="false"
- volatile="false"
- value="10243"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TRIANGLES"
- type="int"
- transient="false"
- volatile="false"
- value="4"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TRIANGLE_FAN"
- type="int"
- transient="false"
- volatile="false"
- value="6"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TRIANGLE_STRIP"
- type="int"
- transient="false"
- volatile="false"
- value="5"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_TRUE"
- type="int"
- transient="false"
- volatile="false"
- value="1"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_UNPACK_ALIGNMENT"
- type="int"
- transient="false"
- volatile="false"
- value="3317"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_UNSIGNED_BYTE"
- type="int"
- transient="false"
- volatile="false"
- value="5121"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_UNSIGNED_INT"
- type="int"
- transient="false"
- volatile="false"
- value="5125"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_UNSIGNED_SHORT"
- type="int"
- transient="false"
- volatile="false"
- value="5123"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_UNSIGNED_SHORT_4_4_4_4"
- type="int"
- transient="false"
- volatile="false"
- value="32819"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_UNSIGNED_SHORT_5_5_5_1"
- type="int"
- transient="false"
- volatile="false"
- value="32820"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_UNSIGNED_SHORT_5_6_5"
- type="int"
- transient="false"
- volatile="false"
- value="33635"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VALIDATE_STATUS"
- type="int"
- transient="false"
- volatile="false"
- value="35715"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VENDOR"
- type="int"
- transient="false"
- volatile="false"
- value="7936"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERSION"
- type="int"
- transient="false"
- volatile="false"
- value="7938"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"
- type="int"
- transient="false"
- volatile="false"
- value="34975"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"
- type="int"
- transient="false"
- volatile="false"
- value="34338"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"
- type="int"
- transient="false"
- volatile="false"
- value="34922"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERTEX_ATTRIB_ARRAY_POINTER"
- type="int"
- transient="false"
- volatile="false"
- value="34373"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERTEX_ATTRIB_ARRAY_SIZE"
- type="int"
- transient="false"
- volatile="false"
- value="34339"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"
- type="int"
- transient="false"
- volatile="false"
- value="34340"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERTEX_ATTRIB_ARRAY_TYPE"
- type="int"
- transient="false"
- volatile="false"
- value="34341"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VERTEX_SHADER"
- type="int"
- transient="false"
- volatile="false"
- value="35633"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_VIEWPORT"
- type="int"
- transient="false"
- volatile="false"
- value="2978"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-<field name="GL_ZERO"
- type="int"
- transient="false"
- volatile="false"
- value="0"
- static="true"
- final="true"
- deprecated="not deprecated"
- visibility="public"
->
-</field>
-</class>
<class name="GLException"
extends="java.lang.RuntimeException"
abstract="false"
@@ -234351,7 +227814,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="value" type="int">
+<parameter name="i" type="int">
</parameter>
</method>
<method name="toString"
@@ -234600,7 +228063,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="compareTo"
@@ -234706,7 +228169,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="intValue"
@@ -234741,7 +228204,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="numberOfLeadingZeros"
@@ -234754,7 +228217,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="numberOfTrailingZeros"
@@ -234767,7 +228230,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="parseLong"
@@ -234812,7 +228275,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="reverseBytes"
@@ -234825,7 +228288,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="rotateLeft"
@@ -234838,7 +228301,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
<parameter name="distance" type="int">
</parameter>
@@ -234853,7 +228316,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
<parameter name="distance" type="int">
</parameter>
@@ -234868,7 +228331,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="toBinaryString"
@@ -234881,7 +228344,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="l" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="toHexString"
@@ -234894,7 +228357,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="l" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="toOctalString"
@@ -234907,7 +228370,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="l" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<method name="toString"
@@ -234920,7 +228383,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="l" type="long">
+<parameter name="n" type="long">
</parameter>
</method>
<method name="toString"
@@ -234933,7 +228396,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="l" type="long">
+<parameter name="v" type="long">
</parameter>
<parameter name="radix" type="int">
</parameter>
@@ -234980,7 +228443,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="lng" type="long">
+<parameter name="v" type="long">
</parameter>
</method>
<field name="MAX_VALUE"
@@ -252449,7 +245912,7 @@
deprecated="not deprecated"
visibility="public"
>
-<parameter name="o" type="java.lang.Object">
+<parameter name="other" type="java.lang.Object">
</parameter>
</method>
<method name="getActions"
@@ -292825,7 +286288,7 @@
>
<parameter name="array" type="java.lang.Object[]">
</parameter>
-<parameter name="object" type="java.lang.Object">
+<parameter name="value" type="java.lang.Object">
</parameter>
</method>
<method name="binarySearch"
@@ -292840,7 +286303,7 @@
>
<parameter name="array" type="T[]">
</parameter>
-<parameter name="object" type="T">
+<parameter name="value" type="T">
</parameter>
<parameter name="comparator" type="java.util.Comparator<? super T>">
</parameter>
diff --git a/cmds/dumpsys/dumpsys.cpp b/cmds/dumpsys/dumpsys.cpp
index 945a690..fdc5d5d 100644
--- a/cmds/dumpsys/dumpsys.cpp
+++ b/cmds/dumpsys/dumpsys.cpp
@@ -51,22 +51,26 @@
const size_t N = services.size();
- // first print a list of the current services
- aout << "Currently running services:" << endl;
-
- for (size_t i=0; i<N; i++) {
- sp<IBinder> service = sm->checkService(services[i]);
- if (service != NULL) {
- aout << " " << services[i] << endl;
+ if (N > 1) {
+ // first print a list of the current services
+ aout << "Currently running services:" << endl;
+
+ for (size_t i=0; i<N; i++) {
+ sp<IBinder> service = sm->checkService(services[i]);
+ if (service != NULL) {
+ aout << " " << services[i] << endl;
+ }
}
}
for (size_t i=0; i<N; i++) {
sp<IBinder> service = sm->checkService(services[i]);
if (service != NULL) {
- aout << "------------------------------------------------------------"
- "-------------------" << endl;
- aout << "DUMP OF SERVICE " << services[i] << ":" << endl;
+ if (N > 1) {
+ aout << "------------------------------------------------------------"
+ "-------------------" << endl;
+ aout << "DUMP OF SERVICE " << services[i] << ":" << endl;
+ }
int err = service->dump(STDOUT_FILENO, args);
if (err != 0) {
aerr << "Error dumping service info: (" << strerror(err)
diff --git a/cmds/keystore/keystore.c b/cmds/keystore/keystore.c
index ba74c78..37155e4 100644
--- a/cmds/keystore/keystore.c
+++ b/cmds/keystore/keystore.c
@@ -163,19 +163,23 @@
static int8_t encrypt_blob(char *name, AES_KEY *aes_key)
{
uint8_t vector[AES_BLOCK_SIZE];
- int length = blob.length;
+ int length;
int fd;
if (read(the_entropy, vector, AES_BLOCK_SIZE) != AES_BLOCK_SIZE) {
return SYSTEM_ERROR;
}
- length += blob.value - blob.digested;
+ length = (blob.length + blob.value - blob.encrypted) % AES_BLOCK_SIZE;
+ if (length) {
+ length = AES_BLOCK_SIZE - length;
+ }
+
+ length += blob.length + blob.value - blob.digested;
blob.length = htonl(blob.length);
MD5(blob.digested, length, blob.digest);
length += blob.digested - blob.encrypted;
- length = (length + AES_BLOCK_SIZE - 1) / AES_BLOCK_SIZE * AES_BLOCK_SIZE;
memcpy(vector, blob.vector, AES_BLOCK_SIZE);
AES_cbc_encrypt(blob.encrypted, blob.encrypted, length, aes_key, vector,
AES_ENCRYPT);
@@ -184,11 +188,9 @@
length += blob.encrypted - (uint8_t *)&blob;
fd = open(".tmp", O_WRONLY | O_TRUNC | O_CREAT, S_IRUSR | S_IWUSR);
- if (fd == -1 || write(fd, &blob, length) != length) {
- return SYSTEM_ERROR;
- }
+ length -= write(fd, &blob, length);
close(fd);
- return rename(".tmp", name) ? SYSTEM_ERROR : NO_ERROR;
+ return (length || rename(".tmp", name)) ? SYSTEM_ERROR : NO_ERROR;
}
static int8_t decrypt_blob(char *name, AES_KEY *aes_key)
@@ -210,14 +212,15 @@
AES_cbc_encrypt(blob.encrypted, blob.encrypted, length, aes_key,
blob.vector, AES_DECRYPT);
length -= blob.digested - blob.encrypted;
- if (!memcmp(blob.digest, MD5(blob.digested, length, NULL),
- MD5_DIGEST_LENGTH)) {
+ if (memcmp(blob.digest, MD5(blob.digested, length, NULL),
+ MD5_DIGEST_LENGTH)) {
return VALUE_CORRUPTED;
}
length -= blob.value - blob.digested;
blob.length = ntohl(blob.length);
- return (length < blob.length) ? VALUE_CORRUPTED : NO_ERROR;
+ return (blob.length < 0 || blob.length > length) ? VALUE_CORRUPTED :
+ NO_ERROR;
}
/* Here are the actions. Each of them is a function without arguments. All
diff --git a/core/java/android/app/AliasActivity.java b/core/java/android/app/AliasActivity.java
index 4f91e02..7527a5b 100644
--- a/core/java/android/app/AliasActivity.java
+++ b/core/java/android/app/AliasActivity.java
@@ -26,7 +26,7 @@
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Xml;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import java.io.IOException;
diff --git a/core/java/android/app/ApplicationContext.java b/core/java/android/app/ApplicationContext.java
index b3d16e9..d89b877 100644
--- a/core/java/android/app/ApplicationContext.java
+++ b/core/java/android/app/ApplicationContext.java
@@ -17,7 +17,7 @@
package android.app;
import com.android.internal.policy.PolicyManager;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import com.google.android.collect.Maps;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index d784759..bf37b62 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -34,7 +34,7 @@
import android.os.Parcelable;
import android.util.AttributeSet;
import android.util.Log;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import java.io.IOException;
import java.io.Serializable;
@@ -575,7 +575,7 @@
* {@link #setFlags} and {@link #addFlags}. See {@link #setFlags} for a list
* of all possible flags.
*/
-public class Intent implements Parcelable {
+public class Intent implements Parcelable, Cloneable {
// ---------------------------------------------------------------------
// ---------------------------------------------------------------------
// Standard intent activity actions (see action variable).
@@ -1130,7 +1130,7 @@
*/
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_POWER_USAGE_SUMMARY = "android.intent.action.POWER_USAGE_SUMMARY";
-
+
/**
* Activity Action: Setup wizard to launch after a platform update. This
* activity should have a string meta-data field associated with it,
@@ -1144,7 +1144,7 @@
*/
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
-
+
/**
* A string associated with a {@link #ACTION_UPGRADE_SETUP} activity
* describing the last run version of the platform that was setup.
@@ -1158,7 +1158,7 @@
/**
* Broadcast Action: Sent after the screen turns off.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1166,7 +1166,7 @@
public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF";
/**
* Broadcast Action: Sent after the screen turns on.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1176,7 +1176,7 @@
/**
* Broadcast Action: Sent when the user is present after device wakes up (e.g when the
* keyguard is gone).
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1189,7 +1189,7 @@
* in manifests, only by exlicitly registering for it with
* {@link Context#registerReceiver(BroadcastReceiver, IntentFilter)
* Context.registerReceiver()}.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1210,7 +1210,7 @@
* <ul>
* <li><em>time-zone</em> - The java.util.TimeZone.getID() value identifying the new time zone.</li>
* </ul>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1238,7 +1238,7 @@
* such as installing alarms. You must hold the
* {@link android.Manifest.permission#RECEIVE_BOOT_COMPLETED} permission
* in order to receive this broadcast.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1254,7 +1254,7 @@
* Broadcast Action: Trigger the download and eventual installation
* of a package.
* <p>Input: {@link #getData} is the URI of the package file to download.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1270,7 +1270,7 @@
* <li> {@link #EXTRA_REPLACING} is set to true if this is following
* an {@link #ACTION_PACKAGE_REMOVED} broadcast for the same package.
* </ul>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1284,7 +1284,7 @@
* <ul>
* <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package.
* </ul>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1302,7 +1302,7 @@
* <li> {@link #EXTRA_REPLACING} is set to true if this will be followed
* by an {@link #ACTION_PACKAGE_ADDED} broadcast for the same package.
* </ul>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1319,7 +1319,7 @@
* <li> {@link #EXTRA_DONT_KILL_APP} containing boolean field to override the
* default action of restarting the application.
* </ul>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1335,7 +1335,7 @@
* <ul>
* <li> {@link #EXTRA_UID} containing the integer uid assigned to the package.
* </ul>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1350,7 +1350,7 @@
* <ul>
* <li> {@link #EXTRA_UID} containing the integer uid assigned to the package.
* </ul>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1359,7 +1359,7 @@
/**
* Broadcast Action: A user ID has been removed from the system. The user
* ID number is stored in the extra data under {@link #EXTRA_UID}.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1380,13 +1380,13 @@
* application to make sure it sees the new changes. Some system code that
* can not be restarted will need to watch for this action and handle it
* appropriately.
- *
+ *
* <p class="note">
* You can <em>not</em> receive this through components declared
* in manifests, only by explicitly registering for it with
* {@link Context#registerReceiver(BroadcastReceiver, IntentFilter)
* Context.registerReceiver()}.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*
@@ -1396,7 +1396,7 @@
public static final String ACTION_CONFIGURATION_CHANGED = "android.intent.action.CONFIGURATION_CHANGED";
/**
* Broadcast Action: The current device's locale has changed.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1417,7 +1417,7 @@
* and {@link #ACTION_POWER_DISCONNECTED} for distinct battery-related
* broadcasts that are sent and can be received through manifest
* receivers.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1426,7 +1426,7 @@
/**
* Broadcast Action: Indicates low battery condition on the device.
* This broadcast corresponds to the "Low battery warning" system dialog.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1436,7 +1436,7 @@
* Broadcast Action: Indicates the battery is now okay after being low.
* This will be sent after {@link #ACTION_BATTERY_LOW} once the battery has
* gone back up to an okay state.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1448,7 +1448,7 @@
* Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to
* stay active to receive this notification. This action can be used to implement actions
* that wait until power is available to trigger.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1460,7 +1460,7 @@
* Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to
* stay active to receive this notification. This action can be used to implement actions
* that wait until power is available to trigger.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1473,7 +1473,7 @@
* off, not sleeping). Once the broadcast is complete, the final shutdown
* will proceed and all unsaved data lost. Apps will not normally need
* to handle this, since the foreground activity will be paused as well.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1493,7 +1493,7 @@
/**
* Broadcast Action: A sticky broadcast that indicates low memory
* condition on the device
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1501,7 +1501,7 @@
public static final String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW";
/**
* Broadcast Action: Indicates low memory condition on the device no longer exists
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1668,7 +1668,7 @@
* then cell radio and possibly other radios such as bluetooth or WiFi may have also been
* turned off</li>
* </ul>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1750,7 +1750,7 @@
* <p>You must hold the
* {@link android.Manifest.permission#PROCESS_OUTGOING_CALLS}
* permission to receive this Intent.</p>
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -1761,7 +1761,7 @@
/**
* Broadcast Action: Have the device reboot. This is only for use by
* system code.
- *
+ *
* <p class="note">This is a protected intent that can only be sent
* by the system.
*/
@@ -2112,7 +2112,7 @@
* indicate that the dock should take over the home key when it is active.
*/
public static final String METADATA_DOCK_HOME = "android.dock_home";
-
+
/**
* Used as a parcelable extra field in {@link #ACTION_APP_ERROR}, containing
* the bug report.
@@ -2406,7 +2406,7 @@
* the new broadcast (and receivers associated with it) will replace the
* existing one in the pending broadcast list, remaining at the same
* position in the list.
- *
+ *
* <p>This flag is most typically used with sticky broadcasts, which
* only care about delivering the most recent values of the broadcast
* to their receivers.
@@ -2440,7 +2440,7 @@
public static final int IMMUTABLE_FLAGS =
FLAG_GRANT_READ_URI_PERMISSION
| FLAG_GRANT_WRITE_URI_PERMISSION;
-
+
// ---------------------------------------------------------------------
// ---------------------------------------------------------------------
// toUri() and parseUri() options.
@@ -2454,7 +2454,7 @@
* VIEW action for that raw URI.
*/
public static final int URI_INTENT_SCHEME = 1<<0;
-
+
// ---------------------------------------------------------------------
private String mAction;
@@ -2613,7 +2613,7 @@
public static Intent getIntent(String uri) throws URISyntaxException {
return parseUri(uri, 0);
}
-
+
/**
* Create an intent from a URI. This URI may encode the action,
* category, and other intent fields, if it was returned by
@@ -2632,7 +2632,7 @@
* @throws URISyntaxException Throws URISyntaxError if the basic URI syntax
* it bad (as parsed by the Uri class) or the Intent data within the
* URI is invalid.
- *
+ *
* @see #toUri
*/
public static Intent parseUri(String uri, int flags) throws URISyntaxException {
@@ -2650,7 +2650,7 @@
return intent;
}
}
-
+
// simple case
i = uri.lastIndexOf("#");
if (i == -1) return new Intent(ACTION_VIEW, Uri.parse(uri));
@@ -2742,7 +2742,7 @@
data = scheme + ':' + data;
}
}
-
+
if (data.length() > 0) {
try {
intent.mData = Uri.parse(data);
@@ -2751,7 +2751,7 @@
}
}
}
-
+
return intent;
} catch (IndexOutOfBoundsException e) {
@@ -2902,7 +2902,7 @@
} else {
intent.mData = Uri.parse(uri);
}
-
+
if (intent.mAction == null) {
// By default, if no action is specified, then use VIEW.
intent.mAction = ACTION_VIEW;
@@ -5127,13 +5127,13 @@
* used with {@link Uri#parse Uri.parse(String)}. The URI contains the
* Intent's data as the base URI, with an additional fragment describing
* the action, categories, type, flags, package, component, and extras.
- *
+ *
* <p>You can convert the returned string back to an Intent with
* {@link #getIntent}.
- *
+ *
* @param flags Additional operating flags. Either 0 or
* {@link #URI_INTENT_SCHEME}.
- *
+ *
* @return Returns a URI encoding URI string describing the entire contents
* of the Intent.
*/
@@ -5157,13 +5157,13 @@
data = data.substring(i+1);
break;
}
-
+
// No scheme.
break;
}
}
uri.append(data);
-
+
} else if ((flags&URI_INTENT_SCHEME) != 0) {
uri.append("intent:");
}
diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java
index 365f269..023c024 100644
--- a/core/java/android/content/IntentFilter.java
+++ b/core/java/android/content/IntentFilter.java
@@ -34,7 +34,7 @@
import android.util.Config;
import android.util.Log;
import android.util.Printer;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
/**
* Structured description of Intent values to be matched. An IntentFilter can
diff --git a/core/java/android/content/SyncStorageEngine.java b/core/java/android/content/SyncStorageEngine.java
index b6bb7db..4c53201 100644
--- a/core/java/android/content/SyncStorageEngine.java
+++ b/core/java/android/content/SyncStorageEngine.java
@@ -16,6 +16,10 @@
package android.content;
+import com.android.internal.os.AtomicFile;
+import com.android.internal.util.ArrayUtils;
+import com.android.common.FastXmlSerializer;
+
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlSerializer;
@@ -37,10 +41,6 @@
import android.util.SparseArray;
import android.util.Xml;
-import com.android.internal.os.AtomicFile;
-import com.android.internal.util.ArrayUtils;
-import com.android.internal.util.FastXmlSerializer;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -512,7 +512,7 @@
SyncStatusInfo status = getOrCreateSyncStatusLocked(authority.ident);
status.pending = true;
- status.initialize = op.extras != null &&
+ status.initialize = op.extras != null &&
op.extras.containsKey(ContentResolver.SYNC_EXTRAS_INITIALIZE) &&
op.extras.getBoolean(ContentResolver.SYNC_EXTRAS_INITIALIZE);
}
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index 48d1add..ad99f54 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -35,7 +35,7 @@
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import java.io.File;
import java.io.IOException;
diff --git a/core/java/android/content/pm/RegisteredServicesCache.java b/core/java/android/content/pm/RegisteredServicesCache.java
index b39a67d..b819fa0 100644
--- a/core/java/android/content/pm/RegisteredServicesCache.java
+++ b/core/java/android/content/pm/RegisteredServicesCache.java
@@ -43,7 +43,7 @@
import java.io.FileInputStream;
import com.android.internal.os.AtomicFile;
-import com.android.internal.util.FastXmlSerializer;
+import com.android.common.FastXmlSerializer;
import com.google.android.collect.Maps;
import com.google.android.collect.Lists;
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index 1c0ed36..e4fc259 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -17,7 +17,7 @@
package android.content.res;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/core/java/android/content/res/StringBlock.java b/core/java/android/content/res/StringBlock.java
index 8fb82be..2411177 100644
--- a/core/java/android/content/res/StringBlock.java
+++ b/core/java/android/content/res/StringBlock.java
@@ -24,7 +24,7 @@
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.Typeface;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
/**
* Conveniences for retrieving data out of a compiled string resource.
diff --git a/core/java/android/content/res/TypedArray.java b/core/java/android/content/res/TypedArray.java
index 016ee7f..8f0003b 100644
--- a/core/java/android/content/res/TypedArray.java
+++ b/core/java/android/content/res/TypedArray.java
@@ -5,7 +5,7 @@
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import java.util.Arrays;
diff --git a/core/java/android/content/res/XmlBlock.java b/core/java/android/content/res/XmlBlock.java
index 6336678..f800232 100644
--- a/core/java/android/content/res/XmlBlock.java
+++ b/core/java/android/content/res/XmlBlock.java
@@ -17,7 +17,7 @@
package android.content.res;
import android.util.TypedValue;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/core/java/android/net/NetworkConnectivityListener.java b/core/java/android/net/NetworkConnectivityListener.java
deleted file mode 100644
index 858fc77..0000000
--- a/core/java/android/net/NetworkConnectivityListener.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (C) 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.
- */
-
-package android.net;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-/**
- * A wrapper for a broadcast receiver that provides network connectivity
- * state information, independent of network type (mobile, Wi-Fi, etc.).
- * {@hide}
- */
-public class NetworkConnectivityListener {
- private static final String TAG = "NetworkConnectivityListener";
- private static final boolean DBG = false;
-
- private Context mContext;
- private HashMap<Handler, Integer> mHandlers = new HashMap<Handler, Integer>();
- private State mState;
- private boolean mListening;
- private String mReason;
- private boolean mIsFailover;
-
- /** Network connectivity information */
- private NetworkInfo mNetworkInfo;
-
- /**
- * In case of a Disconnect, the connectivity manager may have
- * already established, or may be attempting to establish, connectivity
- * with another network. If so, {@code mOtherNetworkInfo} will be non-null.
- */
- private NetworkInfo mOtherNetworkInfo;
-
- private ConnectivityBroadcastReceiver mReceiver;
-
- private class ConnectivityBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
-
- if (!action.equals(ConnectivityManager.CONNECTIVITY_ACTION) ||
- mListening == false) {
- Log.w(TAG, "onReceived() called with " + mState.toString() + " and " + intent);
- return;
- }
-
- boolean noConnectivity =
- intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
-
- if (noConnectivity) {
- mState = State.NOT_CONNECTED;
- } else {
- mState = State.CONNECTED;
- }
-
- mNetworkInfo = (NetworkInfo)
- intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
- mOtherNetworkInfo = (NetworkInfo)
- intent.getParcelableExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO);
-
- mReason = intent.getStringExtra(ConnectivityManager.EXTRA_REASON);
- mIsFailover =
- intent.getBooleanExtra(ConnectivityManager.EXTRA_IS_FAILOVER, false);
-
- if (DBG) {
- Log.d(TAG, "onReceive(): mNetworkInfo=" + mNetworkInfo + " mOtherNetworkInfo = "
- + (mOtherNetworkInfo == null ? "[none]" : mOtherNetworkInfo +
- " noConn=" + noConnectivity) + " mState=" + mState.toString());
- }
-
- // Notifiy any handlers.
- Iterator<Handler> it = mHandlers.keySet().iterator();
- while (it.hasNext()) {
- Handler target = it.next();
- Message message = Message.obtain(target, mHandlers.get(target));
- target.sendMessage(message);
- }
- }
- };
-
- public enum State {
- UNKNOWN,
-
- /** This state is returned if there is connectivity to any network **/
- CONNECTED,
- /**
- * This state is returned if there is no connectivity to any network. This is set
- * to true under two circumstances:
- * <ul>
- * <li>When connectivity is lost to one network, and there is no other available
- * network to attempt to switch to.</li>
- * <li>When connectivity is lost to one network, and the attempt to switch to
- * another network fails.</li>
- */
- NOT_CONNECTED
- }
-
- /**
- * Create a new NetworkConnectivityListener.
- */
- public NetworkConnectivityListener() {
- mState = State.UNKNOWN;
- mReceiver = new ConnectivityBroadcastReceiver();
- }
-
- /**
- * This method starts listening for network connectivity state changes.
- * @param context
- */
- public synchronized void startListening(Context context) {
- if (!mListening) {
- mContext = context;
-
- IntentFilter filter = new IntentFilter();
- filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
- context.registerReceiver(mReceiver, filter);
- mListening = true;
- }
- }
-
- /**
- * This method stops this class from listening for network changes.
- */
- public synchronized void stopListening() {
- if (mListening) {
- mContext.unregisterReceiver(mReceiver);
- mContext = null;
- mNetworkInfo = null;
- mOtherNetworkInfo = null;
- mIsFailover = false;
- mReason = null;
- mListening = false;
- }
- }
-
- /**
- * This methods registers a Handler to be called back onto with the specified what code when
- * the network connectivity state changes.
- *
- * @param target The target handler.
- * @param what The what code to be used when posting a message to the handler.
- */
- public void registerHandler(Handler target, int what) {
- mHandlers.put(target, what);
- }
-
- /**
- * This methods unregisters the specified Handler.
- * @param target
- */
- public void unregisterHandler(Handler target) {
- mHandlers.remove(target);
- }
-
- public State getState() {
- return mState;
- }
-
- /**
- * Return the NetworkInfo associated with the most recent connectivity event.
- * @return {@code NetworkInfo} for the network that had the most recent connectivity event.
- */
- public NetworkInfo getNetworkInfo() {
- return mNetworkInfo;
- }
-
- /**
- * If the most recent connectivity event was a DISCONNECT, return
- * any information supplied in the broadcast about an alternate
- * network that might be available. If this returns a non-null
- * value, then another broadcast should follow shortly indicating
- * whether connection to the other network succeeded.
- *
- * @return NetworkInfo
- */
- public NetworkInfo getOtherNetworkInfo() {
- return mOtherNetworkInfo;
- }
-
- /**
- * Returns true if the most recent event was for an attempt to switch over to
- * a new network following loss of connectivity on another network.
- * @return {@code true} if this was a failover attempt, {@code false} otherwise.
- */
- public boolean isFailover() {
- return mIsFailover;
- }
-
- /**
- * An optional reason for the connectivity state change may have been supplied.
- * This returns it.
- * @return the reason for the state change, if available, or {@code null}
- * otherwise.
- */
- public String getReason() {
- return mReason;
- }
-}
diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java
index b590449..dfb775f 100644
--- a/core/java/android/server/BluetoothService.java
+++ b/core/java/android/server/BluetoothService.java
@@ -74,6 +74,7 @@
private int mNativeData;
private BluetoothEventLoop mEventLoop;
private boolean mIsAirplaneSensitive;
+ private boolean mIsAirplaneToggleable;
private int mBluetoothState;
private boolean mRestart = false; // need to call enable() after disable()
private boolean mIsDiscovering;
@@ -370,7 +371,7 @@
"Need BLUETOOTH_ADMIN permission");
// Airplane mode can prevent Bluetooth radio from being turned on.
- if (mIsAirplaneSensitive && isAirplaneModeOn()) {
+ if (mIsAirplaneSensitive && isAirplaneModeOn() && !mIsAirplaneToggleable) {
return false;
}
if (mBluetoothState != BluetoothAdapter.STATE_OFF) {
@@ -545,7 +546,7 @@
mEventLoop.onPropertyChanged(propVal);
}
- if (mIsAirplaneSensitive && isAirplaneModeOn()) {
+ if (mIsAirplaneSensitive && isAirplaneModeOn() && !mIsAirplaneToggleable) {
disable(false);
}
@@ -1597,10 +1598,17 @@
};
private void registerForAirplaneMode(IntentFilter filter) {
- String airplaneModeRadios = Settings.System.getString(mContext.getContentResolver(),
+ final ContentResolver resolver = mContext.getContentResolver();
+ final String airplaneModeRadios = Settings.System.getString(resolver,
Settings.System.AIRPLANE_MODE_RADIOS);
- mIsAirplaneSensitive = airplaneModeRadios == null
- ? true : airplaneModeRadios.contains(Settings.System.RADIO_BLUETOOTH);
+ final String toggleableRadios = Settings.System.getString(resolver,
+ Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
+
+ mIsAirplaneSensitive = airplaneModeRadios == null ? true :
+ airplaneModeRadios.contains(Settings.System.RADIO_BLUETOOTH);
+ mIsAirplaneToggleable = toggleableRadios == null ? false :
+ toggleableRadios.contains(Settings.System.RADIO_BLUETOOTH);
+
if (mIsAirplaneSensitive) {
filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
}
@@ -1661,6 +1669,7 @@
}
pw.println("mIsAirplaneSensitive = " + mIsAirplaneSensitive);
+ pw.println("mIsAirplaneToggleable = " + mIsAirplaneToggleable);
pw.println("Local address = " + getAddress());
pw.println("Local name = " + getName());
diff --git a/core/java/android/text/AutoText.java b/core/java/android/text/AutoText.java
index 2fc906a..862305b 100644
--- a/core/java/android/text/AutoText.java
+++ b/core/java/android/text/AutoText.java
@@ -18,7 +18,7 @@
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import android.view.View;
import org.xmlpull.v1.XmlPullParser;
diff --git a/core/java/android/text/Html.java b/core/java/android/text/Html.java
index 380e5fd..33ecc01 100644
--- a/core/java/android/text/Html.java
+++ b/core/java/android/text/Html.java
@@ -46,7 +46,7 @@
import android.text.style.URLSpan;
import android.text.style.UnderlineSpan;
import android.util.Log;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import java.io.IOException;
import java.io.StringReader;
diff --git a/core/java/android/util/TimeUtils.java b/core/java/android/util/TimeUtils.java
index 0fc70d5..4f496d7 100644
--- a/core/java/android/util/TimeUtils.java
+++ b/core/java/android/util/TimeUtils.java
@@ -27,7 +27,7 @@
import java.util.TimeZone;
import java.util.Date;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
/**
* A class containing utility methods related to time zones.
diff --git a/core/java/android/util/XmlPullAttributes.java b/core/java/android/util/XmlPullAttributes.java
index 12d6dd9..8f855cd 100644
--- a/core/java/android/util/XmlPullAttributes.java
+++ b/core/java/android/util/XmlPullAttributes.java
@@ -19,7 +19,7 @@
import org.xmlpull.v1.XmlPullParser;
import android.util.AttributeSet;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
/**
* Provides an implementation of AttributeSet on top of an XmlPullParser.
diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java
index 5d3840a..bbe9c1f 100644
--- a/core/java/android/view/WindowManagerPolicy.java
+++ b/core/java/android/view/WindowManagerPolicy.java
@@ -662,6 +662,14 @@
public boolean finishAnimationLw();
/**
+ * Return true if it is okay to perform animations for an app transition
+ * that is about to occur. You may return false for this if, for example,
+ * the lock screen is currently displayed so the switch should happen
+ * immediately.
+ */
+ public boolean allowAppAnimationsLw();
+
+ /**
* Called after the screen turns off.
*
* @param why {@link #OFF_BECAUSE_OF_USER} or
@@ -675,6 +683,11 @@
public void screenTurnedOn();
/**
+ * Return whether the screen is currently on.
+ */
+ public boolean isScreenOn();
+
+ /**
* Perform any initial processing of a low-level input event before the
* window manager handles special keys and generates a high-level event
* that is dispatched to the application.
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index bfe5b41..fb8148b 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -5684,12 +5684,49 @@
mFullScreenHolder.setContentView(data.mView);
mFullScreenHolder.setCancelable(false);
mFullScreenHolder.setCanceledOnTouchOutside(false);
+ mFullScreenHolder.show();
}
+ // move the matching embedded view fully into the view so
+ // that touch will be valid instead of rejected due to out
+ // of the visible bounds
+ // TODO: do we need to preserve the original position and
+ // scale so that we can revert it when leaving the full
+ // screen mode?
+ int x = contentToViewX(data.mDocX);
+ int y = contentToViewY(data.mDocY);
+ int width = contentToViewDimension(data.mDocWidth);
+ int height = contentToViewDimension(data.mDocHeight);
+ int viewWidth = getViewWidth();
+ int viewHeight = getViewHeight();
+ int newX = mScrollX;
+ int newY = mScrollY;
+ if (x < mScrollX) {
+ newX = x + (width > viewWidth
+ ? (width - viewWidth) / 2 : 0);
+ } else if (x + width > mScrollX + viewWidth) {
+ newX = x + width - viewWidth - (width > viewWidth
+ ? (width - viewWidth) / 2 : 0);
+ }
+ if (y < mScrollY) {
+ newY = y + (height > viewHeight
+ ? (height - viewHeight) / 2 : 0);
+ } else if (y + height > mScrollY + viewHeight) {
+ newY = y + height - viewHeight - (height > viewHeight
+ ? (height - viewHeight) / 2 : 0);
+ }
+ scrollTo(newX, newY);
+ if (width > viewWidth || height > viewHeight) {
+ mZoomCenterX = viewWidth * .5f;
+ mZoomCenterY = viewHeight * .5f;
+ setNewZoomScale(mActualScale
+ / Math.max((float) width / viewWidth,
+ (float) height / viewHeight), false);
+ }
+ // Now update the bound
mFullScreenHolder.updateBound(contentToViewX(data.mDocX)
- mScrollX, contentToViewY(data.mDocY) - mScrollY,
contentToViewDimension(data.mDocWidth),
contentToViewDimension(data.mDocHeight));
- mFullScreenHolder.show();
break;
case HIDE_FULLSCREEN:
diff --git a/core/java/com/android/internal/database/ArrayListCursor.java b/core/java/com/android/internal/database/ArrayListCursor.java
deleted file mode 100644
index 2e1d8f1..0000000
--- a/core/java/com/android/internal/database/ArrayListCursor.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 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.
- */
-
-package com.android.internal.database;
-
-import android.database.AbstractCursor;
-import android.database.CursorWindow;
-
-import java.lang.System;
-import java.util.ArrayList;
-
-/**
- * A convenience class that presents a two-dimensional ArrayList
- * as a Cursor.
- */
-public class ArrayListCursor extends AbstractCursor {
- private String[] mColumnNames;
- private ArrayList<Object>[] mRows;
-
- @SuppressWarnings({"unchecked"})
- public ArrayListCursor(String[] columnNames, ArrayList<ArrayList> rows) {
- int colCount = columnNames.length;
- boolean foundID = false;
- // Add an _id column if not in columnNames
- for (int i = 0; i < colCount; ++i) {
- if (columnNames[i].compareToIgnoreCase("_id") == 0) {
- mColumnNames = columnNames;
- foundID = true;
- break;
- }
- }
-
- if (!foundID) {
- mColumnNames = new String[colCount + 1];
- System.arraycopy(columnNames, 0, mColumnNames, 0, columnNames.length);
- mColumnNames[colCount] = "_id";
- }
-
- int rowCount = rows.size();
- mRows = new ArrayList[rowCount];
-
- for (int i = 0; i < rowCount; ++i) {
- mRows[i] = rows.get(i);
- if (!foundID) {
- mRows[i].add(i);
- }
- }
- }
-
- @Override
- public void fillWindow(int position, CursorWindow window) {
- if (position < 0 || position > getCount()) {
- return;
- }
-
- window.acquireReference();
- try {
- int oldpos = mPos;
- mPos = position - 1;
- window.clear();
- window.setStartPosition(position);
- int columnNum = getColumnCount();
- window.setNumColumns(columnNum);
- while (moveToNext() && window.allocRow()) {
- for (int i = 0; i < columnNum; i++) {
- final Object data = mRows[mPos].get(i);
- if (data != null) {
- if (data instanceof byte[]) {
- byte[] field = (byte[]) data;
- if (!window.putBlob(field, mPos, i)) {
- window.freeLastRow();
- break;
- }
- } else {
- String field = data.toString();
- if (!window.putString(field, mPos, i)) {
- window.freeLastRow();
- break;
- }
- }
- } else {
- if (!window.putNull(mPos, i)) {
- window.freeLastRow();
- break;
- }
- }
- }
- }
-
- mPos = oldpos;
- } catch (IllegalStateException e){
- // simply ignore it
- } finally {
- window.releaseReference();
- }
- }
-
- @Override
- public int getCount() {
- return mRows.length;
- }
-
- @Override
- public boolean deleteRow() {
- return false;
- }
-
- @Override
- public String[] getColumnNames() {
- return mColumnNames;
- }
-
- @Override
- public byte[] getBlob(int columnIndex) {
- return (byte[]) mRows[mPos].get(columnIndex);
- }
-
- @Override
- public String getString(int columnIndex) {
- Object cell = mRows[mPos].get(columnIndex);
- return (cell == null) ? null : cell.toString();
- }
-
- @Override
- public short getShort(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.shortValue();
- }
-
- @Override
- public int getInt(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.intValue();
- }
-
- @Override
- public long getLong(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.longValue();
- }
-
- @Override
- public float getFloat(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.floatValue();
- }
-
- @Override
- public double getDouble(int columnIndex) {
- Number num = (Number) mRows[mPos].get(columnIndex);
- return num.doubleValue();
- }
-
- @Override
- public boolean isNull(int columnIndex) {
- return mRows[mPos].get(columnIndex) == null;
- }
-}
diff --git a/core/java/com/android/internal/os/LoggingPrintStream.java b/core/java/com/android/internal/os/LoggingPrintStream.java
index b3d6f20..451340b 100644
--- a/core/java/com/android/internal/os/LoggingPrintStream.java
+++ b/core/java/com/android/internal/os/LoggingPrintStream.java
@@ -16,11 +16,17 @@
package com.android.internal.os;
-import java.io.PrintStream;
-import java.io.OutputStream;
import java.io.IOException;
-import java.util.Locale;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CoderResult;
+import java.nio.charset.CodingErrorAction;
import java.util.Formatter;
+import java.util.Locale;
/**
* A print stream which logs output line by line.
@@ -31,6 +37,27 @@
private final StringBuilder builder = new StringBuilder();
+ /**
+ * A buffer that is initialized when raw bytes are first written to this
+ * stream. It may contain the leading bytes of multi-byte characters.
+ * Between writes this buffer is always ready to receive data; ie. the
+ * position is at the first unassigned byte and the limit is the capacity.
+ */
+ private ByteBuffer encodedBytes;
+
+ /**
+ * A buffer that is initialized when raw bytes are first written to this
+ * stream. Between writes this buffer is always clear; ie. the position is
+ * zero and the limit is the capacity.
+ */
+ private CharBuffer decodedChars;
+
+ /**
+ * Decodes bytes to characters using the system default charset. Initialized
+ * when raw bytes are first written to this stream.
+ */
+ private CharsetDecoder decoder;
+
protected LoggingPrintStream() {
super(new OutputStream() {
public void write(int oneByte) throws IOException {
@@ -80,20 +107,48 @@
}
}
- /*
- * We have no idea of how these bytes are encoded, so just ignore them.
- */
+ public void write(int oneByte) {
+ write(new byte[] { (byte) oneByte }, 0, 1);
+ }
- /** Ignored. */
- public void write(int oneByte) {}
-
- /** Ignored. */
@Override
- public void write(byte buffer[]) {}
+ public void write(byte[] buffer) {
+ write(buffer, 0, buffer.length);
+ }
- /** Ignored. */
@Override
- public void write(byte bytes[], int start, int count) {}
+ public synchronized void write(byte bytes[], int start, int count) {
+ if (decoder == null) {
+ encodedBytes = ByteBuffer.allocate(80);
+ decodedChars = CharBuffer.allocate(80);
+ decoder = Charset.defaultCharset().newDecoder()
+ .onMalformedInput(CodingErrorAction.REPLACE)
+ .onUnmappableCharacter(CodingErrorAction.REPLACE);
+ }
+
+ int end = start + count;
+ while (start < end) {
+ // copy some bytes from the array to the long-lived buffer. This
+ // way, if we end with a partial character we don't lose it.
+ int numBytes = Math.min(encodedBytes.remaining(), end - start);
+ encodedBytes.put(bytes, start, numBytes);
+ start += numBytes;
+
+ encodedBytes.flip();
+ CoderResult coderResult;
+ do {
+ // decode bytes from the byte buffer into the char buffer
+ coderResult = decoder.decode(encodedBytes, decodedChars, false);
+
+ // copy chars from the char buffer into our string builder
+ decodedChars.flip();
+ builder.append(decodedChars);
+ decodedChars.clear();
+ } while (coderResult.isOverflow());
+ encodedBytes.compact();
+ }
+ flush(false);
+ }
/** Always returns false. */
@Override
diff --git a/core/java/com/android/internal/os/PowerProfile.java b/core/java/com/android/internal/os/PowerProfile.java
index 2369d25..9e5bdff 100644
--- a/core/java/com/android/internal/os/PowerProfile.java
+++ b/core/java/com/android/internal/os/PowerProfile.java
@@ -20,7 +20,7 @@
import android.content.Context;
import android.content.res.XmlResourceParser;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/core/java/com/android/internal/util/FastXmlSerializer.java b/core/java/com/android/internal/util/FastXmlSerializer.java
deleted file mode 100644
index 592a8fa..0000000
--- a/core/java/com/android/internal/util/FastXmlSerializer.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*
- * Copyright (C) 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.
- */
-
-package com.android.internal.util;
-
-import org.xmlpull.v1.XmlSerializer;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CoderResult;
-import java.nio.charset.IllegalCharsetNameException;
-import java.nio.charset.UnsupportedCharsetException;
-
-/**
- * This is a quick and dirty implementation of XmlSerializer that isn't horribly
- * painfully slow like the normal one. It only does what is needed for the
- * specific XML files being written with it.
- */
-public class FastXmlSerializer implements XmlSerializer {
- private static final String ESCAPE_TABLE[] = new String[] {
- null, null, null, null, null, null, null, null, // 0-7
- null, null, null, null, null, null, null, null, // 8-15
- null, null, null, null, null, null, null, null, // 16-23
- null, null, null, null, null, null, null, null, // 24-31
- null, null, """, null, null, null, "&", null, // 32-39
- null, null, null, null, null, null, null, null, // 40-47
- null, null, null, null, null, null, null, null, // 48-55
- null, null, null, null, "<", null, ">", null, // 56-63
- };
-
- private static final int BUFFER_LEN = 8192;
-
- private final char[] mText = new char[BUFFER_LEN];
- private int mPos;
-
- private Writer mWriter;
-
- private OutputStream mOutputStream;
- private CharsetEncoder mCharset;
- private ByteBuffer mBytes = ByteBuffer.allocate(BUFFER_LEN);
-
- private boolean mInTag;
-
- private void append(char c) throws IOException {
- int pos = mPos;
- if (pos >= (BUFFER_LEN-1)) {
- flush();
- pos = mPos;
- }
- mText[pos] = c;
- mPos = pos+1;
- }
-
- private void append(String str, int i, final int length) throws IOException {
- if (length > BUFFER_LEN) {
- final int end = i + length;
- while (i < end) {
- int next = i + BUFFER_LEN;
- append(str, i, next<end ? BUFFER_LEN : (end-i));
- i = next;
- }
- return;
- }
- int pos = mPos;
- if ((pos+length) > BUFFER_LEN) {
- flush();
- pos = mPos;
- }
- str.getChars(i, i+length, mText, pos);
- mPos = pos + length;
- }
-
- private void append(char[] buf, int i, final int length) throws IOException {
- if (length > BUFFER_LEN) {
- final int end = i + length;
- while (i < end) {
- int next = i + BUFFER_LEN;
- append(buf, i, next<end ? BUFFER_LEN : (end-i));
- i = next;
- }
- return;
- }
- int pos = mPos;
- if ((pos+length) > BUFFER_LEN) {
- flush();
- pos = mPos;
- }
- System.arraycopy(buf, i, mText, pos, length);
- mPos = pos + length;
- }
-
- private void append(String str) throws IOException {
- append(str, 0, str.length());
- }
-
- private void escapeAndAppendString(final String string) throws IOException {
- final int N = string.length();
- final char NE = (char)ESCAPE_TABLE.length;
- final String[] escapes = ESCAPE_TABLE;
- int lastPos = 0;
- int pos;
- for (pos=0; pos<N; pos++) {
- char c = string.charAt(pos);
- if (c >= NE) continue;
- String escape = escapes[c];
- if (escape == null) continue;
- if (lastPos < pos) append(string, lastPos, pos-lastPos);
- lastPos = pos + 1;
- append(escape);
- }
- if (lastPos < pos) append(string, lastPos, pos-lastPos);
- }
-
- private void escapeAndAppendString(char[] buf, int start, int len) throws IOException {
- final char NE = (char)ESCAPE_TABLE.length;
- final String[] escapes = ESCAPE_TABLE;
- int end = start+len;
- int lastPos = start;
- int pos;
- for (pos=start; pos<end; pos++) {
- char c = buf[pos];
- if (c >= NE) continue;
- String escape = escapes[c];
- if (escape == null) continue;
- if (lastPos < pos) append(buf, lastPos, pos-lastPos);
- lastPos = pos + 1;
- append(escape);
- }
- if (lastPos < pos) append(buf, lastPos, pos-lastPos);
- }
-
- public XmlSerializer attribute(String namespace, String name, String value) throws IOException,
- IllegalArgumentException, IllegalStateException {
- append(' ');
- if (namespace != null) {
- append(namespace);
- append(':');
- }
- append(name);
- append("=\"");
-
- escapeAndAppendString(value);
- append('"');
- return this;
- }
-
- public void cdsect(String text) throws IOException, IllegalArgumentException,
- IllegalStateException {
- throw new UnsupportedOperationException();
- }
-
- public void comment(String text) throws IOException, IllegalArgumentException,
- IllegalStateException {
- throw new UnsupportedOperationException();
- }
-
- public void docdecl(String text) throws IOException, IllegalArgumentException,
- IllegalStateException {
- throw new UnsupportedOperationException();
- }
-
- public void endDocument() throws IOException, IllegalArgumentException, IllegalStateException {
- flush();
- }
-
- public XmlSerializer endTag(String namespace, String name) throws IOException,
- IllegalArgumentException, IllegalStateException {
- if (mInTag) {
- append(" />\n");
- } else {
- append("</");
- if (namespace != null) {
- append(namespace);
- append(':');
- }
- append(name);
- append(">\n");
- }
- mInTag = false;
- return this;
- }
-
- public void entityRef(String text) throws IOException, IllegalArgumentException,
- IllegalStateException {
- throw new UnsupportedOperationException();
- }
-
- private void flushBytes() throws IOException {
- int position;
- if ((position = mBytes.position()) > 0) {
- mBytes.flip();
- mOutputStream.write(mBytes.array(), 0, position);
- mBytes.clear();
- }
- }
-
- public void flush() throws IOException {
- //Log.i("PackageManager", "flush mPos=" + mPos);
- if (mPos > 0) {
- if (mOutputStream != null) {
- CharBuffer charBuffer = CharBuffer.wrap(mText, 0, mPos);
- CoderResult result = mCharset.encode(charBuffer, mBytes, true);
- while (true) {
- if (result.isError()) {
- throw new IOException(result.toString());
- } else if (result.isOverflow()) {
- flushBytes();
- result = mCharset.encode(charBuffer, mBytes, true);
- continue;
- }
- break;
- }
- flushBytes();
- mOutputStream.flush();
- } else {
- mWriter.write(mText, 0, mPos);
- mWriter.flush();
- }
- mPos = 0;
- }
- }
-
- public int getDepth() {
- throw new UnsupportedOperationException();
- }
-
- public boolean getFeature(String name) {
- throw new UnsupportedOperationException();
- }
-
- public String getName() {
- throw new UnsupportedOperationException();
- }
-
- public String getNamespace() {
- throw new UnsupportedOperationException();
- }
-
- public String getPrefix(String namespace, boolean generatePrefix)
- throws IllegalArgumentException {
- throw new UnsupportedOperationException();
- }
-
- public Object getProperty(String name) {
- throw new UnsupportedOperationException();
- }
-
- public void ignorableWhitespace(String text) throws IOException, IllegalArgumentException,
- IllegalStateException {
- throw new UnsupportedOperationException();
- }
-
- public void processingInstruction(String text) throws IOException, IllegalArgumentException,
- IllegalStateException {
- throw new UnsupportedOperationException();
- }
-
- public void setFeature(String name, boolean state) throws IllegalArgumentException,
- IllegalStateException {
- if (name.equals("http://xmlpull.org/v1/doc/features.html#indent-output")) {
- return;
- }
- throw new UnsupportedOperationException();
- }
-
- public void setOutput(OutputStream os, String encoding) throws IOException,
- IllegalArgumentException, IllegalStateException {
- if (os == null)
- throw new IllegalArgumentException();
- if (true) {
- try {
- mCharset = Charset.forName(encoding).newEncoder();
- } catch (IllegalCharsetNameException e) {
- throw (UnsupportedEncodingException) (new UnsupportedEncodingException(
- encoding).initCause(e));
- } catch (UnsupportedCharsetException e) {
- throw (UnsupportedEncodingException) (new UnsupportedEncodingException(
- encoding).initCause(e));
- }
- mOutputStream = os;
- } else {
- setOutput(
- encoding == null
- ? new OutputStreamWriter(os)
- : new OutputStreamWriter(os, encoding));
- }
- }
-
- public void setOutput(Writer writer) throws IOException, IllegalArgumentException,
- IllegalStateException {
- mWriter = writer;
- }
-
- public void setPrefix(String prefix, String namespace) throws IOException,
- IllegalArgumentException, IllegalStateException {
- throw new UnsupportedOperationException();
- }
-
- public void setProperty(String name, Object value) throws IllegalArgumentException,
- IllegalStateException {
- throw new UnsupportedOperationException();
- }
-
- public void startDocument(String encoding, Boolean standalone) throws IOException,
- IllegalArgumentException, IllegalStateException {
- append("<?xml version='1.0' encoding='utf-8' standalone='"
- + (standalone ? "yes" : "no") + "' ?>\n");
- }
-
- public XmlSerializer startTag(String namespace, String name) throws IOException,
- IllegalArgumentException, IllegalStateException {
- if (mInTag) {
- append(">\n");
- }
- append('<');
- if (namespace != null) {
- append(namespace);
- append(':');
- }
- append(name);
- mInTag = true;
- return this;
- }
-
- public XmlSerializer text(char[] buf, int start, int len) throws IOException,
- IllegalArgumentException, IllegalStateException {
- if (mInTag) {
- append(">");
- mInTag = false;
- }
- escapeAndAppendString(buf, start, len);
- return this;
- }
-
- public XmlSerializer text(String text) throws IOException, IllegalArgumentException,
- IllegalStateException {
- if (mInTag) {
- append(">");
- mInTag = false;
- }
- escapeAndAppendString(text);
- return this;
- }
-
-}
diff --git a/core/java/com/android/internal/util/XmlUtils.java b/core/java/com/android/internal/util/XmlUtils.java
deleted file mode 100644
index 948e313..0000000
--- a/core/java/com/android/internal/util/XmlUtils.java
+++ /dev/null
@@ -1,796 +0,0 @@
-/*
- * Copyright (C) 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.
- */
-
-package com.android.internal.util;
-
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlSerializer;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import android.util.Xml;
-
-/** {@hide} */
-public class XmlUtils
-{
-
- public static void skipCurrentTag(XmlPullParser parser)
- throws XmlPullParserException, IOException {
- int outerDepth = parser.getDepth();
- int type;
- while ((type=parser.next()) != XmlPullParser.END_DOCUMENT
- && (type != XmlPullParser.END_TAG
- || parser.getDepth() > outerDepth)) {
- }
- }
-
- public static final int
- convertValueToList(CharSequence value, String[] options, int defaultValue)
- {
- if (null != value) {
- for (int i = 0; i < options.length; i++) {
- if (value.equals(options[i]))
- return i;
- }
- }
-
- return defaultValue;
- }
-
- public static final boolean
- convertValueToBoolean(CharSequence value, boolean defaultValue)
- {
- boolean result = false;
-
- if (null == value)
- return defaultValue;
-
- if (value.equals("1")
- || value.equals("true")
- || value.equals("TRUE"))
- result = true;
-
- return result;
- }
-
- public static final int
- convertValueToInt(CharSequence charSeq, int defaultValue)
- {
- if (null == charSeq)
- return defaultValue;
-
- String nm = charSeq.toString();
-
- // XXX This code is copied from Integer.decode() so we don't
- // have to instantiate an Integer!
-
- int value;
- int sign = 1;
- int index = 0;
- int len = nm.length();
- int base = 10;
-
- if ('-' == nm.charAt(0)) {
- sign = -1;
- index++;
- }
-
- if ('0' == nm.charAt(index)) {
- // Quick check for a zero by itself
- if (index == (len - 1))
- return 0;
-
- char c = nm.charAt(index + 1);
-
- if ('x' == c || 'X' == c) {
- index += 2;
- base = 16;
- } else {
- index++;
- base = 8;
- }
- }
- else if ('#' == nm.charAt(index))
- {
- index++;
- base = 16;
- }
-
- return Integer.parseInt(nm.substring(index), base) * sign;
- }
-
- public static final int
- convertValueToUnsignedInt(String value, int defaultValue)
- {
- if (null == value)
- return defaultValue;
-
- return parseUnsignedIntAttribute(value);
- }
-
- public static final int
- parseUnsignedIntAttribute(CharSequence charSeq)
- {
- String value = charSeq.toString();
-
- long bits;
- int index = 0;
- int len = value.length();
- int base = 10;
-
- if ('0' == value.charAt(index)) {
- // Quick check for zero by itself
- if (index == (len - 1))
- return 0;
-
- char c = value.charAt(index + 1);
-
- if ('x' == c || 'X' == c) { // check for hex
- index += 2;
- base = 16;
- } else { // check for octal
- index++;
- base = 8;
- }
- } else if ('#' == value.charAt(index)) {
- index++;
- base = 16;
- }
-
- return (int) Long.parseLong(value.substring(index), base);
- }
-
- /**
- * Flatten a Map into an output stream as XML. The map can later be
- * read back with readMapXml().
- *
- * @param val The map to be flattened.
- * @param out Where to write the XML data.
- *
- * @see #writeMapXml(Map, String, XmlSerializer)
- * @see #writeListXml
- * @see #writeValueXml
- * @see #readMapXml
- */
- public static final void writeMapXml(Map val, OutputStream out)
- throws XmlPullParserException, java.io.IOException {
- XmlSerializer serializer = new FastXmlSerializer();
- serializer.setOutput(out, "utf-8");
- serializer.startDocument(null, true);
- serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
- writeMapXml(val, null, serializer);
- serializer.endDocument();
- }
-
- /**
- * Flatten a List into an output stream as XML. The list can later be
- * read back with readListXml().
- *
- * @param val The list to be flattened.
- * @param out Where to write the XML data.
- *
- * @see #writeListXml(List, String, XmlSerializer)
- * @see #writeMapXml
- * @see #writeValueXml
- * @see #readListXml
- */
- public static final void writeListXml(List val, OutputStream out)
- throws XmlPullParserException, java.io.IOException
- {
- XmlSerializer serializer = Xml.newSerializer();
- serializer.setOutput(out, "utf-8");
- serializer.startDocument(null, true);
- serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
- writeListXml(val, null, serializer);
- serializer.endDocument();
- }
-
- /**
- * Flatten a Map into an XmlSerializer. The map can later be read back
- * with readThisMapXml().
- *
- * @param val The map to be flattened.
- * @param name Name attribute to include with this list's tag, or null for
- * none.
- * @param out XmlSerializer to write the map into.
- *
- * @see #writeMapXml(Map, OutputStream)
- * @see #writeListXml
- * @see #writeValueXml
- * @see #readMapXml
- */
- public static final void writeMapXml(Map val, String name, XmlSerializer out)
- throws XmlPullParserException, java.io.IOException
- {
- if (val == null) {
- out.startTag(null, "null");
- out.endTag(null, "null");
- return;
- }
-
- Set s = val.entrySet();
- Iterator i = s.iterator();
-
- out.startTag(null, "map");
- if (name != null) {
- out.attribute(null, "name", name);
- }
-
- while (i.hasNext()) {
- Map.Entry e = (Map.Entry)i.next();
- writeValueXml(e.getValue(), (String)e.getKey(), out);
- }
-
- out.endTag(null, "map");
- }
-
- /**
- * Flatten a List into an XmlSerializer. The list can later be read back
- * with readThisListXml().
- *
- * @param val The list to be flattened.
- * @param name Name attribute to include with this list's tag, or null for
- * none.
- * @param out XmlSerializer to write the list into.
- *
- * @see #writeListXml(List, OutputStream)
- * @see #writeMapXml
- * @see #writeValueXml
- * @see #readListXml
- */
- public static final void writeListXml(List val, String name, XmlSerializer out)
- throws XmlPullParserException, java.io.IOException
- {
- if (val == null) {
- out.startTag(null, "null");
- out.endTag(null, "null");
- return;
- }
-
- out.startTag(null, "list");
- if (name != null) {
- out.attribute(null, "name", name);
- }
-
- int N = val.size();
- int i=0;
- while (i < N) {
- writeValueXml(val.get(i), null, out);
- i++;
- }
-
- out.endTag(null, "list");
- }
-
- /**
- * Flatten a byte[] into an XmlSerializer. The list can later be read back
- * with readThisByteArrayXml().
- *
- * @param val The byte array to be flattened.
- * @param name Name attribute to include with this array's tag, or null for
- * none.
- * @param out XmlSerializer to write the array into.
- *
- * @see #writeMapXml
- * @see #writeValueXml
- */
- public static final void writeByteArrayXml(byte[] val, String name,
- XmlSerializer out)
- throws XmlPullParserException, java.io.IOException {
-
- if (val == null) {
- out.startTag(null, "null");
- out.endTag(null, "null");
- return;
- }
-
- out.startTag(null, "byte-array");
- if (name != null) {
- out.attribute(null, "name", name);
- }
-
- final int N = val.length;
- out.attribute(null, "num", Integer.toString(N));
-
- StringBuilder sb = new StringBuilder(val.length*2);
- for (int i=0; i<N; i++) {
- int b = val[i];
- int h = b>>4;
- sb.append(h >= 10 ? ('a'+h-10) : ('0'+h));
- h = b&0xff;
- sb.append(h >= 10 ? ('a'+h-10) : ('0'+h));
- }
-
- out.text(sb.toString());
-
- out.endTag(null, "byte-array");
- }
-
- /**
- * Flatten an int[] into an XmlSerializer. The list can later be read back
- * with readThisIntArrayXml().
- *
- * @param val The int array to be flattened.
- * @param name Name attribute to include with this array's tag, or null for
- * none.
- * @param out XmlSerializer to write the array into.
- *
- * @see #writeMapXml
- * @see #writeValueXml
- * @see #readThisIntArrayXml
- */
- public static final void writeIntArrayXml(int[] val, String name,
- XmlSerializer out)
- throws XmlPullParserException, java.io.IOException {
-
- if (val == null) {
- out.startTag(null, "null");
- out.endTag(null, "null");
- return;
- }
-
- out.startTag(null, "int-array");
- if (name != null) {
- out.attribute(null, "name", name);
- }
-
- final int N = val.length;
- out.attribute(null, "num", Integer.toString(N));
-
- for (int i=0; i<N; i++) {
- out.startTag(null, "item");
- out.attribute(null, "value", Integer.toString(val[i]));
- out.endTag(null, "item");
- }
-
- out.endTag(null, "int-array");
- }
-
- /**
- * Flatten an object's value into an XmlSerializer. The value can later
- * be read back with readThisValueXml().
- *
- * Currently supported value types are: null, String, Integer, Long,
- * Float, Double Boolean, Map, List.
- *
- * @param v The object to be flattened.
- * @param name Name attribute to include with this value's tag, or null
- * for none.
- * @param out XmlSerializer to write the object into.
- *
- * @see #writeMapXml
- * @see #writeListXml
- * @see #readValueXml
- */
- public static final void writeValueXml(Object v, String name, XmlSerializer out)
- throws XmlPullParserException, java.io.IOException
- {
- String typeStr;
- if (v == null) {
- out.startTag(null, "null");
- if (name != null) {
- out.attribute(null, "name", name);
- }
- out.endTag(null, "null");
- return;
- } else if (v instanceof String) {
- out.startTag(null, "string");
- if (name != null) {
- out.attribute(null, "name", name);
- }
- out.text(v.toString());
- out.endTag(null, "string");
- return;
- } else if (v instanceof Integer) {
- typeStr = "int";
- } else if (v instanceof Long) {
- typeStr = "long";
- } else if (v instanceof Float) {
- typeStr = "float";
- } else if (v instanceof Double) {
- typeStr = "double";
- } else if (v instanceof Boolean) {
- typeStr = "boolean";
- } else if (v instanceof byte[]) {
- writeByteArrayXml((byte[])v, name, out);
- return;
- } else if (v instanceof int[]) {
- writeIntArrayXml((int[])v, name, out);
- return;
- } else if (v instanceof Map) {
- writeMapXml((Map)v, name, out);
- return;
- } else if (v instanceof List) {
- writeListXml((List)v, name, out);
- return;
- } else if (v instanceof CharSequence) {
- // XXX This is to allow us to at least write something if
- // we encounter styled text... but it means we will drop all
- // of the styling information. :(
- out.startTag(null, "string");
- if (name != null) {
- out.attribute(null, "name", name);
- }
- out.text(v.toString());
- out.endTag(null, "string");
- return;
- } else {
- throw new RuntimeException("writeValueXml: unable to write value " + v);
- }
-
- out.startTag(null, typeStr);
- if (name != null) {
- out.attribute(null, "name", name);
- }
- out.attribute(null, "value", v.toString());
- out.endTag(null, typeStr);
- }
-
- /**
- * Read a HashMap from an InputStream containing XML. The stream can
- * previously have been written by writeMapXml().
- *
- * @param in The InputStream from which to read.
- *
- * @return HashMap The resulting map.
- *
- * @see #readListXml
- * @see #readValueXml
- * @see #readThisMapXml
- * #see #writeMapXml
- */
- public static final HashMap readMapXml(InputStream in)
- throws XmlPullParserException, java.io.IOException
- {
- XmlPullParser parser = Xml.newPullParser();
- parser.setInput(in, null);
- return (HashMap)readValueXml(parser, new String[1]);
- }
-
- /**
- * Read an ArrayList from an InputStream containing XML. The stream can
- * previously have been written by writeListXml().
- *
- * @param in The InputStream from which to read.
- *
- * @return HashMap The resulting list.
- *
- * @see #readMapXml
- * @see #readValueXml
- * @see #readThisListXml
- * @see #writeListXml
- */
- public static final ArrayList readListXml(InputStream in)
- throws XmlPullParserException, java.io.IOException
- {
- XmlPullParser parser = Xml.newPullParser();
- parser.setInput(in, null);
- return (ArrayList)readValueXml(parser, new String[1]);
- }
-
- /**
- * Read a HashMap object from an XmlPullParser. The XML data could
- * previously have been generated by writeMapXml(). The XmlPullParser
- * must be positioned <em>after</em> the tag that begins the map.
- *
- * @param parser The XmlPullParser from which to read the map data.
- * @param endTag Name of the tag that will end the map, usually "map".
- * @param name An array of one string, used to return the name attribute
- * of the map's tag.
- *
- * @return HashMap The newly generated map.
- *
- * @see #readMapXml
- */
- public static final HashMap readThisMapXml(XmlPullParser parser, String endTag, String[] name)
- throws XmlPullParserException, java.io.IOException
- {
- HashMap map = new HashMap();
-
- int eventType = parser.getEventType();
- do {
- if (eventType == parser.START_TAG) {
- Object val = readThisValueXml(parser, name);
- if (name[0] != null) {
- //System.out.println("Adding to map: " + name + " -> " + val);
- map.put(name[0], val);
- } else {
- throw new XmlPullParserException(
- "Map value without name attribute: " + parser.getName());
- }
- } else if (eventType == parser.END_TAG) {
- if (parser.getName().equals(endTag)) {
- return map;
- }
- throw new XmlPullParserException(
- "Expected " + endTag + " end tag at: " + parser.getName());
- }
- eventType = parser.next();
- } while (eventType != parser.END_DOCUMENT);
-
- throw new XmlPullParserException(
- "Document ended before " + endTag + " end tag");
- }
-
- /**
- * Read an ArrayList object from an XmlPullParser. The XML data could
- * previously have been generated by writeListXml(). The XmlPullParser
- * must be positioned <em>after</em> the tag that begins the list.
- *
- * @param parser The XmlPullParser from which to read the list data.
- * @param endTag Name of the tag that will end the list, usually "list".
- * @param name An array of one string, used to return the name attribute
- * of the list's tag.
- *
- * @return HashMap The newly generated list.
- *
- * @see #readListXml
- */
- public static final ArrayList readThisListXml(XmlPullParser parser, String endTag, String[] name)
- throws XmlPullParserException, java.io.IOException
- {
- ArrayList list = new ArrayList();
-
- int eventType = parser.getEventType();
- do {
- if (eventType == parser.START_TAG) {
- Object val = readThisValueXml(parser, name);
- list.add(val);
- //System.out.println("Adding to list: " + val);
- } else if (eventType == parser.END_TAG) {
- if (parser.getName().equals(endTag)) {
- return list;
- }
- throw new XmlPullParserException(
- "Expected " + endTag + " end tag at: " + parser.getName());
- }
- eventType = parser.next();
- } while (eventType != parser.END_DOCUMENT);
-
- throw new XmlPullParserException(
- "Document ended before " + endTag + " end tag");
- }
-
- /**
- * Read an int[] object from an XmlPullParser. The XML data could
- * previously have been generated by writeIntArrayXml(). The XmlPullParser
- * must be positioned <em>after</em> the tag that begins the list.
- *
- * @param parser The XmlPullParser from which to read the list data.
- * @param endTag Name of the tag that will end the list, usually "list".
- * @param name An array of one string, used to return the name attribute
- * of the list's tag.
- *
- * @return Returns a newly generated int[].
- *
- * @see #readListXml
- */
- public static final int[] readThisIntArrayXml(XmlPullParser parser,
- String endTag, String[] name)
- throws XmlPullParserException, java.io.IOException {
-
- int num;
- try {
- num = Integer.parseInt(parser.getAttributeValue(null, "num"));
- } catch (NullPointerException e) {
- throw new XmlPullParserException(
- "Need num attribute in byte-array");
- } catch (NumberFormatException e) {
- throw new XmlPullParserException(
- "Not a number in num attribute in byte-array");
- }
-
- int[] array = new int[num];
- int i = 0;
-
- int eventType = parser.getEventType();
- do {
- if (eventType == parser.START_TAG) {
- if (parser.getName().equals("item")) {
- try {
- array[i] = Integer.parseInt(
- parser.getAttributeValue(null, "value"));
- } catch (NullPointerException e) {
- throw new XmlPullParserException(
- "Need value attribute in item");
- } catch (NumberFormatException e) {
- throw new XmlPullParserException(
- "Not a number in value attribute in item");
- }
- } else {
- throw new XmlPullParserException(
- "Expected item tag at: " + parser.getName());
- }
- } else if (eventType == parser.END_TAG) {
- if (parser.getName().equals(endTag)) {
- return array;
- } else if (parser.getName().equals("item")) {
- i++;
- } else {
- throw new XmlPullParserException(
- "Expected " + endTag + " end tag at: "
- + parser.getName());
- }
- }
- eventType = parser.next();
- } while (eventType != parser.END_DOCUMENT);
-
- throw new XmlPullParserException(
- "Document ended before " + endTag + " end tag");
- }
-
- /**
- * Read a flattened object from an XmlPullParser. The XML data could
- * previously have been written with writeMapXml(), writeListXml(), or
- * writeValueXml(). The XmlPullParser must be positioned <em>at</em> the
- * tag that defines the value.
- *
- * @param parser The XmlPullParser from which to read the object.
- * @param name An array of one string, used to return the name attribute
- * of the value's tag.
- *
- * @return Object The newly generated value object.
- *
- * @see #readMapXml
- * @see #readListXml
- * @see #writeValueXml
- */
- public static final Object readValueXml(XmlPullParser parser, String[] name)
- throws XmlPullParserException, java.io.IOException
- {
- int eventType = parser.getEventType();
- do {
- if (eventType == parser.START_TAG) {
- return readThisValueXml(parser, name);
- } else if (eventType == parser.END_TAG) {
- throw new XmlPullParserException(
- "Unexpected end tag at: " + parser.getName());
- } else if (eventType == parser.TEXT) {
- throw new XmlPullParserException(
- "Unexpected text: " + parser.getText());
- }
- eventType = parser.next();
- } while (eventType != parser.END_DOCUMENT);
-
- throw new XmlPullParserException(
- "Unexpected end of document");
- }
-
- private static final Object readThisValueXml(XmlPullParser parser, String[] name)
- throws XmlPullParserException, java.io.IOException
- {
- final String valueName = parser.getAttributeValue(null, "name");
- final String tagName = parser.getName();
-
- //System.out.println("Reading this value tag: " + tagName + ", name=" + valueName);
-
- Object res;
-
- if (tagName.equals("null")) {
- res = null;
- } else if (tagName.equals("string")) {
- String value = "";
- int eventType;
- while ((eventType = parser.next()) != parser.END_DOCUMENT) {
- if (eventType == parser.END_TAG) {
- if (parser.getName().equals("string")) {
- name[0] = valueName;
- //System.out.println("Returning value for " + valueName + ": " + value);
- return value;
- }
- throw new XmlPullParserException(
- "Unexpected end tag in <string>: " + parser.getName());
- } else if (eventType == parser.TEXT) {
- value += parser.getText();
- } else if (eventType == parser.START_TAG) {
- throw new XmlPullParserException(
- "Unexpected start tag in <string>: " + parser.getName());
- }
- }
- throw new XmlPullParserException(
- "Unexpected end of document in <string>");
- } else if (tagName.equals("int")) {
- res = Integer.parseInt(parser.getAttributeValue(null, "value"));
- } else if (tagName.equals("long")) {
- res = Long.valueOf(parser.getAttributeValue(null, "value"));
- } else if (tagName.equals("float")) {
- res = new Float(parser.getAttributeValue(null, "value"));
- } else if (tagName.equals("double")) {
- res = new Double(parser.getAttributeValue(null, "value"));
- } else if (tagName.equals("boolean")) {
- res = Boolean.valueOf(parser.getAttributeValue(null, "value"));
- } else if (tagName.equals("int-array")) {
- parser.next();
- res = readThisIntArrayXml(parser, "int-array", name);
- name[0] = valueName;
- //System.out.println("Returning value for " + valueName + ": " + res);
- return res;
- } else if (tagName.equals("map")) {
- parser.next();
- res = readThisMapXml(parser, "map", name);
- name[0] = valueName;
- //System.out.println("Returning value for " + valueName + ": " + res);
- return res;
- } else if (tagName.equals("list")) {
- parser.next();
- res = readThisListXml(parser, "list", name);
- name[0] = valueName;
- //System.out.println("Returning value for " + valueName + ": " + res);
- return res;
- } else {
- throw new XmlPullParserException(
- "Unknown tag: " + tagName);
- }
-
- // Skip through to end tag.
- int eventType;
- while ((eventType = parser.next()) != parser.END_DOCUMENT) {
- if (eventType == parser.END_TAG) {
- if (parser.getName().equals(tagName)) {
- name[0] = valueName;
- //System.out.println("Returning value for " + valueName + ": " + res);
- return res;
- }
- throw new XmlPullParserException(
- "Unexpected end tag in <" + tagName + ">: " + parser.getName());
- } else if (eventType == parser.TEXT) {
- throw new XmlPullParserException(
- "Unexpected text in <" + tagName + ">: " + parser.getName());
- } else if (eventType == parser.START_TAG) {
- throw new XmlPullParserException(
- "Unexpected start tag in <" + tagName + ">: " + parser.getName());
- }
- }
- throw new XmlPullParserException(
- "Unexpected end of document in <" + tagName + ">");
- }
-
- public static final void beginDocument(XmlPullParser parser, String firstElementName) throws XmlPullParserException, IOException
- {
- int type;
- while ((type=parser.next()) != parser.START_TAG
- && type != parser.END_DOCUMENT) {
- ;
- }
-
- if (type != parser.START_TAG) {
- throw new XmlPullParserException("No start tag found");
- }
-
- if (!parser.getName().equals(firstElementName)) {
- throw new XmlPullParserException("Unexpected start tag: found " + parser.getName() +
- ", expected " + firstElementName);
- }
- }
-
- public static final void nextElement(XmlPullParser parser) throws XmlPullParserException, IOException
- {
- int type;
- while ((type=parser.next()) != parser.START_TAG
- && type != parser.END_DOCUMENT) {
- ;
- }
- }
-}
diff --git a/core/res/res/anim/lock_screen_enter.xml b/core/res/res/anim/lock_screen_enter.xml
new file mode 100644
index 0000000..dd47ff8
--- /dev/null
+++ b/core/res/res/anim/lock_screen_enter.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2007, 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.
+*/
+-->
+
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+ android:interpolator="@anim/decelerate_interpolator">
+ <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
+ android:duration="@android:integer/config_mediumAnimTime" />
+</set>
diff --git a/core/res/res/anim/lock_screen_exit.xml b/core/res/res/anim/lock_screen_exit.xml
index 58bc6db..077fc6b 100644
--- a/core/res/res/anim/lock_screen_exit.xml
+++ b/core/res/res/anim/lock_screen_exit.xml
@@ -17,7 +17,8 @@
*/
-->
-<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@anim/accelerate_interpolator">
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+ android:interpolator="@anim/accelerate_interpolator">
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_longAnimTime" />
</set>
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index b155769..f2b52d9 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -101,6 +101,7 @@
<!-- Standard animations for a non-full-screen window or activity. -->
<style name="Animation.LockScreen">
+ <item name="windowEnterAnimation">@anim/lock_screen_enter</item>
<item name="windowExitAnimation">@anim/lock_screen_exit</item>
</style>
diff --git a/libs/audioflinger/AudioFlinger.cpp b/libs/audioflinger/AudioFlinger.cpp
index 2024cc0..ecfe1e0 100644
--- a/libs/audioflinger/AudioFlinger.cpp
+++ b/libs/audioflinger/AudioFlinger.cpp
@@ -932,6 +932,8 @@
result.append(buffer);
snprintf(buffer, SIZE, "blocked in write: %d\n", mInWrite);
result.append(buffer);
+ snprintf(buffer, SIZE, "suspend count: %d\n", mSuspended);
+ result.append(buffer);
write(fd, result.string(), result.size());
dumpBase(fd, args);
@@ -1344,7 +1346,7 @@
if (cblk->framesReady() && (track->isReady() || track->isStopped()) &&
!track->isPaused())
{
- //LOGV("track %d u=%08x, s=%08x [OK]", track->name(), cblk->user, cblk->server);
+ //LOGV("track %d u=%08x, s=%08x [OK] on thread %p", track->name(), cblk->user, cblk->server, this);
// compute volume for this track
int16_t left, right;
@@ -1400,7 +1402,7 @@
track->mRetryCount = kMaxTrackRetries;
mixerStatus = MIXER_TRACKS_READY;
} else {
- //LOGV("track %d u=%08x, s=%08x [NOT READY]", track->name(), cblk->user, cblk->server);
+ //LOGV("track %d u=%08x, s=%08x [NOT READY] on thread %p", track->name(), cblk->user, cblk->server, this);
if (track->isStopped()) {
track->reset();
}
@@ -1914,7 +1916,7 @@
// ----------------------------------------------------------------------------
AudioFlinger::DuplicatingThread::DuplicatingThread(const sp<AudioFlinger>& audioFlinger, AudioFlinger::MixerThread* mainThread, int id)
- : MixerThread(audioFlinger, mainThread->getOutput(), id)
+ : MixerThread(audioFlinger, mainThread->getOutput(), id), mWaitTimeMs(UINT_MAX)
{
mType = PlaybackThread::DUPLICATING;
addOutputTrack(mainThread);
@@ -1952,6 +1954,7 @@
if (checkForNewParameters_l()) {
mixBufferSize = mFrameCount*mFrameSize;
+ updateWaitTime();
activeSleepTime = activeSleepTimeUs();
idleSleepTime = idleSleepTimeUs();
}
@@ -2003,7 +2006,11 @@
if (LIKELY(mixerStatus == MIXER_TRACKS_READY)) {
// mix buffers...
- mAudioMixer->process(curBuf);
+ if (outputsReady(outputTracks)) {
+ mAudioMixer->process(curBuf);
+ } else {
+ memset(curBuf, 0, mixBufferSize);
+ }
sleepTime = 0;
writeFrames = mFrameCount;
} else {
@@ -2054,6 +2061,7 @@
{
int frameCount = (3 * mFrameCount * mSampleRate) / thread->sampleRate();
OutputTrack *outputTrack = new OutputTrack((ThreadBase *)thread,
+ this,
mSampleRate,
mFormat,
mChannelCount,
@@ -2062,6 +2070,7 @@
thread->setStreamVolume(AudioSystem::NUM_STREAM_TYPES, 1.0f);
mOutputTracks.add(outputTrack);
LOGV("addOutputTrack() track %p, on thread %p", outputTrack, thread);
+ updateWaitTime();
}
}
@@ -2072,12 +2081,50 @@
if (mOutputTracks[i]->thread() == (ThreadBase *)thread) {
mOutputTracks[i]->destroy();
mOutputTracks.removeAt(i);
+ updateWaitTime();
return;
}
}
LOGV("removeOutputTrack(): unkonwn thread: %p", thread);
}
+void AudioFlinger::DuplicatingThread::updateWaitTime()
+{
+ mWaitTimeMs = UINT_MAX;
+ for (size_t i = 0; i < mOutputTracks.size(); i++) {
+ sp<ThreadBase> strong = mOutputTracks[i]->thread().promote();
+ if (strong != NULL) {
+ uint32_t waitTimeMs = (strong->frameCount() * 2 * 1000) / strong->sampleRate();
+ if (waitTimeMs < mWaitTimeMs) {
+ mWaitTimeMs = waitTimeMs;
+ }
+ }
+ }
+}
+
+
+bool AudioFlinger::DuplicatingThread::outputsReady(SortedVector< sp<OutputTrack> > &outputTracks)
+{
+ for (size_t i = 0; i < outputTracks.size(); i++) {
+ sp <ThreadBase> thread = outputTracks[i]->thread().promote();
+ if (thread == 0) {
+ LOGW("DuplicatingThread::outputsReady() could not promote thread on output track %p", outputTracks[i].get());
+ return false;
+ }
+ PlaybackThread *playbackThread = (PlaybackThread *)thread.get();
+ if (playbackThread->standby() && !playbackThread->isSuspended()) {
+ LOGV("DuplicatingThread output track %p on thread %p Not Ready", outputTracks[i].get(), thread.get());
+ return false;
+ }
+ }
+ return true;
+}
+
+uint32_t AudioFlinger::DuplicatingThread::activeSleepTimeUs()
+{
+ return (mWaitTimeMs * 1000) / 2;
+}
+
// ----------------------------------------------------------------------------
// TrackBase constructor must be called with AudioFlinger::mLock held
@@ -2616,12 +2663,13 @@
AudioFlinger::PlaybackThread::OutputTrack::OutputTrack(
const wp<ThreadBase>& thread,
+ DuplicatingThread *sourceThread,
uint32_t sampleRate,
int format,
int channelCount,
int frameCount)
: Track(thread, NULL, AudioSystem::NUM_STREAM_TYPES, sampleRate, format, channelCount, frameCount, NULL),
- mActive(false)
+ mActive(false), mSourceThread(sourceThread)
{
PlaybackThread *playbackThread = (PlaybackThread *)thread.unsafe_get();
@@ -2630,10 +2678,9 @@
mCblk->buffers = (char*)mCblk + sizeof(audio_track_cblk_t);
mCblk->volume[0] = mCblk->volume[1] = 0x1000;
mOutBuffer.frameCount = 0;
- mWaitTimeMs = (playbackThread->frameCount() * 2 * 1000) / playbackThread->sampleRate();
playbackThread->mTracks.add(this);
- LOGV("OutputTrack constructor mCblk %p, mBuffer %p, mCblk->buffers %p, mCblk->frameCount %d, mCblk->sampleRate %d, mCblk->channels %d mBufferEnd %p mWaitTimeMs %d",
- mCblk, mBuffer, mCblk->buffers, mCblk->frameCount, mCblk->sampleRate, mCblk->channels, mBufferEnd, mWaitTimeMs);
+ LOGV("OutputTrack constructor mCblk %p, mBuffer %p, mCblk->buffers %p, mCblk->frameCount %d, mCblk->sampleRate %d, mCblk->channels %d mBufferEnd %p",
+ mCblk, mBuffer, mCblk->buffers, mCblk->frameCount, mCblk->sampleRate, mCblk->channels, mBufferEnd);
} else {
LOGW("Error creating output track on thread %p", playbackThread);
}
@@ -2673,7 +2720,7 @@
inBuffer.frameCount = frames;
inBuffer.i16 = data;
- uint32_t waitTimeLeftMs = mWaitTimeMs;
+ uint32_t waitTimeLeftMs = mSourceThread->waitTimeMs();
if (!mActive && frames != 0) {
start();
@@ -2712,12 +2759,11 @@
mOutBuffer.frameCount = pInBuffer->frameCount;
nsecs_t startTime = systemTime();
if (obtainBuffer(&mOutBuffer, waitTimeLeftMs) == (status_t)AudioTrack::NO_MORE_BUFFERS) {
- LOGV ("OutputTrack::write() %p no more output buffers", this);
+ LOGV ("OutputTrack::write() %p thread %p no more output buffers", this, mThread.unsafe_get());
outputBufferFull = true;
break;
}
uint32_t waitTimeMs = (uint32_t)ns2ms(systemTime() - startTime);
- LOGV("OutputTrack::write() to thread %p waitTimeMs %d waitTimeLeftMs %d", mThread.unsafe_get(), waitTimeMs, waitTimeLeftMs);
if (waitTimeLeftMs >= waitTimeMs) {
waitTimeLeftMs -= waitTimeMs;
} else {
@@ -2738,7 +2784,7 @@
mBufferQueue.removeAt(0);
delete [] pInBuffer->mBuffer;
delete pInBuffer;
- LOGV("OutputTrack::write() %p released overflow buffer %d", this, mBufferQueue.size());
+ LOGV("OutputTrack::write() %p thread %p released overflow buffer %d", this, mThread.unsafe_get(), mBufferQueue.size());
} else {
break;
}
@@ -2747,16 +2793,19 @@
// If we could not write all frames, allocate a buffer and queue it for next time.
if (inBuffer.frameCount) {
- if (mBufferQueue.size() < kMaxOverFlowBuffers) {
- pInBuffer = new Buffer;
- pInBuffer->mBuffer = new int16_t[inBuffer.frameCount * channels];
- pInBuffer->frameCount = inBuffer.frameCount;
- pInBuffer->i16 = pInBuffer->mBuffer;
- memcpy(pInBuffer->raw, inBuffer.raw, inBuffer.frameCount * channels * sizeof(int16_t));
- mBufferQueue.add(pInBuffer);
- LOGV("OutputTrack::write() %p adding overflow buffer %d", this, mBufferQueue.size());
- } else {
- LOGW("OutputTrack::write() %p no more overflow buffers", this);
+ sp<ThreadBase> thread = mThread.promote();
+ if (thread != 0 && !thread->standby()) {
+ if (mBufferQueue.size() < kMaxOverFlowBuffers) {
+ pInBuffer = new Buffer;
+ pInBuffer->mBuffer = new int16_t[inBuffer.frameCount * channels];
+ pInBuffer->frameCount = inBuffer.frameCount;
+ pInBuffer->i16 = pInBuffer->mBuffer;
+ memcpy(pInBuffer->raw, inBuffer.raw, inBuffer.frameCount * channels * sizeof(int16_t));
+ mBufferQueue.add(pInBuffer);
+ LOGV("OutputTrack::write() %p thread %p adding overflow buffer %d", this, mThread.unsafe_get(), mBufferQueue.size());
+ } else {
+ LOGW("OutputTrack::write() %p thread %p no more overflow buffers", mThread.unsafe_get(), this);
+ }
}
}
diff --git a/libs/audioflinger/AudioFlinger.h b/libs/audioflinger/AudioFlinger.h
index 8c29da85..12c90eb 100644
--- a/libs/audioflinger/AudioFlinger.h
+++ b/libs/audioflinger/AudioFlinger.h
@@ -20,6 +20,7 @@
#include <stdint.h>
#include <sys/types.h>
+#include <limits.h>
#include <media/IAudioFlinger.h>
#include <media/IAudioFlingerClient.h>
@@ -208,6 +209,7 @@
class PlaybackThread;
class MixerThread;
class DirectOutputThread;
+ class DuplicatingThread;
class Track;
class RecordTrack;
@@ -324,6 +326,7 @@
void sendConfigEvent_l(int event, int param = 0);
void processConfigEvents();
int id() const { return mId;}
+ bool standby() { return mStandby; }
mutable Mutex mLock;
@@ -452,6 +455,7 @@
};
OutputTrack( const wp<ThreadBase>& thread,
+ DuplicatingThread *sourceThread,
uint32_t sampleRate,
int format,
int channelCount,
@@ -471,13 +475,12 @@
void clearBufferQueue();
// Maximum number of pending buffers allocated by OutputTrack::write()
- static const uint8_t kMaxOverFlowBuffers = 3;
+ static const uint8_t kMaxOverFlowBuffers = 10;
Vector < Buffer* > mBufferQueue;
AudioBufferProvider::Buffer mOutBuffer;
- uint32_t mWaitTimeMs;
bool mActive;
-
+ DuplicatingThread* mSourceThread;
}; // end of OutputTrack
PlaybackThread (const sp<AudioFlinger>& audioFlinger, AudioStreamOut* output, int id);
@@ -520,6 +523,7 @@
virtual int type() const { return mType; }
void suspend() { mSuspended++; }
void restore() { if (mSuspended) mSuspended--; }
+ bool isSuspended() { return (mSuspended != 0); }
virtual String8 getParameters(const String8& keys);
virtual void audioConfigChanged(int event, int param = 0);
@@ -635,9 +639,16 @@
virtual bool threadLoop();
void addOutputTrack(MixerThread* thread);
void removeOutputTrack(MixerThread* thread);
+ uint32_t waitTimeMs() { return mWaitTimeMs; }
+ protected:
+ virtual uint32_t activeSleepTimeUs();
private:
+ bool outputsReady(SortedVector< sp<OutputTrack> > &outputTracks);
+ void updateWaitTime();
+
SortedVector < sp<OutputTrack> > mOutputTracks;
+ uint32_t mWaitTimeMs;
};
PlaybackThread *checkPlaybackThread_l(int output) const;
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 1a64e20..e28e915 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -39,7 +39,7 @@
import android.util.Config;
import android.util.Log;
import android.util.Xml;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import com.android.internal.telephony.RILConstants;
import com.android.internal.widget.LockPatternUtils;
diff --git a/preloaded-classes b/preloaded-classes
index 72ad8ef..f695f4e 100644
--- a/preloaded-classes
+++ b/preloaded-classes
@@ -209,7 +209,6 @@
android.net.LocalSocketImpl
android.net.LocalSocketImpl$SocketInputStream
android.net.LocalSocketImpl$SocketOutputStream
-android.net.NetworkConnectivityListener$State
android.net.NetworkInfo
android.net.NetworkInfo$DetailedState
android.net.SSLCertificateSocketFactory
@@ -576,7 +575,11 @@
android.widget.ViewSwitcher
android.widget.ZoomButton
android.widget.ZoomControls
-com.android.internal.database.ArrayListCursor
+com.android.common.ArrayListCursor
+com.android.common.FastXmlSerializer
+com.android.common.NetworkConnectivityListener
+com.android.common.NetworkConnectivityListener$State
+com.android.common.XmlUtils
com.android.internal.database.SortCursor
com.android.internal.appwidget.IAppWidgetService$Stub
com.android.internal.http.multipart.FilePart
@@ -633,7 +636,6 @@
com.android.internal.telephony.gsm.stk.ComprehensionTlvTag
com.android.internal.telephony.gsm.stk.ResultCode
-com.android.internal.util.FastXmlSerializer
com.android.internal.view.IInputConnectionWrapper
com.android.internal.view.IInputConnectionWrapper$MyHandler
com.android.internal.view.IInputConnectionWrapper$SomeArgs
diff --git a/services/java/com/android/server/AppWidgetService.java b/services/java/com/android/server/AppWidgetService.java
index 6bf7102..8797a42 100644
--- a/services/java/com/android/server/AppWidgetService.java
+++ b/services/java/com/android/server/AppWidgetService.java
@@ -57,7 +57,7 @@
import com.android.internal.appwidget.IAppWidgetService;
import com.android.internal.appwidget.IAppWidgetHost;
-import com.android.internal.util.FastXmlSerializer;
+import com.android.common.FastXmlSerializer;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 0f5330b..80129d06 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -454,6 +454,7 @@
IBinder mBinder;
int mPid;
int mUid;
+ long mCreateTime;
FeatureUser(int type, String feature, IBinder binder) {
super();
@@ -462,6 +463,7 @@
mBinder = binder;
mPid = getCallingPid();
mUid = getCallingUid();
+ mCreateTime = System.currentTimeMillis();
try {
mBinder.linkToDeath(this, 0);
@@ -476,15 +478,22 @@
public void binderDied() {
Log.d(TAG, "ConnectivityService FeatureUser binderDied(" +
- mNetworkType + ", " + mFeature + ", " + mBinder);
+ mNetworkType + ", " + mFeature + ", " + mBinder + "), created " +
+ (System.currentTimeMillis() - mCreateTime) + " mSec ago");
stopUsingNetworkFeature(this, false);
}
public void expire() {
Log.d(TAG, "ConnectivityService FeatureUser expire(" +
- mNetworkType + ", " + mFeature + ", " + mBinder);
+ mNetworkType + ", " + mFeature + ", " + mBinder +"), created " +
+ (System.currentTimeMillis() - mCreateTime) + " mSec ago");
stopUsingNetworkFeature(this, false);
}
+
+ public String toString() {
+ return "FeatureUser("+mNetworkType+","+mFeature+","+mPid+","+mUid+"), created " +
+ (System.currentTimeMillis() - mCreateTime) + " mSec ago";
+ }
}
// javadoc from interface
@@ -599,6 +608,7 @@
return stopUsingNetworkFeature(u, true);
} else {
// none found!
+ if (DBG) Log.d(TAG, "ignoring stopUsingNetworkFeature - not a live request");
return 1;
}
}
@@ -643,6 +653,7 @@
if (x.mUid == u.mUid && x.mPid == u.mPid &&
x.mNetworkType == u.mNetworkType &&
TextUtils.equals(x.mFeature, u.mFeature)) {
+ if (DBG) Log.d(TAG, "ignoring stopUsingNetworkFeature as dup is found");
return 1;
}
}
@@ -1199,14 +1210,32 @@
}
pw.println();
for (NetworkStateTracker nst : mNetTrackers) {
- if (nst != null && nst.getNetworkInfo().isConnected()) {
- pw.println("Active network: " + nst.getNetworkInfo().
- getTypeName());
+ if (nst != null) {
+ if (nst.getNetworkInfo().isConnected()) {
+ pw.println("Active network: " + nst.getNetworkInfo().
+ getTypeName());
+ }
+ pw.println(nst.getNetworkInfo());
+ pw.println(nst);
+ pw.println();
}
- pw.println(nst.getNetworkInfo());
- pw.println(nst);
- pw.println();
}
+
+ pw.println("Network Requester Pids:");
+ for (int net : mPriorityList) {
+ String pidString = net + ": ";
+ for (Object pid : mNetRequestersPids[net]) {
+ pidString = pidString + pid.toString() + ", ";
+ }
+ pw.println(pidString);
+ }
+ pw.println();
+
+ pw.println("FeatureUsers:");
+ for (Object requester : mFeatureUsers) {
+ pw.println(requester.toString());
+ }
+ pw.println();
}
// must be stateless - things change under us.
diff --git a/services/java/com/android/server/KeyInputQueue.java b/services/java/com/android/server/KeyInputQueue.java
index 1bb897b..2640cfb 100644
--- a/services/java/com/android/server/KeyInputQueue.java
+++ b/services/java/com/android/server/KeyInputQueue.java
@@ -32,7 +32,7 @@
import android.view.Surface;
import android.view.WindowManagerPolicy;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import org.xmlpull.v1.XmlPullParser;
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 6ed488d..2b12268 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -17,8 +17,8 @@
package com.android.server;
import com.android.internal.app.ResolverActivity;
-import com.android.internal.util.FastXmlSerializer;
-import com.android.internal.util.XmlUtils;
+import com.android.common.FastXmlSerializer;
+import com.android.common.XmlUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/services/java/com/android/server/WallpaperManagerService.java b/services/java/com/android/server/WallpaperManagerService.java
index 7c67f12..81255ee 100644
--- a/services/java/com/android/server/WallpaperManagerService.java
+++ b/services/java/com/android/server/WallpaperManagerService.java
@@ -66,7 +66,7 @@
import org.xmlpull.v1.XmlSerializer;
import com.android.internal.service.wallpaper.ImageWallpaper;
-import com.android.internal.util.FastXmlSerializer;
+import com.android.common.FastXmlSerializer;
class WallpaperManagerService extends IWallpaperManager.Stub {
static final String TAG = "WallpaperService";
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index b2cf9ec..9270a82 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -2020,7 +2020,7 @@
// to hold off on removing the window until the animation is done.
// If the display is frozen, just remove immediately, since the
// animation wouldn't be seen.
- if (win.mSurface != null && !mDisplayFrozen) {
+ if (win.mSurface != null && !mDisplayFrozen && mPolicy.isScreenOn()) {
// If we are not currently running the exit animation, we
// need to see about starting one.
if (wasVisible=win.isWinVisibleLw()) {
@@ -2336,7 +2336,8 @@
win.mEnterAnimationPending = true;
}
if (displayed && win.mSurface != null && !win.mDrawPending
- && !win.mCommitDrawPending && !mDisplayFrozen) {
+ && !win.mCommitDrawPending && !mDisplayFrozen
+ && mPolicy.isScreenOn()) {
applyEnterAnimationLocked(win);
}
if (displayed && (win.mAttrs.flags
@@ -2588,7 +2589,7 @@
// frozen, there is no reason to animate and it can cause strange
// artifacts when we unfreeze the display if some different animation
// is running.
- if (!mDisplayFrozen) {
+ if (!mDisplayFrozen && mPolicy.isScreenOn()) {
int anim = mPolicy.selectAnimationLw(win, transit);
int attr = -1;
Animation a = null;
@@ -2671,7 +2672,7 @@
// frozen, there is no reason to animate and it can cause strange
// artifacts when we unfreeze the display if some different animation
// is running.
- if (!mDisplayFrozen) {
+ if (!mDisplayFrozen && mPolicy.isScreenOn()) {
Animation a;
if (lp != null && (lp.flags & FLAG_COMPATIBLE_WINDOW) != 0) {
a = new FadeInOutAnimation(enter);
@@ -3262,7 +3263,7 @@
// If the display is frozen, we won't do anything until the
// actual window is displayed so there is no reason to put in
// the starting window.
- if (mDisplayFrozen) {
+ if (mDisplayFrozen || !mPolicy.isScreenOn()) {
return;
}
@@ -7491,7 +7492,7 @@
// This must be called while inside a transaction. Returns true if
// there is more animation to run.
boolean stepAnimationLocked(long currentTime, int dw, int dh) {
- if (!mDisplayFrozen) {
+ if (!mDisplayFrozen && mPolicy.isScreenOn()) {
// We will run animations as long as the display isn't frozen.
if (!mDrawPending && !mCommitDrawPending && mAnimation != null) {
@@ -8421,7 +8422,7 @@
// This must be called while inside a transaction.
boolean stepAnimationLocked(long currentTime, int dw, int dh) {
- if (!mDisplayFrozen) {
+ if (!mDisplayFrozen && mPolicy.isScreenOn()) {
// We will run animations as long as the display isn't frozen.
if (animation == sDummyAnimation) {
@@ -8510,7 +8511,8 @@
final int N = allAppWindows.size();
for (int i=0; i<N; i++) {
WindowState win = allAppWindows.get(i);
- if (win == startingWindow || win.mAppFreezing) {
+ if (win == startingWindow || win.mAppFreezing
+ || win.mViewVisibility != View.VISIBLE) {
continue;
}
if (DEBUG_VISIBILITY) {
@@ -9391,6 +9393,7 @@
try {
boolean restart;
boolean forceHiding = false;
+ boolean wallpaperForceHidingChanged = false;
do {
final int transactionSequence = ++mTransactionSequence;
@@ -9411,13 +9414,16 @@
}
}
+ if (DEBUG_APP_TRANSITIONS) Log.v(TAG, "*** ANIM STEP: seq="
+ + transactionSequence + " tokensAnimating="
+ + tokensAnimating);
+
animating = tokensAnimating;
restart = false;
boolean tokenMayBeDrawn = false;
boolean wallpaperMayChange = false;
boolean focusMayChange = false;
- boolean wallpaperForceHidingChanged = false;
mPolicy.beginAnimationLw(dw, dh);
@@ -9730,6 +9736,14 @@
mLastEnterAnimParams = null;
}
+ // If all closing windows are obscured, then there is
+ // no need to do an animation. This is the case, for
+ // example, when this transition is being done behind
+ // the lock screen.
+ if (!mPolicy.allowAppAnimationsLw()) {
+ animLp = null;
+ }
+
NN = mOpeningApps.size();
for (i=0; i<NN; i++) {
AppWindowToken wtoken = mOpeningApps.get(i);
@@ -9802,7 +9816,7 @@
int adjResult = 0;
- if (wallpaperForceHidingChanged) {
+ if (wallpaperForceHidingChanged && !restart && !mAppTransitionReady) {
// At this point, there was a window with a wallpaper that
// was force hiding other windows behind it, but now it
// is going away. This may be simple -- just animate
@@ -9810,10 +9824,28 @@
// hard -- the wallpaper now needs to be shown behind
// something that was hidden.
WindowState oldWallpaper = mWallpaperTarget;
+ if (mLowerWallpaperTarget != null
+ && mLowerWallpaperTarget.mAppToken != null) {
+ if (DEBUG_WALLPAPER) Log.v(TAG,
+ "wallpaperForceHiding changed with lower="
+ + mLowerWallpaperTarget);
+ if (DEBUG_WALLPAPER) Log.v(TAG,
+ "hidden=" + mLowerWallpaperTarget.mAppToken.hidden +
+ " hiddenRequested=" + mLowerWallpaperTarget.mAppToken.hiddenRequested);
+ if (mLowerWallpaperTarget.mAppToken.hidden) {
+ // The lower target has become hidden before we
+ // actually started the animation... let's completely
+ // re-evaluate everything.
+ mLowerWallpaperTarget = mUpperWallpaperTarget = null;
+ restart = true;
+ }
+ }
adjResult = adjustWallpaperWindowsLocked();
wallpaperMayChange = false;
- if (false) Log.v(TAG, "****** OLD: " + oldWallpaper
- + " NEW: " + mWallpaperTarget);
+ wallpaperForceHidingChanged = false;
+ if (DEBUG_WALLPAPER) Log.v(TAG, "****** OLD: " + oldWallpaper
+ + " NEW: " + mWallpaperTarget
+ + " LOWER: " + mLowerWallpaperTarget);
if (mLowerWallpaperTarget == null) {
// Whoops, we don't need a special wallpaper animation.
// Clear them out.
@@ -9868,6 +9900,9 @@
performLayoutLockedInner();
}
+ if (DEBUG_APP_TRANSITIONS) Log.v(TAG, "*** ANIM STEP: restart="
+ + restart);
+
} while (restart);
// THIRD LOOP: Update the surfaces of all windows.
@@ -10257,7 +10292,8 @@
}
if (mDimAnimator != null && mDimAnimator.mDimShown) {
- animating |= mDimAnimator.updateSurface(dimming, currentTime, mDisplayFrozen);
+ animating |= mDimAnimator.updateSurface(dimming, currentTime,
+ mDisplayFrozen || !mPolicy.isScreenOn());
}
if (!blurring && mBlurShown) {
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 31edaf2..bf436b6 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -1210,10 +1210,6 @@
if (MONITOR_CPU_USAGE) {
ServiceManager.addService("cpuinfo", new CpuBinder(m));
}
- ServiceManager.addService("activity.broadcasts", new BroadcastsBinder(m));
- ServiceManager.addService("activity.services", new ServicesBinder(m));
- ServiceManager.addService("activity.senders", new SendersBinder(m));
- ServiceManager.addService("activity.providers", new ProvidersBinder(m));
ServiceManager.addService("permission", new PermissionController(m));
ApplicationInfo info =
@@ -1321,54 +1317,6 @@
}
}
- static class BroadcastsBinder extends Binder {
- ActivityManagerService mActivityManagerService;
- BroadcastsBinder(ActivityManagerService activityManagerService) {
- mActivityManagerService = activityManagerService;
- }
-
- @Override
- protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- mActivityManagerService.dumpBroadcasts(pw);
- }
- }
-
- static class ServicesBinder extends Binder {
- ActivityManagerService mActivityManagerService;
- ServicesBinder(ActivityManagerService activityManagerService) {
- mActivityManagerService = activityManagerService;
- }
-
- @Override
- protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- mActivityManagerService.dumpServices(pw);
- }
- }
-
- static class SendersBinder extends Binder {
- ActivityManagerService mActivityManagerService;
- SendersBinder(ActivityManagerService activityManagerService) {
- mActivityManagerService = activityManagerService;
- }
-
- @Override
- protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- mActivityManagerService.dumpSenders(pw);
- }
- }
-
- static class ProvidersBinder extends Binder {
- ActivityManagerService mActivityManagerService;
- ProvidersBinder(ActivityManagerService activityManagerService) {
- mActivityManagerService = activityManagerService;
- }
-
- @Override
- protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- mActivityManagerService.dumpProviders(pw);
- }
- }
-
static class MemBinder extends Binder {
ActivityManagerService mActivityManagerService;
MemBinder(ActivityManagerService activityManagerService) {
@@ -9151,69 +9099,190 @@
@Override
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
- synchronized (this) {
- if (checkCallingPermission(android.Manifest.permission.DUMP)
- != PackageManager.PERMISSION_GRANTED) {
- pw.println("Permission Denial: can't dump ActivityManager from from pid="
- + Binder.getCallingPid()
- + ", uid=" + Binder.getCallingUid()
- + " without permission "
- + android.Manifest.permission.DUMP);
+ if (checkCallingPermission(android.Manifest.permission.DUMP)
+ != PackageManager.PERMISSION_GRANTED) {
+ pw.println("Permission Denial: can't dump ActivityManager from from pid="
+ + Binder.getCallingPid()
+ + ", uid=" + Binder.getCallingUid()
+ + " without permission "
+ + android.Manifest.permission.DUMP);
+ return;
+ }
+
+ boolean dumpAll = false;
+
+ int opti = 0;
+ while (opti < args.length) {
+ String opt = args[opti];
+ if (opt == null || opt.length() <= 0 || opt.charAt(0) != '-') {
+ break;
+ }
+ opti++;
+ if ("-a".equals(opt)) {
+ dumpAll = true;
+ } else if ("-h".equals(opt)) {
+ pw.println("Activity manager dump options:");
+ pw.println(" [-a] [h- [cmd] ...");
+ pw.println(" cmd may be one of:");
+ pw.println(" activities: activity stack state");
+ pw.println(" broadcasts: broadcast state");
+ pw.println(" intents: pending intent state");
+ pw.println(" processes: process state");
+ pw.println(" providers: content provider state");
+ pw.println(" services: service state");
+ pw.println(" service [name]: service client-side state");
return;
+ } else {
+ pw.println("Unknown argument: " + opt + "; use -h for help");
}
- if (args.length != 0 && "service".equals(args[0])) {
- dumpService(fd, pw, args);
- return;
- }
- pw.println("Activities in Current Activity Manager State:");
- dumpHistoryList(pw, mHistory, " ", "Hist", true);
- pw.println(" ");
- pw.println(" Running activities (most recent first):");
- dumpHistoryList(pw, mLRUActivities, " ", "Run", false);
- if (mWaitingVisibleActivities.size() > 0) {
- pw.println(" ");
- pw.println(" Activities waiting for another to become visible:");
- dumpHistoryList(pw, mWaitingVisibleActivities, " ", "Wait", false);
- }
- if (mStoppingActivities.size() > 0) {
- pw.println(" ");
- pw.println(" Activities waiting to stop:");
- dumpHistoryList(pw, mStoppingActivities, " ", "Stop", false);
- }
- if (mFinishingActivities.size() > 0) {
- pw.println(" ");
- pw.println(" Activities waiting to finish:");
- dumpHistoryList(pw, mFinishingActivities, " ", "Fin", false);
- }
-
- pw.println(" ");
- pw.println(" mPausingActivity: " + mPausingActivity);
- pw.println(" mResumedActivity: " + mResumedActivity);
- pw.println(" mFocusedActivity: " + mFocusedActivity);
- pw.println(" mLastPausedActivity: " + mLastPausedActivity);
-
- if (mRecentTasks.size() > 0) {
- pw.println(" ");
- pw.println("Recent tasks in Current Activity Manager State:");
-
- final int N = mRecentTasks.size();
- for (int i=0; i<N; i++) {
- TaskRecord tr = mRecentTasks.get(i);
- pw.print(" * Recent #"); pw.print(i); pw.print(": ");
- pw.println(tr);
- mRecentTasks.get(i).dump(pw, " ");
+ }
+
+ // Is the caller requesting to dump a particular piece of data?
+ if (opti < args.length) {
+ String cmd = args[opti];
+ opti++;
+ if ("activities".equals(cmd) || "a".equals(cmd)) {
+ synchronized (this) {
+ dumpActivitiesLocked(fd, pw, args, opti, true, true);
}
+ return;
+ } else if ("broadcasts".equals(cmd) || "b".equals(cmd)) {
+ synchronized (this) {
+ dumpBroadcastsLocked(fd, pw, args, opti, true);
+ }
+ return;
+ } else if ("intents".equals(cmd) || "i".equals(cmd)) {
+ synchronized (this) {
+ dumpPendingIntentsLocked(fd, pw, args, opti, true);
+ }
+ return;
+ } else if ("processes".equals(cmd) || "p".equals(cmd)) {
+ synchronized (this) {
+ dumpProcessesLocked(fd, pw, args, opti, true);
+ }
+ return;
+ } else if ("providers".equals(cmd) || "prov".equals(cmd)) {
+ synchronized (this) {
+ dumpProvidersLocked(fd, pw, args, opti, true);
+ }
+ return;
+ } else if ("service".equals(cmd)) {
+ dumpService(fd, pw, args, opti, true);
+ return;
+ } else if ("services".equals(cmd) || "s".equals(cmd)) {
+ synchronized (this) {
+ dumpServicesLocked(fd, pw, args, opti, true);
+ }
+ return;
}
-
+ }
+
+ // No piece of data specified, dump everything.
+ synchronized (this) {
+ boolean needSep;
+ if (dumpAll) {
+ pw.println("Providers in Current Activity Manager State:");
+ }
+ needSep = dumpProvidersLocked(fd, pw, args, opti, dumpAll);
+ if (needSep) {
+ pw.println(" ");
+ }
+ if (dumpAll) {
+ pw.println("-------------------------------------------------------------------------------");
+ pw.println("Broadcasts in Current Activity Manager State:");
+ }
+ needSep = dumpBroadcastsLocked(fd, pw, args, opti, dumpAll);
+ if (needSep) {
+ pw.println(" ");
+ }
+ if (dumpAll) {
+ pw.println("-------------------------------------------------------------------------------");
+ pw.println("Services in Current Activity Manager State:");
+ }
+ needSep = dumpServicesLocked(fd, pw, args, opti, dumpAll);
+ if (needSep) {
+ pw.println(" ");
+ }
+ if (dumpAll) {
+ pw.println("-------------------------------------------------------------------------------");
+ pw.println("PendingIntents in Current Activity Manager State:");
+ }
+ needSep = dumpPendingIntentsLocked(fd, pw, args, opti, dumpAll);
+ if (needSep) {
+ pw.println(" ");
+ }
+ if (dumpAll) {
+ pw.println("-------------------------------------------------------------------------------");
+ pw.println("Activities in Current Activity Manager State:");
+ }
+ needSep = dumpActivitiesLocked(fd, pw, args, opti, dumpAll, !dumpAll);
+ if (needSep) {
+ pw.println(" ");
+ }
+ if (dumpAll) {
+ pw.println("-------------------------------------------------------------------------------");
+ pw.println("Processes in Current Activity Manager State:");
+ }
+ dumpProcessesLocked(fd, pw, args, opti, dumpAll);
+ }
+ }
+
+ boolean dumpActivitiesLocked(FileDescriptor fd, PrintWriter pw, String[] args,
+ int opti, boolean dumpAll, boolean needHeader) {
+ if (needHeader) {
+ pw.println(" Activity stack:");
+ }
+ dumpHistoryList(pw, mHistory, " ", "Hist", true);
+ pw.println(" ");
+ pw.println(" Running activities (most recent first):");
+ dumpHistoryList(pw, mLRUActivities, " ", "Run", false);
+ if (mWaitingVisibleActivities.size() > 0) {
pw.println(" ");
- pw.println(" mCurTask: " + mCurTask);
-
+ pw.println(" Activities waiting for another to become visible:");
+ dumpHistoryList(pw, mWaitingVisibleActivities, " ", "Wait", false);
+ }
+ if (mStoppingActivities.size() > 0) {
pw.println(" ");
- pw.println("Processes in Current Activity Manager State:");
+ pw.println(" Activities waiting to stop:");
+ dumpHistoryList(pw, mStoppingActivities, " ", "Stop", false);
+ }
+ if (mFinishingActivities.size() > 0) {
+ pw.println(" ");
+ pw.println(" Activities waiting to finish:");
+ dumpHistoryList(pw, mFinishingActivities, " ", "Fin", false);
+ }
- boolean needSep = false;
- int numPers = 0;
+ pw.println(" ");
+ pw.println(" mPausingActivity: " + mPausingActivity);
+ pw.println(" mResumedActivity: " + mResumedActivity);
+ pw.println(" mFocusedActivity: " + mFocusedActivity);
+ pw.println(" mLastPausedActivity: " + mLastPausedActivity);
+ if (dumpAll && mRecentTasks.size() > 0) {
+ pw.println(" ");
+ pw.println("Recent tasks in Current Activity Manager State:");
+
+ final int N = mRecentTasks.size();
+ for (int i=0; i<N; i++) {
+ TaskRecord tr = mRecentTasks.get(i);
+ pw.print(" * Recent #"); pw.print(i); pw.print(": ");
+ pw.println(tr);
+ mRecentTasks.get(i).dump(pw, " ");
+ }
+ }
+
+ pw.println(" ");
+ pw.println(" mCurTask: " + mCurTask);
+
+ return true;
+ }
+
+ boolean dumpProcessesLocked(FileDescriptor fd, PrintWriter pw, String[] args,
+ int opti, boolean dumpAll) {
+ boolean needSep = false;
+ int numPers = 0;
+
+ if (dumpAll) {
for (SparseArray<ProcessRecord> procs : mProcessNames.getMap().values()) {
final int NA = procs.size();
for (int ia=0; ia<NA; ia++) {
@@ -9231,142 +9300,151 @@
}
}
}
-
- if (mLruProcesses.size() > 0) {
+ }
+
+ if (mLruProcesses.size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Running processes (most recent first):");
+ dumpProcessList(pw, this, mLruProcesses, " ",
+ "App ", "PERS", true);
+ needSep = true;
+ }
+
+ synchronized (mPidsSelfLocked) {
+ if (mPidsSelfLocked.size() > 0) {
if (needSep) pw.println(" ");
needSep = true;
- pw.println(" Running processes (most recent first):");
- dumpProcessList(pw, this, mLruProcesses, " ",
- "App ", "PERS", true);
- needSep = true;
- }
-
- synchronized (mPidsSelfLocked) {
- if (mPidsSelfLocked.size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" PID mappings:");
- for (int i=0; i<mPidsSelfLocked.size(); i++) {
- pw.print(" PID #"); pw.print(mPidsSelfLocked.keyAt(i));
- pw.print(": "); pw.println(mPidsSelfLocked.valueAt(i));
- }
+ pw.println(" PID mappings:");
+ for (int i=0; i<mPidsSelfLocked.size(); i++) {
+ pw.print(" PID #"); pw.print(mPidsSelfLocked.keyAt(i));
+ pw.print(": "); pw.println(mPidsSelfLocked.valueAt(i));
}
}
-
- if (mForegroundProcesses.size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" Foreground Processes:");
- for (int i=0; i<mForegroundProcesses.size(); i++) {
- pw.print(" PID #"); pw.print(mForegroundProcesses.keyAt(i));
- pw.print(": "); pw.println(mForegroundProcesses.valueAt(i));
- }
+ }
+
+ if (mForegroundProcesses.size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Foreground Processes:");
+ for (int i=0; i<mForegroundProcesses.size(); i++) {
+ pw.print(" PID #"); pw.print(mForegroundProcesses.keyAt(i));
+ pw.print(": "); pw.println(mForegroundProcesses.valueAt(i));
}
-
- if (mPersistentStartingProcesses.size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" Persisent processes that are starting:");
- dumpProcessList(pw, this, mPersistentStartingProcesses, " ",
- "Starting Norm", "Restarting PERS", false);
- }
+ }
+
+ if (mPersistentStartingProcesses.size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Persisent processes that are starting:");
+ dumpProcessList(pw, this, mPersistentStartingProcesses, " ",
+ "Starting Norm", "Restarting PERS", false);
+ }
- if (mStartingProcesses.size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" Processes that are starting:");
- dumpProcessList(pw, this, mStartingProcesses, " ",
- "Starting Norm", "Starting PERS", false);
- }
+ if (mStartingProcesses.size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Processes that are starting:");
+ dumpProcessList(pw, this, mStartingProcesses, " ",
+ "Starting Norm", "Starting PERS", false);
+ }
- if (mRemovedProcesses.size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" Processes that are being removed:");
- dumpProcessList(pw, this, mRemovedProcesses, " ",
- "Removed Norm", "Removed PERS", false);
- }
-
- if (mProcessesOnHold.size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" Processes that are on old until the system is ready:");
- dumpProcessList(pw, this, mProcessesOnHold, " ",
- "OnHold Norm", "OnHold PERS", false);
- }
+ if (mRemovedProcesses.size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Processes that are being removed:");
+ dumpProcessList(pw, this, mRemovedProcesses, " ",
+ "Removed Norm", "Removed PERS", false);
+ }
+
+ if (mProcessesOnHold.size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Processes that are on old until the system is ready:");
+ dumpProcessList(pw, this, mProcessesOnHold, " ",
+ "OnHold Norm", "OnHold PERS", false);
+ }
- if (mProcessesToGc.size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" Processes that are waiting to GC:");
- long now = SystemClock.uptimeMillis();
- for (int i=0; i<mProcessesToGc.size(); i++) {
- ProcessRecord proc = mProcessesToGc.get(i);
- pw.print(" Process "); pw.println(proc);
- pw.print(" lowMem="); pw.print(proc.reportLowMemory);
- pw.print(", last gced=");
- pw.print(now-proc.lastRequestedGc);
- pw.print(" ms ago, last lowMem=");
- pw.print(now-proc.lastLowMemory);
+ if (mProcessesToGc.size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Processes that are waiting to GC:");
+ long now = SystemClock.uptimeMillis();
+ for (int i=0; i<mProcessesToGc.size(); i++) {
+ ProcessRecord proc = mProcessesToGc.get(i);
+ pw.print(" Process "); pw.println(proc);
+ pw.print(" lowMem="); pw.print(proc.reportLowMemory);
+ pw.print(", last gced=");
+ pw.print(now-proc.lastRequestedGc);
+ pw.print(" ms ago, last lowMem=");
+ pw.print(now-proc.lastLowMemory);
+ pw.println(" ms ago");
+
+ }
+ }
+
+ if (mProcessCrashTimes.getMap().size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Time since processes crashed:");
+ long now = SystemClock.uptimeMillis();
+ for (Map.Entry<String, SparseArray<Long>> procs
+ : mProcessCrashTimes.getMap().entrySet()) {
+ SparseArray<Long> uids = procs.getValue();
+ final int N = uids.size();
+ for (int i=0; i<N; i++) {
+ pw.print(" Process "); pw.print(procs.getKey());
+ pw.print(" uid "); pw.print(uids.keyAt(i));
+ pw.print(": last crashed ");
+ pw.print((now-uids.valueAt(i)));
pw.println(" ms ago");
-
}
}
-
- if (mProcessCrashTimes.getMap().size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" Time since processes crashed:");
- long now = SystemClock.uptimeMillis();
- for (Map.Entry<String, SparseArray<Long>> procs
- : mProcessCrashTimes.getMap().entrySet()) {
- SparseArray<Long> uids = procs.getValue();
- final int N = uids.size();
- for (int i=0; i<N; i++) {
- pw.print(" Process "); pw.print(procs.getKey());
- pw.print(" uid "); pw.print(uids.keyAt(i));
- pw.print(": last crashed ");
- pw.print((now-uids.valueAt(i)));
- pw.println(" ms ago");
- }
- }
- }
+ }
- if (mBadProcesses.getMap().size() > 0) {
- if (needSep) pw.println(" ");
- needSep = true;
- pw.println(" Bad processes:");
- for (Map.Entry<String, SparseArray<Long>> procs
- : mBadProcesses.getMap().entrySet()) {
- SparseArray<Long> uids = procs.getValue();
- final int N = uids.size();
- for (int i=0; i<N; i++) {
- pw.print(" Bad process "); pw.print(procs.getKey());
- pw.print(" uid "); pw.print(uids.keyAt(i));
- pw.print(": crashed at time ");
- pw.println(uids.valueAt(i));
- }
+ if (mBadProcesses.getMap().size() > 0) {
+ if (needSep) pw.println(" ");
+ needSep = true;
+ pw.println(" Bad processes:");
+ for (Map.Entry<String, SparseArray<Long>> procs
+ : mBadProcesses.getMap().entrySet()) {
+ SparseArray<Long> uids = procs.getValue();
+ final int N = uids.size();
+ for (int i=0; i<N; i++) {
+ pw.print(" Bad process "); pw.print(procs.getKey());
+ pw.print(" uid "); pw.print(uids.keyAt(i));
+ pw.print(": crashed at time ");
+ pw.println(uids.valueAt(i));
}
}
+ }
- pw.println(" ");
+ pw.println(" ");
+ pw.println(" mHomeProcess: " + mHomeProcess);
+ pw.println(" mConfiguration: " + mConfiguration);
+ pw.println(" mSleeping=" + mSleeping + " mShuttingDown=" + mShuttingDown);
+ if (mDebugApp != null || mOrigDebugApp != null || mDebugTransient
+ || mOrigWaitForDebugger) {
+ pw.println(" mDebugApp=" + mDebugApp + "/orig=" + mOrigDebugApp
+ + " mDebugTransient=" + mDebugTransient
+ + " mOrigWaitForDebugger=" + mOrigWaitForDebugger);
+ }
+ if (mAlwaysFinishActivities || mController != null) {
+ pw.println(" mAlwaysFinishActivities=" + mAlwaysFinishActivities
+ + " mController=" + mController);
+ }
+ if (dumpAll) {
pw.println(" Total persistent processes: " + numPers);
- pw.println(" mHomeProcess: " + mHomeProcess);
- pw.println(" mConfiguration: " + mConfiguration);
pw.println(" mStartRunning=" + mStartRunning
+ " mSystemReady=" + mSystemReady
+ " mBooting=" + mBooting
+ " mBooted=" + mBooted
+ " mFactoryTest=" + mFactoryTest);
- pw.println(" mSleeping=" + mSleeping + " mShuttingDown=" + mShuttingDown);
pw.println(" mGoingToSleep=" + mGoingToSleep);
pw.println(" mLaunchingActivity=" + mLaunchingActivity);
- pw.println(" mDebugApp=" + mDebugApp + "/orig=" + mOrigDebugApp
- + " mDebugTransient=" + mDebugTransient
- + " mOrigWaitForDebugger=" + mOrigWaitForDebugger);
- pw.println(" mAlwaysFinishActivities=" + mAlwaysFinishActivities
- + " mController=" + mController);
}
+
+ return true;
}
/**
@@ -9377,20 +9455,22 @@
* - the first arg isn't the flattened component name of an existing service:
* dump all services whose component contains the first arg as a substring
*/
- protected void dumpService(FileDescriptor fd, PrintWriter pw, String[] args) {
+ protected void dumpService(FileDescriptor fd, PrintWriter pw, String[] args,
+ int opti, boolean dumpAll) {
String[] newArgs;
String componentNameString;
ServiceRecord r;
- if (args.length == 1) {
+ if (opti <= args.length) {
componentNameString = null;
newArgs = EMPTY_STRING_ARRAY;
r = null;
} else {
- componentNameString = args[1];
+ componentNameString = args[opti];
+ opti++;
ComponentName componentName = ComponentName.unflattenFromString(componentNameString);
r = componentName != null ? mServices.get(componentName) : null;
- newArgs = new String[args.length - 2];
- if (args.length > 2) System.arraycopy(args, 2, newArgs, 0, args.length - 2);
+ newArgs = new String[args.length - opti];
+ if (args.length > 2) System.arraycopy(args, opti, newArgs, 0, args.length - opti);
}
if (r != null) {
@@ -9424,19 +9504,11 @@
}
}
- void dumpBroadcasts(PrintWriter pw) {
- synchronized (this) {
- if (checkCallingPermission(android.Manifest.permission.DUMP)
- != PackageManager.PERMISSION_GRANTED) {
- pw.println("Permission Denial: can't dump ActivityManager from from pid="
- + Binder.getCallingPid()
- + ", uid=" + Binder.getCallingUid()
- + " without permission "
- + android.Manifest.permission.DUMP);
- return;
- }
- pw.println("Broadcasts in Current Activity Manager State:");
-
+ boolean dumpBroadcastsLocked(FileDescriptor fd, PrintWriter pw, String[] args,
+ int opti, boolean dumpAll) {
+ boolean needSep = false;
+
+ if (dumpAll) {
if (mRegisteredReceivers.size() > 0) {
pw.println(" ");
pw.println(" Registered Receivers:");
@@ -9447,38 +9519,42 @@
r.dump(pw, " ");
}
}
-
+
pw.println(" ");
pw.println("Receiver Resolver Table:");
mReceiverResolver.dump(pw, " ");
-
- if (mParallelBroadcasts.size() > 0 || mOrderedBroadcasts.size() > 0
- || mPendingBroadcast != null) {
- if (mParallelBroadcasts.size() > 0) {
- pw.println(" ");
- pw.println(" Active broadcasts:");
- }
- for (int i=mParallelBroadcasts.size()-1; i>=0; i--) {
- pw.println(" Broadcast #" + i + ":");
- mParallelBroadcasts.get(i).dump(pw, " ");
- }
- if (mOrderedBroadcasts.size() > 0) {
- pw.println(" ");
- pw.println(" Active serialized broadcasts:");
- }
- for (int i=mOrderedBroadcasts.size()-1; i>=0; i--) {
- pw.println(" Serialized Broadcast #" + i + ":");
- mOrderedBroadcasts.get(i).dump(pw, " ");
- }
+ needSep = true;
+ }
+
+ if (mParallelBroadcasts.size() > 0 || mOrderedBroadcasts.size() > 0
+ || mPendingBroadcast != null) {
+ if (mParallelBroadcasts.size() > 0) {
pw.println(" ");
- pw.println(" Pending broadcast:");
- if (mPendingBroadcast != null) {
- mPendingBroadcast.dump(pw, " ");
- } else {
- pw.println(" (null)");
- }
+ pw.println(" Active broadcasts:");
}
+ for (int i=mParallelBroadcasts.size()-1; i>=0; i--) {
+ pw.println(" Broadcast #" + i + ":");
+ mParallelBroadcasts.get(i).dump(pw, " ");
+ }
+ if (mOrderedBroadcasts.size() > 0) {
+ pw.println(" ");
+ pw.println(" Active serialized broadcasts:");
+ }
+ for (int i=mOrderedBroadcasts.size()-1; i>=0; i--) {
+ pw.println(" Serialized Broadcast #" + i + ":");
+ mOrderedBroadcasts.get(i).dump(pw, " ");
+ }
+ pw.println(" ");
+ pw.println(" Pending broadcast:");
+ if (mPendingBroadcast != null) {
+ mPendingBroadcast.dump(pw, " ");
+ } else {
+ pw.println(" (null)");
+ }
+ needSep = true;
+ }
+ if (dumpAll) {
pw.println(" ");
pw.println(" Historical broadcasts:");
for (int i=0; i<MAX_BROADCAST_HISTORY; i++) {
@@ -9489,54 +9565,50 @@
pw.println(" Historical Broadcast #" + i + ":");
r.dump(pw, " ");
}
-
+ needSep = true;
+ }
+
+ if (mStickyBroadcasts != null) {
pw.println(" ");
- pw.println(" mBroadcastsScheduled=" + mBroadcastsScheduled);
- if (mStickyBroadcasts != null) {
- pw.println(" ");
- pw.println(" Sticky broadcasts:");
- StringBuilder sb = new StringBuilder(128);
- for (Map.Entry<String, ArrayList<Intent>> ent
- : mStickyBroadcasts.entrySet()) {
- pw.print(" * Sticky action "); pw.print(ent.getKey());
- pw.println(":");
- ArrayList<Intent> intents = ent.getValue();
- final int N = intents.size();
- for (int i=0; i<N; i++) {
- sb.setLength(0);
- sb.append(" Intent: ");
- intents.get(i).toShortString(sb, true, false);
- pw.println(sb.toString());
- Bundle bundle = intents.get(i).getExtras();
- if (bundle != null) {
- pw.print(" ");
- pw.println(bundle.toString());
- }
+ pw.println(" Sticky broadcasts:");
+ StringBuilder sb = new StringBuilder(128);
+ for (Map.Entry<String, ArrayList<Intent>> ent
+ : mStickyBroadcasts.entrySet()) {
+ pw.print(" * Sticky action "); pw.print(ent.getKey());
+ pw.println(":");
+ ArrayList<Intent> intents = ent.getValue();
+ final int N = intents.size();
+ for (int i=0; i<N; i++) {
+ sb.setLength(0);
+ sb.append(" Intent: ");
+ intents.get(i).toShortString(sb, true, false);
+ pw.println(sb.toString());
+ Bundle bundle = intents.get(i).getExtras();
+ if (bundle != null) {
+ pw.print(" ");
+ pw.println(bundle.toString());
}
}
}
-
+ needSep = true;
+ }
+
+ if (dumpAll) {
pw.println(" ");
+ pw.println(" mBroadcastsScheduled=" + mBroadcastsScheduled);
pw.println(" mHandler:");
mHandler.dump(new PrintWriterPrinter(pw), " ");
+ needSep = true;
}
+
+ return needSep;
}
- void dumpServices(PrintWriter pw) {
- synchronized (this) {
- if (checkCallingPermission(android.Manifest.permission.DUMP)
- != PackageManager.PERMISSION_GRANTED) {
- pw.println("Permission Denial: can't dump ActivityManager from from pid="
- + Binder.getCallingPid()
- + ", uid=" + Binder.getCallingUid()
- + " without permission "
- + android.Manifest.permission.DUMP);
- return;
- }
- pw.println("Services in Current Activity Manager State:");
+ boolean dumpServicesLocked(FileDescriptor fd, PrintWriter pw, String[] args,
+ int opti, boolean dumpAll) {
+ boolean needSep = false;
- boolean needSep = false;
-
+ if (dumpAll) {
if (mServices.size() > 0) {
pw.println(" Active services:");
Iterator<ServiceRecord> it = mServices.values().iterator();
@@ -9547,40 +9619,42 @@
}
needSep = true;
}
+ }
- if (mPendingServices.size() > 0) {
- if (needSep) pw.println(" ");
- pw.println(" Pending services:");
- for (int i=0; i<mPendingServices.size(); i++) {
- ServiceRecord r = mPendingServices.get(i);
- pw.print(" * Pending "); pw.println(r);
- r.dump(pw, " ");
- }
- needSep = true;
+ if (mPendingServices.size() > 0) {
+ if (needSep) pw.println(" ");
+ pw.println(" Pending services:");
+ for (int i=0; i<mPendingServices.size(); i++) {
+ ServiceRecord r = mPendingServices.get(i);
+ pw.print(" * Pending "); pw.println(r);
+ r.dump(pw, " ");
}
+ needSep = true;
+ }
- if (mRestartingServices.size() > 0) {
- if (needSep) pw.println(" ");
- pw.println(" Restarting services:");
- for (int i=0; i<mRestartingServices.size(); i++) {
- ServiceRecord r = mRestartingServices.get(i);
- pw.print(" * Restarting "); pw.println(r);
- r.dump(pw, " ");
- }
- needSep = true;
+ if (mRestartingServices.size() > 0) {
+ if (needSep) pw.println(" ");
+ pw.println(" Restarting services:");
+ for (int i=0; i<mRestartingServices.size(); i++) {
+ ServiceRecord r = mRestartingServices.get(i);
+ pw.print(" * Restarting "); pw.println(r);
+ r.dump(pw, " ");
}
+ needSep = true;
+ }
- if (mStoppingServices.size() > 0) {
- if (needSep) pw.println(" ");
- pw.println(" Stopping services:");
- for (int i=0; i<mStoppingServices.size(); i++) {
- ServiceRecord r = mStoppingServices.get(i);
- pw.print(" * Stopping "); pw.println(r);
- r.dump(pw, " ");
- }
- needSep = true;
+ if (mStoppingServices.size() > 0) {
+ if (needSep) pw.println(" ");
+ pw.println(" Stopping services:");
+ for (int i=0; i<mStoppingServices.size(); i++) {
+ ServiceRecord r = mStoppingServices.get(i);
+ pw.print(" * Stopping "); pw.println(r);
+ r.dump(pw, " ");
}
+ needSep = true;
+ }
+ if (dumpAll) {
if (mServiceConnections.size() > 0) {
if (needSep) pw.println(" ");
pw.println(" Connection bindings to services:");
@@ -9591,26 +9665,18 @@
pw.print(" * "); pw.println(r);
r.dump(pw, " ");
}
+ needSep = true;
}
}
+
+ return needSep;
}
- void dumpProviders(PrintWriter pw) {
- synchronized (this) {
- if (checkCallingPermission(android.Manifest.permission.DUMP)
- != PackageManager.PERMISSION_GRANTED) {
- pw.println("Permission Denial: can't dump ActivityManager from from pid="
- + Binder.getCallingPid()
- + ", uid=" + Binder.getCallingUid()
- + " without permission "
- + android.Manifest.permission.DUMP);
- return;
- }
+ boolean dumpProvidersLocked(FileDescriptor fd, PrintWriter pw, String[] args,
+ int opti, boolean dumpAll) {
+ boolean needSep = false;
- pw.println("Content Providers in Current Activity Manager State:");
-
- boolean needSep = false;
-
+ if (dumpAll) {
if (mProvidersByClass.size() > 0) {
if (needSep) pw.println(" ");
pw.println(" Published content providers (by class):");
@@ -9623,7 +9689,7 @@
}
needSep = true;
}
-
+
if (mProvidersByName.size() > 0) {
pw.println(" ");
pw.println(" Authority to provider mappings:");
@@ -9636,55 +9702,50 @@
}
needSep = true;
}
-
- if (mLaunchingProviders.size() > 0) {
- if (needSep) pw.println(" ");
- pw.println(" Launching content providers:");
- for (int i=mLaunchingProviders.size()-1; i>=0; i--) {
- pw.print(" Launching #"); pw.print(i); pw.print(": ");
- pw.println(mLaunchingProviders.get(i));
- }
- needSep = true;
- }
-
- if (mGrantedUriPermissions.size() > 0) {
- pw.println();
- pw.println("Granted Uri Permissions:");
- for (int i=0; i<mGrantedUriPermissions.size(); i++) {
- int uid = mGrantedUriPermissions.keyAt(i);
- HashMap<Uri, UriPermission> perms
- = mGrantedUriPermissions.valueAt(i);
- pw.print(" * UID "); pw.print(uid);
- pw.println(" holds:");
- for (UriPermission perm : perms.values()) {
- pw.print(" "); pw.println(perm);
- perm.dump(pw, " ");
- }
- }
- }
}
+
+ if (mLaunchingProviders.size() > 0) {
+ if (needSep) pw.println(" ");
+ pw.println(" Launching content providers:");
+ for (int i=mLaunchingProviders.size()-1; i>=0; i--) {
+ pw.print(" Launching #"); pw.print(i); pw.print(": ");
+ pw.println(mLaunchingProviders.get(i));
+ }
+ needSep = true;
+ }
+
+ if (mGrantedUriPermissions.size() > 0) {
+ pw.println();
+ pw.println("Granted Uri Permissions:");
+ for (int i=0; i<mGrantedUriPermissions.size(); i++) {
+ int uid = mGrantedUriPermissions.keyAt(i);
+ HashMap<Uri, UriPermission> perms
+ = mGrantedUriPermissions.valueAt(i);
+ pw.print(" * UID "); pw.print(uid);
+ pw.println(" holds:");
+ for (UriPermission perm : perms.values()) {
+ pw.print(" "); pw.println(perm);
+ perm.dump(pw, " ");
+ }
+ }
+ needSep = true;
+ }
+
+ return needSep;
}
- void dumpSenders(PrintWriter pw) {
- synchronized (this) {
- if (checkCallingPermission(android.Manifest.permission.DUMP)
- != PackageManager.PERMISSION_GRANTED) {
- pw.println("Permission Denial: can't dump ActivityManager from from pid="
- + Binder.getCallingPid()
- + ", uid=" + Binder.getCallingUid()
- + " without permission "
- + android.Manifest.permission.DUMP);
- return;
- }
-
- pw.println("Pending Intents in Current Activity Manager State:");
-
+ boolean dumpPendingIntentsLocked(FileDescriptor fd, PrintWriter pw, String[] args,
+ int opti, boolean dumpAll) {
+ boolean needSep = false;
+
+ if (dumpAll) {
if (this.mIntentSenderRecords.size() > 0) {
Iterator<WeakReference<PendingIntentRecord>> it
= mIntentSenderRecords.values().iterator();
while (it.hasNext()) {
WeakReference<PendingIntentRecord> ref = it.next();
PendingIntentRecord rec = ref != null ? ref.get(): null;
+ needSep = true;
if (rec != null) {
pw.print(" * "); pw.println(rec);
rec.dump(pw, " ");
@@ -9694,6 +9755,8 @@
}
}
}
+
+ return needSep;
}
private static final void dumpHistoryList(PrintWriter pw, List list,
diff --git a/telephony/java/com/android/internal/telephony/IccProvider.java b/telephony/java/com/android/internal/telephony/IccProvider.java
index 8b54ca8..4232887 100644
--- a/telephony/java/com/android/internal/telephony/IccProvider.java
+++ b/telephony/java/com/android/internal/telephony/IccProvider.java
@@ -19,7 +19,7 @@
import android.content.ContentProvider;
import android.content.UriMatcher;
import android.content.ContentValues;
-import com.android.internal.database.ArrayListCursor;
+import com.android.common.ArrayListCursor;
import android.database.Cursor;
import android.net.Uri;
import android.os.SystemProperties;
diff --git a/telephony/java/com/android/internal/telephony/cdma/EriManager.java b/telephony/java/com/android/internal/telephony/cdma/EriManager.java
index 083fa0b..0e186d0 100644
--- a/telephony/java/com/android/internal/telephony/cdma/EriManager.java
+++ b/telephony/java/com/android/internal/telephony/cdma/EriManager.java
@@ -24,7 +24,7 @@
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneBase;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/telephony/java/com/android/internal/telephony/gsm/SpnOverride.java b/telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
index 9ea30101..abb0230 100644
--- a/telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
+++ b/telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
@@ -13,7 +13,7 @@
import android.util.Log;
import android.util.Xml;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
public class SpnOverride {
private HashMap<String, String> CarrierSpnMap;
diff --git a/telephony/java/com/android/internal/telephony/gsm/VoiceMailConstants.java b/telephony/java/com/android/internal/telephony/gsm/VoiceMailConstants.java
index d4e1f72..0bedd53 100644
--- a/telephony/java/com/android/internal/telephony/gsm/VoiceMailConstants.java
+++ b/telephony/java/com/android/internal/telephony/gsm/VoiceMailConstants.java
@@ -28,7 +28,7 @@
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
/**
* {@hide}
diff --git a/tests/AndroidTests/src/com/android/unit_tests/CursorWindowTest.java b/tests/AndroidTests/src/com/android/unit_tests/CursorWindowTest.java
index d9068c8..0247355 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/CursorWindowTest.java
+++ b/tests/AndroidTests/src/com/android/unit_tests/CursorWindowTest.java
@@ -18,7 +18,7 @@
import android.database.AbstractCursor;
import android.test.suitebuilder.annotation.SmallTest;
-import com.android.internal.database.ArrayListCursor;
+import com.android.common.ArrayListCursor;
import android.database.CursorWindow;
import android.test.PerformanceTestCase;
diff --git a/tests/AndroidTests/src/com/android/unit_tests/SafeSaxTest.java b/tests/AndroidTests/src/com/android/unit_tests/SafeSaxTest.java
index d488a29..8ccd26e 100644
--- a/tests/AndroidTests/src/com/android/unit_tests/SafeSaxTest.java
+++ b/tests/AndroidTests/src/com/android/unit_tests/SafeSaxTest.java
@@ -29,7 +29,7 @@
import android.text.format.Time;
import android.util.Log;
import android.util.Xml;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
diff --git a/tests/FrameworkTest/tests/src/android/widget/SimpleCursorAdapterTest.java b/tests/FrameworkTest/tests/src/android/widget/SimpleCursorAdapterTest.java
index 58f4ccb..7726f02 100644
--- a/tests/FrameworkTest/tests/src/android/widget/SimpleCursorAdapterTest.java
+++ b/tests/FrameworkTest/tests/src/android/widget/SimpleCursorAdapterTest.java
@@ -16,7 +16,7 @@
package android.widget;
-import com.android.internal.database.ArrayListCursor;
+import com.android.common.ArrayListCursor;
import com.google.android.collect.Lists;
import android.content.Context;
diff --git a/tests/framework-tests/src/com/android/internal/os/LoggingPrintStreamTest.java b/tests/framework-tests/src/com/android/internal/os/LoggingPrintStreamTest.java
index 8e3a034..4d016d1 100644
--- a/tests/framework-tests/src/com/android/internal/os/LoggingPrintStreamTest.java
+++ b/tests/framework-tests/src/com/android/internal/os/LoggingPrintStreamTest.java
@@ -18,12 +18,12 @@
import junit.framework.TestCase;
-import java.util.Arrays;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.io.StringWriter;
import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
public class LoggingPrintStreamTest extends TestCase {
@@ -121,6 +121,58 @@
assertEquals(Arrays.asList("Foo", "4", "a"), out.lines);
}
+ public void testMultiByteCharactersSpanningBuffers() throws Exception {
+ // assume 3*1000 bytes won't fit in LoggingPrintStream's internal buffer
+ StringBuilder builder = new StringBuilder();
+ for (int i = 0; i < 1000; i++) {
+ builder.append("\u20AC"); // a Euro character; 3 bytes in UTF-8
+ }
+ String expected = builder.toString();
+
+ out.write(expected.getBytes("UTF-8"));
+ out.flush();
+ assertEquals(Arrays.asList(expected), out.lines);
+ }
+
+ public void testWriteOneByteAtATimeMultibyteCharacters() throws Exception {
+ String expected = " \u20AC \u20AC \u20AC \u20AC ";
+ for (byte b : expected.getBytes()) {
+ out.write(b);
+ }
+ out.flush();
+ assertEquals(Arrays.asList(expected), out.lines);
+ }
+
+ public void testWriteByteArrayAtATimeMultibyteCharacters() throws Exception {
+ String expected = " \u20AC \u20AC \u20AC \u20AC ";
+ out.write(expected.getBytes());
+ out.flush();
+ assertEquals(Arrays.asList(expected), out.lines);
+ }
+
+ public void testWriteWithOffsetsMultibyteCharacters() throws Exception {
+ String expected = " \u20AC \u20AC \u20AC \u20AC ";
+ byte[] bytes = expected.getBytes();
+ int i = 0;
+ while (i < bytes.length - 5) {
+ out.write(bytes, i, 5);
+ i += 5;
+ }
+ out.write(bytes, i, bytes.length - i);
+ out.flush();
+ assertEquals(Arrays.asList(expected), out.lines);
+ }
+
+ public void testWriteFlushesOnNewlines() throws Exception {
+ String a = " \u20AC \u20AC ";
+ String b = " \u20AC \u20AC ";
+ String c = " ";
+ String toWrite = a + "\n" + b + "\n" + c;
+ out.write(toWrite.getBytes());
+ out.flush();
+ assertEquals(Arrays.asList(a, b, c), out.lines);
+ }
+
static class TestPrintStream extends LoggingPrintStream {
final List<String> lines = new ArrayList<String>();
@@ -129,5 +181,4 @@
lines.add(line);
}
}
-
}
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
index 2df9219..990498f 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/Bridge.java
@@ -16,7 +16,7 @@
package com.android.layoutlib.bridge;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import com.android.layoutlib.api.ILayoutBridge;
import com.android.layoutlib.api.ILayoutLog;
import com.android.layoutlib.api.ILayoutResult;
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeTypedArray.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeTypedArray.java
index 957f737..6f203ba 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeTypedArray.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/BridgeTypedArray.java
@@ -16,7 +16,7 @@
package com.android.layoutlib.bridge;
-import com.android.internal.util.XmlUtils;
+import com.android.common.XmlUtils;
import com.android.layoutlib.api.IResourceValue;
import com.android.layoutlib.api.IStyleResourceValue;