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:
@@ -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());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user