Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52f8abc2 authored by Yi Kong's avatar Yi Kong
Browse files

profcollect: gracefully handle ServiceSpecificException

We should not crash the service when there is a transient error in the
native backend.

Test: presubmit
Bug: 369526161
Change-Id: I81698c11ed5aba98421a833a0be53db77fa3a7d8
parent 0d42cb57
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.server.profcollect;
import static com.android.server.profcollect.ProfcollectForwardingService.LOG_TAG;

import android.os.RemoteException;
import android.os.ServiceSpecificException;
import android.provider.DeviceConfig;
import android.util.Log;

@@ -42,7 +43,7 @@ public final class Utils {
        BackgroundThread.get().getThreadHandler().post(() -> {
            try {
                mIProfcollect.trace_system(eventName);
            } catch (RemoteException e) {
            } catch (RemoteException | ServiceSpecificException e) {
                Log.e(LOG_TAG, "Failed to initiate trace: " + e.getMessage());
            }
        });
@@ -56,7 +57,7 @@ public final class Utils {
        BackgroundThread.get().getThreadHandler().postDelayed(() -> {
            try {
                mIProfcollect.trace_system(eventName);
            } catch (RemoteException e) {
            } catch (RemoteException | ServiceSpecificException e) {
                Log.e(LOG_TAG, "Failed to initiate trace: " + e.getMessage());
            }
        }, delayMs);
@@ -73,7 +74,7 @@ public final class Utils {
                mIProfcollect.trace_process(eventName,
                        processName,
                        durationMs);
            } catch (RemoteException e) {
            } catch (RemoteException | ServiceSpecificException e) {
                Log.e(LOG_TAG, "Failed to initiate trace: " + e.getMessage());
            }
        });