text: # Copyright (C) 2020 The LineageOS 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.
  
  import common
  
  def FullOTA_InstallEnd(info):
    OTA_InstallEnd(info)
    return
  
  def IncrementalOTA_InstallEnd(info):
    OTA_InstallEnd(info)
    return
  
  def AddImage(info, basename, dest):
    path = "IMAGES/" + basename
    if path not in info.input_zip.namelist():
      return
  
    data = info.input_zip.read(path)
    common.ZipWriteStr(info.output_zip, basename, data)
    info.script.AppendExtra('package_extract_file("%s", "%s");' % (basename, dest))
  
  def OTA_InstallEnd(info):
    info.script.Print("Patching firmware images...")
    AddImage(info, "dtbo.img", "/dev/block/bootdevice/by-name/dtbo")
    AddImage(info, "vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta")
    AddImage(info, "vbmeta_system.img", "/dev/block/bootdevice/by-name/vbmeta_system")
    return
  