Merge change Ib471b5b2 into eclair

* changes:
  sdk doc change for esr: Add left nav highlight for interior files in resources tab.
diff --git a/target/product/sdk.mk b/target/product/sdk.mk
index 572b823..e571f9e 100644
--- a/target/product/sdk.mk
+++ b/target/product/sdk.mk
@@ -9,6 +9,7 @@
 	DrmProvider \
 	Email \
 	Fallback \
+	Gallery \
 	GPSEnable \
 	Launcher \
 	Music \
@@ -28,7 +29,8 @@
 	LiveWallpapersPicker \
 	ApiDemos \
 	GestureBuilder \
-	SoftKeyboard
+	SoftKeyboard \
+	CubeLiveWallpapers
 
 PRODUCT_PACKAGE_OVERLAYS := development/sdk_overlay
 
diff --git a/tools/droiddoc/src/DroidDoc.java b/tools/droiddoc/src/DroidDoc.java
index a1c49f0..4e9d6b1 100644
--- a/tools/droiddoc/src/DroidDoc.java
+++ b/tools/droiddoc/src/DroidDoc.java
@@ -33,6 +33,7 @@
     private static final String SDK_CONSTANT_TYPE_BROADCAST_ACTION = "android.annotation.SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION";
     private static final String SDK_CONSTANT_TYPE_SERVICE_ACTION = "android.annotation.SdkConstant.SdkConstantType.SERVICE_INTENT_ACTION";
     private static final String SDK_CONSTANT_TYPE_CATEGORY = "android.annotation.SdkConstant.SdkConstantType.INTENT_CATEGORY";
+    private static final String SDK_CONSTANT_TYPE_FEATURE = "android.annotation.SdkConstant.SdkConstantType.FEATURE";
     private static final String SDK_WIDGET_ANNOTATION = "android.annotation.Widget";
     private static final String SDK_LAYOUT_ANNOTATION = "android.annotation.Layout";
 
@@ -1147,6 +1148,7 @@
         ArrayList<String> broadcastActions = new ArrayList<String>();
         ArrayList<String> serviceActions = new ArrayList<String>();
         ArrayList<String> categories = new ArrayList<String>();
+        ArrayList<String> features = new ArrayList<String>();
 
         ArrayList<ClassInfo> layouts = new ArrayList<ClassInfo>();
         ArrayList<ClassInfo> widgets = new ArrayList<ClassInfo>();
@@ -1177,6 +1179,8 @@
                                         serviceActions.add(cValue.toString());
                                     } else if (SDK_CONSTANT_TYPE_CATEGORY.equals(type)) {
                                         categories.add(cValue.toString());
+                                    } else if (SDK_CONSTANT_TYPE_FEATURE.equals(type)) {
+                                        features.add(cValue.toString());
                                     }
                                 }
                                 break;
@@ -1245,6 +1249,9 @@
         Collections.sort(categories);
         writeValues(output + "/categories.txt", categories);
 
+        Collections.sort(features);
+        writeValues(output + "/features.txt", features);
+
         // before writing the list of classes, we do some checks, to make sure the layout params
         // are enclosed by a layout class (and not one that has been declared as a widget)
         for (int i = 0 ; i < layoutParams.size();) {