1 package leakcanary
2 
3 import android.annotation.SuppressLint
4 import leakcanary.HeapAnalysisInterceptor.Chain
5 import leakcanary.HeapAnalysisJob.Result
6 import java.util.concurrent.TimeUnit
7 
8 @SuppressLint("NewApi")
9 class MinimumElapsedSinceStartInterceptor(
10   private val minimumElapsedSinceStartMillis: Long = TimeUnit.SECONDS.toMillis(30),
11   private val processInfo: ProcessInfo = ProcessInfo.Real
12 ) : HeapAnalysisInterceptor {
13 
interceptnull14   override fun intercept(chain: Chain): Result {
15     if (processInfo.elapsedMillisSinceStart < minimumElapsedSinceStartMillis) {
16       chain.job.cancel("app started less than $minimumElapsedSinceStartMillis ms ago.")
17     }
18     return chain.proceed()
19   }
20 }