1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.os;
18 
19 import android.annotation.SystemApi;
20 
21 /**
22  * Callback function for UpdateEngine. Used to keep the caller up to date
23  * with progress, so the UI (if any) can be updated.
24  *
25  * The APIs defined in this class and UpdateEngine class must be in sync with
26  * the ones in
27  * system/update_engine/binder_bindings/android/os/IUpdateEngine.aidl and
28  * system/update_engine/binder_bindings/android/os/IUpdateEngineCallback.aidl.
29  *
30  * {@hide}
31  */
32 @SystemApi
33 public abstract class UpdateEngineCallback {
34 
35     /**
36      * Invoked when anything changes. The value of {@code status} will
37      * be one of the values from {@link UpdateEngine.UpdateStatusConstants},
38      * and {@code percent} will be valid [TODO: in which cases?].
39      */
onStatusUpdate(int status, float percent)40     public abstract void onStatusUpdate(int status, float percent);
41 
42     /**
43      * Invoked when the payload has been applied, whether successfully or
44      * unsuccessfully. The value of {@code errorCode} will be one of the
45      * values from {@link UpdateEngine.ErrorCodeConstants}.
46      */
onPayloadApplicationComplete(int errorCode)47     public abstract void onPayloadApplicationComplete(int errorCode);
48 }
49