summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yi Kong <yikong@google.com> 2024-10-29 11:28:24 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2024-10-29 11:28:24 +0000
commitc20ef789b92938dbf6a986771835caab9217bf4a (patch)
tree3e47feca905a62ca3baa2ad5acf9e265ecafae00
parent5e796fe9fef74cba01c0a3578b2d7aa81fe59b8c (diff)
parentbd3c95be1cfe19597bbfb064886c58994ca72f94 (diff)
Merge "profcollect: check if ADB is active when the service starts." into main
-rw-r--r--services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java16
1 files changed, 11 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 42c171bb4351..4e868887ea1b 100644
--- a/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java
+++ b/services/profcollect/src/com/android/server/profcollect/ProfcollectForwardingService.java
@@ -16,6 +16,8 @@
package com.android.server.profcollect;
+import android.Manifest;
+import android.annotation.RequiresPermission;
import android.app.job.JobInfo;
import android.app.job.JobParameters;
import android.app.job.JobScheduler;
@@ -88,10 +90,11 @@ public final class ProfcollectForwardingService extends SystemService {
createAndUploadReport(sSelfService);
}
if (UsbManager.ACTION_USB_STATE.equals(intent.getAction())) {
- boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
boolean isADB = intent.getBooleanExtra(UsbManager.USB_FUNCTION_ADB, false);
if (isADB) {
- Log.d(LOG_TAG, "Received broadcast that ADB became " + connected);
+ boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
+ Log.d(LOG_TAG, "Received broadcast that ADB became " + connected
+ + ", was " + mAdbActive);
mAdbActive = connected;
}
}
@@ -117,9 +120,6 @@ public final class ProfcollectForwardingService extends SystemService {
mUploadEnabled =
context.getResources().getBoolean(R.bool.config_profcollectReportUploaderEnabled);
- // TODO: ADB might already be active when our service started.
- mAdbActive = false;
-
final IntentFilter filter = new IntentFilter();
filter.addAction(INTENT_UPLOAD_PROFILES);
filter.addAction(UsbManager.ACTION_USB_STATE);
@@ -140,7 +140,13 @@ public final class ProfcollectForwardingService extends SystemService {
}
@Override
+ @RequiresPermission(Manifest.permission.MANAGE_USB)
public void onBootPhase(int phase) {
+ if (phase == PHASE_SYSTEM_SERVICES_READY) {
+ UsbManager usbManager = getContext().getSystemService(UsbManager.class);
+ mAdbActive = ((usbManager.getCurrentFunctions() & UsbManager.FUNCTION_ADB) == 1);
+ Log.d(LOG_TAG, "ADB is " + mAdbActive + " on system startup");
+ }
if (phase == PHASE_BOOT_COMPLETED) {
if (mIProfcollect == null) {
return;