status_t AudioPolicyService::dump(int fd, const Vector<String16>& args) { if (!dumpAllowed()) { dumpPermissionDenial(fd); } else { bool locked = tryLock(mLock); if (!locked) { String8 result(kDeadlockedString); write(fd, result.string(), result.size()); } dumpInternals(fd); if (mAudioCommandThread != 0) { mAudioCommandThread->dump(fd); } if (mTonePlaybackThread != 0) { mTonePlaybackThread->dump(fd); } if (mpAudioPolicy) { mpAudioPolicy->dump(mpAudioPolicy, fd); } if (locked) mLock.unlock(); } return NO_ERROR; }
status_t AudioPolicyService::dump(int fd, const Vector<String16>& args) { if (checkCallingPermission(String16("android.permission.DUMP")) == false) { dumpPermissionDenial(fd); } else { bool locked = tryLock(mLock); if (!locked) { String8 result(kDeadlockedString); write(fd, result.string(), result.size()); } dumpInternals(fd); if (mAudioCommandThread != NULL) { mAudioCommandThread->dump(fd); } if (mTonePlaybackThread != NULL) { mTonePlaybackThread->dump(fd); } if (mpPolicyManager) { mpPolicyManager->dump(fd); } if (locked) mLock.unlock(); } return NO_ERROR; }