in stetho/src/main/java/com/facebook/stetho/dumpapp/plugins/SharedPreferencesDumperPlugin.java [144:170]
private void printRecursive(
PrintStream writer,
String rootPath,
String offsetPath,
String pathPrefix,
String keyPrefix) {
File file = new File(rootPath, offsetPath);
if (file.isFile()) {
if (offsetPath.endsWith(XML_SUFFIX)) {
int suffixLength = XML_SUFFIX.length();
String prefsName = offsetPath.substring(0, offsetPath.length() - suffixLength);
printFile(writer, prefsName, keyPrefix);
}
} else if (file.isDirectory()) {
String[] children = file.list();
if (children != null) {
for (int i = 0; i < children.length; i++) {
String childOffsetPath = TextUtils.isEmpty(offsetPath)
? children[i]
: (offsetPath + File.separator + children[i]);
if (childOffsetPath.startsWith(pathPrefix)) {
printRecursive(writer, rootPath, childOffsetPath, pathPrefix, keyPrefix);
}
}
}
}
}