"id"$"line"$"contents"$"class_name"$"class_value"$"path"$"date" "build.gradle"$"0"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"1"$"1,4 @@"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"2"$"apply plugin: 'com.android.library'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"3"$"13,93 @@ android {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"4"$" files(androidJar)"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"5"$" def name = variant.buildType.name"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"6"$" def task = project.tasks.create(name: ""jar${name.capitalize()}"", type: Jar) {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"7"$" dependsOn variant.javaCompile"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"8"$" from variant.javaCompile.destinationDir"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"9"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"10"$" exclude '**/R.class'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"11"$" exclude '**/R\$*.class'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"12"$" exclude '**/Manifest.class'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"13"$" exclude '**/Manifest\$*.class'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"14"$" exclude '**/BuildConfig.class'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"15"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"16"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"17"$" if (name.equals(com.android.builder.core.BuilderConstants.RELEASE)) {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"18"$" artifacts.add('archives', task);"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"19"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"20"$"apply plugin: 'maven'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"21"$"apply plugin: 'signing'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"22"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"23"$"def ossrhUsername = hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : """""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"24"$"def ossrhPassword = hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : """""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"25"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"26"$"uploadArchives {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"27"$" repositories.mavenDeployer {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"28"$" beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"29"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"30"$" repository(url: ""https://oss.sonatype.org/service/local/staging/deploy/maven2/"") {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"31"$" authentication(userName: ossrhUsername, password: ossrhPassword)"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"32"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"33"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"34"$" snapshotRepository(url: ""https://oss.sonatype.org/content/repositories/snapshots/"") {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"35"$" authentication(userName: ossrhUsername, password: ossrhPassword)"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"36"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"37"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"38"$" pom.groupId = 'com.parse'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"39"$" pom.artifactId = 'bolts'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"40"$" pom.version = '1.1.1-SNAPSHOT'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"41"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"42"$" pom.project {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"43"$" name 'Bolts-Android'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"44"$" packaging 'jar'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"45"$" description 'Bolts is a collection of low-level libraries designed to make developing mobile apps easier.'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"46"$" url 'https://github.com/BoltsFramework/Bolts-Android'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"47"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"48"$" scm {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"49"$" connection 'scm:git@github.com:BoltsFramework/Bolts-Android.git'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"50"$" developerConnection 'scm:git@github.com:BoltsFramework/Bolts-Android.git'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"51"$" url 'https://github.com/BoltsFramework/Bolts-Android'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"52"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"53"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"54"$" licenses {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"55"$" license {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"56"$" name 'BSD 2-Clause License'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"57"$" url 'https://github.com/BoltsFramework/Bolts-Android/blob/master/LICENSE'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"58"$" distribution 'repo'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"59"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"60"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"61"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"62"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"63"$"}"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"64"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"65"$"signing {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"66"$" sign configurations.archives"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"67"$"}"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"68"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"69"$"task androidJavadocs(type: Javadoc) {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"70"$" source = android.sourceSets.main.java.srcDirs"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"71"$" classpath += project.files(android.getBootClasspath().join(File.pathSeparator))"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"72"$"}"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"73"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"74"$"task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"75"$" classifier = 'javadoc'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"76"$" from androidJavadocs.destinationDir"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"77"$"}"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"78"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"79"$"task androidSourcesJar(type: Jar) {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"80"$" classifier = 'sources'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"81"$" from android.sourceSets.main.java.sourceFiles"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"82"$"}"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"83"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"84"$"artifacts {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"85"$" archives androidSourcesJar"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"86"$" archives androidJavadocsJar"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"87"$"}"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-15 22:17:41" "Bolts.java"$"88"$"++ b/Bolts/src/bolts/Bolts.java"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-15 22:17:41" "Bolts.java"$"89"$"16,5 @@ public final class Bolts {"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-15 22:17:41" "Bolts.java"$"90"$" public static final String VERSION = ""1.1.1-SNAPSHOT"";"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-15 22:17:41" "build.gradle"$"91"$"++ b/BoltsTest/build.gradle"$"verdict"$"1"$" b/BoltsTest/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"92"$"1,4 @@"$"verdict"$"1"$" b/BoltsTest/build.gradle"$"2014-08-15 22:17:41" "build.gradle"$"93"$"apply plugin: 'com.android.application'"$"verdict"$"1"$" b/BoltsTest/build.gradle"$"2014-08-15 22:17:41" "BoltsExecutors.java"$"0"$"++ b/Bolts/src/bolts/BoltsExecutors.java"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"1"$"1,108 @@"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"2"$"package bolts;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"3"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"4"$"import java.util.Locale;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"5"$"import java.util.concurrent.Executor;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"6"$"import java.util.concurrent.ExecutorService;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"7"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"8"$"import bolts.android.AndroidExecutors;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"9"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"10"$"/**"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"11"$" * Collection of {@link Executor}s to use in conjunction with {@link Task}."$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"12"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"13"$"public final class BoltsExecutors {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"14"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"15"$" private static final BoltsExecutors INSTANCE = new BoltsExecutors();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"16"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"17"$" private static boolean isAndroidRuntime() {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"18"$" String javaRuntimeName = System.getProperty(""java.runtime.name"");"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"19"$" if (javaRuntimeName == null) {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"20"$" return false;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"21"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"22"$" return javaRuntimeName.toLowerCase(Locale.US).contains(""android"");"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"23"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"24"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"25"$" private final ExecutorService background;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"26"$" private final Executor immediate;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"27"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"28"$" private BoltsExecutors() {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"29"$" background = !isAndroidRuntime()"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"30"$" ? java.util.concurrent.Executors.newCachedThreadPool()"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"31"$" : AndroidExecutors.newCachedThreadPool();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"32"$" immediate = new ImmediateExecutor();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"33"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"34"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"35"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"36"$" * An {@link java.util.concurrent.Executor} that executes tasks in parallel."$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"37"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"38"$" public static ExecutorService background() {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"39"$" return INSTANCE.background;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"40"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"41"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"42"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"43"$" * An {@link java.util.concurrent.Executor} that executes tasks in the current thread unless"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"44"$" * the stack runs too deep, at which point it will delegate to {@link BoltsExecutors#background}"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"45"$" * in order to trim the stack."$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"46"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"47"$" /* package */ static Executor immediate() {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"48"$" return INSTANCE.immediate;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"49"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"50"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"51"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"52"$" * An {@link java.util.concurrent.Executor} that runs a runnable inline (rather than scheduling it"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"53"$" * on a thread pool) as long as the recursion depth is less than MAX_DEPTH. If the executor has"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"54"$" * recursed too deeply, it will instead delegate to the {@link Task#BACKGROUND_EXECUTOR} in order"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"55"$" * to trim the stack."$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"56"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"57"$" private static class ImmediateExecutor implements Executor {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"58"$" private static final int MAX_DEPTH = 15;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"59"$" private ThreadLocal executionDepth = new ThreadLocal();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"60"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"61"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"62"$" * Increments the depth."$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"63"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"64"$" * @return the new depth value."$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"65"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"66"$" private int incrementDepth() {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"67"$" Integer oldDepth = executionDepth.get();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"68"$" if (oldDepth == null) {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"69"$" oldDepth = 0;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"70"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"71"$" int newDepth = oldDepth + 1;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"72"$" executionDepth.set(newDepth);"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"73"$" return newDepth;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"74"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"75"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"76"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"77"$" * Decrements the depth."$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"78"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"79"$" * @return the new depth value."$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"80"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"81"$" private int decrementDepth() {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"82"$" Integer oldDepth = executionDepth.get();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"83"$" if (oldDepth == null) {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"84"$" oldDepth = 0;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"85"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"86"$" int newDepth = oldDepth - 1;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"87"$" if (newDepth == 0) {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"88"$" executionDepth.remove();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"89"$" } else {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"90"$" executionDepth.set(newDepth);"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"91"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"92"$" return newDepth;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"93"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"94"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"95"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"96"$" public void execute(Runnable command) {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"97"$" int depth = incrementDepth();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"98"$" try {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"99"$" if (depth <= MAX_DEPTH) {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"100"$" command.run();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"101"$" } else {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"102"$" BoltsExecutors.background().execute(command);"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"103"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"104"$" } finally {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"105"$" decrementDepth();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"106"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"107"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"108"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "BoltsExecutors.java"$"109"$"}"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2014-08-18 18:51:54" "Task.java"$"110"$"++ b/Bolts/src/bolts/Task.java"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"111"$"9,6 @@"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"112"$"18,8 @@ import java.util.concurrent.ExecutorService;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"113"$"import bolts.android.AndroidExecutors;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"114"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"115"$"/**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"116"$"30,19 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"117"$" public static final ExecutorService BACKGROUND_EXECUTOR = BoltsExecutors.background();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"118"$" private static final Executor IMMEDIATE_EXECUTOR = BoltsExecutors.immediate();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"119"$" public static final Executor UI_THREAD_EXECUTOR = AndroidExecutors.uiThread();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"120"$"127,7 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"121"$" Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"122"$"136,7 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"123"$" Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"124"$"145,7 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"125"$" Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"126"$"189,7 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"127"$" final Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"128"$"218,7 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"129"$" final Task.TaskCompletionSource allFinished = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"130"$"298,8 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"131"$" boolean completed;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"132"$" final Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"133"$"333,8 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"134"$" boolean completed;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"135"$" final Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"136"$"372,9 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"137"$" return Task.forError(task.getError());"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"138"$" return Task.cancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"139"$"401,9 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"140"$" return Task.forError(task.getError());"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"141"$" return Task.cancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"142"$"608,4 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "Task.java"$"143"$" 1;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"144"$"++ b/Bolts/src/bolts/android/AndroidExecutors.java"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"145"$"7,14 @@"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"146"$"package bolts.android;"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"147"$"import android.os.Handler;"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"148"$"import android.os.Looper;"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"149"$"import java.util.concurrent.Executor;"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"150"$"35,14 @@ import java.util.concurrent.TimeUnit;"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"151"$"public final class AndroidExecutors {"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"152"$" private static final AndroidExecutors INSTANCE = new AndroidExecutors();"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"153"$" private final Executor uiThread;"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"154"$""$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"155"$" private AndroidExecutors() {"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"156"$" uiThread = new UIThreadExecutor();"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"157"$"122,21 @@ import java.util.concurrent.TimeUnit;"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"158"$""$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"159"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"160"$" * An {@link java.util.concurrent.Executor} that executes tasks on the UI thread."$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"161"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"162"$" public static Executor uiThread() {"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"163"$" return INSTANCE.uiThread;"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"164"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"165"$""$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"166"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"167"$" * An {@link java.util.concurrent.Executor} that runs tasks on the UI thread."$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"168"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"169"$" private static class UIThreadExecutor implements Executor {"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"170"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"171"$" public void execute(Runnable command) {"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"172"$" new Handler(Looper.getMainLooper()).post(command);"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"173"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutors.java"$"174"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/android/AndroidExecutors.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"175"$"++ b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"176"$"7,7 @@"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"177"$"package bolts.android;"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"178"$"18,12 @@ import java.util.concurrent.ExecutorService;"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"179"$"public class AndroidExecutorsTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"180"$" private static final int CORE_POOL_SIZE = AndroidExecutors.CORE_POOL_SIZE;"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"181"$" private static final int MAX_POOL_SIZE = AndroidExecutors.MAX_POOL_SIZE;"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"182"$" private static final int THREAD_TIMEOUT = (int)(AndroidExecutors.KEEP_ALIVE_TIME * 1000 * 1.1);"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"183"$" private static final int MAX_QUEUE_SIZE = AndroidExecutors.MAX_QUEUE_SIZE;"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"184"$"44,7 @@ public class ExecutorsTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"185"$" ThreadPoolExecutor executor = (ThreadPoolExecutor) AndroidExecutors.newCachedThreadPool();"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"186"$"71,7 @@ public class ExecutorsTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"187"$" ThreadPoolExecutor executor = (ThreadPoolExecutor) AndroidExecutors.newCachedThreadPool();"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"188"$"110,7 @@ public class ExecutorsTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "AndroidExecutorsTest.java"$"189"$" * @see AndroidExecutorsTest#popTasks(boolean)"$"verdict"$"1"$" b/BoltsTest/src/bolts/android/AndroidExecutorsTest.java"$"2014-08-18 18:51:54" "build.gradle"$"3"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"4"$"1,8 @@"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"5"$"group = 'com.parse.bolts'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"6"$"version = '1.1.1-SNAPSHOT'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"7"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"8"$"android {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"9"$"10,8 @@ android {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"10"$" versionCode 1"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"11"$" versionName project.version"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"12"$"28,13 @@ android.libraryVariants.all { variant ->"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"13"$" manifest {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"14"$" attributes("$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"15"$" ""Bundle-Name"": 'bolts-android',"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"16"$" ""Bundle-Version"": project.version"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"17"$" )"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"18"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"19"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"20"$" exclude '**/R.class'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"21"$"50,6 @@ android.libraryVariants.all { variant ->"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"22"$"66,9 @@ uploadArchives {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"23"$" name 'Bolts-Android'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"24"$" artifactId = 'bolts-android'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 21:10:28" "build.gradle"$"0"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"1"$"1,7 @@"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"2"$"version = '1.1.2-SNAPSHOT'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"3"$"86,13 @@ uploadArchives {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"4"$""$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"5"$" developers {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"6"$" developer {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"7"$" id 'parse'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"8"$" name 'Parse'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"9"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "build.gradle"$"10"$" }"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-19 22:05:12" "Bolts.java"$"11"$"++ b/Bolts/src/bolts/Bolts.java"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-19 22:05:12" "Bolts.java"$"12"$"16,5 @@ public final class Bolts {"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-19 22:05:12" "Bolts.java"$"13"$" public static final String VERSION = ""1.1.2-SNAPSHOT"";"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-19 22:05:12" "build.gradle"$"0"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-21 01:13:49" "build.gradle"$"1"$"1,7 @@"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-21 01:13:49" "build.gradle"$"2"$"version = '1.1.3-SNAPSHOT'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-08-21 01:13:49" "Bolts.java"$"3"$"++ b/Bolts/src/bolts/Bolts.java"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-21 01:13:49" "Bolts.java"$"4"$"16,5 @@ public final class Bolts {"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-21 01:13:49" "Bolts.java"$"5"$" public static final String VERSION = ""1.1.3-SNAPSHOT"";"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-08-21 01:13:49" "Readme.md"$"0"$"++ b/Readme.md"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"1"$"361,7 @@ saveAsync(obj1).onSuccessTask(new Continuation>()"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"2"$"The most common case will be making your app receive App Links. In-linking will allow your users to quickly access the richest, most native-feeling presentation of linked content on their devices. Bolts makes it easy to handle an inbound App Link by providing utilities for processing an incoming `Intent`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"3"$"374,30 @@ protected void onCreate(Bundle savedInstanceState) {"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"4"$" Uri targetUrl = AppLinks.getTargetUrlFromInboundIntent(getIntent());"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"5"$" if (targetUrl != null) {"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"6"$" // This is activity is started by app link intent."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"7"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"8"$" // targetUrl is the URL shared externerly. In most cases, you embed your content identifier"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"9"$" // in this data. In this case, you can hanle with the targetUrl just as how you hanle https urls."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"10"$" String profileName = HttpDeepLinkHandler.getProfileName(targetUrl);"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"11"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"12"$" // If you need to access other data you passing from the meta tag from your website or from opening app."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"13"$" // You can get them from applinkData and referrerAppData."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"14"$" Bundle applinkData = AppLinks.getAppLinkData(getIntent());"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"15"$" Bundle referrerAppData = applinkData.getBundle(""referer_app_link"");"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"16"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"17"$" // Apps can easily check the Extras and App Link data from the App Link as well."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"18"$" String fbAccessToken = AppLinks.getAppLinkExtras(""fb_access_token"");"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"19"$" String refererData = AppLinks.getAppLinkExtras(""referer"");"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"20"$" } else {"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"21"$" // Not an applink, your existing code goes here."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"22"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"23"$" // Apps that have existing deep-linking support and map their App Links to existing"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"24"$" // deep-linking functionality may instead want to perform these operations on the original"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"25"$" // data URL."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"26"$" String profileName = HttpDeepLinkHandler.getProfileName(getIntent().getData());"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"27"$" }"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"28"$"459,56 @@ Alternatively, a you can swap out the default resolver to be used by the built-i"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"29"$"```"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"30"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"31"$"## Analytics"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"32"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"33"$"Bolts introduces Measurement Event. App Links broadcast two Measurement Events to the application, which can be caught and integrated with existing analytics components in your application. ([Android Support Library v4](http://developer.android.com/tools/support-library/index.html) is required in your runtime to enable Analytics.)"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"34"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"35"$"* `al_nav_out` — Raised when your app sends out an App Links URL."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"36"$"* `al_nav_in` — Raised when your app opens an incoming App Links URL or intent."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"37"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"38"$"### Listen for App Links Measurement Events"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"39"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"40"$"There are other analytics tools that are integrated with Bolts' App Links events, but you can also listen for these events yourself:"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"41"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"42"$"```java"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"43"$"LocalBroadcastManager manager = LocalBroadcastManager.getInstance(context);"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"44"$"manager.registerReceiver("$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"45"$" new BroadcastReceiver() {"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"46"$" @Override"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"47"$" public void onReceive(Context context, Intent intent) {"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"48"$" String eventName = intent.getStringExtra(MeasurementEvent.MEASUREMENT_EVENT_NAME_KEY);"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"49"$" if (eventName.equals(MeasurementEvent.APP_LINK_NAVIGATE_IN_EVENT_NAME)) {"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"50"$" Bundle eventArgs = intent.getBundleExtra(MeasurementEvent.MEASUREMENT_EVENT_ARGS_KEY);"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"51"$" String targetURL = eventArgs.getString(""targetURL"");"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"52"$" String referrerName = eventArgs.getString(""refererAppName"");"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"53"$" // Integrate to your logging/analytics component."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"54"$" }"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"55"$" }"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"56"$" },"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"57"$" new IntentFilter(MeasurementEvent.MEASUREMENT_EVENT_NOTIFICATION_NAME)"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"58"$");"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"59"$"```"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"60"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"61"$"### App Links Event Fields"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"62"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"63"$"App Links Measurement Events sends additional information from App Links Intents in flattened string key value pairs. Here are some of the useful fields for the two events."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"64"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"65"$"* `al_nav_in`"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"66"$" * `inputURL`: the URL that opens the app."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"67"$" * `inputURLScheme`: the scheme of `inputURL`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"68"$" * `refererURL`: the URL that the referrer app added into `al_applink_data`: `referer_app_link`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"69"$" * `refererAppName`: the app name that the referrer app added to `al_applink_data`: `referer_app_link`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"70"$" * `sourceApplication`: the bundle of referrer application."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"71"$" * `targetURL`: the `target_url` field in `al_applink_data`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"72"$" * `version`: App Links API version."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"73"$""$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"74"$"* `al_nav_out`"$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"75"$" * `outputURL`: the URL used to open the other app (or browser). If there is an eligible app to open, this will be the custom scheme url/intent in `al_applink_data`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"76"$" * `outputURLScheme`: the scheme of `outputURL`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"77"$" * `sourceURL`: the URL of the page hosting App Links meta tags."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"78"$" * `sourceURLHost`: the hostname of `sourceURL`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"79"$" * `success`: `“1”` to indicate success in opening the App Link in another app or browser; `“0”` to indicate failure to open the App Link."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"80"$" * `type`: `“app”` for open in app, `“web”` for open in browser; `“fail”` when the success field is `“0”`."$"verdict"$"1"$" b/Readme.md"$"2014-08-21 19:56:05" "Readme.md"$"0"$"++ b/Readme.md"$"verdict"$"1"$" b/Readme.md"$"2014-09-10 22:51:18" "Readme.md"$"1"$"20,6 @@ For more information, see the [Bolts Android API Reference](http://boltsframewor"$"verdict"$"1"$" b/Readme.md"$"2014-09-10 22:51:18" "build.gradle"$"0"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-10-01 15:36:53" "build.gradle"$"1"$"1,7 @@"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-10-01 15:36:53" "build.gradle"$"2"$"version = '1.1.4-SNAPSHOT'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-10-01 15:36:53" "Bolts.java"$"3"$"++ b/Bolts/src/bolts/Bolts.java"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-10-01 15:36:53" "Bolts.java"$"4"$"16,5 @@ public final class Bolts {"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-10-01 15:36:53" "Bolts.java"$"5"$" public static final String VERSION = ""1.1.4-SNAPSHOT"";"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-10-01 15:36:53" "Readme.md"$"0"$"++ b/Readme.md"$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "Readme.md"$"1"$"193,17 @@ With these tools, it's easy to make your own asynchronous functions that return"$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "Readme.md"$"2"$" final Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "Readme.md"$"3"$" tcs.setResult(object);"$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "Readme.md"$"4"$" tcs.setError(e);"$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "Readme.md"$"5"$" return tcs.getTask();"$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "Readme.md"$"6"$"379,8 @@ protected void onCreate(Bundle savedInstanceState) {"$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "Readme.md"$"7"$" // targetUrl is the URL shared externally. In most cases, you embed your content identifier"$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "Readme.md"$"8"$" // in this data. In this case, you can handle with the targetUrl just as how you handle https urls."$"verdict"$"1"$" b/Readme.md"$"2014-12-02 01:24:12" "build.gradle"$"0"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-12-09 02:49:24" "build.gradle"$"1"$"1,7 @@"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-12-09 02:49:24" "build.gradle"$"2"$"version = '1.1.5-SNAPSHOT'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2014-12-09 02:49:24" "Bolts.java"$"3"$"++ b/Bolts/src/bolts/Bolts.java"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-12-09 02:49:24" "Bolts.java"$"4"$"16,5 @@ public final class Bolts {"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-12-09 02:49:24" "Bolts.java"$"5"$" public static final String VERSION = ""1.1.5-SNAPSHOT"";"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2014-12-09 02:49:24" ".travis.yml"$"0"$"++ b/.travis.yml"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"1"$"1,19 @@"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"2"$"sudo: false"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"3"$" - ANDROID_TARGET=android-21 ANDROID_ABI=armeabi-v7a"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"4"$" - build-tools-21.1.2"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"5"$" - android-21"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"6"$"before_script:"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"7"$" - android-wait-for-emulator"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"8"$" - adb shell input keyevent 82 &"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"9"$"script:"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" ".travis.yml"$"10"$" - ./gradlew build connectedCheck --info"$"verdict"$"1"$" b/.travis.yml"$"2015-01-10 01:53:11" "build.gradle"$"11"$"++ b/build.gradle"$"verdict"$"1"$" b/build.gradle"$"2015-01-10 01:53:11" "build.gradle"$"12"$"4,13 @@ buildscript {"$"verdict"$"1"$" b/build.gradle"$"2015-01-10 01:53:11" "build.gradle"$"13"$"'"$"verdict"$"1"$" b/build.gradle"$"2015-01-10 01:53:11" "build.gradle"$"14"$" classpath 'com.android.tools.build:gradle:1.0.0'"$"verdict"$"1"$" b/build.gradle"$"2015-01-10 01:53:11" "build.gradle"$"15"$" buildToolsVersion = ""21.1.2"""$"verdict"$"1"$" b/build.gradle"$"2015-01-10 01:53:11" "gradle-wrapper.properties"$"16"$"++ b/gradle/wrapper/gradle-wrapper.properties"$"verdict"$"1"$" b/gradle/wrapper/gradle-wrapper.properties"$"2015-01-10 01:53:11" "gradle-wrapper.properties"$"17"$"1,6 @@"$"verdict"$"1"$" b/gradle/wrapper/gradle-wrapper.properties"$"2015-01-10 01:53:11" "gradle-wrapper.properties"$"18"$"#Tue Dec 09 08:29:53 PST 2014"$"verdict"$"1"$" b/gradle/wrapper/gradle-wrapper.properties"$"2015-01-10 01:53:11" "gradle-wrapper.properties"$"19"$"distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip"$"verdict"$"1"$" b/gradle/wrapper/gradle-wrapper.properties"$"2015-01-10 01:53:11" "AggregateException.java"$"0"$"++ b/Bolts/src/bolts/AggregateException.java"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"1"$"9,11 @@"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"2"$"import java.io.PrintStream;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"3"$"import java.io.PrintWriter;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"4"$"import java.util.Arrays;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"5"$"import java.util.Collections;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"6"$"24,99 @@ import java.util.List;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"7"$" private static final String DEFAULT_MESSAGE = ""There were multiple errors."";"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"8"$""$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"9"$" private List innerThrowables;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"10"$" * Constructs a new {@code AggregateException} with the current stack trace, the specified detail"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"11"$" * message and with references to the inner throwables that are the cause of this exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"12"$" * @param detailMessage"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"13"$" * The detail message for this exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"14"$" * @param innerThrowables"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"15"$" * The exceptions that are the cause of the current exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"16"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"17"$" public AggregateException(String detailMessage, Throwable[] innerThrowables) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"18"$" this(detailMessage, Arrays.asList(innerThrowables));"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"19"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"20"$""$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"21"$""$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"22"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"23"$" * Constructs a new {@code AggregateException} with the current stack trace, the specified detail"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"24"$" * message and with references to the inner throwables that are the cause of this exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"25"$" * The detail message for this exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"26"$" * @param innerThrowables"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"27"$" * The exceptions that are the cause of the current exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"28"$" public AggregateException(String detailMessage, List innerThrowables) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"29"$" super(detailMessage,"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"30"$" innerThrowables != null && innerThrowables.size() > 0 ? innerThrowables.get(0) : null);"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"31"$" this.innerThrowables = Collections.unmodifiableList(innerThrowables);"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"32"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"33"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"34"$" * Constructs a new {@code AggregateException} with the current stack trace and with references to"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"35"$" * the inner throwables that are the cause of this exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"36"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"37"$" * @param innerThrowables"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"38"$" * The exceptions that are the cause of the current exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"39"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"40"$" public AggregateException(List innerThrowables) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"41"$" this(DEFAULT_MESSAGE, innerThrowables);"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"42"$" * Returns a read-only {@link List} of the {@link Throwable} instances that caused the current"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"43"$" * exception."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"44"$" public List getInnerThrowables() {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"45"$" return innerThrowables;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"46"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"47"$""$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"48"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"49"$" public void printStackTrace(PrintStream err) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"50"$" super.printStackTrace(err);"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"51"$""$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"52"$" int currentIndex = -1;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"53"$" for (Throwable throwable : innerThrowables) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"54"$" err.append(""\n"");"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"55"$" err.append("" Inner throwable #"");"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"56"$" err.append(Integer.toString(++currentIndex));"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"57"$" err.append("": "");"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"58"$" throwable.printStackTrace(err);"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"59"$" err.append(""\n"");"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"60"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"61"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"62"$""$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"63"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"64"$" public void printStackTrace(PrintWriter err) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"65"$" super.printStackTrace(err);"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"66"$""$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"67"$" int currentIndex = -1;"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"68"$" for (Throwable throwable : innerThrowables) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"69"$" err.append(""\n"");"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"70"$" err.append("" Inner throwable #"");"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"71"$" err.append(Integer.toString(++currentIndex));"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"72"$" err.append("": "");"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"73"$" throwable.printStackTrace(err);"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"74"$" err.append(""\n"");"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"75"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"76"$" * @deprecated Please use {@link #getInnerThrowables()} instead."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"77"$" if (innerThrowables == null) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"78"$" for (Throwable cause : innerThrowables) {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"79"$"127,11 @@ public class AggregateException extends Exception {"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"80"$" * @deprecated Please use {@link #getInnerThrowables()} instead."$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"81"$" @Deprecated"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"82"$" return innerThrowables.toArray(new Throwable[innerThrowables.size()]);"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"83"$""$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "AggregateException.java"$"84"$"}"$"verdict"$"1"$" b/Bolts/src/bolts/AggregateException.java"$"2015-01-23 03:44:35" "Task.java"$"85"$"++ b/Bolts/src/bolts/Task.java"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-01-23 03:44:35" "Task.java"$"86"$"10,7 @@"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-01-23 03:44:35" "Task.java"$"87"$"import java.util.Arrays;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-01-23 03:44:35" "Task.java"$"88"$"304,9 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-01-23 03:44:35" "Task.java"$"89"$" causes);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-01-23 03:44:35" "TaskTest.java"$"90"$"++ b/BoltsTest/src/bolts/TaskTest.java"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "TaskTest.java"$"91"$"335,9 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "TaskTest.java"$"92"$" assertEquals(2, ((AggregateException) task.getError()).getInnerThrowables().size());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "TaskTest.java"$"93"$" assertEquals(error0, ((AggregateException) task.getError()).getInnerThrowables().get(0));"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "TaskTest.java"$"94"$" assertEquals(error1, ((AggregateException) task.getError()).getInnerThrowables().get(1));"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "TaskTest.java"$"95"$"583,9 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "TaskTest.java"$"96"$" assertEquals(2, aggregate.getCauses().length);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "TaskTest.java"$"97"$" assertEquals(error0, aggregate.getCauses()[0]);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "TaskTest.java"$"98"$" assertEquals(error1, aggregate.getCauses()[1]);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-01-23 03:44:35" "Continuation.java"$"0"$"++ b/Bolts/src/bolts/Continuation.java"$"verdict"$"1"$" b/Bolts/src/bolts/Continuation.java"$"2015-02-04 19:35:51" "Continuation.java"$"1"$"11,10 @@ package bolts;"$"verdict"$"1"$" b/Bolts/src/bolts/Continuation.java"$"2015-02-04 19:35:51" "Continuation.java"$"2"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/Continuation.java"$"2015-02-04 19:35:51" "Continuation.java"$"3"$" * If you wish to have the Task from a Continuation that does not return a Task be cancelled"$"verdict"$"1"$" b/Bolts/src/bolts/Continuation.java"$"2015-02-04 19:35:51" "Continuation.java"$"4"$" * then throw a {@link java.util.concurrent.CancellationException} from the Continuation."$"verdict"$"1"$" b/Bolts/src/bolts/Continuation.java"$"2015-02-04 19:35:51" "Continuation.java"$"5"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/Continuation.java"$"2015-02-04 19:35:51" "Task.java"$"6"$"++ b/Bolts/src/bolts/Task.java"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"7"$"15,7 @@ import java.util.Collection;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"8"$"import java.util.concurrent.CancellationException;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"9"$"181,9 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"10"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"11"$" * If you want to cancel the resulting Task throw a {@link java.util.concurrent.CancellationException}"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"12"$" * from the callable."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"13"$"191,9 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"14"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"15"$" * If you want to cancel the resulting Task throw a {@link java.util.concurrent.CancellationException}"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"16"$" * from the callable."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"17"$"202,8 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"18"$" } catch (CancellationException e) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"19"$" tcs.setCancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"20"$"214,9 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"21"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"22"$" * If you want to cancel the resulting Task throw a {@link java.util.concurrent.CancellationException}"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"23"$" * from the callable."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"24"$"519,8 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"25"$" } catch (CancellationException e) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"26"$" tcs.setCancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"27"$"570,8 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"28"$" } catch (CancellationException e) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "Task.java"$"29"$" tcs.setCancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-04 19:35:51" "TaskTest.java"$"30"$"++ b/BoltsTest/src/bolts/TaskTest.java"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"31"$"116,28 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"32"$" public void testSynchronousCancellation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"33"$" Task first = Task.forResult(1);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"34"$" Task second = first.continueWith(new Continuation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"35"$" public Integer then(Task task) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"36"$" throw new CancellationException();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"37"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"38"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"39"$" assertTrue(first.isCompleted());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"40"$" assertTrue(second.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"41"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"42"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"43"$" public void testSynchronousTaskCancellation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"44"$" Task first = Task.forResult(1);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"45"$" Task second = first.continueWithTask(new Continuation>() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"46"$" public Task then(Task task) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"47"$" throw new CancellationException();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"48"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"49"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"50"$" assertTrue(first.isCompleted());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"51"$" assertTrue(second.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"52"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"53"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"54"$" public void testBackgroundCall() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"55"$"215,23 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"56"$" public void testBackgroundCancellation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"57"$" runTaskTest(new Callable>() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"58"$" public Task call() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"59"$" return Task.callInBackground(new Callable() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"60"$" public Void call() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"61"$" throw new CancellationException();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"62"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"63"$" }).continueWith(new Continuation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"64"$" public Void then(Task task) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"65"$" assertTrue(task.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"66"$" return null;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"67"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"68"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"69"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"70"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"71"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"72"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "TaskTest.java"$"73"$" public void testContinueOnUiThread() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-04 19:35:51" "BoltsExecutors.java"$"0"$"++ b/Bolts/src/bolts/BoltsExecutors.java"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"1"$"3,8 @@ package bolts;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"2"$"import java.util.concurrent.Executors;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"3"$"import java.util.concurrent.ScheduledExecutorService;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"4"$"22,14 @@ import java.util.concurrent.ExecutorService;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"5"$" private final ScheduledExecutorService scheduled;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"6"$" scheduled = Executors.newSingleThreadScheduledExecutor();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"7"$"40,10 @@ import java.util.concurrent.ExecutorService;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"8"$" /* package */ static ScheduledExecutorService scheduled() {"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"9"$" return INSTANCE.scheduled;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"10"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"11"$""$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"12"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"13"$"61,7 @@ import java.util.concurrent.ExecutorService;"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "BoltsExecutors.java"$"14"$" private ThreadLocal executionDepth = new ThreadLocal<>();"$"verdict"$"1"$" b/Bolts/src/bolts/BoltsExecutors.java"$"2015-02-27 17:50:15" "Task.java"$"15"$"++ b/Bolts/src/bolts/Task.java"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"16"$"10,6 @@"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"17"$"17,8 @@ import java.util.concurrent.Callable;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"18"$"import java.util.concurrent.ScheduledExecutorService;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"19"$"import java.util.concurrent.TimeUnit;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"20"$"152,30 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"21"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"22"$" * Creates a task that completes after a time delay."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"23"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"24"$" * @param delay The number of milliseconds to wait before completing the returned task. Zero and"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"25"$" * negative values are treated as requests for immediate execution."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"26"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"27"$" public static Task delay(long delay) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"28"$" return delay(delay, BoltsExecutors.scheduled());"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"29"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"30"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"31"$" /* package */ static Task delay(long delay, ScheduledExecutorService executor) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"32"$" if (delay <= 0) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"33"$" return Task.forResult(null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"34"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"35"$" final Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"36"$" executor.schedule(new Runnable() {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"37"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"38"$" public void run() {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"39"$" tcs.setResult(null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"40"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"41"$" }, delay, TimeUnit.MILLISECONDS);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"42"$" return tcs.getTask();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"43"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"44"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "Task.java"$"45"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-02-27 17:50:15" "TaskTest.java"$"46"$"++ b/BoltsTest/src/bolts/TaskTest.java"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"47"$"58,16 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"48"$" public void testDelay() throws InterruptedException {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"49"$" final Task delayed = Task.delay(200);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"50"$" Thread.sleep(50);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"51"$" assertFalse(delayed.isCompleted());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"52"$" Thread.sleep(150);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"53"$" assertTrue(delayed.isCompleted());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"54"$" assertFalse(delayed.isFaulted());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"55"$" assertFalse(delayed.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"56"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"57"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "TaskTest.java"$"58"$" public void testSynchronousContinuation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-02-27 17:50:15" "CancellationToken.java"$"0"$"++ b/Bolts/src/bolts/CancellationToken.java"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"1"$"1,76 @@"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"2"$"/*"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"3"$" * Copyright (c) 2014, Facebook, Inc."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"4"$" * All rights reserved."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"5"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"6"$" * This source code is licensed under the BSD-style license found in the"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"7"$" * LICENSE file in the root directory of this source tree. An additional grant"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"8"$" * of patent rights can be found in the PATENTS file in the same directory."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"9"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"10"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"11"$"package bolts;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"12"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"13"$"import java.util.Locale;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"14"$"import java.util.concurrent.CancellationException;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"15"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"16"$"/**"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"17"$" * Propagates notification that operations should be canceled."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"18"$" *

"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"19"$" * Create an instance of {@code CancellationTokenSource} and pass the token returned from"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"20"$" * {@code CancellationTokenSource#getToken()} to the asynchronous operation(s)."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"21"$" * Call {@code CancellationTokenSource#cancel()} to cancel the operations."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"22"$" *

"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"23"$" * A {@code CancellationToken} can only be cancelled once - it should not be passed to future operations"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"24"$" * once cancelled."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"25"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"26"$" * @see CancellationTokenSource"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"27"$" * @see CancellationTokenSource#getToken()"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"28"$" * @see CancellationTokenSource#cancel()"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"29"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"30"$"public class CancellationToken {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"31"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"32"$" private final Object lock = new Object();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"33"$" private boolean cancellationRequested;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"34"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"35"$" /* package */ CancellationToken() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"36"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"37"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"38"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"39"$" * @return {@code true} if the cancellation was requested from the source, {@code false} otherwise."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"40"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"41"$" public boolean isCancellationRequested() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"42"$" synchronized (lock) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"43"$" return cancellationRequested;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"44"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"45"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"46"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"47"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"48"$" * @throws CancellationException if this token has had cancellation requested."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"49"$" * May be used to stop execution of a thread or runnable."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"50"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"51"$" public void throwIfCancellationRequested() throws CancellationException {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"52"$" synchronized (lock) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"53"$" if (cancellationRequested) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"54"$" throw new CancellationException();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"55"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"56"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"57"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"58"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"59"$" /* package */ boolean tryCancel() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"60"$" synchronized (lock) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"61"$" if (cancellationRequested) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"62"$" return false;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"63"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"64"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"65"$" cancellationRequested = true;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"66"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"67"$" return true;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"68"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"69"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"70"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"71"$" public String toString() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"72"$" return String.format(Locale.US, ""%s@%s[cancellationRequested=%s]"","$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"73"$" getClass().getName(),"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"74"$" Integer.toHexString(hashCode()),"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"75"$" Boolean.toString(cancellationRequested));"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"76"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationToken.java"$"77"$"}"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationToken.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"78"$"++ b/Bolts/src/bolts/CancellationTokenSource.java"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"79"$"1,61 @@"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"80"$"/*"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"81"$" * Copyright (c) 2014, Facebook, Inc."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"82"$" * All rights reserved."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"83"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"84"$" * This source code is licensed under the BSD-style license found in the"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"85"$" * LICENSE file in the root directory of this source tree. An additional grant"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"86"$" * of patent rights can be found in the PATENTS file in the same directory."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"87"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"88"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"89"$"package bolts;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"90"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"91"$"import java.util.Locale;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"92"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"93"$"/**"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"94"$" * Signals to a {@link CancellationToken} that it should be canceled. To create a"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"95"$" * {@code CancellationToken} first create a {@code CancellationTokenSource} then call"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"96"$" * {@link #getToken()} to retrieve the token for the source."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"97"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"98"$" * @see CancellationToken"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"99"$" * @see CancellationTokenSource#getToken()"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"100"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"101"$"public class CancellationTokenSource {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"102"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"103"$" private final CancellationToken token;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"104"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"105"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"106"$" * Create a new {@code CancellationTokenSource}."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"107"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"108"$" public CancellationTokenSource() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"109"$" token = new CancellationToken();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"110"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"111"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"112"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"113"$" * @return {@code true} if cancellation has been requested for this {@code CancellationTokenSource}."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"114"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"115"$" public boolean isCancellationRequested() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"116"$" return token.isCancellationRequested();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"117"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"118"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"119"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"120"$" * @return the token that can be passed to asynchronous method to control cancellation."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"121"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"122"$" public CancellationToken getToken() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"123"$" return token;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"124"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"125"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"126"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"127"$" * Cancels the token if it has not already been cancelled."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"128"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"129"$" public void cancel() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"130"$" token.tryCancel();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"131"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"132"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"133"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"134"$" public String toString() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"135"$" return String.format(Locale.US, ""%s@%s[cancellationRequested=%s]"","$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"136"$" getClass().getName(),"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"137"$" Integer.toHexString(hashCode()),"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"138"$" Boolean.toString(isCancellationRequested()));"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"139"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "CancellationTokenSource.java"$"140"$"}"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-03-05 21:11:16" "Task.java"$"141"$"++ b/Bolts/src/bolts/Task.java"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"142"$"211,14 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"143"$" return call(callable, BACKGROUND_EXECUTOR, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"144"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"145"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"146"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"147"$" * Invokes the callable on a background thread, returning a Task to represent the operation."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"148"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"149"$" public static Task callInBackground(Callable callable, CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"150"$" return call(callable, BACKGROUND_EXECUTOR, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"151"$"228,23 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"152"$" return call(callable, executor, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"153"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"154"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"155"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"156"$" * Invokes the callable using the given executor, returning a Task to represent the operation."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"157"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"158"$" public static Task call(final Callable callable, Executor executor,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"159"$" final CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"160"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"161"$" tcs.setCancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"162"$" return;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"163"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"164"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"165"$" try {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"166"$"264,14 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"167"$" return call(callable, IMMEDIATE_EXECUTOR, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"168"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"169"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"170"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"171"$" * Invokes the callable on the current thread, producing a Task."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"172"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"173"$" public static Task call(final Callable callable, CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"174"$" return call(callable, IMMEDIATE_EXECUTOR, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"175"$"462,16 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"176"$" return continueWhile(predicate, continuation, IMMEDIATE_EXECUTOR, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"177"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"178"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"179"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"180"$" * Continues a task with the equivalent of a Task-based while loop, where the body of the loop is"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"181"$" * a task continuation."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"182"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"183"$" public Task continueWhile(Callable predicate,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"184"$" Continuation> continuation, CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"185"$" return continueWhile(predicate, continuation, IMMEDIATE_EXECUTOR, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"186"$"480,25 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"187"$" return continueWhile(predicate, continuation, executor, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"188"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"189"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"190"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"191"$" * Continues a task with the equivalent of a Task-based while loop, where the body of the loop is"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"192"$" * a task continuation."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"193"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"194"$" public Task continueWhile(final Callable predicate,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"195"$" final Continuation> continuation, final Executor executor,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"196"$" final CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"197"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"198"$" return Task.cancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"199"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"200"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"201"$" if (predicate.call()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"202"$"516,17 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"203"$" return continueWith(continuation, executor, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"204"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"205"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"206"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"207"$" * Adds a continuation that will be scheduled using the executor, returning a new task that"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"208"$" * completes after the continuation has finished running. This allows the continuation to be"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"209"$" * scheduled on different thread."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"210"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"211"$" public Task continueWith("$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"212"$" final Continuation continuation, final Executor executor,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"213"$" final CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"214"$"535,14 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"215"$" completeImmediately(tcs, continuation, task, executor, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"216"$" completeImmediately(tcs, continuation, this, executor, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"217"$"553,16 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"218"$" return continueWith(continuation, IMMEDIATE_EXECUTOR, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"219"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"220"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"221"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"222"$" * Adds a synchronous continuation to this task, returning a new task that completes after the"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"223"$" * continuation has finished running."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"224"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"225"$" public Task continueWith("$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"226"$" Continuation continuation, CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"227"$" return continueWith(continuation, IMMEDIATE_EXECUTOR, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"228"$"571,16 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"229"$" return continueWithTask(continuation, executor, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"230"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"231"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"232"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"233"$" * Adds an Task-based continuation to this task that will be scheduled using the executor,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"234"$" * returning a new task that completes after the task returned by the continuation has completed."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"235"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"236"$" public Task continueWithTask("$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"237"$" final Continuation> continuation, final Executor executor,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"238"$" final CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"239"$"589,14 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"240"$" completeAfterTask(tcs, continuation, task, executor, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"241"$" completeAfterTask(tcs, continuation, this, executor, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"242"$"607,16 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"243"$" return continueWithTask(continuation, IMMEDIATE_EXECUTOR, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"244"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"245"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"246"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"247"$" * Adds an asynchronous continuation to this task, returning a new task that completes after the"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"248"$" * task returned by the continuation has completed."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"249"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"250"$" public Task continueWithTask("$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"251"$" Continuation> continuation, CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"252"$" return continueWithTask(continuation, IMMEDIATE_EXECUTOR, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"253"$"625,23 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"254"$" return onSuccess(continuation, executor, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"255"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"256"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"257"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"258"$" * Runs a continuation when a task completes successfully, forwarding along"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"259"$" * {@link java.lang.Exception} or cancellation."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"260"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"261"$" public Task onSuccess("$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"262"$" final Continuation continuation, Executor executor,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"263"$" final CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"264"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"265"$" return Task.cancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"266"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"267"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"268"$" if (task.isFaulted()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"269"$"659,16 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"270"$" return onSuccess(continuation, IMMEDIATE_EXECUTOR, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"271"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"272"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"273"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"274"$" * Runs a continuation when a task completes successfully, forwarding along"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"275"$" * {@link java.lang.Exception}s or cancellation."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"276"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"277"$" public Task onSuccess("$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"278"$" final Continuation continuation, CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"279"$" return onSuccess(continuation, IMMEDIATE_EXECUTOR, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"280"$"677,23 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"281"$" return onSuccessTask(continuation, executor, null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"282"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"283"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"284"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"285"$" * Runs a continuation when a task completes successfully, forwarding along"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"286"$" * {@link java.lang.Exception}s or cancellation."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"287"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"288"$" public Task onSuccessTask("$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"289"$" final Continuation> continuation, Executor executor,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"290"$" final CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"291"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"292"$" return Task.cancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"293"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"294"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"295"$" if (task.isFaulted()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"296"$"714,16 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"297"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"298"$" * Runs a continuation when a task completes successfully, forwarding along"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"299"$" * {@link java.lang.Exception}s or cancellation."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"300"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"301"$" public Task onSuccessTask("$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"302"$" final Continuation> continuation,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"303"$" CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"304"$" return onSuccessTask(continuation, IMMEDIATE_EXECUTOR, ct);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"305"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"306"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"307"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"308"$"742,15 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"309"$" Executor executor, final CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"310"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"311"$" tcs.setCancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"312"$" return;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"313"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"314"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"315"$" try {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"316"$"782,16 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"317"$" final Task task, final Executor executor,"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"318"$" final CancellationToken ct) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"319"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"320"$" tcs.setCancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"321"$" return;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"322"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"323"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"324"$" try {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"325"$"800,11 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"326"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"327"$" tcs.setCancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"328"$" return null;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"329"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"330"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "Task.java"$"331"$" if (task.isCancelled()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"332"$"++ b/BoltsTest/src/bolts/CancellationTest.java"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"333"$"1,48 @@"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"334"$"/*"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"335"$" * Copyright (c) 2014, Facebook, Inc."$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"336"$" * All rights reserved."$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"337"$" *"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"338"$" * This source code is licensed under the BSD-style license found in the"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"339"$" * LICENSE file in the root directory of this source tree. An additional grant"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"340"$" * of patent rights can be found in the PATENTS file in the same directory."$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"341"$" *"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"342"$" */"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"343"$"package bolts;"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"344"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"345"$"import android.test.InstrumentationTestCase;"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"346"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"347"$"import java.util.concurrent.CancellationException;"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"348"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"349"$"public class CancellationTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"350"$" public void testTokenIsCancelled() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"351"$" CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"352"$" CancellationToken token = cts.getToken();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"353"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"354"$" assertFalse(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"355"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"356"$" cts.cancel();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"357"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"358"$" assertTrue(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"359"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"360"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"361"$" public void testTokenThrowsWhenCancelled() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"362"$" CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"363"$" CancellationToken token = cts.getToken();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"364"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"365"$" try {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"366"$" token.throwIfCancellationRequested();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"367"$" } catch (CancellationException e) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"368"$" fail(""Token has not been cancelled yet, "" + CancellationException.class.getSimpleName()"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"369"$" + "" should not be thrown"");"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"370"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"371"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"372"$" cts.cancel();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"373"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"374"$" try {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"375"$" token.throwIfCancellationRequested();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"376"$" fail(CancellationException.class.getSimpleName() + "" should be thrown"");"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"377"$" } catch (CancellationException e) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"378"$" // Do nothing"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"379"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"380"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "CancellationTest.java"$"381"$"}"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"382"$"++ b/BoltsTest/src/bolts/TaskTest.java"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"383"$"18,7 @@ import java.util.List;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"384"$"import java.util.concurrent.atomic.AtomicBoolean;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"385"$"139,22 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"386"$" public void testSynchronousContinuationTokenAlreadyCancelled() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"387"$" CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"388"$" final Capture continuationRun = new Capture<>(false);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"389"$" cts.cancel();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"390"$" Task first = Task.forResult(1);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"391"$" Task second = first.continueWith(new Continuation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"392"$" public Integer then(Task task) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"393"$" continuationRun.set(true);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"394"$" return 2;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"395"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"396"$" }, cts.getToken());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"397"$" assertTrue(first.isCompleted());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"398"$" assertTrue(second.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"399"$" assertFalse(continuationRun.get());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"400"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"401"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"402"$" public void testSynchronousTaskCancellation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"403"$"184,69 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"404"$" public void testBackgroundCallTokenCancellation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"405"$" final CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"406"$" final CancellationToken ct = cts.getToken();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"407"$" final Capture waitingToBeCancelled = new Capture(false);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"408"$" final Object cancelLock = new Object();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"409"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"410"$" Task task = Task.callInBackground(new Callable() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"411"$" @Override"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"412"$" public Integer call() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"413"$" synchronized (cancelLock) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"414"$" waitingToBeCancelled.set(true);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"415"$" cancelLock.wait();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"416"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"417"$" ct.throwIfCancellationRequested();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"418"$" return 5;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"419"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"420"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"421"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"422"$" while (true) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"423"$" synchronized (cancelLock) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"424"$" if (waitingToBeCancelled.get()) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"425"$" cts.cancel();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"426"$" cancelLock.notify();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"427"$" break;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"428"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"429"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"430"$" try {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"431"$" Thread.sleep(5);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"432"$" } catch (InterruptedException e) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"433"$" throw new RuntimeException(e);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"434"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"435"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"436"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"437"$" try {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"438"$" task.waitForCompletion();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"439"$" } catch (InterruptedException e) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"440"$" throw new RuntimeException(e);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"441"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"442"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"443"$" assertTrue(task.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"444"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"445"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"446"$" public void testBackgroundCallTokenAlreadyCancelled() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"447"$" final CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"448"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"449"$" cts.cancel();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"450"$" runTaskTest(new Callable>() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"451"$" public Task call() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"452"$" return Task.callInBackground(new Callable() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"453"$" public Integer call() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"454"$" Thread.sleep(100);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"455"$" return 5;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"456"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"457"$" }, cts.getToken()).continueWith(new Continuation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"458"$" public Void then(Task task) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"459"$" assertTrue(task.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"460"$" return null;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"461"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"462"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"463"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"464"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"465"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"466"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"467"$" public void testBackgroundCallWaiting() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"468"$"926,34 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"469"$" public void testContinueWhileAsyncCancellation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"470"$" final AtomicInteger count = new AtomicInteger(0);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"471"$" final CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"472"$" runTaskTest(new Callable>() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"473"$" public Task call() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"474"$" return Task.forResult(null).continueWhile(new Callable() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"475"$" public Boolean call() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"476"$" return count.get() < 10;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"477"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"478"$" }, new Continuation>() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"479"$" public Task then(Task task) throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"480"$" if (count.incrementAndGet() == 5) {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"481"$" cts.cancel();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"482"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"483"$" return null;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"484"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"485"$" }, Executors.newCachedThreadPool(),"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"486"$" cts.getToken()).continueWith(new Continuation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"487"$" public Void then(Task task) throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"488"$" assertTrue(task.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"489"$" assertEquals(5, count.get());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"490"$" return null;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"491"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"492"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"493"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"494"$" });"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"495"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"496"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "TaskTest.java"$"497"$" @SuppressWarnings(""deprecation"")"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-03-05 21:11:16" "README.md"$"498"$"++ b/README.md"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"499"$"356,55 @@ saveAsync(obj1).onSuccessTask(new Continuation>()"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"500"$"## Cancelling Tasks"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"501"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"502"$"To cancel a task create a `CancellationTokenSource` and pass the corresponding token to any methods that create a task you want to cancel, then call `cancel()` on the source. This will cancel any ongoing tasks that the token was supplied to."$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"503"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"504"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"505"$"```java"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"506"$"CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"507"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"508"$"Task stringTask = getIntAsync(cts.getToken());"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"509"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"510"$"cts.cancel();"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"511"$"```"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"512"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"513"$"To cancel an asynchronous call using a token you must first modify the method to accept a `CancellationToken` and use the `isCancellationRequested()` method to determine when to halt the operation."$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"514"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"515"$"```java"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"516"$"/**"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"517"$" Gets an Integer asynchronously."$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"518"$" */"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"519"$"public Task getIntAsync(CancellationToken ct) {"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"520"$" // Create a new Task"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"521"$" Task.CompletionSource tcs = Task.create();"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"522"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"523"$" new Thread() {"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"524"$" @Override"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"525"$" public void run() {"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"526"$" // Check if cancelled at start"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"527"$" if (ct.isCancellationRequested()) {"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"528"$" tcs.setCancelled();"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"529"$" return;"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"530"$" }"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"531"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"532"$" int result = 0;"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"533"$" while (result < 100) {"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"534"$" // Poll isCancellationRequested in a loop"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"535"$" if (ct.isCancellationRequested()) {"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"536"$" tcs.setCancelled();"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"537"$" return;"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"538"$" }"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"539"$" result++;"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"540"$" }"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"541"$" tcs.setResult(result);"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"542"$" }"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"543"$" }.start();"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"544"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"545"$" return tcs.getTask();"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"546"$"}"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"547"$"```"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"548"$""$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "README.md"$"549"$"# App Links"$"verdict"$"1"$" b/README.md"$"2015-03-05 21:11:16" "build.gradle"$"0"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-03-24 00:47:50" "build.gradle"$"1"$"1,7 @@"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-03-24 00:47:50" "build.gradle"$"2"$"version = '1.2.1-SNAPSHOT'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-03-24 00:47:50" "Bolts.java"$"3"$"++ b/Bolts/src/bolts/Bolts.java"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2015-03-24 00:47:50" "Bolts.java"$"4"$"16,5 @@ public final class Bolts {"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2015-03-24 00:47:50" "Bolts.java"$"5"$" public static final String VERSION = ""1.2.1-SNAPSHOT"";"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2015-03-24 00:47:50" "PATENTS"$"0"$"++ b/PATENTS"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"1"$"1,33 @@"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"2"$"Additional Grant of Patent Rights Version 2"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"3"$"""Software"" means the Bolts software distributed by Facebook, Inc."$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"4"$"Facebook, Inc. (""Facebook"") hereby grants to each recipient of the Software"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"5"$"(""you"") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"6"$"(subject to the termination provision below) license under any Necessary"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"7"$"Claims, to make, have made, use, sell, offer to sell, import, and otherwise"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"8"$"transfer the Software. For avoidance of doubt, no license is granted under"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"9"$"Facebook's rights in any patent claims that are infringed by (i) modifications"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"10"$"to the Software made by you or any third party or (ii) the Software in"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"11"$"combination with any software or other technology."$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"12"$""$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"13"$"The license granted hereunder will terminate, automatically and without notice,"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"14"$"if you (or any of your subsidiaries, corporate affiliates or agents) initiate"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"15"$"directly or indirectly, or take a direct financial interest in, any Patent"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"16"$"Assertion: (i) against Facebook or any of its subsidiaries or corporate"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"17"$"affiliates, (ii) against any party if such Patent Assertion arises in whole or"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"18"$"in part from any software, technology, product or service of Facebook or any of"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"19"$"its subsidiaries or corporate affiliates, or (iii) against any party relating"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"20"$"to the Software. Notwithstanding the foregoing, if Facebook or any of its"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"21"$"subsidiaries or corporate affiliates files a lawsuit alleging patent"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"22"$"infringement against you in the first instance, and you respond by filing a"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"23"$"patent infringement counterclaim in that lawsuit against that party that is"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"24"$"unrelated to the Software, the license granted hereunder will not terminate"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"25"$"under section (i) of this paragraph due to such counterclaim."$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"26"$""$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"27"$"A ""Necessary Claim"" is a claim of a patent owned by Facebook that is"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"28"$"necessarily infringed by the Software standing alone."$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"29"$""$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"30"$"A ""Patent Assertion"" is any lawsuit or other action alleging direct, indirect,"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"31"$"or contributory infringement or inducement to infringe any patent, including a"$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "PATENTS"$"32"$"cross-claim or counterclaim."$"verdict"$"1"$" b/PATENTS"$"2015-04-13 18:53:54" "LICENSE"$"0"$"++ b/LICENSE"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"1"$"2,29 @@ BSD License"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"2"$"Copyright (c) 2013-present, Facebook, Inc. All rights reserved."$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"3"$"Redistribution and use in source and binary forms, with or without modification,"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"4"$"are permitted provided that the following conditions are met:"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"5"$" * Redistributions of source code must retain the above copyright notice, this"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"6"$" list of conditions and the following disclaimer."$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"7"$""$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"8"$" * Redistributions in binary form must reproduce the above copyright notice,"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"9"$" this list of conditions and the following disclaimer in the documentation"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"10"$" and/or other materials provided with the distribution."$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"11"$""$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"12"$" * Neither the name Facebook nor the names of its contributors may be used to"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"13"$" endorse or promote products derived from this software without specific"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"14"$" prior written permission."$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"15"$""$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"16"$"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"17"$"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"18"$"WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"19"$"DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"20"$"ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"21"$"(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"22"$"LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"23"$"ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"24"$"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS"$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "LICENSE"$"25"$"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."$"verdict"$"1"$" b/LICENSE"$"2015-04-13 19:12:26" "Task.java"$"0"$"++ b/Bolts/src/bolts/Task.java"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"1"$"18,7 @@ import java.util.concurrent.CancellationException;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"2"$"import java.util.concurrent.ScheduledFuture;"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"3"$"160,48 @@ public class Task {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"4"$" return delay(delay, BoltsExecutors.scheduled(), null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"5"$" /**"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"6"$" * Creates a task that completes after a time delay."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"7"$" *"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"8"$" * @param delay The number of milliseconds to wait before completing the returned task. Zero and"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"9"$" * negative values are treated as requests for immediate execution."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"10"$" * @param cancellationToken The optional cancellation token that will be checked prior to"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"11"$" * completing the returned task."$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"12"$" */"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"13"$" public static Task delay(long delay, CancellationToken cancellationToken) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"14"$" return delay(delay, BoltsExecutors.scheduled(), cancellationToken);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"15"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"16"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"17"$" /* package */ static Task delay(long delay, ScheduledExecutorService executor, final CancellationToken cancellationToken) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"18"$" if (cancellationToken != null && cancellationToken.isCancellationRequested()) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"19"$" return Task.cancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"20"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"21"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"22"$" if (delay <= 0) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"23"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"24"$" final Task.TaskCompletionSource tcs = Task.create();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"25"$" final ScheduledFuture scheduled = executor.schedule(new Runnable() {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"26"$" tcs.trySetResult(null);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"27"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"28"$" if (cancellationToken != null) {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"29"$" cancellationToken.register(new Runnable() {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"30"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"31"$" public void run() {"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"32"$" scheduled.cancel(true);"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"33"$" tcs.trySetCancelled();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"34"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"35"$" });"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"36"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"37"$""$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "Task.java"$"38"$" return tcs.getTask();"$"verdict"$"1"$" b/Bolts/src/bolts/Task.java"$"2015-05-14 20:31:12" "TaskTest.java"$"39"$"++ b/BoltsTest/src/bolts/TaskTest.java"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"40"$"18,6 @@ import java.util.List;"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"41"$"63,27 @@ public class TaskTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"42"$" Thread.sleep(200);"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"43"$" public void testDelayWithCancelledToken() throws InterruptedException {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"44"$" CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"45"$" cts.cancel();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"46"$" final Task delayed = Task.delay(200, cts.getToken());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"47"$" assertTrue(delayed.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"48"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"49"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"50"$" public void testDelayWithToken() throws InterruptedException {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"51"$" CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"52"$" final Task delayed = Task.delay(200, cts.getToken());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"53"$" assertFalse(delayed.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"54"$" cts.cancel();"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"55"$" assertTrue(delayed.isCancelled());"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"56"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"57"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "TaskTest.java"$"58"$" public void testSynchronousContinuation() {"$"verdict"$"1"$" b/BoltsTest/src/bolts/TaskTest.java"$"2015-05-14 20:31:12" "CancellationTokenSource.java"$"0"$"++ b/Bolts/src/bolts/CancellationTokenSource.java"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"1"$"14,9 @@ import java.util.ArrayList;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"2"$"import java.util.concurrent.ScheduledExecutorService;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"3"$"import java.util.concurrent.ScheduledFuture;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"4"$"import java.util.concurrent.TimeUnit;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"5"$"30,8 @@ public class CancellationTokenSource implements Closeable {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"6"$" private final ScheduledExecutorService executor = BoltsExecutors.scheduled();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"7"$" private ScheduledFuture scheduledCancellation;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"8"$"71,9 @@ public class CancellationTokenSource implements Closeable {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"9"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"10"$" cancelScheduledCancellation();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"11"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"12"$" cancellationRequested = true;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"13"$"81,54 @@ public class CancellationTokenSource implements Closeable {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"14"$" * Schedules a cancel operation on this {@code CancellationTokenSource} after the specified number of milliseconds."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"15"$" * @param delay The number of milliseconds to wait before completing the returned task. If delay is {@code 0}"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"16"$" * the cancel is executed immediately. If delay is {@code -1} any scheduled cancellation is stopped."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"17"$" public void cancelAfter(final long delay) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"18"$" cancelAfter(delay, TimeUnit.MILLISECONDS);"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"19"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"20"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"21"$" private void cancelAfter(long delay, TimeUnit timeUnit) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"22"$" if (delay < -1) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"23"$" throw new IllegalArgumentException(""Delay must be >= -1"");"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"24"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"25"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"26"$" if (delay == 0) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"27"$" cancel();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"28"$" return;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"29"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"30"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"31"$" synchronized (lock) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"32"$" if (cancellationRequested) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"33"$" return;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"34"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"35"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"36"$" cancelScheduledCancellation();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"37"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"38"$" if (delay != -1) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"39"$" scheduledCancellation = executor.schedule(new Runnable() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"40"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"41"$" public void run() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"42"$" synchronized (lock) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"43"$" scheduledCancellation = null;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"44"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"45"$" cancel();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"46"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"47"$" }, delay, timeUnit);"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"48"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"49"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"50"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"51"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"52"$" @Override"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"53"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"54"$" cancelScheduledCancellation();"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"55"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"56"$" for (CancellationTokenRegistration registration : registrations) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"57"$"199,12 @@ public class CancellationTokenSource implements Closeable {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"58"$""$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"59"$" // Performs no synchronization."$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"60"$" private void cancelScheduledCancellation() {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"61"$" if (scheduledCancellation != null) {"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"62"$" scheduledCancellation.cancel(true);"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"63"$" scheduledCancellation = null;"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"64"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTokenSource.java"$"65"$" }"$"verdict"$"1"$" b/Bolts/src/bolts/CancellationTokenSource.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"66"$"++ b/BoltsTest/src/bolts/CancellationTest.java"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"67"$"20,60 @@ public class CancellationTest extends InstrumentationTestCase {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"68"$" assertFalse(cts.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"69"$" assertTrue(cts.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"70"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"71"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"72"$" public void testTokenIsCancelledAfterNoDelay() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"73"$" CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"74"$" CancellationToken token = cts.getToken();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"75"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"76"$" assertFalse(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"77"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"78"$" cts.cancelAfter(0);"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"79"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"80"$" assertTrue(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"81"$" assertTrue(cts.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"82"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"83"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"84"$" public void testTokenIsCancelledAfterDelay() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"85"$" CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"86"$" CancellationToken token = cts.getToken();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"87"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"88"$" assertFalse(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"89"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"90"$" cts.cancelAfter(100);"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"91"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"92"$" assertFalse(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"93"$" assertFalse(cts.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"94"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"95"$" Thread.sleep(150);"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"96"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"97"$" assertTrue(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"98"$" assertTrue(cts.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"99"$" }"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"100"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"101"$" public void testTokenCancelAfterDelayCancellation() throws Exception {"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"102"$" CancellationTokenSource cts = new CancellationTokenSource();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"103"$" CancellationToken token = cts.getToken();"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"104"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"105"$" assertFalse(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"106"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"107"$" cts.cancelAfter(100);"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"108"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"109"$" assertFalse(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"110"$" assertFalse(cts.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"111"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"112"$" cts.cancelAfter(-1);"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"113"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"114"$" Thread.sleep(150);"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"115"$""$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"116"$" assertFalse(token.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "CancellationTest.java"$"117"$" assertFalse(cts.isCancellationRequested());"$"verdict"$"1"$" b/BoltsTest/src/bolts/CancellationTest.java"$"2015-05-14 20:40:57" "build.gradle"$"0"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-07-15 23:12:44" "build.gradle"$"1"$"1,7 @@"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-07-15 23:12:44" "build.gradle"$"2"$"version = '1.2.2-SNAPSHOT'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-07-15 23:12:44" "Bolts.java"$"3"$"++ b/Bolts/src/bolts/Bolts.java"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2015-07-15 23:12:44" "Bolts.java"$"4"$"16,5 @@ public final class Bolts {"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2015-07-15 23:12:44" "Bolts.java"$"5"$" public static final String VERSION = ""1.2.2-SNAPSHOT"";"$"verdict"$"1"$" b/Bolts/src/bolts/Bolts.java"$"2015-07-15 23:12:44" "README.md"$"0"$"++ b/README.md"$"verdict"$"1"$" b/README.md"$"2015-07-16 23:05:12" "README.md"$"1"$"95,7 @@ findAsync(query).onSuccessTask(new Continuation, Task> then(Task task) throws Exception {"$"verdict"$"1"$" b/README.md"$"2015-07-16 23:05:12" "README.md"$"0"$"++ b/README.md"$"verdict"$"1"$" b/README.md"$"2015-07-17 07:07:45" "README.md"$"1"$"37,7 @@ saveAsync(obj).continueWith(new Continuation() {"$"verdict"$"1"$" b/README.md"$"2015-07-17 07:07:45" "README.md"$"2"$" Exception error = task.getError();"$"verdict"$"1"$" b/README.md"$"2015-07-17 07:07:45" ".travis.yml"$"0"$"++ b/.travis.yml"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"1"$"1,7 @@"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"2"$"branches:"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"3"$" only:"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"4"$" - master"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"5"$""$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"6"$"language: android"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"7"$"21,6 @@ before_script:"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"8"$""$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"9"$"after_success:"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" ".travis.yml"$"10"$" - ./scripts/publish_snapshot.sh"$"verdict"$"1"$" b/.travis.yml"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"11"$"++ b/scripts/publish_snapshot.sh"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"12"$"1,20 @@"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"13"$"#!/bin/bash"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"14"$"# Publishes SNAPSHOTs"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"15"$""$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"16"$"REPO_SLUG=BoltsFramework/Bolts-Android"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"17"$"BRANCH=master"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"18"$""$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"19"$"set -e"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"20"$""$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"21"$"if [ ""$TRAVIS_REPO_SLUG"" != ""$REPO_SLUG"" ]; then"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"22"$" echo ""Skipping publishing SNAPSHOT: wrong repository. Expected '$REPO_SLUG' but was '$TRAVIS_REPO_SLUG'"""$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"23"$"elif [ ""$TRAVIS_PULL_REQUEST"" != ""false"" ]; then"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"24"$" echo ""Skipping publishing SNAPSHOT: was PR"""$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"25"$"elif [ ""$TRAVIS_BRANCH"" != ""$BRANCH"" ]; then"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"26"$" echo ""Skipping publishing SNAPSHOT: wrong branch. Expected '$BRANCH' but was '$TRAVIS_BRANCH'"""$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"27"$"else"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"28"$" echo ""Publishing SNAPSHOT..."""$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"29"$" ./gradlew uploadArchives"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"30"$" echo ""SNAPSHOT published!"""$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "publish_snapshot.sh"$"31"$"fi"$"verdict"$"1"$" b/scripts/publish_snapshot.sh"$"2015-08-14 17:06:34" "build.gradle"$"0"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-08-14 17:28:54" "build.gradle"$"1"$"51,8 @@ apply plugin: 'maven'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-08-14 17:28:54" "build.gradle"$"2"$"def ossrhUsername = hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : System.getenv('CI_NEXUS_USERNAME')"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-08-14 17:28:54" "build.gradle"$"3"$"def ossrhPassword = hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : System.getenv('CI_NEXUS_PASSWORD')"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-08-14 17:28:54" ".travis.yml"$"0"$"++ b/.travis.yml"$"verdict"$"1"$" b/.travis.yml"$"2015-10-16 20:52:35" ".travis.yml"$"1"$"10,8 @@ env:"$"verdict"$"1"$" b/.travis.yml"$"2015-10-16 20:52:35" ".travis.yml"$"2"$" - build-tools-23.0.1"$"verdict"$"1"$" b/.travis.yml"$"2015-10-16 20:52:35" ".travis.yml"$"3"$" - android-23"$"verdict"$"1"$" b/.travis.yml"$"2015-10-16 20:52:35" "build.gradle"$"4"$"++ b/Bolts/build.gradle"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-10-16 20:52:35" "build.gradle"$"5"$"27,7 @@ android {"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-10-16 20:52:35" "build.gradle"$"6"$" androidTestCompile 'com.android.support:support-v4:23.0.1'"$"verdict"$"1"$" b/Bolts/build.gradle"$"2015-10-16 20:52:35" "build.gradle"$"7"$"++ b/build.gradle"$"verdict"$"1"$" b/build.gradle"$"2015-10-16 20:52:35" "build.gradle"$"8"$"16,9 @@ allprojects {"$"verdict"$"1"$" b/build.gradle"$"2015-10-16 20:52:35" "build.gradle"$"9"$" compileSdkVersion = 23"$"verdict"$"1"$" b/build.gradle"$"2015-10-16 20:52:35" "build.gradle"$"10"$" buildToolsVersion = ""23.0.1"""$"verdict"$"1"$" b/build.gradle"$"2015-10-16 20:52:35" "build.gradle"$"11"$" targetSdkVersion = 23"$"verdict"$"1"$" b/build.gradle"$"2015-10-16 20:52:35" "Task.java"$"0"$"++ b/bolts-tasks/src/main/java/bolts/Task.java"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-10-19 18:22:21" "Task.java"$"1"$"406,7 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-10-19 18:22:21" "Task.java"$"2"$" * The returned {@code List<TResult>} will contain 0 elements."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-10-19 18:22:21" "build.gradle"$"0"$"++ b/bolts-tasks/build.gradle"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"1"$"76,21 @@ signing {"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"2"$"task sourcesJar(type: Jar) {"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"3"$" classifier = 'sources'"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"4"$" from sourceSets.main.allJava"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"5"$"}"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"6"$""$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"7"$"task javadocJar (type: Jar, dependsOn: javadoc) {"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"8"$" classifier = 'javadoc'"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"9"$" from javadoc.destinationDir"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"10"$"}"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"11"$""$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"12"$"artifacts {"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"13"$" archives sourcesJar"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"14"$" archives javadocJar"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"15"$"}"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"16"$""$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "build.gradle"$"17"$"//endregion"$"verdict"$"1"$" b/bolts-tasks/build.gradle"$"2015-11-06 00:59:58" "README.md"$"0"$"++ b/README.md"$"verdict"$"1"$" b/README.md"$"2015-11-06 01:17:08" "README.md"$"1"$"23,8 @@ Download [the latest JAR][latest] or define in Gradle:"$"verdict"$"1"$" b/README.md"$"2015-11-06 01:17:08" "README.md"$"2"$" compile 'com.parse.bolts:bolts-tasks:1.3.0'"$"verdict"$"1"$" b/README.md"$"2015-11-06 01:17:08" "README.md"$"3"$" compile 'com.parse.bolts:bolts-applinks:1.3.0'"$"verdict"$"1"$" b/README.md"$"2015-11-06 01:17:08" "gradle.properties"$"4"$"++ b/gradle.properties"$"verdict"$"1"$" b/gradle.properties"$"2015-11-06 01:17:08" "gradle.properties"$"5"$"1,2 @@"$"verdict"$"1"$" b/gradle.properties"$"2015-11-06 01:17:08" "gradle.properties"$"6"$"VERSION_NAME=1.3.1-SNAPSHOT"$"verdict"$"1"$" b/gradle.properties"$"2015-11-06 01:17:08" "Task.java"$"0"$"++ b/bolts-tasks/src/main/java/bolts/Task.java"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"1"$"134,20 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"2"$" /**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"3"$" * Blocks until the task is complete or times out."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"4"$" * @return {@code true} if the task completed (has a result, an error, or was cancelled."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"5"$" * {@code false} otherwise."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"6"$" */"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"7"$" public boolean waitForCompletion(long duration, TimeUnit timeUnit) throws InterruptedException {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"8"$" synchronized (lock) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"9"$" if (!isCompleted()) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"10"$" lock.wait(timeUnit.toMillis(duration));"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"11"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"12"$" return isCompleted();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"13"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"14"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"15"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "Task.java"$"16"$" /**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2015-11-09 22:59:32" "TaskTest.java"$"17"$"++ b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"18"$"19,7 @@ import java.util.List;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"19"$"import java.util.concurrent.TimeUnit;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"20"$"311,31 @@ public class TaskTest {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"21"$" @Test"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"22"$" public void testBackgroundCallWaitingWithTimeouts() throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"23"$" final Object sync = new Object();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"24"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"25"$" Task task = Task.callInBackground(new Callable() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"26"$" public Integer call() throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"27"$" synchronized (sync) {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"28"$" sync.wait();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"29"$" Thread.sleep(100);"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"30"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"31"$" return 5;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"32"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"33"$" });"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"34"$" // wait -> timeout"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"35"$" assertFalse(task.waitForCompletion(100, TimeUnit.MILLISECONDS));"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"36"$" synchronized (sync) {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"37"$" sync.notify();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"38"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"39"$" // wait -> completes"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"40"$" assertTrue(task.waitForCompletion(1000, TimeUnit.MILLISECONDS));"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"41"$" // wait -> already completed"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"42"$" assertTrue(task.waitForCompletion(100, TimeUnit.MILLISECONDS));"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"43"$" assertEquals(5, task.getResult().intValue());"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"44"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"45"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "TaskTest.java"$"46"$" @Test"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2015-11-09 22:59:32" "README.md"$"0"$"++ b/README.md"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"1"$"2,8 @@ Bolts"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"2"$"[![Maven Central][maven-tasks-svg]][maven-tasks-link]"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"3"$"[![Maven Central][maven-applinks-svg]][maven-applinks-link]"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"4"$"577,13 @@ App Links Measurement Events sends additional information from App Links Intents"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"5"$" [coverage-status-svg]: https://coveralls.io/repos/BoltsFramework/Bolts-Android/badge.svg?branch=master&service=github?style=flat"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"6"$" [maven-tasks-svg]: https://img.shields.io/maven-central/v/com.parse.bolts/bolts-tasks.svg?label=bolts-tasks&style=flat"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"7"$" [maven-tasks-link]: https://maven-badges.herokuapp.com/maven-central/com.parse.bolts/bolts-tasks"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"8"$" [maven-applinks-svg]: https://img.shields.io/maven-central/v/com.parse.bolts/bolts-applinks.svg?label=bolts-applinks&style=flat"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"9"$" [maven-applinks-link]: https://maven-badges.herokuapp.com/maven-central/com.parse.bolts/bolts-applinks"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"10"$" [license-svg]: https://img.shields.io/badge/license-BSD-lightgrey.svg?style=flat"$"verdict"$"1"$" b/README.md"$"2015-11-10 22:57:51" "README.md"$"0"$"++ b/README.md"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"1"$"33,17 @@ Snapshots of the development version are available in [Sonatype's `snapshots` re"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"2"$"To build a truly responsive Android application, you must keep long-running operations off of the UI thread, and be careful to avoid blocking anything the UI thread might be waiting on. This means you will need to execute various operations in the background. To make this easier, we've added a class called `Task`. A `Task` represents an asynchronous operation. Typically, a `Task` is returned from an asynchronous function and gives the ability to continue processing the result of the task. When a `Task` is returned from a function, it's already begun doing its job. A `Task` is not tied to a particular threading model: it represents the work being done, not where it is executing. `Task`s have many advantages over other methods of asynchronous programming, such as callbacks and `AsyncTask`."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"3"$"* They consume fewer system resources, since they don't occupy a thread while waiting on other `Task`s."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"4"$"* Performing several `Task`s in a row will not create nested ""pyramid"" code as you would get when using only callbacks."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"5"$"* `Task`s are fully composable, allowing you to perform branching, parallelism, and complex error handling, without the spaghetti code of having many named callbacks."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"6"$"Every `Task` has a method named `continueWith` which takes a `Continuation`. A continuation is an interface that you implement which has one method, named `then`. The `then` method is called when the `Task` is complete. You can then inspect the `Task` to check if it was successful and to get its result."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"7"$"62,7 @@ saveAsync(obj).continueWith(new Continuation() {"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"8"$"`Task`s are strongly-typed using Java Generics, so getting the syntax right can be a little tricky at first. Let's look closer at the types involved with an example."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"9"$"85,7 @@ public Task getStringAsync() {"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"10"$"In many cases, you only want to do more work if the previous `Task` was successful, and propagate any errors or cancellations to be dealt with later. To do this, use the `onSuccess` method instead of `continueWith`."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"11"$"98,7 @@ saveAsync(obj).onSuccess(new Continuation() {"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"12"$"`Task`s are a little bit magical, in that they let you chain them without nesting. If you use `continueWithTask` instead of `continueWith`, then you can return a new task. The `Task` returned by `continueWithTask` will not be considered complete until the new `Task` returned from within `continueWithTask` is. This lets you perform multiple actions without incurring the pyramid code you would get with callbacks. Likewise, `onSuccessTask` is a version of `onSuccess` that returns a new task. So, use `continueWith`/`onSuccess` to do more synchronous work, or `continueWithTask`/`onSuccessTask` to do more asynchronous work."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"13"$"130,7 @@ findAsync(query).onSuccessTask(new Continuation, Task failAsync() {"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"18"$"If you know the result of a `Task` at the time it is created, there are some convenience methods you can use."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"19"$"202,7 @@ Task failed = Task.forError(new RuntimeException(""An error message.""));"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"20"$"With these tools, it's easy to make your own asynchronous functions that return `Task`s. For example, you can define `fetchAsync` easily."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"21"$"220,7 @@ public Task fetchAsync(ParseObject obj) {"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"22"$"It's similarly easy to create `saveAsync`, `findAsync` or `deleteAsync`. We've also provided some convenience functions to help you create `Task`s from straight blocks of code. `callInBackground` runs a `Task` on our background thread pool, while `call` tries to execute its block immediately."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"23"$"232,7 @@ Task.callInBackground(new Callable() {"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"24"$"`Task`s are convenient when you want to do a series of asynchronous operations in a row, each one waiting for the previous to finish. For example, imagine you want to delete all of the comments on your blog."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"25"$"263,7 @@ findAsync(query).continueWithTask(new Continuation, Task"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"26"$"You can also perform several `Task`s in parallel, using the `whenAll` method. You can start multiple operations at once and use `Task.whenAll` to create a new `Task` that will be marked as completed when all of its input `Task`s are finished. The new `Task` will be successful only if all of the passed-in `Task`s succeed. Performing operations in parallel will be faster than doing them serially, but may consume more system resources and bandwidth."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"27"$"371,7 @@ saveAsync(obj1).onSuccessTask(new Continuation>()"$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "README.md"$"28"$"To cancel a `Task` create a `CancellationTokenSource` and pass the corresponding token to any methods that create a `Task` you want to cancel, then call `cancel()` on the source. This will cancel any ongoing `Task`s that the token was supplied to."$"verdict"$"1"$" b/README.md"$"2016-01-06 01:18:21" "Task.java"$"0"$"++ b/bolts-tasks/src/main/java/bolts/Task.java"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"1"$"47,54 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"2"$" /**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"3"$" * Interface for handlers invoked when a failed Task is about to be"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"4"$" * finalized, but the exception has not been consumed."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"5"$" *"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"6"$" *

The handler will execute in the GC thread, so if the handler needs to do"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"7"$" * anything time consuming or complex it is a good idea to fire off a Task"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"8"$" * to handle the exception."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"9"$" *"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"10"$" * @see #getUnobservedExceptionHandler"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"11"$" * @see #setUnobservedExceptionHandler"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"12"$" */"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"13"$" public interface UnobservedExceptionHandler {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"14"$" /**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"15"$" * Method invoked when the given task has an unobserved exception."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"16"$" *

Any exception thrown by this method will be ignored."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"17"$" * @param t the task"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"18"$" * @param e the exception"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"19"$" */"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"20"$" void unobservedException(Task t, UnobservedTaskException e);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"21"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"22"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"23"$" // null unless explicitly set"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"24"$" private static volatile UnobservedExceptionHandler unobservedExceptionHandler;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"25"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"26"$" /**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"27"$" * Returns the handler invoked when a task has an unobserved"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"28"$" * exception or null."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"29"$" */"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"30"$" public static UnobservedExceptionHandler getUnobservedExceptionHandler() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"31"$" return unobservedExceptionHandler;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"32"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"33"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"34"$" /**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"35"$" * Set the handler invoked when a task has an unobserved exception."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"36"$" * @param eh the object to use as an unobserved exception handler. If"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"37"$" * null then unobserved exceptions will be ignored."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"38"$" */"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"39"$" public static void setUnobservedExceptionHandler(UnobservedExceptionHandler eh) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"40"$" unobservedExceptionHandler = eh;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"41"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"42"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"43"$" private final Object lock = new Object();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"44"$" private boolean errorHasBeenObserved;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"45"$" private UnobservedErrorNotifier unobservedErrorNotifier;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"46"$"144,7 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"47"$" return getError() != null;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"48"$"162,13 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"49"$" if (error != null) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"50"$" errorHasBeenObserved = true;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"51"$" if (unobservedErrorNotifier != null) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"52"$" unobservedErrorNotifier.setObserved();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"53"$" unobservedErrorNotifier = null;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"54"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"55"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"56"$"407,8 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"57"$" } else {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"58"$" Throwable ensureObserved = task.getError();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"59"$"444,8 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"60"$" } else {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"61"$" Throwable ensureObserved = task.getError();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"62"$"993,11 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"63"$" errorHasBeenObserved = false;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"64"$" if (!errorHasBeenObserved && getUnobservedExceptionHandler() != null)"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "Task.java"$"65"$" unobservedErrorNotifier = new UnobservedErrorNotifier(this);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"66"$"++ b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"67"$"1,33 @@"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"68"$"package bolts;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"69"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"70"$"/**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"71"$" * This class is used to retain a faulted task until either its error is observed or it is"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"72"$" * finalized. If it is finalized with a task, then the uncaught exception handler is exected"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"73"$" * with an UnobservedTaskException."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"74"$" */"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"75"$"class UnobservedErrorNotifier {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"76"$" private Task task;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"77"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"78"$" public UnobservedErrorNotifier(Task task) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"79"$" this.task = task;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"80"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"81"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"82"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"83"$" protected void finalize() throws Throwable {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"84"$" try {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"85"$" Task faultedTask = this.task;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"86"$" if (faultedTask != null) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"87"$" Task.UnobservedExceptionHandler ueh = Task.getUnobservedExceptionHandler();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"88"$" if (ueh != null) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"89"$" ueh.unobservedException(faultedTask, new UnobservedTaskException(faultedTask.getError()));"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"90"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"91"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"92"$" } finally {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"93"$" super.finalize();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"94"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"95"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"96"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"97"$" public void setObserved() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"98"$" task = null;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"99"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedErrorNotifier.java"$"100"$"}"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedErrorNotifier.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"101"$"++ b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"102"$"1,10 @@"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"103"$"package bolts;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"104"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"105"$"/**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"106"$" * Used to signify that a Task's error went unobserved."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"107"$" */"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"108"$"public class UnobservedTaskException extends RuntimeException {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"109"$" public UnobservedTaskException(Throwable cause) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"110"$" super(cause);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"111"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "UnobservedTaskException.java"$"112"$"}"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/UnobservedTaskException.java"$"2016-01-11 19:46:39" "TaskTest.java"$"113"$"++ b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"114"$"404,40 @@ public class TaskTest {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"115"$" @Test"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"116"$" public void testUnobservedError() throws InterruptedException {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"117"$" try {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"118"$" final Object sync = new Object();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"119"$" Task.setUnobservedExceptionHandler(new Task.UnobservedExceptionHandler() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"120"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"121"$" public void unobservedException(Task t, UnobservedTaskException e) {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"122"$" synchronized (sync) {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"123"$" sync.notify();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"124"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"125"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"126"$" });"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"127"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"128"$" synchronized (sync) {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"129"$" startFailedTask();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"130"$" System.gc();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"131"$" sync.wait();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"132"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"133"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"134"$" } finally {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"135"$" Task.setUnobservedExceptionHandler(null);"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"136"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"137"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"138"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"139"$" // runs in a separate method to ensure it is out of scope."$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"140"$" private void startFailedTask() throws InterruptedException {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"141"$" Task.call(new Callable() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"142"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"143"$" public Object call() throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"144"$" throw new RuntimeException();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"145"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"146"$" }).waitForCompletion();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"147"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"148"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "TaskTest.java"$"149"$" @Test"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-11 19:46:39" "ExecutorException.java"$"0"$"++ b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"1"$"1,11 @@"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"2"$"package bolts;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"3"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"4"$"/**"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"5"$" * This is a wrapper class for emphasizing that task failed due to bad Executor, rather than the continuation block it self."$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"6"$" */"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"7"$"public class ExecutorException extends RuntimeException {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"8"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"9"$" public ExecutorException(Exception e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"10"$" super(""An exception was thrown by a Executor"", e);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"11"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "ExecutorException.java"$"12"$"}"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/ExecutorException.java"$"2016-01-13 04:42:15" "Task.java"$"13"$"++ b/bolts-tasks/src/main/java/bolts/Task.java"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"14"$"344,28 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"15"$" try {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"16"$" executor.execute(new Runnable() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"17"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"18"$" public void run() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"19"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"20"$" tcs.setCancelled();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"21"$" return;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"22"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"23"$" try {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"24"$" tcs.setResult(callable.call());"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"25"$" } catch (CancellationException e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"26"$" tcs.setCancelled();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"27"$" } catch (Exception e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"28"$" tcs.setError(e);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"29"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"30"$" });"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"31"$" } catch (Exception e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"32"$" tcs.setError(new ExecutorException(e));"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"33"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"34"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"35"$" return tcs.getTask();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"36"$"859,28 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"37"$" try {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"38"$" executor.execute(new Runnable() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"39"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"40"$" public void run() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"41"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"42"$" tcs.setCancelled();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"43"$" return;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"44"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"45"$" try {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"46"$" TContinuationResult result = continuation.then(task);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"47"$" tcs.setResult(result);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"48"$" } catch (CancellationException e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"49"$" tcs.setCancelled();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"50"$" } catch (Exception e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"51"$" tcs.setError(e);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"52"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"53"$" });"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"54"$" } catch (Exception e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"55"$" tcs.setError(new ExecutorException(e));"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"56"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"57"$"904,49 @@ public class Task {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"58"$" try {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"59"$" executor.execute(new Runnable() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"60"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"61"$" public void run() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"62"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"63"$" tcs.setCancelled();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"64"$" return;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"65"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"66"$" try {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"67"$" Task result = continuation.then(task);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"68"$" if (result == null) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"69"$" tcs.setResult(null);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"70"$" } else {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"71"$" result.continueWith(new Continuation() {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"72"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"73"$" public Void then(Task task) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"74"$" if (ct != null && ct.isCancellationRequested()) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"75"$" tcs.setCancelled();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"76"$" return null;"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"77"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"78"$""$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"79"$" if (task.isCancelled()) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"80"$" tcs.setCancelled();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"81"$" } else if (task.isFaulted()) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"82"$" tcs.setError(task.getError());"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"83"$" } else {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"84"$" tcs.setResult(task.getResult());"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"85"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"86"$" });"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"87"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"88"$" } catch (CancellationException e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"89"$" tcs.setCancelled();"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"90"$" } catch (Exception e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"91"$" tcs.setError(e);"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"92"$" });"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"93"$" } catch (Exception e) {"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"94"$" tcs.setError(new ExecutorException(e));"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "Task.java"$"95"$" }"$"verdict"$"1"$" b/bolts-tasks/src/main/java/bolts/Task.java"$"2016-01-13 04:42:15" "TaskTest.java"$"96"$"++ b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"97"$"19,7 @@ import java.util.List;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"98"$"import java.util.concurrent.Executor;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"99"$"1061,91 @@ public class TaskTest {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"100"$" @Test"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"101"$" public void testCallWithBadExecutor() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"102"$" final RuntimeException exception = new RuntimeException(""BAD EXECUTORS"");"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"103"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"104"$" Task.call(new Callable() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"105"$" public Integer call() throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"106"$" return 1;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"107"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"108"$" }, new Executor() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"109"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"110"$" public void execute(Runnable command) {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"111"$" throw exception;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"112"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"113"$" }).continueWith(new Continuation() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"114"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"115"$" public Object then(Task task) throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"116"$" assertTrue(task.isFaulted());"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"117"$" assertTrue(task.getError() instanceof ExecutorException);"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"118"$" assertEquals(exception, task.getError().getCause());"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"119"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"120"$" return null;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"121"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"122"$" });"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"123"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"124"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"125"$" @Test"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"126"$" public void testContinueWithBadExecutor() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"127"$" final RuntimeException exception = new RuntimeException(""BAD EXECUTORS"");"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"128"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"129"$" Task.call(new Callable() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"130"$" public Integer call() throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"131"$" return 1;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"132"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"133"$" }).continueWith(new Continuation() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"134"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"135"$" public Integer then(Task task) throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"136"$" return task.getResult();"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"137"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"138"$" }, new Executor() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"139"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"140"$" public void execute(Runnable command) {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"141"$" throw exception;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"142"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"143"$" }).continueWith(new Continuation() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"144"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"145"$" public Object then(Task task) throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"146"$" assertTrue(task.isFaulted());"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"147"$" assertTrue(task.getError() instanceof ExecutorException);"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"148"$" assertEquals(exception, task.getError().getCause());"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"149"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"150"$" return null;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"151"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"152"$" });"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"153"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"154"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"155"$" @Test"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"156"$" public void testContinueWithTaskAndBadExecutor() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"157"$" final RuntimeException exception = new RuntimeException(""BAD EXECUTORS"");"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"158"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"159"$" Task.call(new Callable() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"160"$" public Integer call() throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"161"$" return 1;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"162"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"163"$" }).continueWithTask(new Continuation>() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"164"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"165"$" public Task then(Task task) throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"166"$" return task;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"167"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"168"$" }, new Executor() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"169"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"170"$" public void execute(Runnable command) {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"171"$" throw exception;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"172"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"173"$" }).continueWith(new Continuation() {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"174"$" @Override"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"175"$" public Object then(Task task) throws Exception {"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"176"$" assertTrue(task.isFaulted());"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"177"$" assertTrue(task.getError() instanceof ExecutorException);"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"178"$" assertEquals(exception, task.getError().getCause());"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"179"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"180"$" return null;"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"181"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"182"$" });"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"183"$" }"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"184"$""$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "TaskTest.java"$"185"$" //region TaskCompletionSource"$"verdict"$"1"$" b/bolts-tasks/src/test/java/bolts/TaskTest.java"$"2016-01-13 04:42:15" "build.gradle"$"0"$"++ b/build.gradle"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"1"$"22,24 @@ ext {"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"2"$""$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"3"$"task aggregateJavadocs(type: Javadoc) {"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"4"$" destinationDir = file(""$buildDir/docs/javadoc"")"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"5"$"}"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"6"$""$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"7"$"subprojects {"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"8"$" afterEvaluate {"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"9"$" if (plugins.hasPlugin(JavaPlugin)) {"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"10"$" rootProject.tasks.aggregateJavadocs {"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"11"$" source += javadoc.source"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"12"$" classpath += files(javadoc.classpath)"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"13"$" }"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"14"$" }"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"15"$" if (plugins.hasPlugin(com.android.build.gradle.LibraryPlugin)) {"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"16"$" rootProject.tasks.aggregateJavadocs {"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"17"$" source += files(android.sourceSets.main.java.srcDirs)"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"18"$" classpath += files(project.files(android.getBootClasspath().join(File.pathSeparator)))"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"19"$" }"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"20"$" }"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "build.gradle"$"21"$" }"$"verdict"$"1"$" b/build.gradle"$"2016-01-15 21:55:18" "Bolts.java"$"0"$"++ b/bolts-applinks/src/main/java/bolts/Bolts.java"$"verdict"$"1"$" b/bolts-applinks/src/main/java/bolts/Bolts.java"$"2016-01-15 23:31:13" "Bolts.java"$"1"$"16,5 @@ public final class Bolts {"$"verdict"$"1"$" b/bolts-applinks/src/main/java/bolts/Bolts.java"$"2016-01-15 23:31:13" "Bolts.java"$"2"$" public static final String VERSION = ""1.4.1-SNAPSHOT"";"$"verdict"$"1"$" b/bolts-applinks/src/main/java/bolts/Bolts.java"$"2016-01-15 23:31:13" "gradle.properties"$"3"$"++ b/gradle.properties"$"verdict"$"1"$" b/gradle.properties"$"2016-01-15 23:31:13" "gradle.properties"$"4"$"1,2 @@"$"verdict"$"1"$" b/gradle.properties"$"2016-01-15 23:31:13" "gradle.properties"$"5"$"VERSION_NAME=1.4.1-SNAPSHOT"$"verdict"$"1"$" b/gradle.properties"$"2016-01-15 23:31:13" "README.md"$"0"$"++ b/README.md"$"verdict"$"0"$" b/README.md"$"2016-01-15 23:31:58" "README.md"$"1"$"24,8 @@ Download [the latest JAR][latest] or define in Gradle:"$"verdict"$"0"$" b/README.md"$"2016-01-15 23:31:58" "README.md"$"2"$" compile 'com.parse.bolts:bolts-tasks:1.4.0'"$"verdict"$"0"$" b/README.md"$"2016-01-15 23:31:58" "README.md"$"3"$" compile 'com.parse.bolts:bolts-applinks:1.4.0'"$"verdict"$"0"$" b/README.md"$"2016-01-15 23:31:58" "README.md"$"0"$"++ b/README.md"$"verdict"$"1"$" b/README.md"$"2016-01-15 23:51:39" "README.md"$"1"$"17,7 @@ Bolts includes:"$"verdict"$"1"$" b/README.md"$"2016-01-15 23:51:39" "README.md"$"2"$"For more information, see the [Bolts Android API Reference](http://boltsframework.github.io/Bolts-Android/)."$"verdict"$"1"$" b/README.md"$"2016-01-15 23:51:39" "gradle-wrapper.properties"$"0"$"++ b/gradle/wrapper/gradle-wrapper.properties"$"verdict"$"1"$" b/gradle/wrapper/gradle-wrapper.properties"$"2016-04-08 01:52:32" "gradle-wrapper.properties"$"1"$"1,6 @@"$"verdict"$"1"$" b/gradle/wrapper/gradle-wrapper.properties"$"2016-04-08 01:52:32" "gradle-wrapper.properties"$"2"$"#Thu Apr 07 12:11:59 PDT 2016"$"verdict"$"1"$" b/gradle/wrapper/gradle-wrapper.properties"$"2016-04-08 01:52:32" "gradle-wrapper.properties"$"3"$"distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip"$"verdict"$"1"$" b/gradle/wrapper/gradle-wrapper.properties"$"2016-04-08 01:52:32" "README.md"$"0"$"++ b/README.md"$"verdict"$"1"$" b/README.md"$"2016-05-10 04:15:03" "README.md"$"1"$"575,7 @@ App Links Measurement Events sends additional information from App Links Intents"$"verdict"$"1"$" b/README.md"$"2016-05-10 04:15:03" "README.md"$"2"$" [coverage-status-svg]: https://coveralls.io/repos/BoltsFramework/Bolts-Android/badge.svg?branch=master&service=github"$"verdict"$"1"$" b/README.md"$"2016-05-10 04:15:03"