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&lt;? super T&gt;">
 </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,     "&quot;", null,     null,     null,     "&amp;",  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,     "&lt;",   null,     "&gt;",   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;