diff options
author | Siva Velusamy <vsiva@google.com> | 2012-09-19 08:54:14 -0700 |
---|---|---|
committer | android code review <noreply-gerritcodereview@google.com> | 2012-09-19 08:54:15 -0700 |
commit | f5a41c47350c7449d1b1474591215b8c03c9d3a1 (patch) | |
tree | 0baf0845a14dff52b56ffc36b64ebad7939b91ff /eclipse | |
parent | 053a7903f1460d95e01ce609b3b998c4feac6d1d (diff) | |
parent | e0bff52b4831e4327ec353db58a6c70a6af44fa8 (diff) | |
download | sdk-f5a41c47350c7449d1b1474591215b8c03c9d3a1.zip sdk-f5a41c47350c7449d1b1474591215b8c03c9d3a1.tar.gz sdk-f5a41c47350c7449d1b1474591215b8c03c9d3a1.tar.bz2 |
Merge "gltrace: Better progress indicator"
Diffstat (limited to 'eclipse')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/TraceFileParserTask.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/TraceFileParserTask.java b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/TraceFileParserTask.java index c3ea122..f525657 100644 --- a/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/TraceFileParserTask.java +++ b/eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/TraceFileParserTask.java @@ -155,7 +155,15 @@ public class TraceFileParserTask implements IRunnableWithProgress { @Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { - monitor.beginTask("Parsing OpenGL Trace File", IProgressMonitor.UNKNOWN); + long fileLength; + try { + fileLength = mFile.length(); + } catch (IOException e1) { + fileLength = 0; + } + + monitor.beginTask("Parsing OpenGL Trace File", + fileLength > 0 ? 100 : IProgressMonitor.UNKNOWN); List<GLFrame> glFrames = null; @@ -163,6 +171,7 @@ public class TraceFileParserTask implements IRunnableWithProgress { GLMessage msg = null; int msgCount = 0; long filePointer = mFile.getFilePointer(); + int percentParsed = 0; // counters that maintain some statistics about the trace messages long minTraceStartTime = Long.MAX_VALUE; @@ -180,6 +189,12 @@ public class TraceFileParserTask implements IRunnableWithProgress { if (monitor.isCanceled()) { throw new InterruptedException(); } + + if (fileLength > 0) { + int percentParsedNow = (int)((filePointer * 100) / fileLength); + monitor.worked(percentParsedNow - percentParsed); + percentParsed = percentParsedNow; + } } if (mGLContextIds.size() > 1) { |