summaryrefslogtreecommitdiff
path: root/tools/aapt/FileFinder.cpp
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@google.com>2013-08-28 09:44:17 -0700
committerMike Lockwood <lockwood@google.com>2013-08-28 09:44:17 -0700
commit9f6a119c8aa276432ece4fe2118bd8a3c9b1067e (patch)
tree1391656f9ad624aa99d4c7d2880d38121801a424 /tools/aapt/FileFinder.cpp
parent647b6f5ed276bf93d95e5801e5e8af2802ef5fbb (diff)
Move frameworks/base/tools/ to frameworks/tools/
Change-Id: I3ffafdab27cc4aca256c3a5806b630795b75d5c8
Diffstat (limited to 'tools/aapt/FileFinder.cpp')
-rw-r--r--tools/aapt/FileFinder.cpp98
1 files changed, 0 insertions, 98 deletions
diff --git a/tools/aapt/FileFinder.cpp b/tools/aapt/FileFinder.cpp
deleted file mode 100644
index 18775c06863f..000000000000
--- a/tools/aapt/FileFinder.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-//
-// Copyright 2011 The Android Open Source Project
-//
-
-// File Finder implementation.
-// Implementation for the functions declared and documented in FileFinder.h
-
-#include <utils/Vector.h>
-#include <utils/String8.h>
-#include <utils/KeyedVector.h>
-
-#include <dirent.h>
-#include <sys/stat.h>
-
-#include "DirectoryWalker.h"
-#include "FileFinder.h"
-
-//#define DEBUG
-
-using android::String8;
-
-// Private function to check whether a file is a directory or not
-bool isDirectory(const char* filename) {
- struct stat fileStat;
- if (stat(filename, &fileStat) == -1) {
- return false;
- }
- return(S_ISDIR(fileStat.st_mode));
-}
-
-
-// Private function to check whether a file is a regular file or not
-bool isFile(const char* filename) {
- struct stat fileStat;
- if (stat(filename, &fileStat) == -1) {
- return false;
- }
- return(S_ISREG(fileStat.st_mode));
-}
-
-bool SystemFileFinder::findFiles(String8 basePath, Vector<String8>& extensions,
- KeyedVector<String8,time_t>& fileStore,
- DirectoryWalker* dw)
-{
- // Scan the directory pointed to by basePath
- // check files and recurse into subdirectories.
- if (!dw->openDir(basePath)) {
- return false;
- }
- /*
- * Go through all directory entries. Check each file using checkAndAddFile
- * and recurse into sub-directories.
- */
- struct dirent* entry;
- while ((entry = dw->nextEntry()) != NULL) {
- String8 entryName(entry->d_name);
- if (entry->d_name[0] == '.') // Skip hidden files and directories
- continue;
-
- String8 fullPath = basePath.appendPathCopy(entryName);
- // If this entry is a directory we'll recurse into it
- if (isDirectory(fullPath.string()) ) {
- DirectoryWalker* copy = dw->clone();
- findFiles(fullPath, extensions, fileStore,copy);
- delete copy;
- }
-
- // If this entry is a file, we'll pass it over to checkAndAddFile
- if (isFile(fullPath.string()) ) {
- checkAndAddFile(fullPath,dw->entryStats(),extensions,fileStore);
- }
- }
-
- // Clean up
- dw->closeDir();
-
- return true;
-}
-
-void SystemFileFinder::checkAndAddFile(String8 path, const struct stat* stats,
- Vector<String8>& extensions,
- KeyedVector<String8,time_t>& fileStore)
-{
- // Loop over the extensions, checking for a match
- bool done = false;
- String8 ext(path.getPathExtension());
- ext.toLower();
- for (size_t i = 0; i < extensions.size() && !done; ++i) {
- String8 ext2 = extensions[i].getPathExtension();
- ext2.toLower();
- // Compare the extensions. If a match is found, add to storage.
- if (ext == ext2) {
- done = true;
- fileStore.add(path,stats->st_mtime);
- }
- }
-}
-