Merge "profcollectd: OTA Observer"

This commit is contained in:
Yi Kong
2020-10-20 07:38:29 +00:00
committed by Gerrit Code Review

View File

@@ -29,6 +29,8 @@ import android.os.Looper;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemProperties;
import android.os.UpdateEngine;
import android.os.UpdateEngineCallback;
import android.util.Log;
import com.android.server.IoThread;
@@ -198,6 +200,7 @@ public final class ProfcollectForwardingService extends SystemService {
// Event observers
private void registerObservers() {
registerAppLaunchObserver();
registerOTAObserver();
}
private final AppLaunchObserver mAppLaunchObserver = new AppLaunchObserver();
@@ -261,4 +264,33 @@ public final class ProfcollectForwardingService extends SystemService {
// 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());
}
}
}