Add droiddoc flag LOCAL_DROIDDOC_STUB_OUT_DIR

When calling droiddoc to generate stubs, if you use
LOCAL_DROIDDOC_STUB_OUT_DIR (instead of "-stubs" to
LOCAL_DROIDDOC_LOCAL_DROIDDOC_OPTIONS), the build system gets the chance
to clean up the stub out directory before calling doclava.

Bug: 22534021
Change-Id: Icb0a73eb51bfb1c1ecd88217ebcd39c27df1de29
diff --git a/core/droiddoc.mk b/core/droiddoc.mk
index 41f135c..eeff0c5 100644
--- a/core/droiddoc.mk
+++ b/core/droiddoc.mk
@@ -98,6 +98,7 @@
 
 $(full_target): PRIVATE_OUT_DIR := $(out_dir)
 $(full_target): PRIVATE_DROIDDOC_OPTIONS := $(LOCAL_DROIDDOC_OPTIONS)
+$(full_target): PRIVATE_STUB_OUT_DIR := $(LOCAL_DROIDDOC_STUB_OUT_DIR)
 
 # Lists the input files for the doc build into a text file
 # suitable for the @ syntax of javadoc.
@@ -164,6 +165,7 @@
         $(LOCAL_ADDITIONAL_DEPENDENCIES)
 	@echo Docs droiddoc: $(PRIVATE_OUT_DIR)
 	$(hide) mkdir -p $(dir $@)
+	$(addprefix $(hide) rm -rf ,$(PRIVATE_STUB_OUT_DIR))
 	$(call prepare-doc-source-list,$(PRIVATE_SRC_LIST_FILE),$(PRIVATE_JAVA_FILES), \
 			$(PRIVATE_SOURCE_INTERMEDIATES_DIR) $(PRIVATE_ADDITIONAL_JAVA_DIR))
 	$(hide) ( \
@@ -185,6 +187,7 @@
                 -d $(PRIVATE_OUT_DIR) \
                 $(PRIVATE_CURRENT_BUILD) $(PRIVATE_CURRENT_TIME) \
                 $(PRIVATE_DROIDDOC_OPTIONS) \
+                $(addprefix -stubs ,$(PRIVATE_STUB_OUT_DIR)) \
         && touch -f $@ \
     ) || (rm -rf $(PRIVATE_OUT_DIR) $(PRIVATE_SRC_LIST_FILE); exit 45)