diff --git a/qrenderdoc/Windows/Dialogs/VirtualFileDialog.cpp b/qrenderdoc/Windows/Dialogs/VirtualFileDialog.cpp index 07ff22326..39eb8cab9 100644 --- a/qrenderdoc/Windows/Dialogs/VirtualFileDialog.cpp +++ b/qrenderdoc/Windows/Dialogs/VirtualFileDialog.cpp @@ -454,7 +454,6 @@ private: Renderer.ListFolder(makePath(node), true, [node](const rdcstr &path, const rdcarray &files) { - if(files.count() == 1 && (files[0].flags & PathProperty::ErrorAccessDenied)) { node->file.flags |= PathProperty::ErrorAccessDenied; @@ -603,6 +602,9 @@ VirtualFileDialog::VirtualFileDialog(ICaptureContext &ctx, QString initialDirect if(!index.isValid()) index = m_Model->homeFolder(); + if(index.data(RemoteFileModel::FileIsHiddenRole).toBool()) + ui->showHidden->setChecked(true); + // switch to home folder and expand it changeCurrentDir(index); ui->dirList->expand(m_DirProxy->mapFromSource(currentDir())); diff --git a/renderdoc/android/android.cpp b/renderdoc/android/android.cpp index f4689754b..986aa4a39 100644 --- a/renderdoc/android/android.cpp +++ b/renderdoc/android/android.cpp @@ -548,6 +548,25 @@ struct AndroidRemoteServer : public RemoteServer } } + // also fetch the system packages but mark them as hidden folders + adbStdout = Android::adbExecCommand(m_deviceID, "shell pm list packages -s").strStdout; + + split(adbStdout, lines, '\n'); + + for(const rdcstr &line : lines) + { + if(!strncmp(line.c_str(), "package:", 8)) + { + PathEntry pkg; + pkg.filename = line.substr(8).trimmed(); + pkg.size = 0; + pkg.lastmod = 0; + pkg.flags = PathProperty::Directory | PathProperty::Hidden; + + packages.push_back(pkg); + } + } + adbStdout = Android::adbExecCommand(m_deviceID, "shell dumpsys package").strStdout; split(adbStdout, lines, '\n'); @@ -859,7 +878,6 @@ struct AndroidController : public IDeviceProtocolHandler ReplayStatus status = ReplayStatus::Succeeded; Invoke([this, &status, URL]() { - rdcstr deviceID = GetDeviceID(URL); Device &dev = devices[deviceID];