diff options
| author | 2024-10-29 11:28:24 +0000 | |
|---|---|---|
| committer | 2024-10-29 11:28:24 +0000 | |
| commit | c20ef789b92938dbf6a986771835caab9217bf4a (patch) | |
| tree | 3e47feca905a62ca3baa2ad5acf9e265ecafae00 | |
| parent | 5e796fe9fef74cba01c0a3578b2d7aa81fe59b8c (diff) | |
| parent | bd3c95be1cfe19597bbfb064886c58994ca72f94 (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.java | 16 |
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; |