80 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| /*
 | |
|  * Copyright (C) 2015 The Android Open Source Project
 | |
|  *
 | |
|  * Licensed under the Apache License, Version 2.0 (the "License");
 | |
|  * you may not use this file except in compliance with the License.
 | |
|  * You may obtain a copy of the License at
 | |
|  *
 | |
|  *      http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  * Unless required by applicable law or agreed to in writing, software
 | |
|  * distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  * See the License for the specific language governing permissions and
 | |
|  * limitations under the License.
 | |
|  */
 | |
| 
 | |
| package android.os;
 | |
| 
 | |
| import android.os.IUpdateEngineCallback;
 | |
| import android.os.ParcelFileDescriptor;
 | |
| 
 | |
| /** @hide */
 | |
| interface IUpdateEngine {
 | |
|   /** @hide */
 | |
|   void applyPayload(String url,
 | |
|                     in long payload_offset,
 | |
|                     in long payload_size,
 | |
|                     in String[] headerKeyValuePairs);
 | |
|   /** @hide */
 | |
|   void applyPayloadFd(in ParcelFileDescriptor pfd,
 | |
|                       in long payload_offset,
 | |
|                       in long payload_size,
 | |
|                       in String[] headerKeyValuePairs);
 | |
|   /** @hide */
 | |
|   boolean bind(IUpdateEngineCallback callback);
 | |
|   /** @hide */
 | |
|   boolean unbind(IUpdateEngineCallback callback);
 | |
|   /** @hide */
 | |
|   void suspend();
 | |
|   /** @hide */
 | |
|   void resume();
 | |
|   /** @hide */
 | |
|   void cancel();
 | |
|   /** @hide */
 | |
|   void resetStatus();
 | |
|   /** @hide */
 | |
|   void setShouldSwitchSlotOnReboot(in String metadataFilename);
 | |
|   /** @hide */
 | |
|   void resetShouldSwitchSlotOnReboot();
 | |
| 
 | |
|   /** @hide */
 | |
|   boolean verifyPayloadApplicable(in String metadataFilename);
 | |
|   /**
 | |
|    * Allocate space on userdata partition.
 | |
|    *
 | |
|    * @return 0 indicates allocation is successful.
 | |
|    *   Non-zero indicates space is insufficient. The returned value is the
 | |
|    *   total required space (in bytes) on userdata partition.
 | |
|    *
 | |
|    * @throws ServiceSpecificException for other errors.
 | |
|    *
 | |
|    * @hide
 | |
|    */
 | |
|   long allocateSpaceForPayload(in String metadataFilename,
 | |
|                                in String[] headerKeyValuePairs);
 | |
|   /** @hide
 | |
|    *
 | |
|    * Wait for merge to finish, and clean up necessary files.
 | |
|    *
 | |
|    * @param callback Report status updates in callback (not the one previously
 | |
|    * bound with {@link #bind()}).
 | |
|    * {@link IUpdateEngineCallback#onStatusUpdate} is called with
 | |
|    * CLEANUP_PREVIOUS_UPDATE and a progress value during the cleanup.
 | |
|    * {@link IUpdateEngineCallback#onPayloadApplicationComplete} is called at
 | |
|    * the end with SUCCESS if successful. ERROR if transient errors (e.g. merged
 | |
|    * but needs reboot). DEVICE_CORRUPTED for permanent errors.
 | |
|    */
 | |
|   void cleanupSuccessfulUpdate(IUpdateEngineCallback callback);
 | |
| }
 |