Mark ab/7061308 as merged in stage.

Bug: 180401296
Merged-In: I26b1558a55c190b1d47b5f65a6ef33c92fce0127
Change-Id: Ia3c7dd8499516c9209e424945e70a0eb7bcb5cd0
diff --git a/Android.bp b/Android.bp
index 6477ee9..1285317 100644
--- a/Android.bp
+++ b/Android.bp
@@ -13,6 +13,37 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+package {
+    default_applicable_licenses: ["device_linaro_hikey_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+// See: http://go/android-license-faq
+license {
+    name: "device_linaro_hikey_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+        "SPDX-license-identifier-BSD",
+        "SPDX-license-identifier-GPL-2.0",
+        "SPDX-license-identifier-MIT",
+        "legacy_unencumbered",
+    ],
+    // large-scale-change unable to identify any license_text files
+}
+
 subdirs = [
     "bluetooth",
     "recovery",
diff --git a/audio/Android.mk b/audio/Android.mk
index 0a02789..eb0732d 100644
--- a/audio/Android.mk
+++ b/audio/Android.mk
@@ -24,6 +24,8 @@
 
 LOCAL_HEADER_LIBRARIES += libhardware_headers
 LOCAL_MODULE := audio.primary.$(TARGET_BOARD_PLATFORM)
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_RELATIVE_PATH := hw
 LOCAL_VENDOR_MODULE := true
 
@@ -48,4 +50,3 @@
 LOCAL_STATIC_LIBRARIES := libxtensa_proxy
 endif
 include $(BUILD_SHARED_LIBRARY)
-
diff --git a/bluetooth/Android.bp b/bluetooth/Android.bp
index e421c53..79fbcfb 100644
--- a/bluetooth/Android.bp
+++ b/bluetooth/Android.bp
@@ -13,6 +13,15 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "device_linaro_hikey_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-Apache-2.0
+    default_applicable_licenses: ["device_linaro_hikey_license"],
+}
+
 cc_binary {
     name: "android.hardware.bluetooth@1.0-service.hikey",
     proprietary: true,
diff --git a/fstab.ramdisk960 b/fstab.ramdisk960
new file mode 100644
index 0000000..098386d
--- /dev/null
+++ b/fstab.ramdisk960
@@ -0,0 +1,4 @@
+system /system ext4 noatime,ro,errors=panic wait,logical,first_stage_mount,slotselect
+vendor /vendor ext4 noatime,ro,errors=panic wait,logical,first_stage_mount,slotselect
+system_ext /system_ext ext4 noatime,ro,errors=panic wait,logical,first_stage_mount,slotselect
+product /product ext4 noatime,ro,errors=panic wait,logical,first_stage_mount,slotselect
diff --git a/gralloc/Android.bp b/gralloc/Android.bp
index a198df5..44da39e 100644
--- a/gralloc/Android.bp
+++ b/gralloc/Android.bp
@@ -1,3 +1,13 @@
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "device_linaro_hikey_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-Apache-2.0
+    //   SPDX-license-identifier-GPL-2.0
+    default_applicable_licenses: ["device_linaro_hikey_license"],
+}
+
 cc_library_shared {
     name: "hwcomposer.drm_hikey",
     defaults: ["hwcomposer.drm_defaults"],
diff --git a/gralloc/Android.mk b/gralloc/Android.mk
index 23a5a82..20b8f66 100644
--- a/gralloc/Android.mk
+++ b/gralloc/Android.mk
@@ -29,6 +29,8 @@
 MALI_DDK_TEST_PATH := hardware/arm/
 
 LOCAL_MODULE := gralloc.hikey
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0
+LOCAL_LICENSE_CONDITIONS := notice restricted
 LOCAL_MODULE_RELATIVE_PATH := hw
 #LOCAL_MODULE_TAGS := optional
 
diff --git a/gralloc960/Android.bp b/gralloc960/Android.bp
index 37d60a1..b8e39c5 100644
--- a/gralloc960/Android.bp
+++ b/gralloc960/Android.bp
@@ -1,3 +1,13 @@
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "device_linaro_hikey_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-Apache-2.0
+    //   SPDX-license-identifier-GPL-2.0
+    default_applicable_licenses: ["device_linaro_hikey_license"],
+}
+
 cc_library_shared {
     name: "hwcomposer.drm_hikey960",
     defaults: ["hwcomposer.drm_defaults"],
diff --git a/gralloc960/Android.mk b/gralloc960/Android.mk
index 35bdb8f..89f5857 100644
--- a/gralloc960/Android.mk
+++ b/gralloc960/Android.mk
@@ -153,6 +153,8 @@
 LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib
 LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64
 LOCAL_MODULE := gralloc.hikey960
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0
+LOCAL_LICENSE_CONDITIONS := notice restricted
 
 LOCAL_MODULE_TAGS := optional
 LOCAL_MULTILIB := both
diff --git a/hifi/debug-hifi/Android.mk b/hifi/debug-hifi/Android.mk
index 8e55d9a..eefcaa5 100644
--- a/hifi/debug-hifi/Android.mk
+++ b/hifi/debug-hifi/Android.mk
@@ -16,6 +16,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := debug-hifi
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_SHARED_LIBRARIES := liblog libcutils
 LOCAL_SRC_FILES := debug-hifi.c
 include $(BUILD_EXECUTABLE)
diff --git a/hifi/xaf/host-apf/Android.bp b/hifi/xaf/host-apf/Android.bp
index 7bd2005..5887538 100644
--- a/hifi/xaf/host-apf/Android.bp
+++ b/hifi/xaf/host-apf/Android.bp
@@ -12,6 +12,15 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "device_linaro_hikey_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-MIT
+    default_applicable_licenses: ["device_linaro_hikey_license"],
+}
+
 cc_prebuilt_binary {
     name: "dhifimesg",
     srcs: ["tools/dhifimesg"],
diff --git a/hifi/xaf/host-apf/Android.mk b/hifi/xaf/host-apf/Android.mk
index 2bce8cf..270c9aa 100644
--- a/hifi/xaf/host-apf/Android.mk
+++ b/hifi/xaf/host-apf/Android.mk
@@ -31,6 +31,8 @@
 LOCAL_C_INCLUDES += external/expat/lib
 LOCAL_CFLAGS := $(C_FLAGS)
 LOCAL_MODULE := libxtensa_proxy
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_TAGS := optional
 
 include $(BUILD_STATIC_LIBRARY)
@@ -41,6 +43,8 @@
 include $(CLEAR_VARS)
 LOCAL_VENDOR_MODULE := true
 LOCAL_MODULE := xaf-dec-test
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
+LOCAL_LICENSE_CONDITIONS := notice
 
 LOCAL_SRC_FILES := \
     utest/xaf-dec-test.c
@@ -58,6 +62,8 @@
 include $(CLEAR_VARS)
 LOCAL_VENDOR_MODULE := true
 LOCAL_MODULE := xaf-dec-mix-test
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-MIT
+LOCAL_LICENSE_CONDITIONS := notice
 
 LOCAL_SRC_FILES := \
     utest/xaf-dec-mix-test.c
@@ -68,4 +74,3 @@
 LOCAL_SHARED_LIBRARIES := liblog libcutils
 LOCAL_MODULE_TAGS := optional
 include $(BUILD_EXECUTABLE)
-
diff --git a/hikey960.mk b/hikey960.mk
index 76a5672..03d0b96 100644
--- a/hikey960.mk
+++ b/hikey960.mk
@@ -29,13 +29,6 @@
 $(call inherit-product, device/linaro/hikey/hikey960/device-hikey960.mk)
 $(call inherit-product, device/linaro/hikey/device-common.mk)
 
-#setup dm-verity configs
-PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/platform/soc/ff3b0000.ufs/by-name/system
-PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/soc/ff3b0000.ufs/by-name/vendor
-$(call inherit-product, build/target/product/verity.mk)
-PRODUCT_SUPPORTS_BOOT_SIGNER := false
-PRODUCT_SUPPORTS_VERITY_FEC := false
-
 PRODUCT_PROPERTY_OVERRIDES += ro.opengles.version=196608
 
 #
@@ -50,11 +43,13 @@
   HIKEY_MODS := $(wildcard $(HIKEY_MOD_DIR)/*.ko)
   SDCARDFS_KO := $(wildcard $(HIKEY_MOD_DIR)/sdcardfs*.ko)
   CMA_HEAP_KO := $(wildcard $(HIKEY_MOD_DIR)/cma_heap.ko)
+  SYSTEM_HEAP_KO := $(wildcard $(HIKEY_MOD_DIR)/system_heap.ko)
   ION_CMA_HEAP_KO := $(wildcard $(HIKEY_MOD_DIR)/ion_cma_heap*.ko)
   ifneq ($(HIKEY_MODS),)
     BOARD_VENDOR_KERNEL_MODULES += $(HIKEY_MODS)
     BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \
         $(CMA_HEAP_KO) \
+        $(SYSTEM_HEAP_KO) \
         $(ION_CMA_HEAP_KO) \
         $(SDCARDFS_KO)
   endif
diff --git a/hikey960/BoardConfig.mk b/hikey960/BoardConfig.mk
index 3cd7a63..939723b 100644
--- a/hikey960/BoardConfig.mk
+++ b/hikey960/BoardConfig.mk
@@ -10,7 +10,7 @@
 
 BOARD_KERNEL_CMDLINE := androidboot.hardware=hikey960 firmware_class.path=/vendor/firmware efi=noruntime init=/init
 BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/ff3b0000.ufs
-BOARD_KERNEL_CMDLINE += loglevel=15
+BOARD_KERNEL_CMDLINE += loglevel=15 androidboot.slot_suffix=_a
 
 ifeq ($(TARGET_BUILTIN_EDID), true)
 BOARD_KERNEL_CMDLINE += drm_kms_helper.edid_firmware=edid/1920x1080.bin
@@ -41,15 +41,24 @@
 BOARD_MKBOOTIMG_ARGS := --base 0x0 --tags_offset 0x07a00000 --kernel_offset 0x00080000 --ramdisk_offset 0x07c00000
 
 BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4915724288    # 4688MB
 BOARD_USERDATAIMAGE_PARTITION_SIZE := 25845301248 # 24648MB
 BOARD_FLASH_BLOCK_SIZE := 512
 
-# Vendor partition definitions
+# Vendor/system_ext/product partition definitions
 TARGET_COPY_OUT_VENDOR := vendor
-BOARD_VENDORIMAGE_PARTITION_SIZE := 822083584     # 784MB
 BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_VENDORIMAGE_JOURNAL_SIZE := 0
-BOARD_VENDORIMAGE_EXTFS_INODE_COUNT := 2048
+TARGET_COPY_OUT_SYSTEM_EXT := system_ext
+BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
+TARGET_COPY_OUT_PRODUCT := product
+BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4
+
+#Dynamic Partition details
+TARGET_USE_DYNAMIC_PARTITIONS := true
+BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT := true
+BOARD_SUPER_PARTITION_SIZE := 4915724288
+BOARD_SUPER_PARTITION_GROUPS := hikey960_dynamic_partitions
+BOARD_HIKEY960_DYNAMIC_PARTITIONS_PARTITION_LIST := system vendor system_ext product
+BOARD_HIKEY960_DYNAMIC_PARTITIONS_SIZE := 4915724288
+BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE := true
 
 TARGET_RECOVERY_FSTAB := device/linaro/hikey/hikey960/fstab.hikey960
diff --git a/hikey960/device-hikey960.mk b/hikey960/device-hikey960.mk
index 301a16b..d901035 100644
--- a/hikey960/device-hikey960.mk
+++ b/hikey960/device-hikey960.mk
@@ -14,11 +14,21 @@
 # limitations under the License.
 #
 
+# Enable Virtual A/B
+AB_OTA_UPDATER := true
+AB_OTA_PARTITIONS += \
+    product \
+    system \
+    system_ext \
+    vendor
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
+
 PRODUCT_COPY_FILES +=	$(TARGET_PREBUILT_KERNEL):kernel \
 			$(TARGET_PREBUILT_DTB):hi3660-hikey960.dtb
 
 PRODUCT_COPY_FILES +=	$(LOCAL_PATH)/fstab.hikey960:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.hikey960 \
-			device/linaro/hikey/fstab.ramdisk:$(TARGET_COPY_OUT_RAMDISK)/fstab.hikey960 \
+			device/linaro/hikey/fstab.ramdisk960:$(TARGET_COPY_OUT_RAMDISK)/fstab.hikey960 \
 			device/linaro/hikey/hikey960/init.hikey960.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.hikey960.rc \
 			device/linaro/hikey/init.hikey960.power.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.hikey960.power.rc \
 			device/linaro/hikey/hikey960/init.hikey960.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.hikey960.usb.rc \
@@ -28,6 +38,10 @@
 			frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
 			frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml
 
+PRODUCT_BUILD_SUPER_PARTITION := true
+PRODUCT_USE_DYNAMIC_PARTITIONS := true
+PRODUCT_USE_DYNAMIC_PARTITION_SIZE :=true
+
 # Copy BT firmware
 PRODUCT_COPY_FILES += \
 	device/linaro/hikey/bt-wifi-firmware-util/TIInit_11.8.32-pcm-960.bts:$(TARGET_COPY_OUT_VENDOR)/firmware/ti-connectivity/TIInit_11.8.32.bts
diff --git a/installer/hikey960/flash-all.sh b/installer/hikey960/flash-all.sh
index 2888020..2828089 100755
--- a/installer/hikey960/flash-all.sh
+++ b/installer/hikey960/flash-all.sh
@@ -24,7 +24,6 @@
 fastboot flash trustfirmware   "${INSTALLER_DIR}"/hisi-bl31.bin
 fastboot flash boot "${ANDROID_PRODUCT_OUT}"/boot.img
 fastboot flash dts "${ANDROID_PRODUCT_OUT}"/dt.img
-fastboot flash system "${ANDROID_PRODUCT_OUT}"/system.img
-fastboot flash vendor "${ANDROID_PRODUCT_OUT}"/vendor.img
+fastboot flash super "${ANDROID_PRODUCT_OUT}"/super.img
 fastboot flash userdata "${ANDROID_PRODUCT_OUT}"/userdata.img
 fastboot reboot
diff --git a/installer/hikey960/prm_ptable.img b/installer/hikey960/prm_ptable.img
index c81ffcf..e7b9b03 100644
--- a/installer/hikey960/prm_ptable.img
+++ b/installer/hikey960/prm_ptable.img
Binary files differ
diff --git a/installer/hikey960/uefi-flash-all.sh b/installer/hikey960/uefi-flash-all.sh
index fe42486..9c7301d 100755
--- a/installer/hikey960/uefi-flash-all.sh
+++ b/installer/hikey960/uefi-flash-all.sh
@@ -44,9 +44,7 @@
 	fastboot flash fip "${INSTALLER_DIR}"/fip.bin
 
 	fastboot flash boot "${ANDROID_PRODUCT_OUT}"/boot.img
-	fastboot flash system "${ANDROID_PRODUCT_OUT}"/system.img
-	fastboot flash vendor "${ANDROID_PRODUCT_OUT}"/vendor.img
-	fastboot flash cache "${ANDROID_PRODUCT_OUT}"/cache.img
+	fastboot flash super "${ANDROID_PRODUCT_OUT}"/super.img
 	fastboot flash userdata "${ANDROID_PRODUCT_OUT}"/userdata.img
 }
 
diff --git a/libmemtrack/Android.mk b/libmemtrack/Android.mk
index 629a5d6..630281f 100644
--- a/libmemtrack/Android.mk
+++ b/libmemtrack/Android.mk
@@ -26,5 +26,7 @@
 LOCAL_SHARED_LIBRARIES := liblog libhardware
 LOCAL_SRC_FILES := memtrack_hikey.c
 LOCAL_MODULE := memtrack.default
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 #LOCAL_MODULE := memtrack.$(TARGET_BOARD_PLATFORM)
 include $(BUILD_SHARED_LIBRARY)
diff --git a/mali/bifrost/Android.mk b/mali/bifrost/Android.mk
index 4ea05a7..0df1f5f 100644
--- a/mali/bifrost/Android.mk
+++ b/mali/bifrost/Android.mk
@@ -3,6 +3,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := END_USER_LICENCE_AGREEMENT.txt
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_STRIP_MODULE := false
 LOCAL_SRC_FILES_arm := $(LOCAL_MODULE)
@@ -12,6 +14,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := libGLES_mali.so
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_STRIP_MODULE := false
 LOCAL_SRC_FILES_arm := lib/egl/$(LOCAL_MODULE)
@@ -24,6 +28,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := libbccArm.so
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_STRIP_MODULE := false
 LOCAL_SRC_FILES_arm64 := lib64/$(LOCAL_MODULE)
@@ -36,6 +42,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := libRSDriverArm.so
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_STRIP_MODULE := false
 LOCAL_SRC_FILES_arm := lib/$(LOCAL_MODULE)
@@ -48,6 +56,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := libmalicore.bc
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_STRIP_MODULE := false
 LOCAL_SRC_FILES_arm := lib/$(LOCAL_MODULE)
@@ -59,6 +69,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := vulkan.hikey960.so
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_STRIP_MODULE := false
 LOCAL_SRC_FILES_arm := lib/hw/$(LOCAL_MODULE)
@@ -73,5 +85,3 @@
 include $(BUILD_PREBUILT)
 
 endif
-
-
diff --git a/mali/utgard/Android.mk b/mali/utgard/Android.mk
index 3e9ccec..c7afa7b 100644
--- a/mali/utgard/Android.mk
+++ b/mali/utgard/Android.mk
@@ -3,6 +3,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := END_USER_LICENCE_AGREEMENT.txt
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_STRIP_MODULE := false
 LOCAL_SRC_FILES_arm := $(LOCAL_MODULE)
@@ -13,6 +15,8 @@
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := libGLES_mali.so
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_STRIP_MODULE := false
 LOCAL_SRC_FILES_arm := lib/egl/$(LOCAL_MODULE)
@@ -24,5 +28,3 @@
 include $(BUILD_PREBUILT)
 
 endif
-
-
diff --git a/power/Android.mk b/power/Android.mk
index 76ff789..0e08d0a 100644
--- a/power/Android.mk
+++ b/power/Android.mk
@@ -24,6 +24,8 @@
 LOCAL_MODULE_TAGS := optional
 
 LOCAL_MODULE := android.hardware.power@1.1-service.hikey-common
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
+LOCAL_LICENSE_CONDITIONS := notice
 LOCAL_INIT_RC := android.hardware.power@1.1-service.hikey-common.rc
 LOCAL_SRC_FILES := service.cpp Power.cpp power_hikey.c
 
diff --git a/recovery/Android.bp b/recovery/Android.bp
index 0fd8906..c4b8df0 100644
--- a/recovery/Android.bp
+++ b/recovery/Android.bp
@@ -14,6 +14,15 @@
 // limitations under the License.
 //
 
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "device_linaro_hikey_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-Apache-2.0
+    default_applicable_licenses: ["device_linaro_hikey_license"],
+}
+
 cc_library_static {
     name: "librecovery_ui_hikey",
     owner: "linaro",
diff --git a/sepolicy/property_contexts b/sepolicy/property_contexts
deleted file mode 100644
index 3a4bde3..0000000
--- a/sepolicy/property_contexts
+++ /dev/null
@@ -1 +0,0 @@
-sensors.                   u:object_r:sensors_prop:s0
diff --git a/wpan/uim/Android.mk b/wpan/uim/Android.mk
index a7bd83c..a91abdd 100644
--- a/wpan/uim/Android.mk
+++ b/wpan/uim/Android.mk
@@ -8,7 +8,8 @@
 LOCAL_C_INCLUDES := $(LOCAL_PATH)/
 
 LOCAL_MODULE := uim
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-GPL-2.0
+LOCAL_LICENSE_CONDITIONS := restricted
 LOCAL_PROPRIETARY_MODULE := true
 
 include $(BUILD_EXECUTABLE)
-