@Override protected final void onAnalysisResultFailure(String failureMessage) { super.onAnalysisResultFailure(failureMessage); String failureTitle = getString(R.string.leak_canary_result_failure_title); showNotification(null, failureTitle, failureMessage); }
@Override protected final void onHandleIntentInForeground(@Nullable Intent intent) { if (intent == null) { CanaryLog.d("AbstractAnalysisResultService received a null intent, ignoring."); return; } if (!intent.hasExtra(ANALYZED_HEAP_PATH_EXTRA)) { onAnalysisResultFailure(getString(R.string.leak_canary_result_failure_no_disk_space)); return; } File analyzedHeapFile = new File(intent.getStringExtra(ANALYZED_HEAP_PATH_EXTRA)); AnalyzedHeap analyzedHeap = AnalyzedHeap.load(analyzedHeapFile); if (analyzedHeap == null) { onAnalysisResultFailure(getString(R.string.leak_canary_result_failure_no_file)); return; } try { onHeapAnalyzed(analyzedHeap); } finally { //noinspection ResultOfMethodCallIgnored analyzedHeap.heapDump.heapDumpFile.delete(); //noinspection ResultOfMethodCallIgnored analyzedHeap.selfFile.delete(); } }