summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yi Kong <yikong@google.com> 2021-03-24 18:55:19 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-03-24 18:55:19 +0000
commit598eae0da42a7637e6bb39b32eddad0f5ba7026e (patch)
tree442ee0e364dda200b360e7a4fca7fd957dfb5b40
parent80f11bb5bb647e2bc7d0c605e3938def67657ef8 (diff)
parent5411289db2d5a642491106111beb6b96e598e784 (diff)
Merge "profcollect: Broadcast intent when a profile report is ready to upload" am: 096f175b7f am: 5411289db2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1649299 Change-Id: I0a79e53438f505c01b3eb9449ca94db6df933ff6
-rw-r--r--services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java30
1 files changed, 25 insertions, 5 deletions
diff --git a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java
index a262939c0ef9..29aedcea0cd2 100644
--- a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java
+++ b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java
@@ -295,10 +295,30 @@ public final class ProfcollectForwardingService extends SystemService {
return;
}
- try {
- mIProfcollect.report();
- } catch (RemoteException e) {
- Log.e(LOG_TAG, e.getMessage());
- }
+ final boolean uploadReport =
+ DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PROFCOLLECT_NATIVE_BOOT,
+ "upload_report", false);
+
+ new Thread(() -> {
+ try {
+ String reportPath = mIProfcollect.report();
+ if (!uploadReport) {
+ return;
+ }
+ Intent uploadIntent =
+ new Intent("com.google.android.apps.betterbug.intent.action.UPLOAD_PROFILE")
+ .setPackage("com.google.android.apps.internal.betterbug")
+ .putExtra("EXTRA_DESTINATION", "PROFCOLLECT")
+ .putExtra("EXTRA_PACKAGE_NAME", getContext().getPackageName())
+ .putExtra("EXTRA_PROFILE_PATH", reportPath)
+ .addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+ Context context = getContext();
+ if (context.getPackageManager().queryBroadcastReceivers(uploadIntent, 0) != null) {
+ context.sendBroadcast(uploadIntent);
+ }
+ } catch (RemoteException e) {
+ Log.e(LOG_TAG, e.getMessage());
+ }
+ }).start();
}
}