diff options
Diffstat (limited to 'cmds')
| -rw-r--r-- | cmds/app_process/app_main.cpp | 18 | ||||
| -rw-r--r-- | cmds/backup/Android.bp | 20 | ||||
| -rw-r--r-- | cmds/backup/Android.mk | 17 | ||||
| -rw-r--r-- | cmds/idmap/Android.bp | 38 | ||||
| -rw-r--r-- | cmds/idmap/Android.mk | 30 | ||||
| -rw-r--r-- | cmds/incident_helper/src/ih_util.cpp | 10 | ||||
| -rw-r--r-- | cmds/incident_helper/src/main.cpp | 2 | ||||
| -rw-r--r-- | cmds/incident_helper/src/parsers/CpuInfoParser.cpp | 2 | ||||
| -rw-r--r-- | cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp | 9 | ||||
| -rw-r--r-- | cmds/incident_helper/src/parsers/PsParser.cpp | 2 | ||||
| -rw-r--r-- | cmds/incident_helper/testdata/pagetypeinfo.txt | 4 | ||||
| -rw-r--r-- | cmds/incident_helper/tests/PageTypeInfoParser_test.cpp | 4 | ||||
| -rw-r--r-- | cmds/screencap/screencap.cpp | 13 | ||||
| -rw-r--r-- | cmds/statsd/src/atoms.proto | 9 | ||||
| -rw-r--r-- | cmds/statsd/src/external/Perfetto.cpp | 4 | ||||
| -rw-r--r-- | cmds/uiautomator/library/Android.bp | 59 | ||||
| -rw-r--r-- | cmds/uiautomator/library/Android.mk | 72 |
17 files changed, 153 insertions, 160 deletions
diff --git a/cmds/app_process/app_main.cpp b/cmds/app_process/app_main.cpp index 1671337511b7..12083b6fe20b 100644 --- a/cmds/app_process/app_main.cpp +++ b/cmds/app_process/app_main.cpp @@ -13,6 +13,7 @@ #include <sys/stat.h> #include <unistd.h> +#include <android-base/macros.h> #include <binder/IPCThreadState.h> #include <hwbinder/IPCThreadState.h> #include <utils/Log.h> @@ -137,27 +138,12 @@ static size_t computeArgBlockSize(int argc, char* const argv[]) { } static void maybeCreateDalvikCache() { -#if defined(__aarch64__) - static const char kInstructionSet[] = "arm64"; -#elif defined(__x86_64__) - static const char kInstructionSet[] = "x86_64"; -#elif defined(__arm__) - static const char kInstructionSet[] = "arm"; -#elif defined(__i386__) - static const char kInstructionSet[] = "x86"; -#elif defined (__mips__) && !defined(__LP64__) - static const char kInstructionSet[] = "mips"; -#elif defined (__mips__) && defined(__LP64__) - static const char kInstructionSet[] = "mips64"; -#else -#error "Unknown instruction set" -#endif const char* androidRoot = getenv("ANDROID_DATA"); LOG_ALWAYS_FATAL_IF(androidRoot == NULL, "ANDROID_DATA environment variable unset"); char dalvikCacheDir[PATH_MAX]; const int numChars = snprintf(dalvikCacheDir, PATH_MAX, - "%s/dalvik-cache/%s", androidRoot, kInstructionSet); + "%s/dalvik-cache/" ABI_STRING, androidRoot); LOG_ALWAYS_FATAL_IF((numChars >= PATH_MAX || numChars < 0), "Error constructing dalvik cache : %s", strerror(errno)); diff --git a/cmds/backup/Android.bp b/cmds/backup/Android.bp new file mode 100644 index 000000000000..287c23b27fbb --- /dev/null +++ b/cmds/backup/Android.bp @@ -0,0 +1,20 @@ +// Copyright 2009 The Android Open Source Project + +cc_binary { + name: "btool", + + srcs: ["backup.cpp"], + + shared_libs: [ + "libcutils", + "libutils", + "libandroidfw", + ], + + cflags: [ + "-Wall", + "-Werror", + "-Wunused", + "-Wunreachable-code", + ], +} diff --git a/cmds/backup/Android.mk b/cmds/backup/Android.mk deleted file mode 100644 index 8e1508c9efe8..000000000000 --- a/cmds/backup/Android.mk +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2009 The Android Open Source Project - -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= backup.cpp - -LOCAL_SHARED_LIBRARIES := libcutils libutils libandroidfw - -LOCAL_MODULE:= btool - -LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) -LOCAL_MODULE_TAGS := optional - -LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code - -include $(BUILD_EXECUTABLE) diff --git a/cmds/idmap/Android.bp b/cmds/idmap/Android.bp new file mode 100644 index 000000000000..ae5d74a47000 --- /dev/null +++ b/cmds/idmap/Android.bp @@ -0,0 +1,38 @@ +// Copyright (C) 2012 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. + +cc_binary { + name: "idmap", + + srcs: [ + "idmap.cpp", + "create.cpp", + "scan.cpp", + "inspect.cpp", + ], + + shared_libs: [ + "liblog", + "libutils", + "libandroidfw", + "libcutils", + ], + + cflags: [ + "-Wall", + "-Werror", + "-Wunused", + "-Wunreachable-code", + ], +} diff --git a/cmds/idmap/Android.mk b/cmds/idmap/Android.mk deleted file mode 100644 index aeb8a0c001ec..000000000000 --- a/cmds/idmap/Android.mk +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (C) 2012 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. - -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := idmap.cpp create.cpp scan.cpp inspect.cpp - -LOCAL_SHARED_LIBRARIES := liblog libutils libandroidfw libcutils - -LOCAL_MODULE := idmap - -LOCAL_C_INCLUDES := external/zlib - -LOCAL_MODULE_TAGS := optional - -LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code - -include $(BUILD_EXECUTABLE) diff --git a/cmds/incident_helper/src/ih_util.cpp b/cmds/incident_helper/src/ih_util.cpp index 4c4d1b992ba8..012310cc277a 100644 --- a/cmds/incident_helper/src/ih_util.cpp +++ b/cmds/incident_helper/src/ih_util.cpp @@ -97,7 +97,7 @@ bool getColumnIndices(std::vector<int>& indices, const char** headerNames, const size_t lastIndex = 0; int i = 0; - while (headerNames[i] != NULL) { + while (headerNames[i] != nullptr) { std::string s = headerNames[i]; lastIndex = line.find(s, lastIndex); if (lastIndex == std::string::npos) { @@ -237,18 +237,18 @@ double toDouble(const std::string& s) { Reader::Reader(const int fd) { mFile = fdopen(fd, "r"); - mStatus = mFile == NULL ? "Invalid fd " + std::to_string(fd) : ""; + mStatus = mFile == nullptr ? "Invalid fd " + std::to_string(fd) : ""; } Reader::~Reader() { - if (mFile != NULL) fclose(mFile); + if (mFile != nullptr) fclose(mFile); } bool Reader::readLine(std::string* line) { - if (mFile == NULL) return false; + if (mFile == nullptr) return false; - char* buf = NULL; + char* buf = nullptr; size_t len = 0; ssize_t read = getline(&buf, &len, mFile); if (read != -1) { diff --git a/cmds/incident_helper/src/main.cpp b/cmds/incident_helper/src/main.cpp index 418dc3fad761..091410bce2dd 100644 --- a/cmds/incident_helper/src/main.cpp +++ b/cmds/incident_helper/src/main.cpp @@ -97,7 +97,7 @@ int main(int argc, char** argv) { fprintf(stderr, "Pasring section %d...\n", sectionID); TextParserBase* parser = selectParser(sectionID); - if (parser != NULL) { + if (parser != nullptr) { fprintf(stderr, "Running parser: %s\n", parser->name.string()); status_t err = parser->Parse(STDIN_FILENO, STDOUT_FILENO); if (err != NO_ERROR) { diff --git a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp index eed68b9e29c6..21ced9cb485c 100644 --- a/cmds/incident_helper/src/parsers/CpuInfoParser.cpp +++ b/cmds/incident_helper/src/parsers/CpuInfoParser.cpp @@ -109,7 +109,7 @@ CpuInfoParser::Parse(const int in, const int out) const nextToUsage = false; // NAME is not in the list since we need to modify the end of the CMD index. - const char* headerNames[] = { "PID", "TID", "USER", "PR", "NI", "CPU", "S", "VIRT", "RES", "PCY", "CMD", NULL }; + const char* headerNames[] = { "PID", "TID", "USER", "PR", "NI", "CPU", "S", "VIRT", "RES", "PCY", "CMD", nullptr }; if (!getColumnIndices(columnIndices, headerNames, line)) { return -1; } diff --git a/cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp b/cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp index 0615c74b8d64..2a89c920c119 100644 --- a/cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp +++ b/cmds/incident_helper/src/parsers/PageTypeInfoParser.cpp @@ -75,18 +75,13 @@ PageTypeInfoParser::Parse(const int in, const int out) const } else return BAD_VALUE; // expect part 2 starts with "type" if (stripPrefix(&record[2], "type")) { - // expect the rest of part 2 has number of (pageBlockOrder + 2) parts // An example looks like: // header line: type 0 1 2 3 4 5 6 7 8 9 10 // record line: Unmovable 426 279 226 1 1 1 0 0 2 2 0 - // The pageBlockOrder = 10 and it's zero-indexed. so total parts - // are 10 + 1(zero-indexed) + 1(the type part) = 12. record_t pageCounts = parseRecord(record[2]); - int pageCountsSize = pageBlockOrder + 2; - if ((int)pageCounts.size() != pageCountsSize) return BAD_VALUE; proto.write(PageTypeInfoProto::MigrateType::TYPE, pageCounts[0]); - for (auto i=1; i<pageCountsSize; i++) { + for (size_t i=1; i<pageCounts.size(); i++) { proto.write(PageTypeInfoProto::MigrateType::FREE_PAGES_COUNT, toInt(pageCounts[i])); } } else return BAD_VALUE; @@ -125,4 +120,4 @@ PageTypeInfoParser::Parse(const int in, const int out) const fprintf(stderr, "[%s]Proto size: %zu bytes\n", this->name.string(), proto.size()); return NO_ERROR; -}
\ No newline at end of file +} diff --git a/cmds/incident_helper/src/parsers/PsParser.cpp b/cmds/incident_helper/src/parsers/PsParser.cpp index 8d64064e26f4..d3cb4be59f66 100644 --- a/cmds/incident_helper/src/parsers/PsParser.cpp +++ b/cmds/incident_helper/src/parsers/PsParser.cpp @@ -48,7 +48,7 @@ status_t PsParser::Parse(const int in, const int out) const { if (nline++ == 0) { header = parseHeader(line, DEFAULT_WHITESPACE); - const char* headerNames[] = { "LABEL", "USER", "PID", "TID", "PPID", "VSZ", "RSS", "WCHAN", "ADDR", "S", "PRI", "NI", "RTPRIO", "SCH", "PCY", "TIME", "CMD", NULL }; + const char* headerNames[] = { "LABEL", "USER", "PID", "TID", "PPID", "VSZ", "RSS", "WCHAN", "ADDR", "S", "PRI", "NI", "RTPRIO", "SCH", "PCY", "TIME", "CMD", nullptr }; if (!getColumnIndices(columnIndices, headerNames, line)) { return -1; } diff --git a/cmds/incident_helper/testdata/pagetypeinfo.txt b/cmds/incident_helper/testdata/pagetypeinfo.txt index d45ddc408c0f..c65b5a1fa1e1 100644 --- a/cmds/incident_helper/testdata/pagetypeinfo.txt +++ b/cmds/incident_helper/testdata/pagetypeinfo.txt @@ -1,5 +1,5 @@ -Page block order: 10 -Pages per block: 1024 +Page block order: 9 +Pages per block: 512 Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10 Node 0, zone DMA, type Unmovable 426 279 226 1 1 1 0 0 2 2 0 diff --git a/cmds/incident_helper/tests/PageTypeInfoParser_test.cpp b/cmds/incident_helper/tests/PageTypeInfoParser_test.cpp index 9bad7be4a07e..5688681e45fd 100644 --- a/cmds/incident_helper/tests/PageTypeInfoParser_test.cpp +++ b/cmds/incident_helper/tests/PageTypeInfoParser_test.cpp @@ -54,8 +54,8 @@ TEST_F(PageTypeInfoParserTest, Success) { PageTypeInfoParser parser; PageTypeInfoProto expected; - expected.set_page_block_order(10); - expected.set_pages_per_block(1024); + expected.set_page_block_order(9); + expected.set_pages_per_block(512); PageTypeInfoProto::MigrateType* mt1 = expected.add_migrate_types(); mt1->set_node(0); diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp index 31722815276c..b11e84322dde 100644 --- a/cmds/screencap/screencap.cpp +++ b/cmds/screencap/screencap.cpp @@ -182,8 +182,7 @@ int main(int argc, char** argv) sp<IBinder> display = SurfaceComposerClient::getBuiltInDisplay(displayId); if (display == NULL) { fprintf(stderr, "Unable to get handle for display %d\n", displayId); - // b/36066697: Avoid running static destructors. - _exit(1); + return 1; } Vector<DisplayInfo> configs; @@ -192,8 +191,7 @@ int main(int argc, char** argv) if (static_cast<size_t>(activeConfig) >= configs.size()) { fprintf(stderr, "Active config %d not inside configs (size %zu)\n", activeConfig, configs.size()); - // b/36066697: Avoid running static destructors. - _exit(1); + return 1; } uint8_t displayOrientation = configs[activeConfig].orientation; uint32_t captureOrientation = ORIENTATION_MAP[displayOrientation]; @@ -204,14 +202,14 @@ int main(int argc, char** argv) &outBuffer); if (result != NO_ERROR) { close(fd); - _exit(1); + return 1; } result = outBuffer->lock(GraphicBuffer::USAGE_SW_READ_OFTEN, &base); if (base == NULL) { close(fd); - _exit(1); + return 1; } w = outBuffer->getWidth(); @@ -256,6 +254,5 @@ int main(int argc, char** argv) munmap((void *)mapbase, mapsize); } - // b/36066697: Avoid running static destructors. - _exit(0); + return 0; }
\ No newline at end of file diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto index ab9c7e81a88e..c4824c084370 100644 --- a/cmds/statsd/src/atoms.proto +++ b/cmds/statsd/src/atoms.proto @@ -152,8 +152,9 @@ message Atom { Temperature temperature = 10021; } - // DO NOT USE field numbers above 100,000 in AOSP. Field numbers above - // 100,000 are reserved for non-AOSP (e.g. OEMs) to use. + // DO NOT USE field numbers above 100,000 in AOSP. + // Field numbers 100,000 - 199,999 are reserved for non-AOSP (e.g. OEMs) to use. + // Field numbers 200,000 and above are reserved for future use; do not use them at all. } /** @@ -272,9 +273,9 @@ message BleScanStateChanged { * Logs reporting of a ble scan finding results. * * Logged from: - * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java + * packages/apps/Bluetooth/src/com/android/bluetooth/gatt/AppScanStats.java */ -// TODO: Consider changing to tracking per-scanner-id (log from AppScanStats). +// TODO: Consider also tracking per-scanner-id. message BleScanResultReceived { repeated AttributionNode attribution_node = 1; diff --git a/cmds/statsd/src/external/Perfetto.cpp b/cmds/statsd/src/external/Perfetto.cpp index 05544837b752..c1f9a643e153 100644 --- a/cmds/statsd/src/external/Perfetto.cpp +++ b/cmds/statsd/src/external/Perfetto.cpp @@ -105,9 +105,9 @@ bool CollectPerfettoTraceAndUploadToDropbox(const PerfettoDetails& config, readPipe.reset(); // Close the read end (owned by the child process). - // Using fopen() because fwrite() has the right logic to chunking write() + // Using fdopen() because fwrite() has the right logic to chunking write() // over a pipe (see __sfvwrite()). - FILE* writePipeStream = fdopen(writePipe.get(), "wb"); + FILE* writePipeStream = android::base::Fdopen(std::move(writePipe), "wb"); if (!writePipeStream) { ALOGE("fdopen() failed while calling the Perfetto client: %s", strerror(errno)); return false; diff --git a/cmds/uiautomator/library/Android.bp b/cmds/uiautomator/library/Android.bp new file mode 100644 index 000000000000..77f17c5cfb65 --- /dev/null +++ b/cmds/uiautomator/library/Android.bp @@ -0,0 +1,59 @@ +// Copyright (C) 2012 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. + +droiddoc { + name: "uiautomator-stubs-docs", + srcs: [ + "core-src/**/*.java", + "testrunner-src/**/*.java", + ], + libs: [ + "android.test.runner", + "junit", + "android.test.base", + ], + custom_template: "droiddoc-templates-sdk", + installable: false, + args: "-stubpackages com.android.uiautomator.core:" + + "com.android.uiautomator.testrunner", + api_tag_name: "UIAUTOMATOR", + api_filename: "uiautomator_api.txt", + removed_api_filename: "uiautomator_removed_api.txt", +} + +java_library_static { + name: "android_uiautomator", + srcs: [ + ":uiautomator-stubs-docs", + ], + libs: [ + "android.test.runner", + "junit", + ], +} + +java_library_static { + name: "uiautomator.core", + srcs: [ + "core-src/**/*.java", + "testrunner-src/**/*.java", + ], + libs: [ + "android.test.runner", + "android.test.base", + ], + static_libs: [ + "junit", + ] +} diff --git a/cmds/uiautomator/library/Android.mk b/cmds/uiautomator/library/Android.mk index 62a2865d0bcc..5ca201c9781a 100644 --- a/cmds/uiautomator/library/Android.mk +++ b/cmds/uiautomator/library/Android.mk @@ -16,58 +16,6 @@ LOCAL_PATH:= $(call my-dir) -uiautomator.core_src_files := $(call all-java-files-under, core-src) \ - $(call all-java-files-under, testrunner-src) -uiautomator.core_java_libraries := android.test.runner junit - -uiautomator_internal_api_file := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/uiautomator_api.txt -uiautomator_internal_removed_api_file := \ - $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/uiautomator_removed_api.txt - -############################################### -include $(CLEAR_VARS) -LOCAL_SRC_FILES := $(uiautomator.core_src_files) -LOCAL_MODULE := uiautomator.core -LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base -LOCAL_STATIC_JAVA_LIBRARIES := junit -include $(BUILD_STATIC_JAVA_LIBRARY) - -############################################### -# Generate the stub source files -include $(CLEAR_VARS) -LOCAL_SRC_FILES := $(uiautomator.core_src_files) -LOCAL_JAVA_LIBRARIES := $(uiautomator.core_java_libraries) android.test.base -LOCAL_MODULE_CLASS := JAVA_LIBRARIES -LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/core-src \ - $(LOCAL_PATH)/testrunner-src -LOCAL_DROIDDOC_HTML_DIR := - -LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/android_uiautomator_intermediates/src - -LOCAL_DROIDDOC_OPTIONS:= \ - -stubpackages com.android.uiautomator.core:com.android.uiautomator.testrunner \ - -api $(uiautomator_internal_api_file) \ - -removedApi $(uiautomator_internal_removed_api_file) - -LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := external/doclava/res/assets/templates-sdk -LOCAL_UNINSTALLABLE_MODULE := true - -LOCAL_MODULE := uiautomator-stubs - -include $(BUILD_DROIDDOC) -uiautomator_stubs_stamp := $(full_target) -$(uiautomator_internal_api_file) : $(full_target) - -############################################### -# Build the stub source files into a jar. -include $(CLEAR_VARS) -LOCAL_MODULE := android_uiautomator -LOCAL_JAVA_LIBRARIES := $(uiautomator.core_java_libraries) -LOCAL_SOURCE_FILES_ALL_GENERATED := true -# Make sure to run droiddoc first to generate the stub source files. -LOCAL_ADDITIONAL_DEPENDENCIES := $(uiautomator_stubs_stamp) -include $(BUILD_STATIC_JAVA_LIBRARY) - ############################################### # API check # Please refer to build/core/tasks/apicheck.mk. @@ -86,13 +34,13 @@ checkapi_last_error_level_flags := \ $(eval $(call check-api, \ uiautomator-checkapi-last, \ $(uiautomator_api_dir)/$(last_released_sdk_version).txt, \ - $(uiautomator_internal_api_file), \ + $(INTERNAL_PLATFORM_UIAUTOMATOR_API_FILE), \ $(uiautomator_api_dir)/removed.txt, \ - $(uiautomator_internal_removed_api_file), \ + $(INTERNAL_PLATFORM_UIAUTOMATOR_REMOVED_API_FILE), \ $(checkapi_last_error_level_flags), \ cat $(LOCAL_PATH)/apicheck_msg_last.txt, \ uiautomator.core, \ - $(uiautomator_stubs_stamp))) + $(OUT_DOCS)/uiautomator-stubs-docs-stubs.srcjar)) checkapi_current_error_level_flags := \ -error 2 -error 3 -error 4 -error 5 -error 6 \ @@ -105,28 +53,24 @@ checkapi_current_error_level_flags := \ $(eval $(call check-api, \ uiautomator-checkapi-current, \ $(uiautomator_api_dir)/current.txt, \ - $(uiautomator_internal_api_file), \ + $(INTERNAL_PLATFORM_UIAUTOMATOR_API_FILE), \ $(uiautomator_api_dir)/removed.txt, \ - $(uiautomator_internal_removed_api_file), \ + $(INTERNAL_PLATFORM_UIAUTOMATOR_REMOVED_API_FILE), \ $(checkapi_current_error_level_flags), \ cat $(LOCAL_PATH)/apicheck_msg_current.txt, \ uiautomator.core, \ - $(uiautomator_stubs_stamp))) + $(OUT_DOCS)/uiautomator-stubs-docs-stubs.srcjar)) .PHONY: update-uiautomator-api update-uiautomator-api: PRIVATE_API_DIR := $(uiautomator_api_dir) -update-uiautomator-api: PRIVATE_REMOVED_API_FILE := $(uiautomator_internal_removed_api_file) -update-uiautomator-api: $(uiautomator_internal_api_file) +update-uiautomator-api: PRIVATE_REMOVED_API_FILE := $(INTERNAL_PLATFORM_UIAUTOMATOR_REMOVED_API_FILE) +update-uiautomator-api: $(INTERNAL_PLATFORM_UIAUTOMATOR_API_FILE) @echo Copying uiautomator current.txt $(hide) cp $< $(PRIVATE_API_DIR)/current.txt @echo Copying uiautomator removed.txt $(hide) cp $(PRIVATE_REMOVED_API_FILE) $(PRIVATE_API_DIR)/removed.txt ############################################### # clean up temp vars -uiautomator.core_src_files := -uiautomator.core_java_libraries := -uiautomator_stubs_stamp := -uiautomator_internal_api_file := uiautomator_api_dir := checkapi_last_error_level_flags := checkapi_current_error_level_flags := |