diff --git a/api/current.xml b/api/current.xml
index 1ca4e1a..a31208a 100644
--- a/api/current.xml
+++ b/api/current.xml
@@ -70563,6 +70563,17 @@
  visibility="public"
 >
 </method>
+<method name="getPremises"
+ return="java.lang.String"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="getSubAdminArea"
  return="java.lang.String"
  abstract="false"
@@ -70574,6 +70585,28 @@
  visibility="public"
 >
 </method>
+<method name="getSubLocality"
+ return="java.lang.String"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
+<method name="getSubThoroughfare"
+ return="java.lang.String"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+</method>
 <method name="getThoroughfare"
  return="java.lang.String"
  abstract="false"
@@ -70763,6 +70796,19 @@
 <parameter name="postalCode" type="java.lang.String">
 </parameter>
 </method>
+<method name="setPremises"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="premises" type="java.lang.String">
+</parameter>
+</method>
 <method name="setSubAdminArea"
  return="void"
  abstract="false"
@@ -70776,6 +70822,32 @@
 <parameter name="subAdminArea" type="java.lang.String">
 </parameter>
 </method>
+<method name="setSubLocality"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="sublocality" type="java.lang.String">
+</parameter>
+</method>
+<method name="setSubThoroughfare"
+ return="void"
+ abstract="false"
+ native="false"
+ synchronized="false"
+ static="false"
+ final="false"
+ deprecated="not deprecated"
+ visibility="public"
+>
+<parameter name="subthoroughfare" type="java.lang.String">
+</parameter>
+</method>
 <method name="setThoroughfare"
  return="void"
  abstract="false"
diff --git a/location/java/android/location/Address.java b/location/java/android/location/Address.java
index 3551363..ac275c6 100644
--- a/location/java/android/location/Address.java
+++ b/location/java/android/location/Address.java
@@ -41,7 +41,10 @@
     private String mAdminArea;
     private String mSubAdminArea;
     private String mLocality;
+    private String mSubLocality;
     private String mThoroughfare;
+    private String mSubThoroughfare;
+    private String mPremises;
     private String mPostalCode;
     private String mCountryCode;
     private String mCountryName;
@@ -175,6 +178,21 @@
     }
 
     /**
+     * Returns the sub-locality of the address, or null if it is unknown.
+     * For example, this may correspond to the neighborhood of the locality.
+     */
+    public String getSubLocality() {
+        return mSubLocality;
+    }
+
+    /**
+     * Sets the sub-locality of the address to the given String, which may be null.
+     */
+    public void setSubLocality(String sublocality) {
+        mSubLocality = sublocality;
+    }
+
+    /**
      * Returns the thoroughfare name of the address, for example, "1600 Ampitheater Parkway",
      * which may be null
      */
@@ -190,6 +208,35 @@
     }
 
     /**
+     * Returns the sub-thoroughfare name of the address, which may be null.
+     * This may correspond to the street number of the address.
+     */
+    public String getSubThoroughfare() {
+        return mSubThoroughfare;
+    }
+
+    /**
+     * Sets the sub-thoroughfare name of the address, which may be null.
+     */
+    public void setSubThoroughfare(String subthoroughfare) {
+        this.mSubThoroughfare = subthoroughfare;
+    }
+
+    /**
+     * Returns the premises of the address, or null if it is unknown.
+     */
+    public String getPremises() {
+        return mPremises;
+    }
+
+    /**
+     * Sets the premises of the address to the given String, which may be null.
+     */
+    public void setPremises(String premises) {
+        mPremises = premises;
+    }
+
+    /**
      * Returns the postal code of the address, for example "94110",
      * or null if it is unknown.
      */
