aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSiva Velusamy <vsiva@google.com>2012-09-19 08:54:14 -0700
committerandroid code review <noreply-gerritcodereview@google.com>2012-09-19 08:54:15 -0700
commitf5a41c47350c7449d1b1474591215b8c03c9d3a1 (patch)
tree0baf0845a14dff52b56ffc36b64ebad7939b91ff
parent053a7903f1460d95e01ce609b3b998c4feac6d1d (diff)
parente0bff52b4831e4327ec353db58a6c70a6af44fa8 (diff)
downloadplatform_sdk-f5a41c47350c7449d1b1474591215b8c03c9d3a1.tar.gz
platform_sdk-f5a41c47350c7449d1b1474591215b8c03c9d3a1.tar.bz2
platform_sdk-f5a41c47350c7449d1b1474591215b8c03c9d3a1.zip
Merge "gltrace: Better progress indicator"
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.gldebugger/src/com/android/ide/eclipse/gltrace/TraceFileParserTask.java17
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 c3ea122d5..f52565767 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) {