package com.squareup.leakcanary.internal; import android.content.Context; import android.content.Intent; import androidx.core.content.ContextCompat; import com.squareup.leakcanary.AbstractAnalysisResultService; import com.squareup.leakcanary.AnalyzerProgressListener; import com.squareup.leakcanary.CanaryLog; import com.squareup.leakcanary.HeapAnalyzer; import com.squareup.leakcanary.HeapDump; import com.squareup.leakcanary.R; /* loaded from: classes.dex */ public final class HeapAnalyzerService extends ForegroundService implements AnalyzerProgressListener { private static final String HEAPDUMP_EXTRA = "heapdump_extra"; private static final String LISTENER_CLASS_EXTRA = "listener_class_extra"; public HeapAnalyzerService() { super(HeapAnalyzerService.class.getSimpleName(), R.string.leak_canary_notification_analysing); } public static void runAnalysis(Context context, HeapDump heapDump, Class cls) { LeakCanaryInternals.setEnabledBlocking(context, HeapAnalyzerService.class, true); LeakCanaryInternals.setEnabledBlocking(context, cls, true); Intent intent = new Intent(context, (Class) HeapAnalyzerService.class); intent.putExtra(LISTENER_CLASS_EXTRA, cls.getName()); intent.putExtra(HEAPDUMP_EXTRA, heapDump); ContextCompat.a(context, intent); } @Override // com.squareup.leakcanary.internal.ForegroundService protected void onHandleIntentInForeground(Intent intent) { if (intent == null) { CanaryLog.d("HeapAnalyzerService received a null intent, ignoring.", new Object[0]); return; } String stringExtra = intent.getStringExtra(LISTENER_CLASS_EXTRA); HeapDump heapDump = (HeapDump) intent.getSerializableExtra(HEAPDUMP_EXTRA); AbstractAnalysisResultService.sendResultToListener(this, stringExtra, heapDump, new HeapAnalyzer(heapDump.excludedRefs, this, heapDump.reachabilityInspectorClasses).checkForLeak(heapDump.heapDumpFile, heapDump.referenceKey, heapDump.computeRetainedHeapSize)); } @Override // com.squareup.leakcanary.AnalyzerProgressListener public void onProgressUpdate(AnalyzerProgressListener.Step step) { int ordinal = (int) ((step.ordinal() * 100.0f) / AnalyzerProgressListener.Step.values().length); CanaryLog.d("Analysis in progress, working on: %s", step.name()); String lowerCase = step.name().replace("_", " ").toLowerCase(); showForegroundNotification(100, ordinal, false, lowerCase.substring(0, 1).toUpperCase() + lowerCase.substring(1)); } }