Merge "Add Binder.clearCallingIdentity to TracingServiceProxy"

This commit is contained in:
Treehugger Robot
2021-06-24 20:45:29 +00:00
committed by Gerrit Code Review

View File

@@ -20,6 +20,7 @@ import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Binder;
import android.os.UserHandle;
import android.tracing.ITracingServiceProxy;
import android.util.Log;
@@ -30,6 +31,8 @@ import com.android.server.SystemService;
* TracingServiceProxy is the system_server intermediary between the Perfetto tracing daemon and the
* system tracing app Traceur.
*
* Access to this service is restricted via SELinux. Normal apps do not have access.
*
* @hide
*/
public class TracingServiceProxy extends SystemService {
@@ -87,11 +90,15 @@ public class TracingServiceProxy extends SystemService {
intent.setAction(INTENT_ACTION_NOTIFY_SESSION_STOPPED);
}
final long identity = Binder.clearCallingIdentity();
try {
mContext.startForegroundServiceAsUser(intent, UserHandle.SYSTEM);
} catch (RuntimeException e) {
Log.e(TAG, "Failed to notifyTraceSessionEnded", e);
} finally {
Binder.restoreCallingIdentity(identity);
}
} catch (NameNotFoundException e) {
Log.e(TAG, "Failed to locate Traceur", e);
}