diff options
| author | 2021-03-24 18:55:19 +0000 | |
|---|---|---|
| committer | 2021-03-24 18:55:19 +0000 | |
| commit | 598eae0da42a7637e6bb39b32eddad0f5ba7026e (patch) | |
| tree | 442ee0e364dda200b360e7a4fca7fd957dfb5b40 | |
| parent | 80f11bb5bb647e2bc7d0c605e3938def67657ef8 (diff) | |
| parent | 5411289db2d5a642491106111beb6b96e598e784 (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.java | 30 |
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(); } } |