Loading services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java +19 −13 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.app.job.JobService; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; import android.os.Handler; import android.os.IBinder.DeathRecipient; import android.os.Looper; Loading @@ -42,6 +43,9 @@ import com.android.server.wm.ActivityMetricsLaunchObserver; import com.android.server.wm.ActivityMetricsLaunchObserverRegistry; import com.android.server.wm.ActivityTaskManagerInternal; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; Loading Loading @@ -297,24 +301,20 @@ public final class ProfcollectForwardingService extends SystemService { return; } final boolean uploadReport = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PROFCOLLECT_NATIVE_BOOT, "upload_report", false); new Thread(() -> { try { String reportUuid = mIProfcollect.report(); if (!uploadReport) { final int profileId = getBBProfileId(); String reportDir = "/data/user/" + profileId + "/com.google.android.apps.internal.betterbug/cache/"; String reportPath = reportDir + reportUuid + ".zip"; if (!Files.exists(Paths.get(reportDir))) { Log.i(LOG_TAG, "Destination directory does not exist, abort upload."); return; } final int profileId = getBBProfileId(); mIProfcollect.copy_report_to_bb(profileId, reportUuid); String reportPath = "/data/user/" + profileId + "/com.google.android.apps.internal.betterbug/cache/" + reportUuid + ".zip"; Intent uploadIntent = new Intent("com.google.android.apps.betterbug.intent.action.UPLOAD_PROFILE") .setPackage("com.google.android.apps.internal.betterbug") Loading @@ -323,9 +323,15 @@ public final class ProfcollectForwardingService extends SystemService { .putExtra("EXTRA_PROFILE_PATH", reportPath) .addFlags(Intent.FLAG_RECEIVER_FOREGROUND); Context context = getContext(); if (context.getPackageManager().queryBroadcastReceivers(uploadIntent, 0) != null) { context.sendBroadcast(uploadIntent); List<ResolveInfo> receivers = context.getPackageManager().queryBroadcastReceivers(uploadIntent, 0); if (receivers == null || receivers.isEmpty()) { Log.i(LOG_TAG, "No one to receive upload intent, abort upload."); return; } mIProfcollect.copy_report_to_bb(profileId, reportUuid); context.sendBroadcast(uploadIntent); mIProfcollect.delete_report(reportUuid); } catch (RemoteException e) { Log.e(LOG_TAG, e.getMessage()); Loading Loading
services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java +19 −13 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.app.job.JobService; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; import android.os.Handler; import android.os.IBinder.DeathRecipient; import android.os.Looper; Loading @@ -42,6 +43,9 @@ import com.android.server.wm.ActivityMetricsLaunchObserver; import com.android.server.wm.ActivityMetricsLaunchObserverRegistry; import com.android.server.wm.ActivityTaskManagerInternal; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; Loading Loading @@ -297,24 +301,20 @@ public final class ProfcollectForwardingService extends SystemService { return; } final boolean uploadReport = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PROFCOLLECT_NATIVE_BOOT, "upload_report", false); new Thread(() -> { try { String reportUuid = mIProfcollect.report(); if (!uploadReport) { final int profileId = getBBProfileId(); String reportDir = "/data/user/" + profileId + "/com.google.android.apps.internal.betterbug/cache/"; String reportPath = reportDir + reportUuid + ".zip"; if (!Files.exists(Paths.get(reportDir))) { Log.i(LOG_TAG, "Destination directory does not exist, abort upload."); return; } final int profileId = getBBProfileId(); mIProfcollect.copy_report_to_bb(profileId, reportUuid); String reportPath = "/data/user/" + profileId + "/com.google.android.apps.internal.betterbug/cache/" + reportUuid + ".zip"; Intent uploadIntent = new Intent("com.google.android.apps.betterbug.intent.action.UPLOAD_PROFILE") .setPackage("com.google.android.apps.internal.betterbug") Loading @@ -323,9 +323,15 @@ public final class ProfcollectForwardingService extends SystemService { .putExtra("EXTRA_PROFILE_PATH", reportPath) .addFlags(Intent.FLAG_RECEIVER_FOREGROUND); Context context = getContext(); if (context.getPackageManager().queryBroadcastReceivers(uploadIntent, 0) != null) { context.sendBroadcast(uploadIntent); List<ResolveInfo> receivers = context.getPackageManager().queryBroadcastReceivers(uploadIntent, 0); if (receivers == null || receivers.isEmpty()) { Log.i(LOG_TAG, "No one to receive upload intent, abort upload."); return; } mIProfcollect.copy_report_to_bb(profileId, reportUuid); context.sendBroadcast(uploadIntent); mIProfcollect.delete_report(reportUuid); } catch (RemoteException e) { Log.e(LOG_TAG, e.getMessage()); Loading