Merge "profcollectd: OTA Observer" am: 14a7d344a4

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1466225

Change-Id: If4daf34734dea92f027c80314a4f222d2e24b8ee
This commit is contained in:
Yi Kong
2020-10-20 19:22:59 +00:00
committed by Automerger Merge Worker

View File

@@ -29,6 +29,8 @@ import android.os.Looper;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceManager; import android.os.ServiceManager;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.os.UpdateEngine;
import android.os.UpdateEngineCallback;
import android.util.Log; import android.util.Log;
import com.android.server.IoThread; import com.android.server.IoThread;
@@ -198,6 +200,7 @@ public final class ProfcollectForwardingService extends SystemService {
// Event observers // Event observers
private void registerObservers() { private void registerObservers() {
registerAppLaunchObserver(); registerAppLaunchObserver();
registerOTAObserver();
} }
private final AppLaunchObserver mAppLaunchObserver = new AppLaunchObserver(); private final AppLaunchObserver mAppLaunchObserver = new AppLaunchObserver();
@@ -261,4 +264,33 @@ public final class ProfcollectForwardingService extends SystemService {
// Ignored // Ignored
} }
} }
private void registerOTAObserver() {
UpdateEngine updateEngine = new UpdateEngine();
updateEngine.bind(new UpdateEngineCallback() {
@Override
public void onStatusUpdate(int status, float percent) {
if (status == UpdateEngine.UpdateStatusConstants.UPDATED_NEED_REBOOT) {
packProfileReport();
}
}
@Override
public void onPayloadApplicationComplete(int errorCode) {
// Ignored
}
});
}
private void packProfileReport() {
if (mIProfcollect == null) {
return;
}
try {
mIProfcollect.CreateProfileReport();
} catch (RemoteException e) {
Log.e(LOG_TAG, e.getMessage());
}
}
} }