├── .gitignore ├── LICENSE ├── README.md ├── helpers ├── common_script.sh ├── dependencies.sh ├── dt_mk.sh ├── extract_blobs │ ├── Darwin │ │ ├── bin │ │ │ ├── compact_dex_converter │ │ │ └── vdexExtractor │ │ ├── lib │ │ │ ├── liblz4.1.9.2.dylib │ │ │ ├── liblz4.1.dylib │ │ │ ├── liblz4.a │ │ │ └── liblz4.dylib │ │ └── lib64 │ │ │ ├── libart-dexlayout.dylib │ │ │ ├── libart.dylib │ │ │ ├── libbacktrace.dylib │ │ │ ├── libbase.dylib │ │ │ ├── libc++.dylib │ │ │ ├── libcutils.dylib │ │ │ ├── libdexfile.dylib │ │ │ ├── liblog.dylib │ │ │ ├── liblz4.dylib │ │ │ ├── libmetricslogger.dylib │ │ │ ├── libnativebridge.dylib │ │ │ ├── libnativehelper.dylib │ │ │ ├── libnativeloader.dylib │ │ │ ├── libsigchain.dylib │ │ │ ├── libz-host.dylib │ │ │ └── libziparchive.dylib │ ├── Linux │ │ ├── compact_dex_converter │ │ └── vdexExtractor │ ├── extract-files.sh │ ├── extract_utils.sh │ ├── extract_utils_pie.sh │ ├── sdat2img.py │ ├── setup-makefiles.sh │ └── smali │ │ ├── NOTICE │ │ ├── baksmali.jar │ │ └── smali.jar ├── lists │ ├── ignore.txt │ ├── overlays │ │ ├── arrays │ │ │ ├── integer-array │ │ │ └── string-array │ │ ├── bools │ │ ├── comments │ │ │ ├── HEADER │ │ │ ├── config_allowAllRotations │ │ │ ├── config_ambientBrighteningThresholds │ │ │ ├── config_ambientDarkeningThresholds │ │ │ ├── config_ambientThresholdLevels │ │ │ ├── config_autoBrightnessAdjustmentMaxGamma │ │ │ ├── config_autoBrightnessAmbientLightHorizon │ │ │ ├── config_autoBrightnessBrighteningLightDebounce │ │ │ ├── config_autoBrightnessDisplayValuesNits │ │ │ ├── config_autoBrightnessLcdBacklightValues │ │ │ ├── config_autoBrightnessLevels │ │ │ ├── config_autoBrightnessLightSensorRate │ │ │ ├── config_automatic_brightness_available │ │ │ ├── config_availableColorModes │ │ │ ├── config_biometric_sensors │ │ │ ├── config_bluetooth_hfp_inband_ringing_support │ │ │ ├── config_bluetooth_le_peripheral_mode_supported │ │ │ ├── config_bluetooth_operating_voltage_mv │ │ │ ├── config_brightness_ramp_rate_fast │ │ │ ├── config_brightness_ramp_rate_slow │ │ │ ├── config_camera_sound_forced │ │ │ ├── config_carrier_volte_available │ │ │ ├── config_carrier_wfc_ims_available │ │ │ ├── config_cellBroadcastAppLinks │ │ │ ├── config_defaultPinnerServiceFiles │ │ │ ├── config_device_volte_available │ │ │ ├── config_device_vt_available │ │ │ ├── config_device_wfc_ims_available │ │ │ ├── config_displayBlanksAfterDoze │ │ │ ├── config_displayWhiteBalanceAmbientColorTemperatures │ │ │ ├── config_displayWhiteBalanceAvailable │ │ │ ├── config_displayWhiteBalanceColorTemperatureMax │ │ │ ├── config_displayWhiteBalanceColorTemperatureMin │ │ │ ├── config_displayWhiteBalanceColorTemperatureSensorName │ │ │ ├── config_displayWhiteBalanceDisplayColorTemperatures │ │ │ ├── config_dozeAfterScreenOffByDefault │ │ │ ├── config_dozeComponent │ │ │ ├── config_dynamicHysteresisBrightLevels │ │ │ ├── config_dynamicHysteresisDarkLevels │ │ │ ├── config_dynamicHysteresisLuxLevels │ │ │ ├── config_dynamic_bind_ims │ │ │ ├── config_enableMultiUserUI │ │ │ ├── config_enableNetworkLocationOverlay │ │ │ ├── config_enableWifiDisplay │ │ │ ├── config_ethernet_iface_regex │ │ │ ├── config_fillMainBuiltInDisplayCutout │ │ │ ├── config_gpsParameters │ │ │ ├── config_hotswapCapable │ │ │ ├── config_ims_package │ │ │ ├── config_intrusiveNotificationLed │ │ │ ├── config_jitzygoteBootImagePinnerServiceFiles │ │ │ ├── config_keyboardTapVibePattern │ │ │ ├── config_lidControlsSleep │ │ │ ├── config_longPressVibePattern │ │ │ ├── config_mainBuiltInDisplayCutout │ │ │ ├── config_maximumScreenDimRatio │ │ │ ├── config_mms_user_agent │ │ │ ├── config_mms_user_agent_profile_url │ │ │ ├── config_mobile_tcp_buffers │ │ │ ├── config_multiuserMaximumUsers │ │ │ ├── config_notificationsBatteryFullARGB │ │ │ ├── config_notificationsBatteryLowARGB │ │ │ ├── config_notificationsBatteryMediumARGB │ │ │ ├── config_notifyClientOnFingerprintCancelSuccess │ │ │ ├── config_num_physical_slots │ │ │ ├── config_persistentDataPackageName │ │ │ ├── config_pinnerCameraApp │ │ │ ├── config_pinnerHomeApp │ │ │ ├── config_powerDecoupleAutoSuspendModeFromDisplay │ │ │ ├── config_powerDecoupleInteractiveModeFromDisplay │ │ │ ├── config_radio_reset_on_regular_deactivation │ │ │ ├── config_screenBrighteningThresholds │ │ │ ├── config_screenBrightnessBacklight │ │ │ ├── config_screenBrightnessDim │ │ │ ├── config_screenBrightnessDoze │ │ │ ├── config_screenBrightnessNits │ │ │ ├── config_screenBrightnessSettingDefault │ │ │ ├── config_screenBrightnessSettingMinimum │ │ │ ├── config_setColorTransformAccelerated │ │ │ ├── config_showNavigationBar │ │ │ ├── config_shutdownBatteryTemperature │ │ │ ├── config_speed_up_audio_on_mt_calls │ │ │ ├── config_supportAudioSourceUnprocessed │ │ │ ├── config_supportDoubleTapWake │ │ │ ├── config_supportSystemNavigationKeys │ │ │ ├── config_suspendWhenScreenOffDueToProximity │ │ │ ├── config_sustainedPerformanceModeSupported │ │ │ ├── config_swipe_up_gesture_setting_available │ │ │ ├── config_switch_phone_on_voice_reg_state_change │ │ │ ├── config_tether_bluetooth_regexs │ │ │ ├── config_tether_dhcp_range │ │ │ ├── config_tether_upstream_automatic │ │ │ ├── config_tether_upstream_types │ │ │ ├── config_tether_usb_regexs │ │ │ ├── config_tether_wifi_regexs │ │ │ ├── config_unplugTurnsOnScreen │ │ │ ├── config_useDevInputEventForAudioJack │ │ │ ├── config_useVideoPauseWorkaround │ │ │ ├── config_virtualKeyVibePattern │ │ │ ├── config_wifiDisplaySupportsProtectedBuffers │ │ │ ├── config_wifi_background_scan_support │ │ │ ├── config_wifi_batched_scan_supported │ │ │ ├── config_wifi_dual_band_support │ │ │ ├── config_wifi_framework_use_single_radio_chain_scan_results_network_selection │ │ │ ├── config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz │ │ │ ├── config_wifi_softap_acs_supported │ │ │ ├── config_wifi_softap_ieee80211ac_supported │ │ │ ├── config_wifi_tcp_buffers │ │ │ ├── networkAttributes │ │ │ ├── radioAttributes │ │ │ ├── skip_restoring_network_selection │ │ │ └── status_bar_height_portrait │ │ ├── dimens │ │ ├── fractions │ │ ├── integers │ │ └── strings │ ├── proprietary │ │ ├── Audio │ │ ├── Camera │ │ ├── DRM │ │ ├── Display-Hardware │ │ ├── GPS │ │ ├── GPS-Hardware │ │ ├── Graphics │ │ ├── Listen │ │ ├── Media │ │ ├── Media-Hardware │ │ ├── Perf │ │ ├── Postprocessing │ │ ├── QMI │ │ ├── Radio │ │ ├── Sensors │ │ ├── Time │ │ └── WiFi │ └── remove.txt ├── lists_overlays_update.sh ├── lists_sort_all.sh ├── manifest_parser.sh ├── prebuilt │ ├── aeffects-conf2xml │ ├── apktool │ ├── apktool.jar │ └── dt-compiler │ │ ├── PREBUILT │ │ └── dtc ├── rom_vars.sh └── writemk.sh ├── setup.sh └── tools ├── blobs_downloader.sh ├── common_blobs.sh ├── common_props.sh ├── deltaota.sh ├── dt_repos.sh ├── dummy_dt.sh ├── dump_push.sh ├── proprietary-files.sh ├── rebase_kernel.sh ├── rom_compare.sh ├── rom_extract.sh ├── rootdir.sh ├── system_vendor_prop.sh ├── vendor_prop.sh └── vendor_tree.sh /.gitignore: -------------------------------------------------------------------------------- 1 | dumps/ 2 | dummy_dt/ 3 | input/ 4 | kernels/ 5 | working/ 6 | vendor/ 7 | tools/android_boot_image_editor/ 8 | tools/extract-dtb/ 9 | tools/Firmware_extractor/ 10 | .fuse_* 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Android tools 3 | Collection of scripts to help with Android ROM stuff. 4 | 5 | [DeepWiki](https://deepwiki.com/ShivamKumarJha/android_tools/3-proprietary-blob-management) 6 | 7 | **Setup**: 8 | `chmod +x setup.sh` 9 | `sudo bash setup.sh` 10 | 11 | 1. **blobs_downloader.sh**: A script to download selected blobs from [AndroidBlobs](https://github.com/AndroidBlobs) etc repo. [Example](https://del.dog/olohilylon.txt). 12 | Usage: `./tools/blobs_downloader.sh ` 13 | 14 | 2. **common_blobs.sh**: A script to list common and device specific blob's between two ROM's. 15 | Usage: `./tools/common_blobs.sh ` 16 | 17 | 3. **common_props.sh**: A script to list common and device specific prop's between two ROM's. 18 | Usage: `./tools/common_props.sh ` 19 | 20 | 4. **deltaota.sh**: A script to extract delta OTA. 21 | Usage: `./tools/deltaota.sh ` 22 | 23 | 5. **dt_repos.sh**: A script to create empty device, kernel & vendor tree of a device in GitHub with model as repo descripton. 24 | Usage: 25 | `export GIT_TOKEN=` 26 | `./tools/dt_repos.sh ` 27 | 28 | 6. **dummy_dt.sh**: A script which prepares a dummy device & vendor tree from a ROM dump. 29 | Usage: `./tools/dummy_dt.sh ` 30 | 31 | 7. **dump_push.sh**: A script to push local ROM dump to GitHub. 32 | Usage: 33 | `export GIT_TOKEN=` 34 | `./tools/dump_push.sh ` 35 | 36 | 8. **proprietary-files.sh**: A script to prepare proprietary blobs list from a ROM. 37 | Usage: 38 | For online git repo: `./tools/proprietary-files.sh ` 39 | For local dump: `./tools/proprietary-files.sh ` 40 | 41 | 9. **rebase_kernel.sh**: A script to rebase OEM compressed kernel source to its best CAF base. 42 | Usage: `./tools/rebase_kernel.sh ` 43 | 44 | 10. **rom_compare.sh**: A script to compare source & target ROM. It lists `Added, common, missing & modified` blobs. 45 | Usage: `./tools/rom_compare.sh ` 46 | 47 | 11. **rom_extract.sh**: A script to extract OTA files. 48 | Usage: `./tools/rom_extract.sh ` 49 | 50 | 12. **rootdir.sh**: A script to prepare ramdisk from a ROM dump along with Makefile. 51 | Usage: `./tools/rootdir.sh ` 52 | 53 | 13. **system_vendor_prop.sh**: A script to prepare properties Makefile from a ROM dump. (Does not support lahaina, use vendor_prop.sh instead) 54 | Usage: `./tools/system_vendor_prop.sh ` 55 | Output: `system.prop` & `vendor_prop.mk` files. 56 | 57 | 14. **vendor_prop.sh**: A script to prepare and filter properties Makefile from a ROM dump. 58 | Usage: `./tools/vendor_prop.sh ` 59 | Output: `vendor_prop.mk` file. 60 | 61 | 15. **vendor_tree.sh**: A script to prepare vendor tree from a ROM dump after generating proprietary-files.txt and push it to GitHub. 62 | To extract from a specific proprietary-files.txt, place it before in `working/proprietary-files.txt`. 63 | Usage: 64 | `export GIT_TOKEN=` 65 | `./tools/vendor_tree.sh ` 66 | -------------------------------------------------------------------------------- /helpers/common_script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Create some folders 13 | mkdir -p "$PROJECT_DIR/dumps/" "$PROJECT_DIR/working" "$PROJECT_DIR/input" 14 | 15 | # clean up 16 | if [ "$1" == "y" ]; then 17 | rm -rf $PROJECT_DIR/working/* 18 | fi 19 | 20 | # set common var's 21 | GITHUB_EMAIL="$(git config --get user.email)" 22 | GITHUB_USER="$(git config --get user.name)" 23 | [[ -z "$DUMMYDT" ]] && DUMMYDT="n" 24 | [[ -z "$DUMPPUSH" ]] && DUMPPUSH="n" 25 | [[ -z "$ORGMEMBER" ]] && ORGMEMBER="n" 26 | [[ -z "$VERBOSE" ]] && VERBOSE="y" 27 | [[ -z "$TMPDIR" ]] && TMPDIR="/tmp" 28 | export LC_ALL=C make 29 | 30 | # Dependencies check 31 | if [ ! -d "$PROJECT_DIR/tools/Firmware_extractor" ] || [ ! -d "$PROJECT_DIR/tools/android_boot_image_editor" ] || [ ! -d "$PROJECT_DIR/tools/extract-dtb" ]; then 32 | [[ "$VERBOSE" != "n" ]] && echo -e "Cloning dependencies..." 33 | bash $PROJECT_DIR/helpers/dependencies.sh > /dev/null 2>&1 34 | fi 35 | 36 | function dlrom() { 37 | echo "Downloading file" 38 | mkdir -p ${PROJECT_DIR}/input 39 | cd ${PROJECT_DIR}/input 40 | if [[ "$URL" == *"https://drive.google.com/"* ]] && [[ ! -z "$(which gdrive)" ]]; then 41 | rm -rf ${PROJECT_DIR}/input/* 42 | FILE_ID="$(echo "${URL:?}" | sed -Er -e 's/https.*id=(.*)/\1/' -e 's/https.*\/d\/(.*)\/(view|edit)/\1/' -e 's/(.*)(&|\?).*/\1/')" 43 | gdrive download "$FILE_ID" --no-progress || { echo "Download failed!"; } 44 | find ${PROJECT_DIR}/input -name "* *" -type f 45 | URL=$( ls -d $PWD/* ) 46 | elif [[ "$URL" == *"https://mega.nz/"* ]] && [[ -e "/usr/bin/megadl" ]]; then 47 | rm -rf ${PROJECT_DIR}/input/* 48 | megadl "${URL}" --no-progress || { echo "Download failed!"; } 49 | find ${PROJECT_DIR}/input -name "* *" -type f 50 | URL=$( ls -d $PWD/* ) 51 | else 52 | if [[ $(echo $URL | grep ".zip?") ]]; then 53 | FILE="$(echo $URL | grep '.zip?' | cut -d? -f1)" 54 | FILE="$(echo ${FILE##*/} | sed "s| |_|g" )" 55 | elif [[ $(echo $URL | grep ".exe?") ]]; then 56 | FILE="$(echo $URL | grep '.exe?' | cut -d? -f1)" 57 | FILE="$(echo ${FILE##*/} | sed "s| |_|g" )" 58 | else 59 | FILE="$(echo ${URL##*/} | sed "s| |_|g" )" 60 | fi 61 | rm -rf $PROJECT_DIR/input/${FILE} 62 | aria2c -q -s 16 -x 16 ${URL} -d ${PROJECT_DIR}/input -o ${FILE} || { echo "Download failed!"; } 63 | find ${PROJECT_DIR}/input -name "* *" -type f 64 | URL=$PROJECT_DIR/input/${FILE} 65 | [[ -e ${URL} ]] && du -sh ${URL} 66 | fi 67 | } 68 | -------------------------------------------------------------------------------- /helpers/dependencies.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Clone repo's 13 | if [ -d "$PROJECT_DIR/tools/android_boot_image_editor" ]; then 14 | git -C $PROJECT_DIR/tools/android_boot_image_editor pull 15 | else 16 | git clone https://github.com/cfig/Android_boot_image_editor.git $PROJECT_DIR/tools/android_boot_image_editor 17 | fi 18 | if [ -d "$PROJECT_DIR/tools/extract-dtb" ]; then 19 | git -C $PROJECT_DIR/tools/extract-dtb pull 20 | else 21 | git clone https://github.com/PabloCastellano/extract-dtb $PROJECT_DIR/tools/extract-dtb 22 | fi 23 | if [ -d "$PROJECT_DIR/tools/Firmware_extractor" ]; then 24 | git -C $PROJECT_DIR/tools/Firmware_extractor pull --recurse-submodules 25 | else 26 | git clone --recurse-submodules https://github.com/ShivamKumarJha/Firmware_extractor $PROJECT_DIR/tools/Firmware_extractor 27 | fi 28 | -------------------------------------------------------------------------------- /helpers/dt_mk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Text format 13 | source $PROJECT_DIR/helpers/common_script.sh 14 | 15 | if [ -z "$1" ]; then 16 | echo -e "Error! Send DT path" 17 | exit 1 18 | fi 19 | 20 | DT_DIR="$1" 21 | cd "$DT_DIR"/ 22 | 23 | # configs 24 | find ""$DT_DIR"/configs/audio/" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 25 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/audio/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/" "# Audio" 26 | find ""$DT_DIR"/configs/gps/" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 27 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/gps/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/" "# GPS" 28 | if [ -d "$DT_DIR"/configs/idc/ ]; then 29 | find "configs/idc/" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 30 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/idc/" ":\$(TARGET_COPY_OUT_VENDOR)/usr/idc/" "# IDC" 31 | fi 32 | find ""$DT_DIR"/configs/keylayout/" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 33 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/keylayout/" ":\$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/" "# Keylayout" 34 | find ""$DT_DIR"/configs/media/" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 35 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/media/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/" "# Media" 36 | find ""$DT_DIR"/configs/seccomp/" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 37 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/seccomp/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/" "# Seccomp" 38 | find ""$DT_DIR"/configs/sensors/" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 39 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/sensors/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/sensors/" "# Sensors" 40 | find ""$DT_DIR"/configs/wifi/" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 41 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/wifi/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/wifi/" "# WiFi" 42 | if [ -e "$DT_DIR"/configs/excluded-input-devices.xml ]; then 43 | echo "excluded-input-devices.xml" > "$PROJECT_DIR"/working/mklist.txt 44 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/" ":system/etc/" "# Exclude sensor from InputManager" 45 | fi 46 | if [ -e "$DT_DIR"/configs/msm_irqbalance.conf ]; then 47 | find ""$DT_DIR"/configs/" -name "msm_irqbalance*" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 48 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/" "# IRQ" 49 | fi 50 | if [ -e "$DT_DIR"/configs/privapp-permissions-qti.xml ]; then 51 | find ""$DT_DIR"/configs/" -name "privapp-permissions-qti.xml" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 52 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/permissions/" "# QTI" 53 | fi 54 | if [ -e "$DT_DIR"/configs/public.libraries.txt ]; then 55 | find ""$DT_DIR"/configs/" -name "public.libraries*" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 56 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/" "# Public Libraries" 57 | fi 58 | if [ -e "$DT_DIR"/configs/qti_whitelist.xml ]; then 59 | find ""$DT_DIR"/configs/" -name "qti_whitelist.xml" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 60 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/" ":system/etc/sysconfig/" "# Low power Whitelist" 61 | fi 62 | if [ -e "$DT_DIR"/configs/sec_config ]; then 63 | find ""$DT_DIR"/configs/" -name "sec_config" -type f -printf '%P\n' | sort > "$PROJECT_DIR"/working/mklist.txt 64 | bash $PROJECT_DIR/helpers/writemk.sh "\$(LOCAL_PATH)/configs/" ":\$(TARGET_COPY_OUT_VENDOR)/etc/" "# IRSC" 65 | fi 66 | # permissions 67 | cat "$PROJECT_DIR"/dummy_dt/working/all_files.txt | grep "vendor" | grep -iE "permissions/android.hardware|permissions/android.software|permissions/handheld_core_hardware" | grep -v "android.hardware.light.xml" | sed "s|vendor/etc/permissions/||g" > "$PROJECT_DIR"/working/perms.txt 68 | all_perms=`cat "$PROJECT_DIR"/working/perms.txt | sort` 69 | for perm_line in $all_perms; 70 | do 71 | echo " frameworks/native/data/etc/"$perm_line":\$(TARGET_COPY_OUT_VENDOR)/etc/permissions/"$perm_line" \\" >> "$PROJECT_DIR"/working/mklists/Permissions 72 | done 73 | sed -i '1 i\PRODUCT_COPY_FILES += \\' "$PROJECT_DIR"/working/mklists/Permissions 74 | sed -i '1 i\# Permissions' "$PROJECT_DIR"/working/mklists/Permissions 75 | printf "\n" >> "$PROJECT_DIR"/working/mklists/Permissions 76 | # rootdir.mk 77 | printf "\n" >> "$DT_DIR"/rootdir.mk 78 | mv "$DT_DIR"/rootdir.mk "$PROJECT_DIR"/working/mklists/Ramdisk 79 | # Overlays 80 | printf "# Overlays" >> "$PROJECT_DIR"/working/mklists/Overlays 81 | printf "\nDEVICE_PACKAGE_OVERLAYS += \\" >> "$PROJECT_DIR"/working/mklists/Overlays 82 | printf "\n \$(LOCAL_PATH)/overlay\n\n" >> "$PROJECT_DIR"/working/mklists/Overlays 83 | # Add makefiles from lists 84 | mk_lists=`find "$PROJECT_DIR"/working/mklists/ -type f -printf '%P\n' | sort` 85 | for list in $mk_lists ; 86 | do 87 | cat "$PROJECT_DIR"/working/mklists/"$list" >> "$DT_DIR"/device.mk 88 | done 89 | -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/bin/compact_dex_converter: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/bin/compact_dex_converter -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/bin/vdexExtractor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/bin/vdexExtractor -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib/liblz4.1.9.2.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib/liblz4.1.9.2.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib/liblz4.1.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib/liblz4.1.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib/liblz4.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib/liblz4.a -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib/liblz4.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib/liblz4.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libart-dexlayout.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libart-dexlayout.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libart.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libart.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libbacktrace.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libbacktrace.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libbase.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libbase.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libc++.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libc++.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libcutils.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libcutils.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libdexfile.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libdexfile.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/liblog.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/liblog.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/liblz4.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/liblz4.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libmetricslogger.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libmetricslogger.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libnativebridge.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libnativebridge.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libnativehelper.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libnativehelper.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libnativeloader.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libnativeloader.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libsigchain.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libsigchain.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libz-host.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libz-host.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Darwin/lib64/libziparchive.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Darwin/lib64/libziparchive.dylib -------------------------------------------------------------------------------- /helpers/extract_blobs/Linux/compact_dex_converter: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Linux/compact_dex_converter -------------------------------------------------------------------------------- /helpers/extract_blobs/Linux/vdexExtractor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/Linux/vdexExtractor -------------------------------------------------------------------------------- /helpers/extract_blobs/extract-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2018 The LineageOS Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | set -e 19 | 20 | # Store project path 21 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." >/dev/null && pwd )" 22 | 23 | # Prepare blobs list 24 | if [ ! -e $PROJECT_DIR/working/proprietary-files.txt ]; then 25 | echo "Preparing proprietary-files.txt" 26 | bash $PROJECT_DIR/tools/proprietary-files.sh "$1" > /dev/null 2>&1 27 | fi 28 | 29 | # Set values 30 | source $PROJECT_DIR/helpers/rom_vars.sh "$1" 31 | DEVICE="$DEVICE" 32 | VENDOR="$BRAND" 33 | 34 | # Load extract_utils and do some sanity checks 35 | MY_DIR="${BASH_SOURCE%/*}" 36 | if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi 37 | 38 | LINEAGE_ROOT="$PROJECT_DIR" 39 | 40 | if [[ "$VERSION" -lt 10 ]]; then 41 | HELPER="$LINEAGE_ROOT"/helpers/extract_blobs/extract_utils_pie.sh 42 | else 43 | HELPER="$LINEAGE_ROOT"/helpers/extract_blobs/extract_utils.sh 44 | fi 45 | 46 | if [ ! -f "$HELPER" ]; then 47 | echo "Unable to find helper script at $HELPER" 48 | exit 1 49 | fi 50 | . "$HELPER" 51 | 52 | # Default to sanitizing the vendor folder before extraction 53 | CLEAN_VENDOR=true 54 | 55 | while [ "$1" != "" ]; do 56 | case $1 in 57 | -n | --no-cleanup ) CLEAN_VENDOR=false 58 | ;; 59 | -s | --section ) shift 60 | SECTION=$1 61 | CLEAN_VENDOR=false 62 | ;; 63 | * ) SRC=$1 64 | ;; 65 | esac 66 | shift 67 | done 68 | 69 | if [ -z "$SRC" ]; then 70 | SRC=adb 71 | fi 72 | 73 | # Initialize the helper 74 | setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" false "$CLEAN_VENDOR" 75 | 76 | extract $PROJECT_DIR/working/proprietary-files.txt "$SRC" "$SECTION" 77 | 78 | . "$MY_DIR"/setup-makefiles.sh 79 | -------------------------------------------------------------------------------- /helpers/extract_blobs/sdat2img.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | #==================================================== 4 | # FILE: sdat2img.py 5 | # AUTHORS: xpirt - luxi78 - howellzhu 6 | # DATE: 2018-10-27 10:33:21 CEST 7 | #==================================================== 8 | 9 | from __future__ import print_function 10 | import sys, os, errno 11 | 12 | def main(TRANSFER_LIST_FILE, NEW_DATA_FILE, OUTPUT_IMAGE_FILE): 13 | __version__ = '1.2' 14 | 15 | if sys.hexversion < 0x02070000: 16 | print >> sys.stderr, "Python 2.7 or newer is required." 17 | try: 18 | input = raw_input 19 | except NameError: pass 20 | input('Press ENTER to exit...') 21 | sys.exit(1) 22 | else: 23 | print('sdat2img binary - version: {}\n'.format(__version__)) 24 | 25 | def rangeset(src): 26 | src_set = src.split(',') 27 | num_set = [int(item) for item in src_set] 28 | if len(num_set) != num_set[0]+1: 29 | print('Error on parsing following data to rangeset:\n{}'.format(src), file=sys.stderr) 30 | sys.exit(1) 31 | 32 | return tuple ([ (num_set[i], num_set[i+1]) for i in range(1, len(num_set), 2) ]) 33 | 34 | def parse_transfer_list_file(path): 35 | trans_list = open(TRANSFER_LIST_FILE, 'r') 36 | 37 | # First line in transfer list is the version number 38 | version = int(trans_list.readline()) 39 | 40 | # Second line in transfer list is the total number of blocks we expect to write 41 | new_blocks = int(trans_list.readline()) 42 | 43 | if version >= 2: 44 | # Third line is how many stash entries are needed simultaneously 45 | trans_list.readline() 46 | # Fourth line is the maximum number of blocks that will be stashed simultaneously 47 | trans_list.readline() 48 | 49 | # Subsequent lines are all individual transfer commands 50 | commands = [] 51 | for line in trans_list: 52 | line = line.split(' ') 53 | cmd = line[0] 54 | if cmd in ['erase', 'new', 'zero']: 55 | commands.append([cmd, rangeset(line[1])]) 56 | else: 57 | # Skip lines starting with numbers, they are not commands anyway 58 | if not cmd[0].isdigit(): 59 | print('Command "{}" is not valid.'.format(cmd), file=sys.stderr) 60 | trans_list.close() 61 | sys.exit(1) 62 | 63 | trans_list.close() 64 | return version, new_blocks, commands 65 | 66 | BLOCK_SIZE = 4096 67 | 68 | version, new_blocks, commands = parse_transfer_list_file(TRANSFER_LIST_FILE) 69 | 70 | if version == 1: 71 | print('Android Lollipop 5.0 detected!\n') 72 | elif version == 2: 73 | print('Android Lollipop 5.1 detected!\n') 74 | elif version == 3: 75 | print('Android Marshmallow 6.x detected!\n') 76 | elif version == 4: 77 | print('Android Nougat 7.x / Oreo 8.x detected!\n') 78 | else: 79 | print('Unknown Android version!\n') 80 | 81 | # Don't clobber existing files to avoid accidental data loss 82 | try: 83 | output_img = open(OUTPUT_IMAGE_FILE, 'wb') 84 | except IOError as e: 85 | if e.errno == errno.EEXIST: 86 | print('Error: the output file "{}" already exists'.format(e.filename), file=sys.stderr) 87 | print('Remove it, rename it, or choose a different file name.', file=sys.stderr) 88 | sys.exit(e.errno) 89 | else: 90 | raise 91 | 92 | new_data_file = open(NEW_DATA_FILE, 'rb') 93 | all_block_sets = [i for command in commands for i in command[1]] 94 | max_file_size = max(pair[1] for pair in all_block_sets)*BLOCK_SIZE 95 | 96 | for command in commands: 97 | if command[0] == 'new': 98 | for block in command[1]: 99 | begin = block[0] 100 | end = block[1] 101 | block_count = end - begin 102 | print('Copying {} blocks into position {}...'.format(block_count, begin)) 103 | 104 | # Position output file 105 | output_img.seek(begin*BLOCK_SIZE) 106 | 107 | # Copy one block at a time 108 | while(block_count > 0): 109 | output_img.write(new_data_file.read(BLOCK_SIZE)) 110 | block_count -= 1 111 | else: 112 | print('Skipping command {}...'.format(command[0])) 113 | 114 | # Make file larger if necessary 115 | if(output_img.tell() < max_file_size): 116 | output_img.truncate(max_file_size) 117 | 118 | output_img.close() 119 | new_data_file.close() 120 | print('Done! Output image: {}'.format(os.path.realpath(output_img.name))) 121 | 122 | if __name__ == '__main__': 123 | try: 124 | TRANSFER_LIST_FILE = str(sys.argv[1]) 125 | NEW_DATA_FILE = str(sys.argv[2]) 126 | except IndexError: 127 | print('\nUsage: sdat2img.py [system_img]\n') 128 | print(' : transfer list file') 129 | print(' : system new dat file') 130 | print(' [system_img]: output system image\n\n') 131 | print('Visit xda thread for more information.\n') 132 | try: 133 | input = raw_input 134 | except NameError: pass 135 | input('Press ENTER to exit...') 136 | sys.exit() 137 | 138 | try: 139 | OUTPUT_IMAGE_FILE = str(sys.argv[3]) 140 | except IndexError: 141 | OUTPUT_IMAGE_FILE = 'system.img' 142 | 143 | main(TRANSFER_LIST_FILE, NEW_DATA_FILE, OUTPUT_IMAGE_FILE) 144 | -------------------------------------------------------------------------------- /helpers/extract_blobs/setup-makefiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2018 The LineageOS Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | set -e 19 | 20 | # Store project path 21 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." >/dev/null && pwd )" 22 | 23 | # Required! 24 | DEVICE="$DEVICE" 25 | VENDOR="$BRAND" 26 | 27 | INITIAL_COPYRIGHT_YEAR=$( date +"%Y" ) 28 | 29 | # Load extract_utils and do some sanity checks 30 | MY_DIR="${BASH_SOURCE%/*}" 31 | if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi 32 | 33 | LINEAGE_ROOT="$PROJECT_DIR" 34 | 35 | if [[ "$VERSION" -lt 10 ]]; then 36 | HELPER="$LINEAGE_ROOT"/helpers/extract_blobs/extract_utils_pie.sh 37 | else 38 | HELPER="$LINEAGE_ROOT"/helpers/extract_blobs/extract_utils.sh 39 | fi 40 | if [ ! -f "$HELPER" ]; then 41 | echo "Unable to find helper script at $HELPER" 42 | exit 1 43 | fi 44 | . "$HELPER" 45 | 46 | # Initialize the helper 47 | setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" 48 | 49 | # Copyright headers and guards 50 | write_headers 51 | 52 | write_makefiles $PROJECT_DIR/working/proprietary-files.txt true 53 | 54 | # Finish 55 | write_footers 56 | -------------------------------------------------------------------------------- /helpers/extract_blobs/smali/NOTICE: -------------------------------------------------------------------------------- 1 | The majority of smali/baksmali is written and copyrighted by me (Ben Gruver) 2 | and released under the following license: 3 | 4 | ******************************************************************************* 5 | Copyright (c) 2010 Ben Gruver (JesusFreke) 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without 9 | modification, are permitted provided that the following conditions 10 | are met: 11 | 1. Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | 2. Redistributions in binary form must reproduce the above copyright 14 | notice, this list of conditions and the following disclaimer in the 15 | documentation and/or other materials provided with the distribution. 16 | 3. The name of the author may not be used to endorse or promote products 17 | derived from this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 20 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 21 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 22 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 24 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 28 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | ******************************************************************************* 30 | 31 | 32 | Unless otherwise stated in the code/commit message, any changes with the 33 | committer of bgruv@google.com or wkal@google.com is copyrighted by 34 | Google Inc. and released under the following license: 35 | 36 | ******************************************************************************* 37 | Copyright 2011, Google Inc. 38 | All rights reserved. 39 | 40 | Redistribution and use in source and binary forms, with or without 41 | modification, are permitted provided that the following conditions are 42 | met: 43 | 44 | * Redistributions of source code must retain the above copyright 45 | notice, this list of conditions and the following disclaimer. 46 | * Redistributions in binary form must reproduce the above 47 | copyright notice, this list of conditions and the following disclaimer 48 | in the documentation and/or other materials provided with the 49 | distribution. 50 | * Neither the name of Google Inc. nor the names of its 51 | contributors may be used to endorse or promote products derived from 52 | this software without specific prior written permission. 53 | 54 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 55 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 56 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 57 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 58 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 59 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 60 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 61 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 62 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 63 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 64 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 65 | ******************************************************************************* 66 | 67 | 68 | Various portions of the code are taken from the Android Open Source Project, 69 | and are used in accordance with the following license: 70 | 71 | ******************************************************************************* 72 | Copyright (C) 2007 The Android Open Source Project 73 | 74 | Licensed under the Apache License, Version 2.0 (the "License"); 75 | you may not use this file except in compliance with the License. 76 | You may obtain a copy of the License at 77 | 78 | http://www.apache.org/licenses/LICENSE-2.0 79 | 80 | Unless required by applicable law or agreed to in writing, software 81 | distributed under the License is distributed on an "AS IS" BASIS, 82 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 83 | See the License for the specific language governing permissions and 84 | limitations under the License. 85 | ******************************************************************************* 86 | 87 | 88 | Some parts of the smalidea plugin are based on code from the IDEA project, per the 89 | following license 90 | 91 | ******************************************************************************* 92 | Copyright 2000-2014 JetBrains s.r.o. 93 | 94 | Licensed under the Apache License, Version 2.0 (the "License"); 95 | you may not use this file except in compliance with the License. 96 | You may obtain a copy of the License at 97 | 98 | http://www.apache.org/licenses/LICENSE-2.0 99 | 100 | Unless required by applicable law or agreed to in writing, software 101 | distributed under the License is distributed on an "AS IS" BASIS, 102 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 103 | See the License for the specific language governing permissions and 104 | limitations under the License. 105 | ******************************************************************************* 106 | -------------------------------------------------------------------------------- /helpers/extract_blobs/smali/baksmali.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/smali/baksmali.jar -------------------------------------------------------------------------------- /helpers/extract_blobs/smali/smali.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/extract_blobs/smali/smali.jar -------------------------------------------------------------------------------- /helpers/lists/ignore.txt: -------------------------------------------------------------------------------- 1 | system_ext/build.prop 2 | system_ext/etc/NOTICE.xml.gz 3 | system_ext/etc/passwd 4 | vendor/bin/acpi 5 | vendor/bin/[ 6 | vendor/bin/] 7 | vendor/bin/awk 8 | vendor/bin/base64 9 | vendor/bin/basename 10 | vendor/bin/blockdev 11 | vendor/bin/boringssl_self_test32 12 | vendor/bin/btconfig 13 | vendor/bin/cal 14 | vendor/bin/cat 15 | vendor/bin/chattr 16 | vendor/bin/chcon 17 | vendor/bin/chgrp 18 | vendor/bin/chmod 19 | vendor/bin/chown 20 | vendor/bin/chroot 21 | vendor/bin/chrt 22 | vendor/bin/cksum 23 | vendor/bin/clear 24 | vendor/bin/cmp 25 | vendor/bin/comm 26 | vendor/bin/cp 27 | vendor/bin/cpio 28 | vendor/bin/cut 29 | vendor/bin/date 30 | vendor/bin/dd 31 | vendor/bin/devmem 32 | vendor/bin/df 33 | vendor/bin/diff 34 | vendor/bin/dirname 35 | vendor/bin/dmesg 36 | vendor/bin/dos2unix 37 | vendor/bin/du 38 | vendor/bin/dumpsys 39 | vendor/bin/echo 40 | vendor/bin/egrep 41 | vendor/bin/env 42 | vendor/bin/expand 43 | vendor/bin/expr 44 | vendor/bin/fallocate 45 | vendor/bin/false 46 | vendor/bin/fgrep 47 | vendor/bin/file 48 | vendor/bin/find 49 | vendor/bin/flock 50 | vendor/bin/fmt 51 | vendor/bin/free 52 | vendor/bin/fsync 53 | vendor/bin/getconf 54 | vendor/bin/getenforce 55 | vendor/bin/getevent 56 | vendor/bin/getprop 57 | vendor/bin/grep 58 | vendor/bin/groups 59 | vendor/bin/gunzip 60 | vendor/bin/gzip 61 | vendor/bin/head 62 | vendor/bin/hostapd_cli 63 | vendor/bin/hostname 64 | vendor/bin/hw/hostapd 65 | vendor/bin/hw/vendor.mokee.livedisplay@2.0-service-sdm 66 | vendor/bin/hw/vendor.mokee.trust@1.0-service 67 | vendor/bin/hw/wpa_supplicant 68 | vendor/bin/hwclock 69 | vendor/bin/i2cdetect 70 | vendor/bin/i2cdump 71 | vendor/bin/i2cget 72 | vendor/bin/i2cset 73 | vendor/bin/iconv 74 | vendor/bin/id 75 | vendor/bin/ifconfig 76 | vendor/bin/inotifyd 77 | vendor/bin/insmod 78 | vendor/bin/install 79 | vendor/bin/ionice 80 | vendor/bin/iorenice 81 | vendor/bin/ipacm 82 | vendor/bin/kill 83 | vendor/bin/killall 84 | vendor/bin/ln 85 | vendor/bin/load_policy 86 | vendor/bin/log 87 | vendor/bin/logname 88 | vendor/bin/logwrapper 89 | vendor/bin/losetup 90 | vendor/bin/ls 91 | vendor/bin/lsattr 92 | vendor/bin/lsmod 93 | vendor/bin/lsof 94 | vendor/bin/lspci 95 | vendor/bin/lsusb 96 | vendor/bin/md5sum 97 | vendor/bin/microcom 98 | vendor/bin/mkdir 99 | vendor/bin/mkfifo 100 | vendor/bin/mknod 101 | vendor/bin/mkswap 102 | vendor/bin/mktemp 103 | vendor/bin/modinfo 104 | vendor/bin/modprobe 105 | vendor/bin/more 106 | vendor/bin/mount 107 | vendor/bin/mountpoint 108 | vendor/bin/mv 109 | vendor/bin/nc 110 | vendor/bin/netcat 111 | vendor/bin/netstat 112 | vendor/bin/newfs_msdos 113 | vendor/bin/nice 114 | vendor/bin/nl 115 | vendor/bin/nohup 116 | vendor/bin/nproc 117 | vendor/bin/nsenter 118 | vendor/bin/od 119 | vendor/bin/paste 120 | vendor/bin/patch 121 | vendor/bin/pgrep 122 | vendor/bin/pidof 123 | vendor/bin/pkill 124 | vendor/bin/pmap 125 | vendor/bin/printenv 126 | vendor/bin/printf 127 | vendor/bin/ps 128 | vendor/bin/pwd 129 | vendor/bin/readelf 130 | vendor/bin/readlink 131 | vendor/bin/realpath 132 | vendor/bin/renice 133 | vendor/bin/restorecon 134 | vendor/bin/rm 135 | vendor/bin/rmdir 136 | vendor/bin/rmmod 137 | vendor/bin/runcon 138 | vendor/bin/sed 139 | vendor/bin/sendevent 140 | vendor/bin/seq 141 | vendor/bin/setenforce 142 | vendor/bin/setprop 143 | vendor/bin/setsid 144 | vendor/bin/sh 145 | vendor/bin/sha1sum 146 | vendor/bin/sha224sum 147 | vendor/bin/sha256sum 148 | vendor/bin/sha384sum 149 | vendor/bin/sha512sum 150 | vendor/bin/sleep 151 | vendor/bin/sort 152 | vendor/bin/split 153 | vendor/bin/start 154 | vendor/bin/stat 155 | vendor/bin/stop 156 | vendor/bin/strings 157 | vendor/bin/stty 158 | vendor/bin/swapoff 159 | vendor/bin/swapon 160 | vendor/bin/sync 161 | vendor/bin/sysctl 162 | vendor/bin/tac 163 | vendor/bin/tail 164 | vendor/bin/tar 165 | vendor/bin/taskset 166 | vendor/bin/tee 167 | vendor/bin/test 168 | vendor/bin/time 169 | vendor/bin/timeout 170 | vendor/bin/toolbox 171 | vendor/bin/top 172 | vendor/bin/touch 173 | vendor/bin/toybox_vendor 174 | vendor/bin/tr 175 | vendor/bin/true 176 | vendor/bin/truncate 177 | vendor/bin/tty 178 | vendor/bin/ulimit 179 | vendor/bin/umount 180 | vendor/bin/uname 181 | vendor/bin/uniq 182 | vendor/bin/unix2dos 183 | vendor/bin/unlink 184 | vendor/bin/unshare 185 | vendor/bin/uptime 186 | vendor/bin/usleep 187 | vendor/bin/uudecode 188 | vendor/bin/uuencode 189 | vendor/bin/uuidgen 190 | vendor/bin/vmstat 191 | vendor/bin/vndservice 192 | vendor/bin/vndservicemanager 193 | vendor/bin/watch 194 | vendor/bin/wc 195 | vendor/bin/wcnss_service 196 | vendor/bin/which 197 | vendor/bin/whoami 198 | vendor/bin/wpa_cli 199 | vendor/bin/xargs 200 | vendor/bin/xxd 201 | vendor/bin/yes 202 | vendor/bin/zcat 203 | vendor/build.prop 204 | vendor/default.prop 205 | vendor/etc/IPACM_cfg.xml 206 | vendor/etc/NOTICE.xml.gz 207 | vendor/etc/a2dp_audio_policy_configuration.xml 208 | vendor/etc/apdr.conf 209 | vendor/etc/appboosts.xml 210 | vendor/etc/audio/audio_policy_configuration 211 | vendor/etc/bluetooth_qti_audio_policy_configuration.xml 212 | vendor/etc/default_volume_tables 213 | vendor/etc/flp.conf 214 | vendor/etc/fs_config_dirs 215 | vendor/etc/fs_config_files 216 | vendor/etc/fstab.qcom 217 | vendor/etc/ftm_test_config 218 | vendor/etc/gamedwhitelist.xml 219 | vendor/etc/gps.conf 220 | vendor/etc/graphite_ipc_platform_info.xml 221 | vendor/etc/group 222 | vendor/etc/init/hostapd.android.rc 223 | vendor/etc/init/vendor.mokee.livedisplay@2.0-service-sdm.rc 224 | vendor/etc/init/vendor.mokee.trust@1.0-service.rc 225 | vendor/etc/init/vndservicemanager.rc 226 | vendor/etc/izat.conf 227 | vendor/etc/listen_platform_info.xml 228 | vendor/etc/lowi.conf 229 | vendor/etc/mixer_paths.xml 230 | vendor/etc/mkshrc 231 | vendor/etc/pa_ca_28db.wav 232 | vendor/etc/passwd 233 | vendor/etc/permissions/android.hardware.light.xml 234 | vendor/etc/permissions/com.android.nfc_extras.xml 235 | vendor/etc/permissions/com.dsi.ant.antradio_library.xml 236 | vendor/etc/permissions/com.nxp.mifare.xml 237 | vendor/etc/permissions/handheld_core_hardware.xml 238 | vendor/etc/permissions/privapp-permissions-qti.xml 239 | vendor/etc/pinknoise.wav 240 | vendor/etc/public.libraries.txt 241 | vendor/etc/r_submix_audio_policy_configuration.xml 242 | vendor/etc/receiver_playback.wav 243 | vendor/etc/sap.conf 244 | vendor/etc/sec_config 245 | vendor/etc/sensors/hals.conf 246 | vendor/etc/silence.wav 247 | vendor/etc/silense.wav 248 | vendor/etc/speaker_playback.wav 249 | vendor/etc/spk_pb.wav 250 | vendor/etc/sweep.wav 251 | vendor/etc/system_properties.xml 252 | vendor/etc/usb_audio_policy_configuration.xml 253 | vendor/etc/whitelistedapps.xml 254 | vendor/etc/xtwifi.conf 255 | vendor/firmware/msadp 256 | vendor/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini 257 | vendor/firmware/wlan/qca_cld/wlan_mac.bin 258 | vendor/lib/hw/audio.r_submix.default.so 259 | vendor/lib/hw/audio.usb.default.so 260 | vendor/lib/hw/local_time.default.so 261 | vendor/lib/hw/power.default.so 262 | vendor/lib/hw/power.qcom.so 263 | vendor/lib/hw/vibrator.default.so 264 | vendor/lib/libEGL_adreno.so 265 | vendor/lib/libOmxAacEnc.so 266 | vendor/lib/libOmxAmrEnc.so 267 | vendor/lib/libOmxCore.so 268 | vendor/lib/libOmxEvrcEnc.so 269 | vendor/lib/libOmxG711Enc.so 270 | vendor/lib/libOmxQcelp13Enc.so 271 | vendor/lib/libOmxVdec.so 272 | vendor/lib/libOmxVenc.so 273 | vendor/lib/libalsautils.so 274 | vendor/lib/libavservices_minijail_vendor.so 275 | vendor/lib/libbfqio.so 276 | vendor/lib/libbinder.so 277 | vendor/lib/libbthost_if.so 278 | vendor/lib/libc2dcolorconvert.so 279 | vendor/lib/libcld80211.so 280 | vendor/lib/libcutils.so 281 | vendor/lib/libdrm.so 282 | vendor/lib/libdrmutils.so 283 | vendor/lib/libeffects.so 284 | vendor/lib/libeffectsconfig.so 285 | vendor/lib/libgnss.so 286 | vendor/lib/libgnsspps.so 287 | vendor/lib/libgps.utils.so 288 | vendor/lib/libgpu_tonemapper.so 289 | vendor/lib/libgrallocutils.so 290 | vendor/lib/libhwc2on1adapter.so 291 | vendor/lib/libhwc2onfbadapter.so 292 | vendor/lib/libhypv_intercept.so 293 | vendor/lib/libipanat.so 294 | vendor/lib/libjson.so 295 | vendor/lib/libloc_core.so 296 | vendor/lib/libmm-omxcore.so 297 | vendor/lib/libnbaio_mono.so 298 | vendor/lib/liboffloadhal.so 299 | vendor/lib/libq3dtools_adreno.so 300 | vendor/lib/libqdMetaData.so 301 | vendor/lib/libqdutils.so 302 | vendor/lib/libqservice.so 303 | vendor/lib/librecovery_updater_msm.so 304 | vendor/lib/libreference-ril.so 305 | vendor/lib/libril.so 306 | vendor/lib/librilutils.so 307 | vendor/lib/librmnetctl.so 308 | vendor/lib/libsdmcore.so 309 | vendor/lib/libsdmutils.so 310 | vendor/lib/libsensorndkbridge.so 311 | vendor/lib/libstagefrighthw.so 312 | vendor/lib/libtinyxml.so 313 | vendor/lib/libwebrtc_audio_preprocessing.so 314 | vendor/lib/libwifi-hal-qcom.so 315 | vendor/lib/libwpa_client.so 316 | vendor/lib/mediacas/libclearkeycasplugin.so 317 | vendor/lib/mediadrm/libdrmclearkeyplugin.so 318 | vendor/lib/soundfx/libaudiopreprocessing.so 319 | vendor/lib/soundfx/libbundlewrapper.so 320 | vendor/lib/soundfx/libdownmix.so 321 | vendor/lib/soundfx/libdynproc.so 322 | vendor/lib/soundfx/libeffectproxy.so 323 | vendor/lib/soundfx/libldnhncr.so 324 | vendor/lib/soundfx/libqcompostprocbundle.so 325 | vendor/lib/soundfx/libqcomvisualizer.so 326 | vendor/lib/soundfx/libqcomvoiceprocessing.so 327 | vendor/lib/soundfx/libreverbwrapper.so 328 | vendor/lib/soundfx/libvisualizer.so 329 | vendor/lib/soundfx/libvolumelistener.so 330 | vendor/lib64/hw/audio.r_submix.default.so 331 | vendor/lib64/hw/audio.usb.default.so 332 | vendor/lib64/hw/local_time.default.so 333 | vendor/lib64/hw/power.default.so 334 | vendor/lib64/hw/power.qcom.so 335 | vendor/lib64/hw/vibrator.default.so 336 | vendor/lib64/libEGL_adreno.so 337 | vendor/lib64/libOmxAacEnc.so 338 | vendor/lib64/libOmxAmrEnc.so 339 | vendor/lib64/libOmxCore.so 340 | vendor/lib64/libOmxEvrcEnc.so 341 | vendor/lib64/libOmxG711Enc.so 342 | vendor/lib64/libOmxQcelp13Enc.so 343 | vendor/lib64/libOmxVdec.so 344 | vendor/lib64/libOmxVenc.so 345 | vendor/lib64/libalsautils.so 346 | vendor/lib64/libbfqio.so 347 | vendor/lib64/libbinder.so 348 | vendor/lib64/libbthost_if.so 349 | vendor/lib64/libc2dcolorconvert.so 350 | vendor/lib64/libcld80211.so 351 | vendor/lib64/libcutils.so 352 | vendor/lib64/libdrm.so 353 | vendor/lib64/libdrmutils.so 354 | vendor/lib64/libeffects.so 355 | vendor/lib64/libeffectsconfig.so 356 | vendor/lib64/libgnss.so 357 | vendor/lib64/libgnsspps.so 358 | vendor/lib64/libgps.utils.so 359 | vendor/lib64/libgpu_tonemapper.so 360 | vendor/lib64/libgrallocutils.so 361 | vendor/lib64/libhwc2on1adapter.so 362 | vendor/lib64/libhwc2onfbadapter.so 363 | vendor/lib64/libhwminijail.so 364 | vendor/lib64/libhypv_intercept.so 365 | vendor/lib64/libipanat.so 366 | vendor/lib64/libjson.so 367 | vendor/lib64/libkeystore-engine-wifi-hidl.so 368 | vendor/lib64/libkeystore-wifi-hidl.so 369 | vendor/lib64/libloc_core.so 370 | vendor/lib64/libmm-omxcore.so 371 | vendor/lib64/libnbaio_mono.so 372 | vendor/lib64/libnetfilter_conntrack.so 373 | vendor/lib64/libnfnetlink.so 374 | vendor/lib64/liboffloadhal.so 375 | vendor/lib64/libq3dtools_adreno.so 376 | vendor/lib64/libqdMetaData.so 377 | vendor/lib64/libqdutils.so 378 | vendor/lib64/libqservice.so 379 | vendor/lib64/librecovery_updater_msm.so 380 | vendor/lib64/libreference-ril.so 381 | vendor/lib64/libril.so 382 | vendor/lib64/librilutils.so 383 | vendor/lib64/librmnetctl.so 384 | vendor/lib64/libsdmcore.so 385 | vendor/lib64/libsdmutils.so 386 | vendor/lib64/libsensorndkbridge.so 387 | vendor/lib64/libstagefrighthw.so 388 | vendor/lib64/libtinyxml.so 389 | vendor/lib64/libwebrtc_audio_preprocessing.so 390 | vendor/lib64/libwifi-hal-qcom.so 391 | vendor/lib64/libwifi-hal.so 392 | vendor/lib64/libwpa_client.so 393 | vendor/lib64/mediacas/libclearkeycasplugin.so 394 | vendor/lib64/mediadrm/libdrmclearkeyplugin.so 395 | vendor/lib64/soundfx/libaudiopreprocessing.so 396 | vendor/lib64/soundfx/libbundlewrapper.so 397 | vendor/lib64/soundfx/libdownmix.so 398 | vendor/lib64/soundfx/libdynproc.so 399 | vendor/lib64/soundfx/libeffectproxy.so 400 | vendor/lib64/soundfx/libldnhncr.so 401 | vendor/lib64/soundfx/libqcompostprocbundle.so 402 | vendor/lib64/soundfx/libqcomvisualizer.so 403 | vendor/lib64/soundfx/libqcomvoiceprocessing.so 404 | vendor/lib64/soundfx/libreverbwrapper.so 405 | vendor/lib64/soundfx/libvisualizer.so 406 | vendor/lib64/soundfx/libvolumelistener.so 407 | vendor/lib64/vendor.mokee.livedisplay@2.0.so 408 | vendor/lib64/vendor.mokee.power@1.0.so 409 | vendor/lib64/vendor.mokee.trust@1.0.so 410 | vendor/manifest.xml 411 | vendor/ueventd.rc 412 | -------------------------------------------------------------------------------- /helpers/lists/overlays/arrays/integer-array: -------------------------------------------------------------------------------- 1 | config_ambientBrighteningThresholds 2 | config_ambientDarkeningThresholds 3 | config_ambientThresholdLevels 4 | config_autoBrightnessDisplayValuesNits 5 | config_autoBrightnessLcdBacklightValues 6 | config_autoBrightnessLevels 7 | config_availableColorModes 8 | config_displayWhiteBalanceAmbientColorTemperatures 9 | config_displayWhiteBalanceDisplayColorTemperatures 10 | config_dynamicHysteresisBrightLevels 11 | config_dynamicHysteresisDarkLevels 12 | config_dynamicHysteresisLuxLevels 13 | config_keyboardTapVibePattern 14 | config_longPressVibePattern 15 | config_screenBrighteningThresholds 16 | config_screenBrightnessBacklight 17 | config_screenBrightnessNits 18 | config_tether_upstream_types 19 | config_virtualKeyVibePattern 20 | -------------------------------------------------------------------------------- /helpers/lists/overlays/arrays/string-array: -------------------------------------------------------------------------------- 1 | config_apexBootImagePinnerServiceFiles 2 | config_biometric_sensors 3 | config_defaultPinnerServiceFiles 4 | config_gpsParameters 5 | config_jitzygoteBootImagePinnerServiceFiles 6 | config_mobile_tcp_buffers 7 | config_tether_bluetooth_regexs 8 | config_tether_dhcp_range 9 | config_tether_usb_regexs 10 | config_tether_wifi_regexs 11 | networkAttributes 12 | radioAttributes 13 | -------------------------------------------------------------------------------- /helpers/lists/overlays/bools: -------------------------------------------------------------------------------- 1 | config_allowAllRotations 2 | config_automatic_brightness_available 3 | config_bluetooth_hfp_inband_ringing_support 4 | config_bluetooth_le_peripheral_mode_supported 5 | config_camera_sound_forced 6 | config_carrier_volte_available 7 | config_carrier_volte_tty_supported 8 | config_carrier_wfc_ims_available 9 | config_cellBroadcastAppLinks 10 | config_device_volte_available 11 | config_device_vt_available 12 | config_device_wfc_ims_available 13 | config_displayBlanksAfterDoze 14 | config_displayWhiteBalanceAvailable 15 | config_dozeAfterScreenOffByDefault 16 | config_dozeAlwaysOnDisplayAvailable 17 | config_dozeAlwaysOnEnabled 18 | config_dynamic_bind_ims 19 | config_eap_sim_based_auth_supported 20 | config_enableMultiUserUI 21 | config_enableNetworkLocationOverlay 22 | config_enableWifiDisplay 23 | config_fillMainBuiltInDisplayCutout 24 | config_hotswapCapable 25 | config_intrusiveNotificationLed 26 | config_lidControlsSleep 27 | config_notifyClientOnFingerprintCancelSuccess 28 | config_pinnerCameraApp 29 | config_pinnerHomeApp 30 | config_powerDecoupleAutoSuspendModeFromDisplay 31 | config_powerDecoupleInteractiveModeFromDisplay 32 | config_radio_reset_on_regular_deactivation 33 | config_setColorTransformAccelerated 34 | config_showNavigationBar 35 | config_speed_up_audio_on_mt_calls 36 | config_supportAudioSourceUnprocessed 37 | config_supportDoubleTapWake 38 | config_supportSystemNavigationKeys 39 | config_suspendWhenScreenOffDueToProximity 40 | config_sustainedPerformanceModeSupported 41 | config_swipe_up_gesture_setting_available 42 | config_switch_phone_on_voice_reg_state_change 43 | config_tether_upstream_automatic 44 | config_unplugTurnsOnScreen 45 | config_useDevInputEventForAudioJack 46 | config_useVideoPauseWorkaround 47 | config_wifiDisplaySupportsProtectedBuffers 48 | config_wifi_background_scan_support 49 | config_wifi_batched_scan_supported 50 | config_wifi_dual_band_support 51 | config_wifi_framework_use_single_radio_chain_scan_results_network_selection 52 | config_wifi_softap_acs_supported 53 | config_wifi_softap_ieee80211ac_supported 54 | skip_restoring_network_selection 55 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/HEADER: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_allowAllRotations: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_ambientBrighteningThresholds: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_ambientDarkeningThresholds: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_ambientThresholdLevels: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_autoBrightnessAdjustmentMaxGamma: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_autoBrightnessAmbientLightHorizon: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_autoBrightnessBrighteningLightDebounce: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_autoBrightnessDisplayValuesNits: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_autoBrightnessLcdBacklightValues: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_autoBrightnessLevels: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_autoBrightnessLightSensorRate: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_automatic_brightness_available: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_availableColorModes: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_biometric_sensors: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_bluetooth_hfp_inband_ringing_support: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_bluetooth_le_peripheral_mode_supported: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_bluetooth_operating_voltage_mv: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_brightness_ramp_rate_fast: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_brightness_ramp_rate_slow: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_camera_sound_forced: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_carrier_volte_available: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_carrier_wfc_ims_available: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_cellBroadcastAppLinks: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_defaultPinnerServiceFiles: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_device_volte_available: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_device_vt_available: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_device_wfc_ims_available: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_displayBlanksAfterDoze: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_displayWhiteBalanceAmbientColorTemperatures: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_displayWhiteBalanceAvailable: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_displayWhiteBalanceColorTemperatureMax: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_displayWhiteBalanceColorTemperatureMin: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_displayWhiteBalanceColorTemperatureSensorName: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_displayWhiteBalanceDisplayColorTemperatures: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_dozeAfterScreenOffByDefault: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_dozeComponent: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_dynamicHysteresisBrightLevels: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_dynamicHysteresisDarkLevels: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_dynamicHysteresisLuxLevels: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_dynamic_bind_ims: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_enableMultiUserUI: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_enableNetworkLocationOverlay: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_enableWifiDisplay: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_ethernet_iface_regex: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_fillMainBuiltInDisplayCutout: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_gpsParameters: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_hotswapCapable: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_ims_package: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_intrusiveNotificationLed: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_jitzygoteBootImagePinnerServiceFiles: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_keyboardTapVibePattern: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_lidControlsSleep: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_longPressVibePattern: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_mainBuiltInDisplayCutout: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_maximumScreenDimRatio: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_mms_user_agent: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_mms_user_agent_profile_url: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_mobile_tcp_buffers: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_multiuserMaximumUsers: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_notificationsBatteryFullARGB: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_notificationsBatteryLowARGB: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_notificationsBatteryMediumARGB: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_notifyClientOnFingerprintCancelSuccess: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_num_physical_slots: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_persistentDataPackageName: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_pinnerCameraApp: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_pinnerHomeApp: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_powerDecoupleAutoSuspendModeFromDisplay: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_powerDecoupleInteractiveModeFromDisplay: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_radio_reset_on_regular_deactivation: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_screenBrighteningThresholds: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_screenBrightnessBacklight: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_screenBrightnessDim: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_screenBrightnessDoze: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_screenBrightnessNits: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_screenBrightnessSettingDefault: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_screenBrightnessSettingMinimum: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_setColorTransformAccelerated: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_showNavigationBar: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_shutdownBatteryTemperature: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_speed_up_audio_on_mt_calls: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_supportAudioSourceUnprocessed: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_supportDoubleTapWake: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_supportSystemNavigationKeys: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_suspendWhenScreenOffDueToProximity: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_sustainedPerformanceModeSupported: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_swipe_up_gesture_setting_available: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_switch_phone_on_voice_reg_state_change: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_tether_bluetooth_regexs: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_tether_dhcp_range: -------------------------------------------------------------------------------- 1 | 2 | 10 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_tether_upstream_automatic: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_tether_upstream_types: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_tether_usb_regexs: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_tether_wifi_regexs: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_unplugTurnsOnScreen: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_useDevInputEventForAudioJack: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_useVideoPauseWorkaround: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_virtualKeyVibePattern: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifiDisplaySupportsProtectedBuffers: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifi_background_scan_support: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifi_batched_scan_supported: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifi_dual_band_support: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifi_framework_use_single_radio_chain_scan_results_network_selection: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifi_softap_acs_supported: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifi_softap_ieee80211ac_supported: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/config_wifi_tcp_buffers: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/networkAttributes: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/radioAttributes: -------------------------------------------------------------------------------- 1 | 4 | 6 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/skip_restoring_network_selection: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/comments/status_bar_height_portrait: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/dimens: -------------------------------------------------------------------------------- 1 | status_bar_height_portrait 2 | -------------------------------------------------------------------------------- /helpers/lists/overlays/fractions: -------------------------------------------------------------------------------- 1 | config_autoBrightnessAdjustmentMaxGamma 2 | config_maximumScreenDimRatio 3 | -------------------------------------------------------------------------------- /helpers/lists/overlays/integers: -------------------------------------------------------------------------------- 1 | config_autoBrightnessAmbientLightHorizon 2 | config_autoBrightnessBrighteningLightDebounce 3 | config_autoBrightnessDarkeningLightDebounce 4 | config_autoBrightnessLightSensorRate 5 | config_bluetooth_operating_voltage_mv 6 | config_brightness_ramp_rate_fast 7 | config_brightness_ramp_rate_slow 8 | config_displayWhiteBalanceColorTemperatureMax 9 | config_displayWhiteBalanceColorTemperatureMin 10 | config_longPressOnHomeBehavior 11 | config_multiuserMaximumUsers 12 | config_notificationsBatteryFullARGB 13 | config_notificationsBatteryLowARGB 14 | config_notificationsBatteryMediumARGB 15 | config_num_physical_slots 16 | config_screenBrightnessDim 17 | config_screenBrightnessDoze 18 | config_screenBrightnessSettingDefault 19 | config_screenBrightnessSettingMinimum 20 | config_shutdownBatteryTemperature 21 | config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz 22 | config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz 23 | config_wifi_framework_wifi_score_low_rssi_threshold_24GHz 24 | config_wifi_framework_wifi_score_low_rssi_threshold_5GHz 25 | -------------------------------------------------------------------------------- /helpers/lists/overlays/strings: -------------------------------------------------------------------------------- 1 | config_displayWhiteBalanceColorTemperatureSensorName 2 | config_dozeComponent 3 | config_ethernet_iface_regex 4 | config_ims_package 5 | config_mainBuiltInDisplayCutout 6 | config_mms_user_agent 7 | config_mms_user_agent_profile_url 8 | config_persistentDataPackageName 9 | config_qualified_networks_service_package 10 | config_wifi_tcp_buffers 11 | config_wlan_data_service_package 12 | config_wlan_network_service_package 13 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Audio: -------------------------------------------------------------------------------- 1 | vendor/bin/audioflacapp 2 | vendor/etc/audio.scd 3 | vendor/etc/diracvdd.bin 4 | vendor/etc/speaker.ftcfg 5 | vendor/firmware/dbmd4_va_fw.bin 6 | vendor/firmware/tas2563_uCDSP.bin 7 | vendor/firmware/tfa98xx.cnt 8 | vendor/firmware/voice_amodel.bin 9 | vendor/lib/libadiertac.so 10 | vendor/lib/libadm.so 11 | vendor/lib/libaudcal.so 12 | vendor/lib/libcsd-client.so 13 | vendor/lib/libdrc.so 14 | vendor/lib/libqtigef.so 15 | vendor/lib/libsurround_3mic_proc.so 16 | vendor/lib/soundfx/libasphere.so 17 | vendor/lib/soundfx/libmisoundfx.so 18 | vendor/lib/soundfx/libqcbassboost.so 19 | vendor/lib/soundfx/libqcreverb.so 20 | vendor/lib/soundfx/libqcvirt.so 21 | vendor/lib/soundfx/libshoebox.so 22 | vendor/lib64/libadiertac.so 23 | vendor/lib64/libaudcal.so 24 | vendor/lib64/libcsd-client.so 25 | vendor/lib64/libqtigef.so 26 | vendor/lib64/soundfx/libasphere.so 27 | vendor/lib64/soundfx/libqcbassboost.so 28 | vendor/lib64/soundfx/libqcreverb.so 29 | vendor/lib64/soundfx/libqcvirt.so 30 | vendor/lib64/soundfx/libshoebox.so 31 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Camera: -------------------------------------------------------------------------------- 1 | lib/libchromaflash.so 2 | lib64/libseemore.so 3 | vendor/bin/remosaic_daemon 4 | vendor/bin/vl53l1_daemon_main 5 | vendor/lib/hw/bbktouchscreen.default.so 6 | vendor/lib/hw/com.qti.chi.override.so 7 | vendor/lib/libAltek_DualCam3D_DLL.so 8 | vendor/lib/libDxHdcp.so 9 | vendor/lib/libFaceGrade.so 10 | vendor/lib/libMiWatermark.so 11 | vendor/lib/libNtiOutline.so 12 | vendor/lib/libSNPE.so 13 | vendor/lib/libSTDualCamCaptureBokeh.so 14 | vendor/lib/libSTDualCamPreviewBokeh.so 15 | vendor/lib/libSTdisp.so 16 | vendor/lib/libSTdisp_cpu.so 17 | vendor/lib/libSonyDefocus.so 18 | vendor/lib/libStereoblur.so 19 | vendor/lib/libSunnyDPCProcess.so 20 | vendor/lib/libXMFD_AgeGender.so 21 | vendor/lib/lib_denoiser3.so 22 | vendor/lib/lib_lowlight.so 23 | vendor/lib/lib_oneplus_watermark.so 24 | vendor/lib/libalLDC.so 25 | vendor/lib/libalhLDC.so 26 | vendor/lib/libbbkemsensor.so 27 | vendor/lib/libblur_halide.so 28 | vendor/lib/libc++_shared.so 29 | vendor/lib/libcapiv2svacnn.so 30 | vendor/lib/libcapiv2vop.so 31 | vendor/lib/libchromaflash.so 32 | vendor/lib/libcom.qti.chinodeutils.so 33 | vendor/lib/libcvface_api.so 34 | vendor/lib/libdepthmap.so 35 | vendor/lib/libdepthmapwrapper.so 36 | vendor/lib/libdualcameraddm.so 37 | vendor/lib/libencodejpegnative.so 38 | vendor/lib/libencodejpegnativehal.so 39 | vendor/lib/libextmcas_algo.so 40 | vendor/lib/libfaceBeauty.so 41 | vendor/lib/libflash_pmic.so 42 | vendor/lib/libgui_vendor.so 43 | vendor/lib/libhal_dbg.so 44 | vendor/lib/libhdrdynamic.so 45 | vendor/lib/libhdrdynamicootf.so 46 | vendor/lib/libjpegdhw.so 47 | vendor/lib/libjpegdmahw.so 48 | vendor/lib/libjpegehw.so 49 | vendor/lib/libmegface.so 50 | vendor/lib/libminikin.so 51 | vendor/lib/libmm-qcamera.so 52 | vendor/lib/libmmjpeg.so 53 | vendor/lib/libmmjpeg_interface.so 54 | vendor/lib/libmmlib2d_interface.so 55 | vendor/lib/libmmqjpeg_codec.so 56 | vendor/lib/libmmqjpegdma.so 57 | vendor/lib/libmorpho_image_refiner.so 58 | vendor/lib/libmorpho_video_refiner.so 59 | vendor/lib/libmpbase.so 60 | vendor/lib/libnti_ExtremeHDR.so 61 | vendor/lib/libnti_ai_color_tune.so 62 | vendor/lib/libnti_beauty.so 63 | vendor/lib/libnti_cv.so 64 | vendor/lib/libnti_facebeauty_preview.so 65 | vendor/lib/libnti_gpu_beautyengine.so 66 | vendor/lib/libnti_hdr.so 67 | vendor/lib/libnti_hdrsc.so 68 | vendor/lib/libnti_hdrseg.so 69 | vendor/lib/libnti_image_bokeh.so 70 | vendor/lib/libnti_lut.so 71 | vendor/lib/libnti_mem_share.so 72 | vendor/lib/libnti_previewbeauty.so 73 | vendor/lib/libnti_refocus_engine.so 74 | vendor/lib/libnti_rportrait.so 75 | vendor/lib/libnti_video_bokeh.so 76 | vendor/lib/libop_jpeg.so 77 | vendor/lib/libopcamera_native_modules.so 78 | vendor/lib/liboptizoom.so 79 | vendor/lib/libpreisp_camera.so 80 | vendor/lib/libqomx_core.so 81 | vendor/lib/libqomx_jpegdec.so 82 | vendor/lib/libqomx_jpegenc.so 83 | vendor/lib/libqomx_jpegenc_pipe.so 84 | vendor/lib/libqvrcamera_client.so 85 | vendor/lib/libqvrservice_client.so 86 | vendor/lib/libremosaic_daemon.so 87 | vendor/lib/libseemore.so 88 | vendor/lib/libsns_device_mode_stub.so 89 | vendor/lib/libsns_fastRPC_util.so 90 | vendor/lib/libsns_low_lat_stream_stub.so 91 | vendor/lib/libsnsapi.so 92 | vendor/lib/libsnsdiaglog.so 93 | vendor/lib/libst_relighting.so 94 | vendor/lib/libstblur_capture_api.so 95 | vendor/lib/libstdc++.so 96 | vendor/lib/libstmobile_hand.so 97 | vendor/lib/libswregistrationalgo.so 98 | vendor/lib/libswvdec.so 99 | vendor/lib/libsymphony-cpu.so 100 | vendor/lib/libsymphonypower.so 101 | vendor/lib/libts_detected_face_hal.so 102 | vendor/lib/libts_face_beautify_hal.so 103 | vendor/lib/libubifocus.so 104 | vendor/lib/libvideobokeh.so 105 | vendor/lib/libvideoutils.so 106 | vendor/lib/libvidhance.so 107 | vendor/lib/libvidhance_gyro.so 108 | vendor/lib/libvl53l1_daemon.so 109 | vendor/lib/sensors.hal.tof.so 110 | vendor/lib64/hw/com.qti.chi.override.so 111 | vendor/lib64/hw/com.qti.chi.override_moorea.so 112 | vendor/lib64/libDxHdcp.so 113 | vendor/lib64/libFaceCA.so 114 | vendor/lib64/libFaceGrade.so 115 | vendor/lib64/libMiWatermark.so 116 | vendor/lib64/libSNPE.so 117 | vendor/lib64/libXMFD_AgeGender.so 118 | vendor/lib64/lib_denoiser3.so 119 | vendor/lib64/lib_lowlight.so 120 | vendor/lib64/libbbkemsensor.so 121 | vendor/lib64/libc++_shared.so 122 | vendor/lib64/libchromaflash.so 123 | vendor/lib64/libcom.qti.chinodeutils.so 124 | vendor/lib64/libcvface_api.so 125 | vendor/lib64/libdepthmapwrapper.so 126 | vendor/lib64/libdualcameraddm.so 127 | vendor/lib64/libflash_pmic.so 128 | vendor/lib64/libgui_vendor.so 129 | vendor/lib64/libhal_dbg.so 130 | vendor/lib64/libhdrdynamic.so 131 | vendor/lib64/libhdrdynamicootf.so 132 | vendor/lib64/libjpegdhw.so 133 | vendor/lib64/libjpegdmahw.so 134 | vendor/lib64/libjpegehw.so 135 | vendor/lib64/libmegface.so 136 | vendor/lib64/libmialgo_fs.so 137 | vendor/lib64/libminikin.so 138 | vendor/lib64/libmm-qcamera.so 139 | vendor/lib64/libmmjpeg.so 140 | vendor/lib64/libmmjpeg_interface.so 141 | vendor/lib64/libmmlib2d_interface.so 142 | vendor/lib64/libmmqjpeg_codec.so 143 | vendor/lib64/libmmqjpegdma.so 144 | vendor/lib64/libmorpho_image_refiner.so 145 | vendor/lib64/libmorpho_video_refiner.so 146 | vendor/lib64/libmpbase.so 147 | vendor/lib64/libopcamera_native_modules.so 148 | vendor/lib64/liboptizoom.so 149 | vendor/lib64/libqomx_core.so 150 | vendor/lib64/libqomx_jpegdec.so 151 | vendor/lib64/libqomx_jpegenc.so 152 | vendor/lib64/libqomx_jpegenc_pipe.so 153 | vendor/lib64/libqvrcamera_client.so 154 | vendor/lib64/libqvrservice_client.so 155 | vendor/lib64/libremosaic_daemon.so 156 | vendor/lib64/libseemore.so 157 | vendor/lib64/libsns_device_mode_stub.so 158 | vendor/lib64/libsns_fastRPC_util.so 159 | vendor/lib64/libsns_low_lat_stream_stub.so 160 | vendor/lib64/libsnsapi.so 161 | vendor/lib64/libsnsdiaglog.so 162 | vendor/lib64/libst_relighting.so 163 | vendor/lib64/libstblur_capture_api.so 164 | vendor/lib64/libstdc++.so 165 | vendor/lib64/libswregistrationalgo.so 166 | vendor/lib64/libswvdec.so 167 | vendor/lib64/libsymphony-cpu.so 168 | vendor/lib64/libsymphonypower.so 169 | vendor/lib64/libsysmon_cdsp_skel.so 170 | vendor/lib64/libts_detected_face_hal.so 171 | vendor/lib64/libts_face_beautify_hal.so 172 | vendor/lib64/libubifocus.so 173 | vendor/lib64/libvideobokeh.so 174 | vendor/lib64/libvideoutils.so 175 | vendor/lib64/libvidhance.so 176 | vendor/lib64/libvidhance_gyro.so 177 | vendor/lib64/libvl53l1_daemon.so 178 | vendor/lib64/sensors.hal.tof.so 179 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/DRM: -------------------------------------------------------------------------------- 1 | vendor/bin/qseecomd 2 | vendor/lib/libGPQTEEC_vendor.so 3 | vendor/lib/libGPTEE_vendor.so 4 | vendor/lib/libGPreqcancel.so 5 | vendor/lib/libGPreqcancel_svc.so 6 | vendor/lib/libQSEEComAPI.so 7 | vendor/lib/libSecureUILib.so 8 | vendor/lib/libStDrvInt.so 9 | vendor/lib/libbase64.so 10 | vendor/lib/libcpion.so 11 | vendor/lib/libcppf.so 12 | vendor/lib/libcrypto_vendor.so 13 | vendor/lib/libdrmfs.so 14 | vendor/lib/libdrmtime.so 15 | vendor/lib/liboemcrypto.so 16 | vendor/lib/libops.so 17 | vendor/lib/libqisl.so 18 | vendor/lib/librmp.so 19 | vendor/lib/librpmb.so 20 | vendor/lib/libsecureui.so 21 | vendor/lib/libsecureui_svcsock.so 22 | vendor/lib/libsi.so 23 | vendor/lib/libspl.so 24 | vendor/lib/libssd.so 25 | vendor/lib/libtzdrmgenprov.so 26 | vendor/lib/libtzplayready.so 27 | vendor/lib64/libGPQTEEC_vendor.so 28 | vendor/lib64/libGPTEE_vendor.so 29 | vendor/lib64/libGPreqcancel.so 30 | vendor/lib64/libGPreqcancel_svc.so 31 | vendor/lib64/libQSEEComAPI.so 32 | vendor/lib64/libSecureUILib.so 33 | vendor/lib64/libStDrvInt.so 34 | vendor/lib64/libbase64.so 35 | vendor/lib64/libcpion.so 36 | vendor/lib64/libcppf.so 37 | vendor/lib64/libdrmfs.so 38 | vendor/lib64/libdrmtime.so 39 | vendor/lib64/liboemcrypto.so 40 | vendor/lib64/libops.so 41 | vendor/lib64/libprdrmdecrypt.so 42 | vendor/lib64/libqisl.so 43 | vendor/lib64/librmp.so 44 | vendor/lib64/librpmb.so 45 | vendor/lib64/libsecureui.so 46 | vendor/lib64/libsecureui_svcsock.so 47 | vendor/lib64/libsi.so 48 | vendor/lib64/libspl.so 49 | vendor/lib64/libssd.so 50 | vendor/lib64/libtzdrmgenprov.so 51 | vendor/lib64/libtzplayready.so 52 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Display-Hardware: -------------------------------------------------------------------------------- 1 | vendor/lib/libdisplaydebug.so 2 | vendor/lib/libdisplayqos.so 3 | vendor/lib/libdpps.so 4 | vendor/lib/libdrm.so 5 | vendor/lib/libdrmutils.so 6 | vendor/lib/libgpu_tonemapper.so 7 | vendor/lib/libgralloccore.so 8 | vendor/lib/libgrallocutils.so 9 | vendor/lib/libqdMetaData.so 10 | vendor/lib/libqdutils.so 11 | vendor/lib/libqservice.so 12 | vendor/lib/libsdedrm.so 13 | vendor/lib/libsdm-colormgr-algo.so 14 | vendor/lib/libsdmcore.so 15 | vendor/lib/libsdmextension.so 16 | vendor/lib/libsdmutils.so 17 | vendor/lib64/libdisplaydebug.so 18 | vendor/lib64/libdisplayqos.so 19 | vendor/lib64/libdpps.so 20 | vendor/lib64/libdrm.so 21 | vendor/lib64/libdrmutils.so 22 | vendor/lib64/libgpu_tonemapper.so 23 | vendor/lib64/libgralloccore.so 24 | vendor/lib64/libgrallocutils.so 25 | vendor/lib64/libqdMetaData.so 26 | vendor/lib64/libqdutils.so 27 | vendor/lib64/libqservice.so 28 | vendor/lib64/libsdedrm.so 29 | vendor/lib64/libsdm-colormgr-algo.so 30 | vendor/lib64/libsdmcore.so 31 | vendor/lib64/libsdmextension.so 32 | vendor/lib64/libsdmutils.so 33 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/GPS: -------------------------------------------------------------------------------- 1 | vendor/bin/DR_AP_Service 2 | vendor/bin/garden_app 3 | vendor/bin/loc_launcher 4 | vendor/bin/lowi-server 5 | vendor/bin/slim_daemon 6 | vendor/bin/xtra-daemon 7 | vendor/etc/cacert_location.pem 8 | vendor/etc/xtra_root_cert.pem 9 | vendor/lib/libDRPlugin.so 10 | vendor/lib/lib_drplugin_server.so 11 | vendor/lib/libbatching.so 12 | vendor/lib/libdataitems.so 13 | vendor/lib/libdrplugin_client.so 14 | vendor/lib/libevent_observer.so 15 | vendor/lib/libflp.so 16 | vendor/lib/libgdtap.so 17 | vendor/lib/libgeofence.so 18 | vendor/lib/libgeofencing.so 19 | vendor/lib/liblbs_core.so 20 | vendor/lib/libquipc_os_api.so 21 | vendor/lib/libslimclient.so 22 | vendor/lib/libulp2.so 23 | vendor/lib/libxtadapter.so 24 | vendor/lib/libxtwifi_ulp_adaptor.so 25 | vendor/lib64/libDRPlugin.so 26 | vendor/lib64/lib_drplugin_server.so 27 | vendor/lib64/libbatching.so 28 | vendor/lib64/libdataitems.so 29 | vendor/lib64/libdrplugin_client.so 30 | vendor/lib64/libevent_observer.so 31 | vendor/lib64/libflp.so 32 | vendor/lib64/libgarden_haltests_e2e.so 33 | vendor/lib64/libgdtap.so 34 | vendor/lib64/libgeofence.so 35 | vendor/lib64/libgeofencing.so 36 | vendor/lib64/liblbs_core.so 37 | vendor/lib64/libqdma.so 38 | vendor/lib64/libqdma_file_agent.so 39 | vendor/lib64/libquipc_os_api.so 40 | vendor/lib64/libslimclient.so 41 | vendor/lib64/libulp2.so 42 | vendor/lib64/libxtadapter.so 43 | vendor/lib64/libxtwifi_ulp_adaptor.so 44 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/GPS-Hardware: -------------------------------------------------------------------------------- 1 | vendor/lib/libaoa.so 2 | vendor/lib/libgarden.so 3 | vendor/lib/libgnss.so 4 | vendor/lib/libgnsspps.so 5 | vendor/lib/libgps.utils.so 6 | vendor/lib64/libaoa.so 7 | vendor/lib64/libgarden.so 8 | vendor/lib64/libgnss.so 9 | vendor/lib64/libgnsspps.so 10 | vendor/lib64/libgps.utils.so 11 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Graphics: -------------------------------------------------------------------------------- 1 | vendor/lib/libC2D2.so 2 | vendor/lib/libCB.so 3 | vendor/lib/libEGL_adreno.so 4 | vendor/lib/libOpenCL.so 5 | vendor/lib/libRSDriver_adreno.so 6 | vendor/lib/libadreno_utils.so 7 | vendor/lib/libbccQTI.so 8 | vendor/lib/libc2d30_bltlib.so 9 | vendor/lib/libgsl.so 10 | vendor/lib/libhdr_tm.so 11 | vendor/lib/libllvm-glnext.so 12 | vendor/lib/libllvm-qcom.so 13 | vendor/lib/libpvr.so 14 | vendor/lib/libq3dtools_adreno.so 15 | vendor/lib/libqseed3.so 16 | vendor/lib/librs_adreno.so 17 | vendor/lib/librs_adreno_sha1.so 18 | vendor/lib/libsdm-color.so 19 | vendor/lib/libsdm-diag.so 20 | vendor/lib/libsdm-disp-vndapis.so 21 | vendor/lib/libsdmextension.so 22 | vendor/lib/libtinyxml2_1.so 23 | vendor/lib64/libC2D2.so 24 | vendor/lib64/libCB.so 25 | vendor/lib64/libEGL_adreno.so 26 | vendor/lib64/libOpenCL.so 27 | vendor/lib64/libRSDriver_adreno.so 28 | vendor/lib64/libadreno_utils.so 29 | vendor/lib64/libbccQTI.so 30 | vendor/lib64/libc2d30_bltlib.so 31 | vendor/lib64/libgsl.so 32 | vendor/lib64/libhdr_tm.so 33 | vendor/lib64/libllvm-glnext.so 34 | vendor/lib64/libllvm-qcom.so 35 | vendor/lib64/libpvr.so 36 | vendor/lib64/libq3dtools_adreno.so 37 | vendor/lib64/libqseed3.so 38 | vendor/lib64/librs_adreno.so 39 | vendor/lib64/librs_adreno_sha1.so 40 | vendor/lib64/libsdm-color.so 41 | vendor/lib64/libsdm-diag.so 42 | vendor/lib64/libsdm-disp-vndapis.so 43 | vendor/lib64/libsdmextension.so 44 | vendor/lib64/libtinyxml2_1.so 45 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Listen: -------------------------------------------------------------------------------- 1 | vendor/lib/libadpcmdec.so 2 | vendor/lib/libgcs-calwrapper.so 3 | vendor/lib/libgcs-ipc.so 4 | vendor/lib/libgcs-osal.so 5 | vendor/lib/libgcs.so 6 | vendor/lib/libnwa.so 7 | vendor/lib/libsmwrapper.so 8 | vendor/lib/libsse.so 9 | vendor/lib64/libgcs-calwrapper.so 10 | vendor/lib64/libgcs-ipc.so 11 | vendor/lib64/libgcs-osal.so 12 | vendor/lib64/libgcs.so 13 | vendor/lib64/libnwa.so 14 | vendor/lib64/libsse.so 15 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Media: -------------------------------------------------------------------------------- 1 | vendor/lib/libAlacSwDec.so 2 | vendor/lib/libApeSwDec.so 3 | vendor/lib/libFlacSwDec.so 4 | vendor/lib/libI420colorconvert.so 5 | vendor/lib/libMpeg4SwEncoder.so 6 | vendor/lib/libOmxAacDec.so 7 | vendor/lib/libOmxAlacDec.so 8 | vendor/lib/libOmxAlacDecSw.so 9 | vendor/lib/libOmxAmrDec.so 10 | vendor/lib/libOmxAmrwbplusDec.so 11 | vendor/lib/libOmxApeDec.so 12 | vendor/lib/libOmxApeDecSw.so 13 | vendor/lib/libOmxDsdDec.so 14 | vendor/lib/libOmxEvrcDec.so 15 | vendor/lib/libOmxG711Dec.so 16 | vendor/lib/libOmxMux_proprietary.so 17 | vendor/lib/libOmxQcelp13Dec.so 18 | vendor/lib/libOmxVideoDSMode.so 19 | vendor/lib/libOmxVpp.so 20 | vendor/lib/libOmxWmaDec.so 21 | vendor/lib/libdsd2pcm.so 22 | vendor/lib/libgpustats.so 23 | vendor/lib/libmedia.so 24 | vendor/lib/libmediaextractor.so 25 | vendor/lib/libmediametrics.so 26 | vendor/lib/libmm-color-convertor.so 27 | vendor/lib/libmmosal_proprietary.so 28 | vendor/lib/libmmsw_detail_enhancement.so 29 | vendor/lib/libmmsw_math.so 30 | vendor/lib/libmmsw_opencl.so 31 | vendor/lib/libmmsw_platform.so 32 | vendor/lib/libmulawdec.so 33 | vendor/lib/libstagefright_foundation.so 34 | vendor/lib/libstagefright_omx.so 35 | vendor/lib/libstagefright_soft_ac4dec.so 36 | vendor/lib/libstagefright_soft_ddpdec.so 37 | vendor/lib/libstagefright_soft_mpeg2dec.so 38 | vendor/lib/libstagefright_soft_qtiflacdec.so 39 | vendor/lib/libvqzip.so 40 | vendor/lib/vndk/libstagefright_foundation.so 41 | vendor/lib/vndk/libstagefright_omx.so 42 | vendor/lib64/libAlacSwDec.so 43 | vendor/lib64/libApeSwDec.so 44 | vendor/lib64/libFlacSwDec.so 45 | vendor/lib64/libI420colorconvert.so 46 | vendor/lib64/libMpeg4SwEncoder.so 47 | vendor/lib64/libOmxAacDec.so 48 | vendor/lib64/libOmxAlacDec.so 49 | vendor/lib64/libOmxAlacDecSw.so 50 | vendor/lib64/libOmxAmrDec.so 51 | vendor/lib64/libOmxAmrwbplusDec.so 52 | vendor/lib64/libOmxApeDec.so 53 | vendor/lib64/libOmxApeDecSw.so 54 | vendor/lib64/libOmxEvrcDec.so 55 | vendor/lib64/libOmxG711Dec.so 56 | vendor/lib64/libOmxQcelp13Dec.so 57 | vendor/lib64/libOmxVpp.so 58 | vendor/lib64/libOmxWmaDec.so 59 | vendor/lib64/libgpustats.so 60 | vendor/lib64/libmm-color-convertor.so 61 | vendor/lib64/libmmosal_proprietary.so 62 | vendor/lib64/libmmsw_detail_enhancement.so 63 | vendor/lib64/libmmsw_math.so 64 | vendor/lib64/libmmsw_opencl.so 65 | vendor/lib64/libmmsw_platform.so 66 | vendor/lib64/libmulawdec.so 67 | vendor/lib64/libstagefright_soft_qtiflacdec.so 68 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Media-Hardware: -------------------------------------------------------------------------------- 1 | vendor/lib/libOmxAacEnc.so 2 | vendor/lib/libOmxAmrEnc.so 3 | vendor/lib/libOmxCore.so 4 | vendor/lib/libOmxEvrcEnc.so 5 | vendor/lib/libOmxG711Enc.so 6 | vendor/lib/libOmxQcelp13Enc.so 7 | vendor/lib/libOmxSwVdec.so 8 | vendor/lib/libOmxSwVencMpeg4.so 9 | vendor/lib/libOmxVdec.so 10 | vendor/lib/libOmxVenc.so 11 | vendor/lib/libarbitrarybytes.so 12 | vendor/lib/libc2dcolorconvert.so 13 | vendor/lib/libmm-omxcore.so 14 | vendor/lib/libplatformconfig.so 15 | vendor/lib/libstagefrighthw.so 16 | vendor/lib64/libOmxAacEnc.so 17 | vendor/lib64/libOmxAmrEnc.so 18 | vendor/lib64/libOmxCore.so 19 | vendor/lib64/libOmxEvrcEnc.so 20 | vendor/lib64/libOmxG711Enc.so 21 | vendor/lib64/libOmxQcelp13Enc.so 22 | vendor/lib64/libOmxSwVdec.so 23 | vendor/lib64/libOmxSwVencMpeg4.so 24 | vendor/lib64/libOmxVdec.so 25 | vendor/lib64/libOmxVenc.so 26 | vendor/lib64/libOmxWmaDec.so 27 | vendor/lib64/libarbitrarybytes.so 28 | vendor/lib64/libc2dcolorconvert.so 29 | vendor/lib64/libmm-omxcore.so 30 | vendor/lib64/libplatformconfig.so 31 | vendor/lib64/libstagefrighthw.so 32 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Perf: -------------------------------------------------------------------------------- 1 | vendor/bin/energy-awareness 2 | vendor/bin/msm_irqbalance 3 | vendor/etc/powerhint.xml 4 | vendor/lib/libadaptlaunch.so 5 | vendor/lib/liblearningmodule.so 6 | vendor/lib/libmeters.so 7 | vendor/lib/libperfconfig.so 8 | vendor/lib/libperfgluelayer.so 9 | vendor/lib64/libadaptlaunch.so 10 | vendor/lib64/liblearningmodule.so 11 | vendor/lib64/libmeters-ns.so 12 | vendor/lib64/libmeters.so 13 | vendor/lib64/libperfconfig.so 14 | vendor/lib64/libperfgluelayer.so 15 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Postprocessing: -------------------------------------------------------------------------------- 1 | vendor/bin/mm-pp-dpps 2 | vendor/lib/libdisp-aba.so 3 | vendor/lib64/libdisp-aba.so 4 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/QMI: -------------------------------------------------------------------------------- 1 | vendor/bin/irsc_util 2 | vendor/bin/pd-mapper 3 | vendor/lib/libdiag.so 4 | vendor/lib/libdsutils.so 5 | vendor/lib/libidl.so 6 | vendor/lib/libminkdescriptor.so 7 | vendor/lib/libminksocket.so 8 | vendor/lib/libqcci_legacy.so 9 | vendor/lib/libqdi.so 10 | vendor/lib/libqdp.so 11 | vendor/lib64/libdiag.so 12 | vendor/lib64/libdsutils.so 13 | vendor/lib64/libidl.so 14 | vendor/lib64/libminkdescriptor.so 15 | vendor/lib64/libminksocket.so 16 | vendor/lib64/libqcci_legacy.so 17 | vendor/lib64/libqdi.so 18 | vendor/lib64/libqdp.so 19 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Radio: -------------------------------------------------------------------------------- 1 | vendor/bin/ATFWD-daemon 2 | vendor/bin/hw/qcrild 3 | vendor/bin/netmgrd 4 | vendor/bin/port-bridge 5 | vendor/bin/qrtr-cfg 6 | vendor/bin/qrtr-lookup 7 | vendor/bin/qrtr-ns 8 | vendor/bin/qti 9 | vendor/bin/rmt_storage 10 | vendor/bin/tftp_server 11 | vendor/etc/Diag.cfg 12 | vendor/etc/data/dsi_config.xml 13 | vendor/etc/data/netmgr_config.xml 14 | vendor/etc/init/qcrild.rc 15 | vendor/lib/lib_remote_simlock.so 16 | vendor/lib/libconfigdb.so 17 | vendor/lib/libdsi_netctrl.so 18 | vendor/lib/liblqe.so 19 | vendor/lib/libmdmdetect.so 20 | vendor/lib/libnetmgr.so 21 | vendor/lib/libnetmgr_common.so 22 | vendor/lib/libnetmgr_nr_fusion.so 23 | vendor/lib/libnetmgr_rmnet_ext.so 24 | vendor/lib/libnlnetmgr.so 25 | vendor/lib/liboemaids_vendor.so 26 | vendor/lib/libpdmapper.so 27 | vendor/lib/libpdnotifier.so 28 | vendor/lib/libqcmaputils.so 29 | vendor/lib/libqcrilFramework.so 30 | vendor/lib/libqcrildatactl.so 31 | vendor/lib/libqminvapi.so 32 | vendor/lib/libqrtr.so 33 | vendor/lib/libqsocket.so 34 | vendor/lib/libril-qc-hal-qmi.so 35 | vendor/lib/libril-qc-ltedirectdisc.so 36 | vendor/lib/libril-qc-qmi-1.so 37 | vendor/lib/libril-qc-radioconfig.so 38 | vendor/lib/libril-qcril-hook-oem.so 39 | vendor/lib/librilqmiservices.so 40 | vendor/lib/libsettings.so 41 | vendor/lib/libsystem_health_mon.so 42 | vendor/lib/libvsim.so 43 | vendor/lib/qcrild_librilutils.so 44 | vendor/lib/qtibus.so 45 | vendor/lib/qtimutex.so 46 | vendor/lib64/lib_remote_simlock.so 47 | vendor/lib64/libconfigdb.so 48 | vendor/lib64/libdsi_netctrl.so 49 | vendor/lib64/liblqe.so 50 | vendor/lib64/libmdmdetect.so 51 | vendor/lib64/libnetmgr.so 52 | vendor/lib64/libnetmgr_common.so 53 | vendor/lib64/libnetmgr_nr_fusion.so 54 | vendor/lib64/libnetmgr_rmnet_ext.so 55 | vendor/lib64/libnlnetmgr.so 56 | vendor/lib64/liboemaids_vendor.so 57 | vendor/lib64/libpdmapper.so 58 | vendor/lib64/libpdnotifier.so 59 | vendor/lib64/libqcmaputils.so 60 | vendor/lib64/libqcrilFramework.so 61 | vendor/lib64/libqcrildatactl.so 62 | vendor/lib64/libqminvapi.so 63 | vendor/lib64/libqrtr.so 64 | vendor/lib64/libqsocket.so 65 | vendor/lib64/libril-qc-hal-qmi.so 66 | vendor/lib64/libril-qc-ltedirectdisc.so 67 | vendor/lib64/libril-qc-qmi-1.so 68 | vendor/lib64/libril-qc-radioconfig.so 69 | vendor/lib64/libril-qcril-hook-oem.so 70 | vendor/lib64/librilqmiservices.so 71 | vendor/lib64/libsettings.so 72 | vendor/lib64/libsystem_health_mon.so 73 | vendor/lib64/qcrild_librilutils.so 74 | vendor/lib64/qtibus.so 75 | vendor/lib64/qtimutex.so 76 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Sensors: -------------------------------------------------------------------------------- 1 | vendor/bin/sensors.qcom 2 | vendor/bin/sensors.qti 3 | vendor/etc/elliptic_sensor.xml 4 | vendor/lib/libcalmodule_common.so 5 | vendor/lib/libssc_default_listener.so 6 | vendor/lib/sensor_calibrate.so 7 | vendor/lib64/libcalmodule_common.so 8 | vendor/lib64/libnotifyaudiohal.so 9 | vendor/lib64/libssc_default_listener.so 10 | vendor/lib64/sensor_calibrate.so 11 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/Time: -------------------------------------------------------------------------------- 1 | vendor/app/TimeService/TimeService.apk 2 | vendor/bin/time_daemon 3 | vendor/lib/libtime_genoff.so 4 | vendor/lib64/libtime_genoff.so 5 | -------------------------------------------------------------------------------- /helpers/lists/proprietary/WiFi: -------------------------------------------------------------------------------- 1 | bin/iwpriv 2 | vendor/bin/cnss-daemon 3 | vendor/bin/cnss_diag 4 | vendor/bin/fstman 5 | vendor/bin/iwpriv 6 | vendor/bin/nv_mac 7 | -------------------------------------------------------------------------------- /helpers/lists/remove.txt: -------------------------------------------------------------------------------- 1 | system_ext/etc/mmi/ 2 | system_ext/etc/selinux/ 3 | system_ext/etc/vintf/ 4 | vendor/bin/hw/android.hardware.audio@ 5 | vendor/bin/hw/android.hardware.authsecret@ 6 | vendor/bin/hw/android.hardware.boot@ 7 | vendor/bin/hw/android.hardware.camera.provider@ 8 | vendor/bin/hw/android.hardware.cas@ 9 | vendor/bin/hw/android.hardware.configstore@ 10 | vendor/bin/hw/android.hardware.confirmationui@ 11 | vendor/bin/hw/android.hardware.contexthub@ 12 | vendor/bin/hw/android.hardware.drm@ 13 | vendor/bin/hw/android.hardware.dumpstate@ 14 | vendor/bin/hw/android.hardware.graphics.allocator@ 15 | vendor/bin/hw/android.hardware.graphics.composer@ 16 | vendor/bin/hw/android.hardware.health@ 17 | vendor/bin/hw/android.hardware.ir@ 18 | vendor/bin/hw/android.hardware.light@ 19 | vendor/bin/hw/android.hardware.media.omx@ 20 | vendor/bin/hw/android.hardware.memtrack@ 21 | vendor/bin/hw/android.hardware.nfc@ 22 | vendor/bin/hw/android.hardware.oemlock@ 23 | vendor/bin/hw/android.hardware.power@ 24 | vendor/bin/hw/android.hardware.secure_element@ 25 | vendor/bin/hw/android.hardware.sensors@ 26 | vendor/bin/hw/android.hardware.thermal@ 27 | vendor/bin/hw/android.hardware.usb@ 28 | vendor/bin/hw/android.hardware.vibrator@ 29 | vendor/bin/hw/android.hardware.vr@ 30 | vendor/bin/hw/android.hardware.weaver@ 31 | vendor/bin/hw/android.hardware.wifi@ 32 | vendor/bin/hw/vendor.nxp.hardware.nfc@ 33 | vendor/bin/hw/vendor.qti.hardware.display.allocator@ 34 | vendor/bin/hw/vendor.qti.media.c2@ 35 | vendor/bin/qmi-framework-tests/ 36 | vendor/etc/audio/audio_policy_configuration 37 | vendor/etc/audio_ 38 | vendor/etc/default_volume_tables 39 | vendor/etc/ext_xml/ 40 | vendor/etc/fstab 41 | vendor/etc/init/android.hardware.audio@ 42 | vendor/etc/init/android.hardware.authsecret@ 43 | vendor/etc/init/android.hardware.boot@ 44 | vendor/etc/init/android.hardware.camera.provider@ 45 | vendor/etc/init/android.hardware.cas@ 46 | vendor/etc/init/android.hardware.configstore@ 47 | vendor/etc/init/android.hardware.confirmationui@1 48 | vendor/etc/init/android.hardware.contexthub@ 49 | vendor/etc/init/android.hardware.drm@ 50 | vendor/etc/init/android.hardware.dumpstate@ 51 | vendor/etc/init/android.hardware.graphics.allocator@ 52 | vendor/etc/init/android.hardware.graphics.composer@ 53 | vendor/etc/init/android.hardware.health@ 54 | vendor/etc/init/android.hardware.ir@ 55 | vendor/etc/init/android.hardware.light@ 56 | vendor/etc/init/android.hardware.media.omx@ 57 | vendor/etc/init/android.hardware.memtrack@ 58 | vendor/etc/init/android.hardware.nfc@ 59 | vendor/etc/init/android.hardware.oemlock@ 60 | vendor/etc/init/android.hardware.power@ 61 | vendor/etc/init/android.hardware.secure_element@ 62 | vendor/etc/init/android.hardware.sensors@ 63 | vendor/etc/init/android.hardware.thermal@ 64 | vendor/etc/init/android.hardware.usb@ 65 | vendor/etc/init/android.hardware.vibrator@ 66 | vendor/etc/init/android.hardware.vr@ 67 | vendor/etc/init/android.hardware.weaver@ 68 | vendor/etc/init/android.hardware.wifi@ 69 | vendor/etc/init/hw/ 70 | vendor/etc/init/init.qti.fm.rc 71 | vendor/etc/init/rild.legacy.rc 72 | vendor/etc/init/vendor.nxp.hardware.nfc@ 73 | vendor/etc/init/vendor.qti.hardware.display.allocator@ 74 | vendor/etc/init/vendor.qti.media.c2@ 75 | vendor/etc/init/vendor.rild.legacy.rc 76 | vendor/etc/libnfc- 77 | vendor/etc/media_codecs 78 | vendor/etc/media_profiles 79 | vendor/etc/mixer_paths 80 | vendor/etc/msm_irqbalance 81 | vendor/etc/nuance/ 82 | vendor/etc/permissions/android 83 | vendor/etc/permissions/asus 84 | vendor/etc/seccomp_policy/ 85 | vendor/etc/selinux/ 86 | vendor/etc/sound_trigger_ 87 | vendor/etc/vintf/ 88 | vendor/etc/wifi/ 89 | vendor/hwprop/ 90 | vendor/lib/android.hardware.automotive.vehicle@ 91 | vendor/lib/android.hardware.wifi.hostapd@ 92 | vendor/lib/android.hardware.wifi.supplicant@ 93 | vendor/lib/android.hardware.wifi@ 94 | vendor/lib/android.hidl.base@ 95 | vendor/lib/android.hidl.manager@ 96 | vendor/lib/camera.device@ 97 | vendor/lib/hw/android.hardware.audio.effect@ 98 | vendor/lib/hw/android.hardware.audio@ 99 | vendor/lib/hw/android.hardware.bluetooth.a2dp@ 100 | vendor/lib/hw/android.hardware.boot@ 101 | vendor/lib/hw/android.hardware.broadcastradio@ 102 | vendor/lib/hw/android.hardware.camera.provider@ 103 | vendor/lib/hw/android.hardware.contexthub@ 104 | vendor/lib/hw/android.hardware.drm@ 105 | vendor/lib/hw/android.hardware.graphics.allocator@ 106 | vendor/lib/hw/android.hardware.graphics.composer@ 107 | vendor/lib/hw/android.hardware.graphics.mapper@ 108 | vendor/lib/hw/android.hardware.ir@ 109 | vendor/lib/hw/android.hardware.light@ 110 | vendor/lib/hw/android.hardware.memtrack@ 111 | vendor/lib/hw/android.hardware.nfc@ 112 | vendor/lib/hw/android.hardware.power@ 113 | vendor/lib/hw/android.hardware.renderscript@ 114 | vendor/lib/hw/android.hardware.sensors@ 115 | vendor/lib/hw/android.hardware.soundtrigger@ 116 | vendor/lib/hw/android.hardware.thermal@ 117 | vendor/lib/hw/android.hardware.vibrator@ 118 | vendor/lib/hw/android.hardware.vr@ 119 | vendor/lib/hw/audio.primary. 120 | vendor/lib/hw/bootctrl. 121 | vendor/lib/hw/gralloc. 122 | vendor/lib/hw/hwcomposer. 123 | vendor/lib/hw/lights. 124 | vendor/lib/hw/memtrack. 125 | vendor/lib/hw/nfc_nci.nqx.default.so 126 | vendor/lib/hw/thermal. 127 | vendor/lib/hw/vr.default.so 128 | vendor/lib/libqsap_sdk.so 129 | vendor/lib/modules/ 130 | vendor/lib/vendor.display.config@ 131 | vendor/lib/vendor.nxp.nxpese@ 132 | vendor/lib/vendor.nxp.nxpnfc@ 133 | vendor/lib/vendor.nxp.nxpwiredse@ 134 | vendor/lib/vendor.qti.hardware.camera.device@ 135 | vendor/lib/vendor.qti.hardware.wifi 136 | vendor/lib/vendor.qti.hardware.wigig 137 | vendor/lib64/android.hardware.authsecret@ 138 | vendor/lib64/android.hardware.automotive.vehicle@ 139 | vendor/lib64/android.hardware.oemlock@ 140 | vendor/lib64/android.hardware.power@ 141 | vendor/lib64/android.hardware.weaver@ 142 | vendor/lib64/android.hardware.wifi.hostapd@ 143 | vendor/lib64/android.hardware.wifi.supplicant@ 144 | vendor/lib64/android.hardware.wifi@ 145 | vendor/lib64/android.hidl.base@ 146 | vendor/lib64/android.hidl.manager@ 147 | vendor/lib64/camera.device@ 148 | vendor/lib64/hw/android.hardware.audio.effect@ 149 | vendor/lib64/hw/android.hardware.audio@ 150 | vendor/lib64/hw/android.hardware.bluetooth.a2dp@ 151 | vendor/lib64/hw/android.hardware.boot@ 152 | vendor/lib64/hw/android.hardware.broadcastradio@ 153 | vendor/lib64/hw/android.hardware.camera.provider@ 154 | vendor/lib64/hw/android.hardware.contexthub@ 155 | vendor/lib64/hw/android.hardware.drm@ 156 | vendor/lib64/hw/android.hardware.graphics.allocator@ 157 | vendor/lib64/hw/android.hardware.graphics.composer@ 158 | vendor/lib64/hw/android.hardware.graphics.mapper@ 159 | vendor/lib64/hw/android.hardware.ir@ 160 | vendor/lib64/hw/android.hardware.light@ 161 | vendor/lib64/hw/android.hardware.memtrack@ 162 | vendor/lib64/hw/android.hardware.nfc@ 163 | vendor/lib64/hw/android.hardware.power@ 164 | vendor/lib64/hw/android.hardware.renderscript@ 165 | vendor/lib64/hw/android.hardware.sensors@ 166 | vendor/lib64/hw/android.hardware.thermal@ 167 | vendor/lib64/hw/android.hardware.vibrator@ 168 | vendor/lib64/hw/android.hardware.vr@ 169 | vendor/lib64/hw/audio.primary. 170 | vendor/lib64/hw/bootctrl. 171 | vendor/lib64/hw/gralloc. 172 | vendor/lib64/hw/hwcomposer. 173 | vendor/lib64/hw/lights. 174 | vendor/lib64/hw/memtrack. 175 | vendor/lib64/hw/nfc_nci.nqx.default.so 176 | vendor/lib64/hw/thermal. 177 | vendor/lib64/hw/vr.default.so 178 | vendor/lib64/libqsap_sdk.so 179 | vendor/lib64/modules/ 180 | vendor/lib64/nfc_nci.nqx.default.hw.so 181 | vendor/lib64/vendor.display.config@ 182 | vendor/lib64/vendor.nxp.hardware.nfc@ 183 | vendor/lib64/vendor.nxp.nxpese@ 184 | vendor/lib64/vendor.nxp.nxpnfc@ 185 | vendor/lib64/vendor.nxp.nxpwiredse@ 186 | vendor/lib64/vendor.qti.hardware.wifi 187 | vendor/lib64/vendor.qti.hardware.wigig 188 | vendor/media/ 189 | vendor/odm/ 190 | vendor/overlay/ 191 | vendor/package/ 192 | vendor/rfs/ 193 | vendor/speccfg/ 194 | vendor/usr/ 195 | -------------------------------------------------------------------------------- /helpers/lists_overlays_update.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh 14 | 15 | # Exit if no arguements 16 | if [ -z "$1" ] ; then 17 | echo -e "Supply FWB config.xml as arguement!" 18 | exit 1 19 | fi 20 | 21 | # Get files via either cp or wget 22 | if echo "$1" | grep "https" ; then 23 | wget -O $PROJECT_DIR/working/config.xml $1 24 | else 25 | cp -a $1 $PROJECT_DIR/working/config.xml 26 | fi 27 | 28 | # update overlay lists 29 | cat $PROJECT_DIR/working/config.xml | grep ".*||g" | sed "s|name=\"||g" | sed "s|\s||g" >> $PROJECT_DIR/helpers/lists/overlays/bools 30 | cat $PROJECT_DIR/working/config.xml | grep ".*||g" | sed "s|name=\"||g" | sed "s|\s||g" >> $PROJECT_DIR/helpers/lists/overlays/dimens 31 | cat $PROJECT_DIR/working/config.xml | grep ".*||g" | sed "s|name=\"||g" | sed "s|\s||g" >> $PROJECT_DIR/helpers/lists/overlays/fractions 32 | cat $PROJECT_DIR/working/config.xml | grep ".*||g" | sed "s|name=\"||g" | sed "s|\s||g" >> $PROJECT_DIR/helpers/lists/overlays/integers 33 | cat $PROJECT_DIR/working/config.xml | grep ".*||g" | sed "s|name=\"||g" | sed "s|\s||g" | sed "s|\"translatable.*||g" >> $PROJECT_DIR/helpers/lists/overlays/strings 34 | cat $PROJECT_DIR/working/config.xml | grep ".*||g" | sed "s|name=\"||g" | sed "s|\s||g" >> $PROJECT_DIR/helpers/lists/overlays/arrays/integer-array 35 | cat $PROJECT_DIR/working/config.xml | grep ".*||g" | sed "s|name=\"||g" | sed "s|\s||g" >> $PROJECT_DIR/helpers/lists/overlays/arrays/string-array 36 | cat $PROJECT_DIR/working/config.xml | grep ".*||g" | sed "s|name=\"||g" | sed "s|\s||g" | sed "s|translatable=\"false\"||g" >> $PROJECT_DIR/helpers/lists/overlays/arrays/string-array 37 | 38 | # sort lists 39 | bash $PROJECT_DIR/helpers/lists_sort_all.sh 40 | -------------------------------------------------------------------------------- /helpers/lists_sort_all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store lists path 10 | LISTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/lists/" >/dev/null && pwd )" 11 | 12 | tools_lists=`find $LISTS_DIR/ -type f -printf '%P\n' | sort | grep -v "overlays/comments/"` 13 | for list in $tools_lists; do 14 | sort -u -o "$LISTS_DIR/$list" "$LISTS_DIR/$list" 15 | done 16 | -------------------------------------------------------------------------------- /helpers/manifest_parser.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh "y" 14 | 15 | # Exit if no arguements 16 | if [ -z "$1" ] ; then 17 | echo -e "Supply xml's as arguements!" 18 | exit 1 19 | fi 20 | 21 | # o/p 22 | for var in "$@"; do 23 | while IFS= read -r line 24 | do 25 | if echo "$line" | grep "> "$PROJECT_DIR"/working/new_manifest.xml 29 | else 30 | echo "$line" | sed "s|> "$PROJECT_DIR"/working/new_manifest.xml 31 | fi 32 | else 33 | echo "$line" >> "$PROJECT_DIR"/working/new_manifest.xml 34 | fi 35 | else 36 | echo "$line" >> "$PROJECT_DIR"/working/new_manifest.xml 37 | fi 38 | done < "$var" 39 | cat "$PROJECT_DIR"/working/new_manifest.xml > "$var" 40 | rm -rf "$PROJECT_DIR"/working/new_manifest.xml 41 | done 42 | -------------------------------------------------------------------------------- /helpers/prebuilt/aeffects-conf2xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/prebuilt/aeffects-conf2xml -------------------------------------------------------------------------------- /helpers/prebuilt/apktool: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2007 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # https://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | # This script is a wrapper for smali.jar, so you can simply call "smali", 18 | # instead of java -jar smali.jar. It is heavily based on the "dx" script 19 | # from the Android SDK 20 | 21 | # Set up prog to be the path of this script, including following symlinks, 22 | # and set up progdir to be the fully-qualified pathname of its directory. 23 | prog="$0" 24 | while [ -h "${prog}" ]; do 25 | newProg=`/bin/ls -ld "${prog}"` 26 | 27 | newProg=`expr "${newProg}" : ".* -> \(.*\)$"` 28 | if expr "x${newProg}" : 'x/' >/dev/null; then 29 | prog="${newProg}" 30 | else 31 | progdir=`dirname "${prog}"` 32 | prog="${progdir}/${newProg}" 33 | fi 34 | done 35 | oldwd=`pwd` 36 | progdir=`dirname "${prog}"` 37 | cd "${progdir}" 38 | progdir=`pwd` 39 | prog="${progdir}"/`basename "${prog}"` 40 | cd "${oldwd}" 41 | 42 | jarfile=apktool.jar 43 | libdir="$progdir" 44 | if [ ! -r "$libdir/$jarfile" ] 45 | then 46 | echo `basename "$prog"`": can't find $jarfile" 47 | exit 1 48 | fi 49 | 50 | javaOpts="" 51 | 52 | # If you want DX to have more memory when executing, uncomment the following 53 | # line and adjust the value accordingly. Use "java -X" for a list of options 54 | # you can pass here. 55 | # 56 | javaOpts="-Xmx512M -Dfile.encoding=utf-8" 57 | 58 | # Alternatively, this will extract any parameter "-Jxxx" from the command line 59 | # and pass them to Java (instead of to dx). This makes it possible for you to 60 | # add a command-line parameter such as "-JXmx256M" in your ant scripts, for 61 | # example. 62 | while expr "x$1" : 'x-J' >/dev/null; do 63 | opt=`expr "$1" : '-J\(.*\)'` 64 | javaOpts="${javaOpts} -${opt}" 65 | shift 66 | done 67 | 68 | if [ "$OSTYPE" = "cygwin" ] ; then 69 | jarpath=`cygpath -w "$libdir/$jarfile"` 70 | else 71 | jarpath="$libdir/$jarfile" 72 | fi 73 | 74 | # add current location to path for aapt 75 | PATH=$PATH:`pwd`; 76 | export PATH; 77 | exec java $javaOpts -jar "$jarpath" "$@" 78 | -------------------------------------------------------------------------------- /helpers/prebuilt/apktool.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/prebuilt/apktool.jar -------------------------------------------------------------------------------- /helpers/prebuilt/dt-compiler/PREBUILT: -------------------------------------------------------------------------------- 1 | The binaries in this prebuilt directory can be rebuilt using 2 | the source in external/dtc with build command "make dtc". 3 | 4 | dtc: artifact dtc/dtc from git_master@3883748 (https://android-build.googleplex.com/builds/submitted/3883748/angler-userdebug_fastbuild3b_linux/latest) 5 | -------------------------------------------------------------------------------- /helpers/prebuilt/dt-compiler/dtc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShivamKumarJha/android_tools/ca04143bb9233ea8696f74cfe73949a123e5bb66/helpers/prebuilt/dt-compiler/dtc -------------------------------------------------------------------------------- /helpers/rom_vars.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Text format 13 | source $PROJECT_DIR/helpers/common_script.sh 14 | 15 | # Exit if no arguements 16 | if [ -z "$1" ] ; then 17 | echo -e "Supply rom directory or system/build.prop as arguement!" 18 | exit 1 19 | fi 20 | 21 | for var in "$@"; do 22 | unset BRAND_TEMP BRAND DEVICE DESCRIPTION FINGERPRINT MODEL PLATFORM SECURITY_PATCH VERSION FLAVOR ID INCREMENTAL TAGS 23 | # Dir or file handling 24 | if [ -d "$var" ]; then 25 | DIR=$( realpath "$var" ) 26 | rm -rf $PROJECT_DIR/working/system_build.prop 27 | [[ -f "$DIR/boot/root/prop.default" ]] && cat "$DIR/boot/root/prop.default" >> $PROJECT_DIR/working/system_build.prop 28 | find "$DIR/" -maxdepth 3 -name "build*prop" -exec cat {} >> $PROJECT_DIR/working/system_build.prop \; 29 | if [[ -d "$DIR/vendor/euclid/" ]]; then 30 | EUCLIST=`find "$DIR/vendor/euclid/" -name "*.img" | sort` 31 | for EUCITEM in $EUCLIST; do 32 | 7z x -y $EUCITEM -o"$PROJECT_DIR/working/euclid" > /dev/null 2>&1 33 | [[ -d "$PROJECT_DIR/working/euclid" ]] && find "$PROJECT_DIR/working/euclid" -name "*prop" -exec cat {} >> $PROJECT_DIR/working/system_build.prop \; 34 | rm -rf "$PROJECT_DIR/working/euclid" 35 | done 36 | fi 37 | CAT_FILE="$PROJECT_DIR/working/system_build.prop" 38 | elif echo "$var" | grep "https" ; then 39 | if echo "$var" | grep "all_files.txt" ; then 40 | wget -O $PROJECT_DIR/working/all_files.txt $var 41 | DUMPURL=$( echo ${var} | sed "s|/all_files.txt||1" ) 42 | file_lines=`cat $PROJECT_DIR/working/all_files.txt | grep -iE "build" | grep -iE "prop" | sort -uf` 43 | for line in $file_lines ; do 44 | ((OTA_NO++)) 45 | wget ${DUMPURL}/${line} -O $PROJECT_DIR/working/${OTA_NO}.prop > /dev/null 2>&1 46 | done 47 | find $PROJECT_DIR/working/ -name "*prop" -exec cat {} >> $PROJECT_DIR/working/system_build \; 48 | CAT_FILE="$PROJECT_DIR/working/system_build" 49 | else 50 | wget -O $PROJECT_DIR/working/system_build.prop $var 51 | CAT_FILE="$PROJECT_DIR/working/system_build.prop" 52 | fi 53 | else 54 | CAT_FILE="$var" 55 | fi 56 | 57 | #build.prop cleanup 58 | sed -i "s|ro.*\=QUALCOMM||g" "$CAT_FILE" 59 | sed -i "s|ro.*\=qssi||g" "$CAT_FILE" 60 | sed -i "s|ro.*\=qti||g" "$CAT_FILE" 61 | sed -i '/^$/d' "$CAT_FILE" 62 | sort -u -o "$CAT_FILE" "$CAT_FILE" 63 | 64 | # Set variables 65 | if grep -q "ro.product.odm.manufacturer=" "$CAT_FILE"; then 66 | BRAND_TEMP=$( cat "$CAT_FILE" | grep "ro.product.odm.manufacturer" | sed "s|.*=||g" | head -n 1 ) 67 | elif grep -q "ro.product.product.manufacturer=" "$CAT_FILE"; then 68 | BRAND_TEMP=$( cat "$CAT_FILE" | grep "ro.product.product.manufacturer" | sed "s|.*=||g" | head -n 1 ) 69 | elif grep -q "odm.brand=" "$CAT_FILE"; then 70 | BRAND_TEMP=$( cat "$CAT_FILE" | grep "ro.product" | grep "odm.brand=" | sed "s|.*=||g" | head -n 1 ) 71 | elif grep -q "brand=" "$CAT_FILE"; then 72 | BRAND_TEMP=$( cat "$CAT_FILE" | grep "ro.product" | grep "brand=" | sed "s|.*=||g" | head -n 1 ) 73 | elif grep -q "manufacturer=" "$CAT_FILE"; then 74 | BRAND_TEMP=$( cat "$CAT_FILE" | grep "ro.product" | grep "manufacturer=" | sed "s|.*=||g" | head -n 1 ) 75 | fi 76 | BRAND=$(echo $BRAND_TEMP | tr '[:upper:]' '[:lower:]') 77 | if grep -q "ro.vivo.product.release.name" "$CAT_FILE"; then 78 | DEVICE=$( cat "$CAT_FILE" | grep "ro.vivo.product.release.name=" | sed "s|.*=||g" | head -n 1 ) 79 | elif grep -q "ro.vendor.product.oem=" "$CAT_FILE"; then 80 | DEVICE=$( cat "$CAT_FILE" | grep "ro.vendor.product.oem=" | sed "s|.*=||g" | head -n 1 ) 81 | elif grep -q "ro.product.vendor.device=" "$CAT_FILE"; then 82 | DEVICE=$( cat "$CAT_FILE" | grep "ro.product.vendor.device=" | sed "s|.*=||g" | head -n 1 ) 83 | elif grep -q "odm.device=" "$CAT_FILE"; then 84 | DEVICE=$( cat "$CAT_FILE" | grep "odm.device=" | sed "s|.*=||g" | head -n 1 ) 85 | elif grep -q "device=" "$CAT_FILE" && [[ "$BRAND" != "google" ]]; then 86 | DEVICE=$( cat "$CAT_FILE" | grep "ro.product" | grep "device=" | sed "s|.*=||g" | head -n 1 ) 87 | elif grep -q "ro.product.system.name" "$CAT_FILE" && [[ "$BRAND" != "google" ]]; then 88 | DEVICE=$( cat "$CAT_FILE" | grep "ro.product.system.name=" | sed "s|.*=||g" | head -n 1 ) 89 | fi 90 | [[ -z "$DEVICE" ]] && DEVICE=$( cat "$CAT_FILE" | grep "ro.build" | grep "product=" | sed "s|.*=||g" | head -n 1 ) 91 | [[ -z "$DEVICE" ]] && DEVICE=$( cat "$CAT_FILE" | grep "ro." | grep "build.fingerprint=" | sed "s|.*=||g" | head -n 1 | cut -d : -f1 | rev | cut -d / -f1 | rev ) 92 | [[ -z "$DEVICE" ]] && DEVICE=$( cat "$CAT_FILE" | grep "ro.target_product=" | sed "s|.*=||g" | head -n 1 | cut -d - -f1 ) 93 | [[ -z "$DEVICE" ]] && DEVICE=$( cat "$CAT_FILE" | grep "build.fota.version=" | sed "s|.*=||g" | sed "s|WW_||1" | head -n 1 | cut -d - -f1 ) 94 | DEVICE=$( echo ${DEVICE} | sed "s|ASUS_||g" ) 95 | VERSION=$( cat "$CAT_FILE" | grep "build.version.release=" | sed "s|.*=||g" | head -c 2 | head -n 1 ) 96 | re='^[0-9]+$' 97 | if ! [[ $VERSION =~ $re ]] ; then 98 | VERSION=$( cat "$CAT_FILE" | grep "build.version.release=" | sed "s|.*=||g" | head -c 1 | head -n 1 ) 99 | fi 100 | FLAVOR=$( cat "$CAT_FILE" | grep "ro.build" | grep "flavor=" | sed "s|.*=||g" | head -n 1 ) 101 | ID=$( cat "$CAT_FILE" | grep "ro.build" | grep "id=" | sed "s|.*=||g" | head -n 1 ) 102 | INCREMENTAL=$( cat "$CAT_FILE" | grep "ro.build" | grep "incremental=" | sed "s|.*=||g" | head -n 1 ) 103 | TAGS=$( cat "$CAT_FILE" | grep "ro.build" | grep "tags=" | sed "s|.*=||g" | head -n 1 ) 104 | DESCRIPTION=$( cat "$CAT_FILE" | grep "ro." | grep "build.description=" | sed "s|.*=||g" | head -n 1 ) 105 | [[ -z "$DESCRIPTION" ]] && DESCRIPTION="$FLAVOR $VERSION $ID $INCREMENTAL $TAGS" 106 | if grep -q "build.fingerprint=" "$CAT_FILE"; then 107 | FINGERPRINT=$( cat "$CAT_FILE" | grep "ro." | grep "build.fingerprint=" | sed "s|.*=||g" | head -n 1 ) 108 | elif grep -q "build.thumbprint=" "$CAT_FILE"; then 109 | FINGERPRINT=$( cat "$CAT_FILE" | grep "ro." | grep "build.thumbprint=" | sed "s|.*=||g" | head -n 1 ) 110 | fi 111 | [[ -z "$FINGERPRINT" ]] && FINGERPRINT=$( echo $DESCRIPTION | tr ' ' '-' ) 112 | if echo "$FINGERPRINT" | grep -iE "nokia"; then 113 | BRAND="nokia" 114 | DEVICE=$( cat "$CAT_FILE" | grep "ro." | grep "build.fingerprint=" | sed "s|.*=||g" | head -n 1 | cut -d : -f1 | rev | cut -d / -f2 | rev | sed "s|_.*||g" ) 115 | fi 116 | [[ -z "${BRAND}" ]] && BRAND=$(echo $FINGERPRINT | cut -d / -f1 ) 117 | if grep -q "ro.oppo.market.name" "$CAT_FILE"; then 118 | MODEL=$( cat "$CAT_FILE" | grep "ro.oppo.market.name=" | sed "s|.*=||g" | head -n 1 ) 119 | elif grep -q "ro.display.series" "$CAT_FILE"; then 120 | MODEL=$( cat "$CAT_FILE" | grep "ro.display.series=" | sed "s|.*=||g" | head -n 1 ) 121 | elif grep -q "ro.product.display" "$CAT_FILE"; then 122 | MODEL=$( cat "$CAT_FILE" | grep "ro.product.display=" | sed "s|.*=||g" | head -n 1 ) 123 | elif grep -q "ro.semc.product.name" "$CAT_FILE"; then 124 | MODEL=$( cat "$CAT_FILE" | grep "ro.semc.product.name=" | sed "s|.*=||g" | head -n 1 ) 125 | elif grep -q "ro.product.vendor.marketname" "$CAT_FILE"; then 126 | MODEL=$( cat "$CAT_FILE" | grep "ro.product.vendor.marketname=" | sed "s|.*=||g" | head -n 1 ) 127 | elif grep -q "ro.product.odm.model" "$CAT_FILE"; then 128 | MODEL=$( cat "$CAT_FILE" | grep "ro.product.odm.model=" | sed "s|.*=||g" | head -n 1 ) 129 | elif grep -q "ro.product.vendor.model" "$CAT_FILE"; then 130 | MODEL=$( cat "$CAT_FILE" | grep "ro.product.vendor.model=" | sed "s|.*=||g" | head -n 1 ) 131 | else 132 | MODEL=$( cat "$CAT_FILE" | grep "ro.product" | grep "model=" | sed "s|.*=||g" | head -n 1 ) 133 | fi 134 | [[ -z "$MODEL" ]] && MODEL=$DEVICE 135 | PLATFORM=$( cat "$CAT_FILE" | grep "ro.board.platform" | sed "s|.*=||g" | head -n 1 ) 136 | SECURITY_PATCH=$( cat "$CAT_FILE" | grep "build.version.security_patch=" | sed "s|.*=||g" | head -n 1 ) 137 | 138 | # Date 139 | if grep -q "ro.system.build.date=" "$CAT_FILE"; then 140 | DATE=$( cat "$CAT_FILE" | grep "ro.system.build.date=" | sed "s|.*=||g" | head -n 1 ) 141 | elif grep -q "ro.vendor.build.date=" "$CAT_FILE"; then 142 | DATE=$( cat "$CAT_FILE" | grep "ro.vendor.build.date=" | sed "s|.*=||g" | head -n 1 ) 143 | elif grep -q "ro.build.date=" "$CAT_FILE"; then 144 | DATE=$( cat "$CAT_FILE" | grep "ro.build.date=" | sed "s|.*=||g" | head -n 1 ) 145 | elif grep -q "ro.bootimage.build.date=" "$CAT_FILE"; then 146 | DATE=$( cat "$CAT_FILE" | grep "ro.bootimage.build.date=" | sed "s|.*=||g" | head -n 1 ) 147 | fi 148 | 149 | BRANCH=$(echo $DESCRIPTION $DATE | tr ' ' '-' | tr ':' '-') 150 | TOPIC1=$(echo $BRAND | tr '[:upper:]' '[:lower:]' | tr -dc '[[:print:]]' | tr '_' '-' | cut -c 1-35) 151 | TOPIC2=$(echo $PLATFORM | tr '[:upper:]' '[:lower:]' | tr -dc '[[:print:]]' | tr '_' '-' | cut -c 1-35) 152 | TOPIC3=$(echo $DEVICE | tr '[:upper:]' '[:lower:]' | tr -dc '[[:print:]]' | tr '_' '-' | cut -c 1-35) 153 | 154 | # Display var's 155 | declare -a arr=("BRAND" "DEVICE" "DESCRIPTION" "FINGERPRINT" "MODEL" "PLATFORM" "SECURITY_PATCH" "VERSION" "DATE" "FLAVOR" "ID" "INCREMENTAL" "TAGS" "BRANCH") 156 | for i in "${arr[@]}"; do printf "$i: ${!i}\n"; done 157 | # Cleanup 158 | rm -rf $PROJECT_DIR/working/system_build* $PROJECT_DIR/working/*prop $PROJECT_DIR/working/all_files.txt 159 | done 160 | -------------------------------------------------------------------------------- /helpers/writemk.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | WORK_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../working" >/dev/null && pwd )" 12 | 13 | # Text format 14 | source $PROJECT_DIR/helpers/common_script.sh 15 | 16 | # create lists dir if not exits 17 | if [ ! -d "$WORK_DIR"/mklists/ ]; then 18 | mkdir -p "$WORK_DIR"/mklists/ 19 | fi 20 | 21 | if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ ! -e "$WORK_DIR"/mklist.txt ]; then 22 | echo -e "Error!" 23 | echo -e "Script must take 3 arguements" 24 | echo -e "1st is local path string" 25 | echo -e "2nd is destination path string" 26 | echo -e "3rd is comment header" 27 | echo -e "Also mklist.txt must exist in working/ with list of file names!" 28 | exit 1 29 | fi 30 | 31 | all_configs=`cat "$WORK_DIR"/mklist.txt | sort` 32 | for config_line in $all_configs; do 33 | echo " ""$1""$config_line""$2""$config_line"" \\" >> "$WORK_DIR"/temp.mk 34 | done 35 | if [ -e "$WORK_DIR"/temp.mk ]; then 36 | sed -i '1 i\PRODUCT_COPY_FILES += \\' "$WORK_DIR"/temp.mk 37 | sed -i '1 i\'"$3"'' "$WORK_DIR"/temp.mk 38 | printf "\n" >> "$WORK_DIR"/temp.mk 39 | NAME=$(echo "$3" | sed "s|# ||g" | tr ' ' '-') 40 | cat "$WORK_DIR"/temp.mk >> "$WORK_DIR"/mklists/"$NAME" 41 | rm -rf "$WORK_DIR"/temp.mk 42 | fi 43 | -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" 11 | 12 | # Install some packages 13 | if [[ -e "/usr/bin/apt-get" ]]; then 14 | sudo apt-get install -y aria2 arj brotli cabextract cmake device-tree-compiler gcc g++ git liblz4-tool liblzma-dev libtinyxml2-dev lz4 mpack openjdk-11-jdk p7zip-full p7zip-rar python3 python3-pip rar sharutils unace unrar unzip uudeview xz-utils zip zlib1g-dev 15 | elif [[ -e "/usr/bin/pacman" ]]; then 16 | sudo pacman -Syu --needed --noconfirm android-tools aria2 arj brotli cabextract cmake dtc gcc git lz4 xz tinyxml2 p7zip python-pip unrar sharutils unace zip unzip uudeview zip 17 | elif [[ -e "/usr/bin/yum" ]]; then 18 | sudo yum install --refresh android-tools aria2 arj brotli cabextract cmake dtc gcc git lz4 xz tinyxml2 p7zip python-pip unrar sharutils unace zip unzip uudeview zip 19 | fi 20 | pip3 install backports.lzma docopt pycrypto zstandard 21 | pip3 install --force-reinstall -v "protobuf==3.20.0" 22 | -------------------------------------------------------------------------------- /tools/blobs_downloader.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Exit if invalid arguements 10 | if [ -z "$1" ] || [ -z "$2" ] || [ ! -e "$2" ]; then 11 | echo -e "${bold}${red}Supply Git raw URL & blobs list file as arguements!" 12 | exit 1 13 | fi 14 | 15 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 16 | WORK_DIR="$PROJECT_DIR/working" 17 | mkdir -p "$WORK_DIR" && cd "$WORK_DIR" 18 | rm -rf "$WORK_DIR"/* 19 | cp -a "$2" "$WORK_DIR/list.txt" 20 | 21 | # remove blob pin, comments & empty lines from blobs list 22 | sed -i "s/^#.*//g" "$WORK_DIR/list.txt" 23 | sed -i "s/|.*//g" "$WORK_DIR/list.txt" 24 | sed -i '/^$/d' "$WORK_DIR/list.txt" 25 | 26 | # download blobs in list 27 | file_list=`cat "$WORK_DIR/list.txt" | sort -u` 28 | for file in $file_list; do 29 | if [[ "$(echo $file | cut -c 1)" == "-" ]]; then 30 | FULL_NAME=$(echo $file | sed "s|-||1" ) 31 | else 32 | FULL_NAME=$(echo $file) 33 | fi 34 | FILE_NAME=$(echo $file | rev | cut -d / -f1 | rev ) 35 | DIRS_NAME=$(echo $FULL_NAME | sed "s|$FILE_NAME||g" ) 36 | [[ "$DIRS_NAME" != "" ]] && mkdir -p "$WORK_DIR/$DIRS_NAME" && cd "$WORK_DIR/$DIRS_NAME" 37 | [[ "$DIRS_NAME" == "" ]] && cd "$WORK_DIR" 38 | echo "PATH: $WORK_DIR/$FULL_NAME" 39 | aria2c -x16 "$1/$FULL_NAME" > /dev/null || aria2c -x16 "$1/system/$FULL_NAME" > /dev/null || aria2c -x16 "$1/system/system/$FULL_NAME" > /dev/null 40 | done 41 | 42 | printf "\nFinished. Check $WORK_DIR\n" 43 | -------------------------------------------------------------------------------- /tools/common_blobs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh 14 | 15 | # Exit if invalid arguements 16 | if [ ! -d "$1" ] || [ ! -d "$2" ]; then 17 | echo -e "Supply source & target ROM path's as arguements!" 18 | exit 1 19 | fi 20 | 21 | # Create temp dir's 22 | mkdir -p $TMPDIR/dt_common/common $TMPDIR/dt_common/source $TMPDIR/dt_common/target 23 | 24 | # Find common & device-specific blob's 25 | echo -e "Comparing source and target ROM's. Wait ...!" 26 | bash $PROJECT_DIR/tools/rom_compare.sh "$1" "$2" 27 | cat $PROJECT_DIR/working/Common.txt > $TMPDIR/dt_common/common/blobs_list.txt 28 | cat $PROJECT_DIR/working/Added.txt > $TMPDIR/dt_common/target/blobs_list.txt 29 | cat $PROJECT_DIR/working/Missing.txt > $TMPDIR/dt_common/source/blobs_list.txt 30 | cat $PROJECT_DIR/working/Modified.txt >> $TMPDIR/dt_common/source/blobs_list.txt 31 | cat $PROJECT_DIR/working/Modified.txt >> $TMPDIR/dt_common/target/blobs_list.txt 32 | 33 | # Prepare proprietary-files.txt 34 | echo -e "Creating proprietary files. Wait ...!" 35 | bash $PROJECT_DIR/tools/proprietary-files.sh $TMPDIR/dt_common/common/blobs_list.txt > /dev/null 2>&1 36 | cat $PROJECT_DIR/working/proprietary-files.txt > $TMPDIR/dt_common/common-proprietary-files.txt 37 | bash $PROJECT_DIR/tools/proprietary-files.sh $TMPDIR/dt_common/source/blobs_list.txt > /dev/null 2>&1 38 | cat $PROJECT_DIR/working/proprietary-files.txt > $TMPDIR/dt_common/source-proprietary-files.txt 39 | bash $PROJECT_DIR/tools/proprietary-files.sh $TMPDIR/dt_common/target/blobs_list.txt > /dev/null 2>&1 40 | cat $PROJECT_DIR/working/proprietary-files.txt > $TMPDIR/dt_common/target-proprietary-files.txt 41 | 42 | # Final results 43 | rm -rf $PROJECT_DIR/working/* 44 | cp -a $TMPDIR/dt_common/*-proprietary-files.txt $PROJECT_DIR/working/ 45 | rm -rf $TMPDIR/dt_common/ 46 | echo -e "Files prepared. Check $PROJECT_DIR/working/" 47 | -------------------------------------------------------------------------------- /tools/common_props.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh 14 | 15 | # Exit if invalid arguements 16 | if [ -z "$1" ] || [ -z "$2" ]; then 17 | echo -e "Supply source & target ROM path's as arguements!" 18 | exit 1 19 | fi 20 | 21 | # Create temp dir's 22 | mkdir -p $TMPDIR/dt_common/ 23 | 24 | # List props 25 | bash $PROJECT_DIR/tools/vendor_prop.sh "$1" > /dev/null 2>&1 26 | cat $PROJECT_DIR/working/*.mk > $TMPDIR/dt_common/prop_source 27 | 28 | bash $PROJECT_DIR/tools/vendor_prop.sh "$2" > /dev/null 2>&1 29 | cat $PROJECT_DIR/working/*.mk > $TMPDIR/dt_common/prop_target 30 | rm -rf $PROJECT_DIR/working/* 31 | 32 | # Find common & uncommon props 33 | comm -12 <(sort $TMPDIR/dt_common/prop_source) <(sort $TMPDIR/dt_common/prop_target) > $PROJECT_DIR/working/common-vendor_prop.mk 34 | comm -23 <(sort $TMPDIR/dt_common/prop_source) <(sort $TMPDIR/dt_common/prop_target) > $PROJECT_DIR/working/source-vendor_prop.mk 35 | comm -13 <(sort $TMPDIR/dt_common/prop_source) <(sort $TMPDIR/dt_common/prop_target) > $PROJECT_DIR/working/target-vendor_prop.mk 36 | 37 | # Makefile formatting 38 | sed -i "s|PRODUCT_PROPERTY_OVERRIDES.*||g" $PROJECT_DIR/working/common-vendor_prop.mk $PROJECT_DIR/working/source-vendor_prop.mk $PROJECT_DIR/working/target-vendor_prop.mk 39 | sed -i '1 i\PRODUCT_PROPERTY_OVERRIDES += \\' $PROJECT_DIR/working/common-vendor_prop.mk $PROJECT_DIR/working/source-vendor_prop.mk $PROJECT_DIR/working/target-vendor_prop.mk 40 | sed -i '/^$/d' $PROJECT_DIR/working/common-vendor_prop.mk $PROJECT_DIR/working/source-vendor_prop.mk $PROJECT_DIR/working/target-vendor_prop.mk 41 | sed -i "s|#.*||g" $PROJECT_DIR/working/common-vendor_prop.mk $PROJECT_DIR/working/source-vendor_prop.mk $PROJECT_DIR/working/target-vendor_prop.mk 42 | sed -i '/^$/d' $PROJECT_DIR/working/common-vendor_prop.mk $PROJECT_DIR/working/source-vendor_prop.mk $PROJECT_DIR/working/target-vendor_prop.mk 43 | 44 | # Final results 45 | rm -rf $TMPDIR/dt_common/ 46 | echo -e "Files prepared. Check $PROJECT_DIR/working/" 47 | -------------------------------------------------------------------------------- /tools/deltaota.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source "$PROJECT_DIR"/helpers/common_script.sh "y" 14 | 15 | if [ ! -f "$1" ] || [ ! -f "$2" ]; then 16 | echo -e "Supply full OTA file and patch OTA file as arguements!" 17 | exit 1 18 | fi 19 | 20 | # Set these var's acc to last arg 21 | URL=$( realpath "${@: -1}" ) 22 | FILE=${URL##*/} 23 | EXTENSION=${URL##*.} 24 | UNZIP_DIR=${FILE/.$EXTENSION/} 25 | 26 | if [[ "$VERBOSE" = "n" ]]; then 27 | echo "Extracting images of full OTA" 28 | bash "$PROJECT_DIR"/tools/Firmware_extractor/patcher.sh "$@" -o "$PROJECT_DIR"/working/"$UNZIP_DIR" > /dev/null 2>&1 29 | else 30 | bash "$PROJECT_DIR"/tools/Firmware_extractor/patcher.sh "$@" -o "$PROJECT_DIR"/working/"$UNZIP_DIR" -v 31 | fi 32 | 33 | bash "$PROJECT_DIR"/tools/rom_extract.sh "$PROJECT_DIR"/working/"$UNZIP_DIR" 34 | rm -rf "$PROJECT_DIR"/working/"$UNZIP_DIR" 35 | -------------------------------------------------------------------------------- /tools/dt_repos.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh 14 | 15 | # Exit if no arguements 16 | if [ -z "$1" ] ; then 17 | echo -e "Supply dir's or raw build.prop link as arguements!" 18 | exit 1 19 | fi 20 | 21 | # Exit if missing token, user or email 22 | if [ -z "$GIT_TOKEN" ] && [ -z "$GITHUB_USER" ]; then 23 | echo -e "Missing GitHub token or user or email. Exiting." 24 | exit 1 25 | fi 26 | 27 | # o/p 28 | for var in "$@"; do 29 | source $PROJECT_DIR/helpers/rom_vars.sh "$var" > /dev/null 2>&1 30 | DT_REPO=$(echo device_$BRAND\_$DEVICE) 31 | KT_REPO=$(echo kernel_$BRAND\_$DEVICE) 32 | VT_REPO=$(echo vendor_$BRAND\_$DEVICE) 33 | DT_REPO_DESC=$(echo "Device tree for $MODEL") 34 | KT_REPO_DESC=$(echo "Kernel tree for $MODEL") 35 | VT_REPO_DESC=$(echo "Vendor tree for $MODEL") 36 | # Create repository in GitHub 37 | printf "Creating\nhttps://github.com/$GITHUB_USER/$DT_REPO\nhttps://github.com/$GITHUB_USER/$KT_REPO\nhttps://github.com/$GITHUB_USER/$VT_REPO\n" 38 | curl https://api.github.com/user/repos\?access_token=$GIT_TOKEN -d '{"name": "'"$DT_REPO"'","description": "'"$DT_REPO_DESC"'","private": true,"has_issues": true,"has_projects": false,"has_wiki": true}' > /dev/null 2>&1 39 | curl https://api.github.com/user/repos\?access_token=$GIT_TOKEN -d '{"name": "'"$KT_REPO"'","description": "'"$KT_REPO_DESC"'","private": true,"has_issues": true,"has_projects": false,"has_wiki": true}' > /dev/null 2>&1 40 | curl https://api.github.com/user/repos\?access_token=$GIT_TOKEN -d '{"name": "'"$VT_REPO"'","description": "'"$VT_REPO_DESC"'","private": true,"has_issues": true,"has_projects": false,"has_wiki": true}' > /dev/null 2>&1 41 | done 42 | -------------------------------------------------------------------------------- /tools/dump_push.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh 14 | 15 | # Exit if no arguements 16 | [[ -z "$1" ]] && echo -e "Supply dir's as arguements!" && exit 1 17 | 18 | # Exit if missing token's 19 | [[ -z "$GIT_TOKEN" ]] && echo -e "Missing GitHub token. Exiting." && exit 1 20 | 21 | # o/p 22 | for var in "$@"; do 23 | ROM_PATH=$( realpath "$var" ) 24 | [[ ! -d "$ROM_PATH" ]] && echo -e "$ROM_PATH is not a valid directory!" && exit 1 25 | cd "$ROM_PATH" 26 | [[ ! -d "system/" ]] && echo -e "No system partition found, pushing cancelled!" && exit 1 27 | # Set variables 28 | source $PROJECT_DIR/helpers/rom_vars.sh "$ROM_PATH" > /dev/null 2>&1 29 | if [ -z "$BRAND" ] || [ -z "$DEVICE" ]; then 30 | echo -e "Could not set variables! Exiting" 31 | exit 1 32 | fi 33 | repo=$(echo $BRAND\_$DEVICE\_dump | tr '[:upper:]' '[:lower:]') 34 | repo_desc=$(echo "$MODEL dump") 35 | ORG="$GITHUB_USER" 36 | curl https://api.github.com/user/repos\?access_token=$GIT_TOKEN -d '{"name": "'"$repo"'","description": "'"$repo_desc"'","private": false,"has_issues": true,"has_projects": false,"has_wiki": true}' > /dev/null 2>&1 37 | [[ -z "$ORG" ]] && echo -e "Missing GitHub user name. Exiting." && exit 1 38 | wget "https://raw.githubusercontent.com/$ORG/$repo/$BRANCH/all_files.txt" 2>/dev/null && echo "Firmware already dumped!" && exit 1 39 | 40 | git init > /dev/null 2>&1 41 | git checkout -b $BRANCH > /dev/null 2>&1 42 | find -size +97M -printf '%P\n' -o -name *sensetime* -printf '%P\n' -o -name *.lic -printf '%P\n' > .gitignore 43 | git remote add origin https://github.com/$ORG/${repo,,}.git > /dev/null 2>&1 44 | echo -e "Dumping extras" 45 | git add --all > /dev/null 2>&1 46 | git reset system/ vendor/ > /dev/null 2>&1 47 | git -c "user.name=${ORG}" -c "user.email=${GITHUB_EMAIL}" commit -asm "Add extras for ${DESCRIPTION}" > /dev/null 2>&1 48 | git push https://$GIT_TOKEN@github.com/$ORG/${repo,,}.git $BRANCH > /dev/null 2>&1 49 | [[ -d vendor/ ]] && echo -e "Dumping vendor" 50 | [[ -d vendor/ ]] && git add vendor/ > /dev/null 2>&1 51 | [[ -d vendor/ ]] && git -c "user.name=${ORG}" -c "user.email=${GITHUB_EMAIL}" commit -asm "Add vendor for ${DESCRIPTION}" > /dev/null 2>&1 52 | [[ -d vendor/ ]] && git push https://$GIT_TOKEN@github.com/$ORG/${repo,,}.git $BRANCH > /dev/null 2>&1 53 | echo -e "Dumping apps" 54 | git add system/system/app/ system/system/priv-app/ > /dev/null 2>&1 || git add system/app/ system/priv-app/ > /dev/null 2>&1 55 | git -c "user.name=${ORG}" -c "user.email=${GITHUB_EMAIL}" commit -asm "Add apps for ${DESCRIPTION}" > /dev/null 2>&1 56 | git push https://$GIT_TOKEN@github.com/$ORG/${repo,,}.git $BRANCH > /dev/null 2>&1 57 | echo -e "Dumping system" 58 | git add system/ > /dev/null 2>&1 59 | git -c "user.name=${ORG}" -c "user.email=${GITHUB_EMAIL}" commit -asm "Add system for ${DESCRIPTION}" > /dev/null 2>&1 60 | git push https://$GIT_TOKEN@github.com/$ORG/${repo,,}.git $BRANCH > /dev/null 2>&1 61 | done 62 | -------------------------------------------------------------------------------- /tools/rebase_kernel.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source ${PROJECT_DIR}/helpers/common_script.sh 14 | 15 | # Arguements check 16 | if [ -z ${1} ] || [ -z ${2} ]; then 17 | echo -e "Usage: bash rebase_kernel.sh " 18 | exit 1 19 | fi 20 | 21 | # Download compressed kernel source 22 | if [[ "$1" == *"http"* ]]; then 23 | URL=${1} 24 | dlrom 25 | else 26 | URL=$( realpath "$1" ) 27 | echo "Copying file" 28 | cp -a ${1} ${PROJECT_DIR}/input/ 29 | fi 30 | FILE=${URL##*/} 31 | EXTENSION=${URL##*.} 32 | UNZIP_DIR=${FILE/.$EXTENSION/} 33 | [[ -d ${PROJECT_DIR}/kernels/${UNZIP_DIR} ]] && rm -rf ${PROJECT_DIR}/kernels/${UNZIP_DIR} 34 | 35 | # Extract file 36 | echo "Extracting file" 37 | mkdir -p ${PROJECT_DIR}/kernels/${UNZIP_DIR} 38 | if [[ ${EXTENSION} == "gz" ]]; then 39 | tar -zvxf ${PROJECT_DIR}/input/${FILE} -C ${PROJECT_DIR}/kernels/${UNZIP_DIR} > /dev/null 2>&1 40 | elif [[ ${EXTENSION} == "tar" ]]; then 41 | tar -xvf ${PROJECT_DIR}/input/${FILE} -C ${PROJECT_DIR}/kernels/${UNZIP_DIR} > /dev/null 2>&1 42 | elif [[ ${EXTENSION} == "tbz2" ]]; then 43 | tar -jvxf ${PROJECT_DIR}/input/${FILE} -C ${PROJECT_DIR}/kernels/${UNZIP_DIR} > /dev/null 2>&1 44 | elif [[ ${EXTENSION} == "zip" ]]; then 45 | unzip ${PROJECT_DIR}/input/${FILE} -d ${PROJECT_DIR}/kernels/${UNZIP_DIR} > /dev/null 2>&1 46 | else 47 | 7z x ${PROJECT_DIR}/input/${FILE} -y -o${PROJECT_DIR}/kernels/${UNZIP_DIR} > /dev/null 2>&1 48 | fi 49 | KERNEL_DIR="$(dirname "$(find ${PROJECT_DIR}/kernels/${UNZIP_DIR} -type f -name "AndroidKernel.mk" | head -1)")" 50 | AUDIO_KERNEL_DIR="$(dirname "$(find ${PROJECT_DIR}/kernels/${UNZIP_DIR} -type d -name "audio-kernel" | head -1)")" 51 | [[ ! -e ${KERNEL_DIR}/Makefile ]] && KERNEL_DIR="$(dirname "$(find ${PROJECT_DIR}/kernels/${UNZIP_DIR} -type f -name "kernel_headers.py" | head -1)")" 52 | NEST="$( find ${PROJECT_DIR}/kernels/${UNZIP_DIR} -type f -size +50M -printf '%P\n' | head -1)" 53 | if [ ! -z ${NEST} ] && [[ ! -e ${KERNEL_DIR}/Makefile ]]; then 54 | bash ${PROJECT_DIR}/tools/rebase_kernel.sh ${PROJECT_DIR}/kernels/${UNZIP_DIR}/${NEST} ${2} ${3} 55 | rm -rf ${PROJECT_DIR}/input/${NEST} 56 | rm -rf ${PROJECT_DIR}/kernels/${UNZIP_DIR} 57 | exit 58 | fi 59 | cd ${KERNEL_DIR} 60 | [[ ! -e ${KERNEL_DIR}/Makefile ]] && echo -e "No MakeFile found!" && exit 1 61 | [[ -d ${KERNEL_DIR}/.git/ ]] && rm -rf ${KERNEL_DIR}/.git/ 62 | 63 | # Find kernel version 64 | KERNEL_VERSION="$( cat Makefile | grep VERSION | head -n 1 | sed "s|.*=||1" | sed "s| ||g" )" 65 | KERNEL_PATCHLEVEL="$( cat Makefile | grep PATCHLEVEL | head -n 1 | sed "s|.*=||1" | sed "s| ||g" )" 66 | [[ -z "$KERNEL_VERSION" ]] && echo -e "Error!" && exit 1 67 | [[ -z "$KERNEL_PATCHLEVEL" ]] && echo -e "Error!" && exit 1 68 | echo "${KERNEL_VERSION}.${KERNEL_PATCHLEVEL}" 69 | 70 | # Move to common msm kernel directory with fetched TAG's 71 | if [[ ! -d ${PROJECT_DIR}/kernels/msm-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL} ]]; then 72 | mkdir -p ${PROJECT_DIR}/kernels/msm-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL} 73 | cd ${PROJECT_DIR}/kernels/msm-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL} 74 | git init -q 75 | git config core.fileMode false 76 | git config merge.renameLimit 999999 77 | git remote add msm https://git.codelinaro.org/clo/la/kernel/msm-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL} 78 | fi 79 | 80 | # Create release branch 81 | echo "Creating release branch" 82 | cd ${PROJECT_DIR}/kernels/msm-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL} 83 | git checkout -b release -q 84 | rm -rf * 85 | cp -a ${KERNEL_DIR}/* ${PROJECT_DIR}/kernels/msm-${KERNEL_VERSION}.${KERNEL_PATCHLEVEL} 86 | [[ -d ${AUDIO_KERNEL_DIR}/audio-kernel/ ]] && mkdir -p techpack/ && mv ${AUDIO_KERNEL_DIR}/audio-kernel/ techpack/audio 87 | git add --all > /dev/null 2>&1 88 | DOTFILES=( 89 | "*.gitignore" 90 | "*.cocciconfig" 91 | "*.get_maintainer.ignore" 92 | "*.gitattributes" 93 | "*.gitignore" 94 | "*.mailmap" 95 | ) 96 | for ELEMENT in ${DOTFILES[@]}; do 97 | [[ -d $ELEMENT ]] && git reset $DOTFILES > /dev/null 2>&1 98 | done 99 | git -c "user.name=ShivamKumarJha" -c "user.email=jha.shivam3@gmail.com" commit -sm "OEM Release" > /dev/null 2>&1 100 | rm -rf ${PROJECT_DIR}/kernels/${UNZIP_DIR} 101 | 102 | # Find best CAF TAG 103 | if [ -z "$3" ]; then 104 | echo "Fetching CAF tags" 105 | git fetch msm "refs/tags/L*0:refs/tags/L*0" > /dev/null 2>&1 106 | else 107 | echo "Fetching tags ending with $3" 108 | git fetch msm "refs/tags/*$3:refs/tags/*$3" > /dev/null 2>&1 109 | fi 110 | echo "Finding best CAF base" 111 | CAF_TAG="" 112 | BEST_DIFF=999999 113 | if [ -z "$3" ]; then 114 | TAGS=`git tag -l L*0` 115 | else 116 | TAGS=`git tag -l *${3}` 117 | fi 118 | for TAG in $TAGS; do 119 | [[ "$VERBOSE" != "n" ]] && echo "Comparing with $TAG" 120 | TAG_DIFF="$(git diff $TAG --shortstat | sed "s|files changed.*||g" | sed "s| ||g")" 121 | if [ ${TAG_DIFF} -lt ${BEST_DIFF} ]; then 122 | BEST_DIFF=${TAG_DIFF} 123 | CAF_TAG=${TAG} 124 | [[ "$VERBOSE" != "n" ]] && echo "Current best TAG is ${CAF_TAG} with ${BEST_DIFF} file changes" 125 | fi 126 | done 127 | [[ -z "$CAF_TAG" ]] && echo -e "Error!" && exit 1 128 | [[ "$VERBOSE" != "n" ]] && echo "Best CAF TAG is ${CAF_TAG} with ${BEST_DIFF} file changes" 129 | 130 | # Rebase to best CAF tag 131 | git checkout -q "refs/tags/${CAF_TAG}" -b "release-${CAF_TAG}" 132 | 133 | # Apply OEM modifications 134 | echo "Applying OEM modifications" 135 | git diff "release-${CAF_TAG}" release | git apply --reject > /dev/null 2>&1 136 | DIFFPATHS=( 137 | "Documentation/" 138 | "arch/arm/boot/dts/" 139 | "arch/arm64/boot/dts/" 140 | "arch/arm/configs/" 141 | "arch/arm64/configs/" 142 | "arch/" 143 | "block/" 144 | "crypto/" 145 | "drivers/android/" 146 | "drivers/base/" 147 | "drivers/block/" 148 | "drivers/media/platform/msm/" 149 | "drivers/char/" 150 | "drivers/clk/" 151 | "drivers/cpufreq/" 152 | "drivers/cpuidle/" 153 | "drivers/gpu/drm/" 154 | "drivers/gpu/" 155 | "drivers/input/touchscreen/" 156 | "drivers/input/" 157 | "drivers/leds/" 158 | "drivers/misc/" 159 | "drivers/mmc/" 160 | "drivers/nfc/" 161 | "drivers/power/" 162 | "drivers/scsi/" 163 | "drivers/soc/" 164 | "drivers/thermal/" 165 | "drivers/usb/" 166 | "drivers/video/" 167 | "drivers/" 168 | "firmware/" 169 | "fs/" 170 | "include/" 171 | "kernel/" 172 | "mm/" 173 | "net/" 174 | "security/" 175 | "sound/" 176 | "techpack/audio/" 177 | "techpack/camera/" 178 | "techpack/display/" 179 | "techpack/stub/" 180 | "techpack/video/" 181 | "techpack/" 182 | "tools/" 183 | ) 184 | for ELEMENT in ${DIFFPATHS[@]}; do 185 | [[ -d $ELEMENT ]] && git add $ELEMENT -f > /dev/null 2>&1 186 | git -c "user.name=ShivamKumarJha" -c "user.email=jha.shivam3@gmail.com" commit -sm "Add $ELEMENT modifications" > /dev/null 2>&1 187 | done 188 | # Remaining OEM modifications 189 | git add --all -f > /dev/null 2>&1 190 | git -c "user.name=ShivamKumarJha" -c "user.email=jha.shivam3@gmail.com" commit -sm "Add remaining OEM modifications" > /dev/null 2>&1 191 | 192 | # Push to GitHub 193 | if [[ ${ORGMEMBER} == "y" ]] && [[ ! -z ${GIT_TOKEN} ]]; then 194 | echo "Pushing to GitHub" 195 | curl -s -X POST -H "Authorization: token ${GIT_TOKEN}" -d '{"name": "'"$2"'","description": "'"CAF Rebased kernel source"'","private": false,"has_issues": true,"has_projects": false,"has_wiki": true}' "https://api.github.com/orgs/AndroidBlobs/repos" > /dev/null 2>&1 196 | git push https://"$GIT_TOKEN"@github.com/AndroidBlobs/"$2".git "release-${CAF_TAG}" --force > /dev/null 2>&1 197 | elif [[ ! -z ${GITHUB_USER} ]] && [[ ! -z ${GIT_TOKEN} ]]; then 198 | echo "Pushing to GitHub" 199 | curl https://api.github.com/user/repos\?access_token=$GIT_TOKEN -d '{"name": "'"$2"'","description": "'"CAF Rebased kernel source"'","private": false,"has_issues": true,"has_projects": false,"has_wiki": true}' > /dev/null 2>&1 200 | git push https://"$GIT_TOKEN"@github.com/"$GITHUB_USER"/"$2".git "release-${CAF_TAG}" --force > /dev/null 2>&1 201 | fi 202 | 203 | # Telegram 204 | if [ ! -z ${GIT_TOKEN} ] && [ ! -z ${TG_API} ] && [[ ${ORGMEMBER} == "y" ]]; then 205 | printf "Repo: $2" > ${PROJECT_DIR}/working/tg.html 206 | printf "\nBase CAF tag: $CAF_TAG" >> ${PROJECT_DIR}/working/tg.html 207 | printf "\nKernel: ${KERNEL_VERSION}.${KERNEL_PATCHLEVEL}" >> ${PROJECT_DIR}/working/tg.html 208 | [[ "$1" == *"http"* ]] && printf "\nKernel source" >> ${PROJECT_DIR}/working/tg.html 209 | printf "\nKernel tree" >> ${PROJECT_DIR}/working/tg.html 210 | CHAT_ID="@dummy_dt" 211 | HTML_FILE=$(cat ${PROJECT_DIR}/working/tg.html) 212 | curl -s "https://api.telegram.org/bot${TG_API}/sendmessage" --data "text=${HTML_FILE}&chat_id=${CHAT_ID}&parse_mode=HTML&disable_web_page_preview=True" > /dev/null 2>&1 213 | rm -rf ${PROJECT_DIR}/working/tg.html 214 | fi 215 | 216 | # Delete and rename branches 217 | git branch -D release > /dev/null 2>&1 218 | git branch -D "$( echo ${2} | sed "s|kernel_||g" | tr '_' '/' )-${CAF_TAG}" > /dev/null 2>&1 219 | git branch -m "release-${CAF_TAG}" "$( echo ${2} | sed "s|kernel_||g" | tr '_' '/' )-${CAF_TAG}" 220 | -------------------------------------------------------------------------------- /tools/rom_compare.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh "y" 14 | 15 | # Make sure to get paths 16 | if [ -z "$1" ] || [ -z "$2" ] ; then 17 | echo -e "Supply source & target ROM paths!" 18 | exit 1 19 | fi 20 | 21 | # Check if paths are correct 22 | if [ ! -d "$1" ] || [ ! -d "$2" ] ; then 23 | echo -e "Error! Path is not a directory!" 24 | exit 1 25 | fi 26 | 27 | # List source ROM files 28 | find $1 -type f -printf '%P\n' | sort > $PROJECT_DIR/working/1.txt 29 | 30 | # List target ROM files 31 | find $2 -type f -printf '%P\n' | sort > $PROJECT_DIR/working/2.txt 32 | 33 | file_lines=`cat $PROJECT_DIR/working/1.txt` 34 | for line in $file_lines ; do 35 | # Missing 36 | if ! grep -q "$line" $PROJECT_DIR/working/2.txt; then 37 | echo "$line" >> $PROJECT_DIR/working/Missing.txt 38 | else 39 | # Common 40 | echo -e "Comparing $line" 41 | cmp --silent $1/$line $2/$line && echo "$line" >> $PROJECT_DIR/working/Common.txt 42 | # Modified 43 | cmp --silent $1/$line $2/$line || echo "$line" >> $PROJECT_DIR/working/Modified.txt 44 | fi 45 | done 46 | file_lines=`cat $PROJECT_DIR/working/2.txt` 47 | for line in $file_lines ; do 48 | # Added 49 | if ! grep -q "$line" $PROJECT_DIR/working/1.txt; then 50 | echo "$line" >> $PROJECT_DIR/working/Added.txt 51 | fi 52 | done 53 | 54 | for i in "Added" "Common" "Missing" "Modified"; do 55 | if [ -e $PROJECT_DIR/working/$i.txt ]; then 56 | echo -e "$i files stored: $(ls -d $PROJECT_DIR/working/$i.txt)" 57 | fi 58 | done 59 | -------------------------------------------------------------------------------- /tools/rom_extract.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | SECONDS=0 10 | 11 | # Store project path 12 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 13 | 14 | # Common stuff 15 | source $PROJECT_DIR/helpers/common_script.sh 16 | 17 | # Exit if no arguements 18 | if [ -z "$1" ] ; then 19 | echo -e "Supply OTA file(s) as arguement!" 20 | exit 1 21 | fi 22 | 23 | # Password 24 | if [ "$EUID" -ne 0 ] && [ -z "$user_password" ]; then 25 | read -rsp "Enter user password: " user_password 26 | fi 27 | 28 | for var in "$@"; do 29 | # Variables 30 | if [[ "$var" == *"http"* ]]; then 31 | URL="$var" 32 | dlrom 33 | else 34 | URL=$( realpath "$var" ) 35 | fi 36 | [[ ! -e ${URL} ]] && echo "Error! File $URL does not exist." && break 37 | FILE=${URL##*/} 38 | EXTENSION=${URL##*.} 39 | UNZIP_DIR=${FILE/.$EXTENSION/} 40 | PARTITIONS="super system vendor cust odm oem factory product xrom modem dtbo dtb boot recovery tz systemex oppo_product preload_common system_ext system_other opproduct reserve india my_preload my_odm my_stock my_operator my_country my_product my_company my_engineering my_heytap my_custom my_manifest my_carrier my_region my_bigball my_version special_preload vendor_dlkm odm_dlkm system_dlkm init_boot vendor_kernel_boot vendor_boot" 41 | [[ -d $PROJECT_DIR/dumps/$UNZIP_DIR/ ]] && rm -rf $PROJECT_DIR/dumps/$UNZIP_DIR/ 42 | 43 | if [ -d "$var" ] ; then 44 | echo -e "Copying images" 45 | cp -a "$var" $PROJECT_DIR/dumps/${UNZIP_DIR} 46 | else 47 | # Firmware extractor 48 | if [[ "$VERBOSE" = "n" ]]; then 49 | echo -e "Creating sparse images" 50 | bash $PROJECT_DIR/tools/Firmware_extractor/extractor.sh ${URL} $PROJECT_DIR/dumps/${UNZIP_DIR} > /dev/null 2>&1 51 | else 52 | bash $PROJECT_DIR/tools/Firmware_extractor/extractor.sh ${URL} $PROJECT_DIR/dumps/${UNZIP_DIR} 53 | fi 54 | fi 55 | [[ ! -e $PROJECT_DIR/dumps/${UNZIP_DIR}/system.img ]] && echo "No system.img found. Exiting" && break 56 | 57 | # boot.img operations 58 | if [ -e $PROJECT_DIR/dumps/${UNZIP_DIR}/boot.img ]; then 59 | cd ${PROJECT_DIR}/tools/android_boot_image_editor 60 | rm -rf ${PROJECT_DIR}/tools/android_boot_image_editor/build/ && ./gradlew clean > /dev/null 2>&1 61 | cp -a $PROJECT_DIR/dumps/${UNZIP_DIR}/boot.img ${PROJECT_DIR}/tools/android_boot_image_editor/boot.img 62 | ./gradlew unpack > /dev/null 2>&1 63 | rm -rf ${PROJECT_DIR}/tools/android_boot_image_editor/boot.img 64 | [[ -d ${PROJECT_DIR}/tools/android_boot_image_editor/build/unzip_boot ]] && cp -a ${PROJECT_DIR}/tools/android_boot_image_editor/build/unzip_boot $PROJECT_DIR/dumps/${UNZIP_DIR} 65 | [[ -d $PROJECT_DIR/dumps/${UNZIP_DIR}/unzip_boot ]] && mv $PROJECT_DIR/dumps/${UNZIP_DIR}/unzip_boot $PROJECT_DIR/dumps/${UNZIP_DIR}/boot 66 | fi 67 | # dtbo.img operations 68 | if [[ -f $PROJECT_DIR/dumps/${UNZIP_DIR}/dtbo.img ]]; then 69 | [[ "$VERBOSE" != "n" ]] && echo -e "Extracting dtbo" 70 | python3 $PROJECT_DIR/tools/extract-dtb/extract_dtb/extract_dtb.py $PROJECT_DIR/dumps/${UNZIP_DIR}/dtbo.img -o $PROJECT_DIR/dumps/${UNZIP_DIR}/dtbo > /dev/null 2>&1 71 | fi 72 | if [[ -d $PROJECT_DIR/dumps/${UNZIP_DIR}/dtbo ]]; then 73 | mkdir -p $PROJECT_DIR/dumps/${UNZIP_DIR}/dtbs 74 | for dtb in $(ls $PROJECT_DIR/dumps/${UNZIP_DIR}/dtbo/); do 75 | $PROJECT_DIR/helpers/prebuilt/dt-compiler/dtc -f -I dtb -O dts -o "$PROJECT_DIR/dumps/${UNZIP_DIR}/dtbs/`echo "$dtb" | sed 's/\.dtb$//1'`.dts" $PROJECT_DIR/dumps/${UNZIP_DIR}/dtbo/$dtb > /dev/null 2>&1 76 | done 77 | fi 78 | 79 | # mounting 80 | for file in $PARTITIONS; do 81 | if [ -e "$PROJECT_DIR/dumps/${UNZIP_DIR}/$file.img" ]; then 82 | DIR_NAME=$(echo $file | cut -d . -f1) 83 | echo -e "Mounting & copying ${DIR_NAME}" 84 | mkdir -p $PROJECT_DIR/dumps/${UNZIP_DIR}/$DIR_NAME $PROJECT_DIR/dumps/$UNZIP_DIR/tempmount 85 | # mount & permissions 86 | echo $user_password | sudo -S mount -o loop "$PROJECT_DIR/dumps/${UNZIP_DIR}/$file.img" "$PROJECT_DIR/dumps/${UNZIP_DIR}/tempmount" > /dev/null 2>&1 87 | echo $user_password | sudo -S chown -R $USER:$USER "$PROJECT_DIR/dumps/${UNZIP_DIR}/tempmount" > /dev/null 2>&1 88 | echo $user_password | sudo -S chmod -R u+rwX "$PROJECT_DIR/dumps/${UNZIP_DIR}/tempmount" > /dev/null 2>&1 89 | # copy to dump 90 | cp -a $PROJECT_DIR/dumps/${UNZIP_DIR}/tempmount/* $PROJECT_DIR/dumps/$UNZIP_DIR/$DIR_NAME > /dev/null 2>&1 91 | # unmount 92 | echo $user_password | sudo -S umount -l "$PROJECT_DIR/dumps/${UNZIP_DIR}/tempmount" > /dev/null 2>&1 93 | # if empty partitions dump, try with 7z 94 | if [[ -z "$(ls -A $PROJECT_DIR/dumps/$UNZIP_DIR/$DIR_NAME)" ]]; then 95 | 7z x $PROJECT_DIR/dumps/${UNZIP_DIR}/$file.img -y -o$PROJECT_DIR/dumps/${UNZIP_DIR}/$file/ 2>/dev/null >> $PROJECT_DIR/dumps/${UNZIP_DIR}/zip.log || { 96 | rm -rf $PROJECT_DIR/dumps/${UNZIP_DIR}/$file/* 2>/dev/null >> $PROJECT_DIR/dumps/${UNZIP_DIR}/zip.log 97 | $PROJECT_DIR/tools/Firmware_extractor/tools/Linux/bin/fsck.erofs --extract=$PROJECT_DIR/dumps/${UNZIP_DIR}/$file $PROJECT_DIR/dumps/${UNZIP_DIR}/$file.img 2>/dev/null >> $PROJECT_DIR/dumps/${UNZIP_DIR}/zip.log2>/dev/null >> $PROJECT_DIR/dumps/${UNZIP_DIR}/zip.log 98 | } 99 | fi 100 | # cleanup 101 | rm -rf $PROJECT_DIR/dumps/${UNZIP_DIR}/$file.img $PROJECT_DIR/dumps/${UNZIP_DIR}/zip.log $PROJECT_DIR/dumps/$UNZIP_DIR/tempmount > /dev/null 2>&1 102 | fi 103 | done 104 | 105 | # board-info.txt & all_files.txt 106 | if [ -d $PROJECT_DIR/dumps/${UNZIP_DIR}/modem ]; then 107 | find $PROJECT_DIR/dumps/${UNZIP_DIR}/modem -type f -exec strings {} \; | grep "QC_IMAGE_VERSION_STRING=MPSS." | sed "s|QC_IMAGE_VERSION_STRING=MPSS.||g" | cut -c 4- | sed -e 's/^/require version-baseband=/' >> $PROJECT_DIR/dumps/${UNZIP_DIR}/board-info.txt 108 | find $PROJECT_DIR/dumps/${UNZIP_DIR}/modem -type f -exec strings {} \; | grep "Time_Stamp\": \"" | tr -d ' ' | cut -c 15- | sed 's/.$//' | sed -e 's/^/require version-modem=/' >> $PROJECT_DIR/dumps/${UNZIP_DIR}/board-info.txt 109 | fi 110 | find $PROJECT_DIR/dumps/${UNZIP_DIR}/ -maxdepth 1 -name "tz*" -type f -exec strings {} \; | grep "QC_IMAGE_VERSION_STRING" | sed "s|QC_IMAGE_VERSION_STRING|require version-trustzone|g" >> $PROJECT_DIR/dumps/${UNZIP_DIR}/board-info.txt 111 | if [ -e $PROJECT_DIR/dumps/${UNZIP_DIR}/vendor/build.prop ]; then 112 | strings $PROJECT_DIR/dumps/${UNZIP_DIR}/vendor/build.prop | grep "ro.vendor.build.date.utc" | sed "s|ro.vendor.build.date.utc|require version-vendor|g" >> $PROJECT_DIR/dumps/${UNZIP_DIR}/board-info.txt 113 | fi 114 | [[ -e $PROJECT_DIR/dumps/${UNZIP_DIR}/board-info.txt ]] && sort -u -o $PROJECT_DIR/dumps/${UNZIP_DIR}/board-info.txt $PROJECT_DIR/dumps/${UNZIP_DIR}/board-info.txt 115 | find $PROJECT_DIR/dumps/${UNZIP_DIR} -type f -printf '%P\n' | sort | grep -v ".git/" > $PROJECT_DIR/dumps/${UNZIP_DIR}/all_files.txt 116 | 117 | duration=$SECONDS 118 | [[ "$VERBOSE" != "n" ]] && echo -e "Dump location: $PROJECT_DIR/dumps/$UNZIP_DIR/" 119 | [[ "$VERBOSE" != "n" ]] && echo -e "Extract time: $(($duration / 60)) minutes and $(($duration % 60)) seconds." 120 | [[ "$DUMPPUSH" == "y" ]] && bash "$PROJECT_DIR/tools/dump_push.sh" "$PROJECT_DIR/dumps/$UNZIP_DIR/" 121 | [[ "$DUMMYDT" == "y" ]] && bash "$PROJECT_DIR/tools/dummy_dt.sh" "$PROJECT_DIR/dumps/$UNZIP_DIR/" 122 | done 123 | -------------------------------------------------------------------------------- /tools/rootdir.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh "y" 14 | 15 | # Make sure to get path 16 | if [ -z "$1" ]; then 17 | echo -e "Supply ROM path!" 18 | exit 1 19 | fi 20 | 21 | # Get files 22 | mkdir -p $PROJECT_DIR/working/rootdir/bin/ $PROJECT_DIR/working/rootdir/etc/ 23 | [[ -f "$1"/vendor/bin/*.sh ]] && cp -a "$1"/vendor/bin/*.sh $PROJECT_DIR/working/rootdir/bin/ 24 | [[ -d "$1"/vendor/etc/init/hw/ ]] && cp -a "$1"/vendor/etc/init/hw/* $PROJECT_DIR/working/rootdir/etc/ 25 | 26 | # Prepare Android.mk 27 | printf "LOCAL_PATH := \$(call my-dir)" >> $PROJECT_DIR/working/rootdir/Android.mk 28 | printf "\ninclude \$(CLEAR_VARS)\n" >> $PROJECT_DIR/working/rootdir/Android.mk 29 | # bins 30 | rootdir_bins=`find $PROJECT_DIR/working/rootdir/bin/ -type f -printf '%P\n' | sort` 31 | for file_bins in $rootdir_bins; do 32 | printf "\ninclude \$(CLEAR_VARS)" >> $PROJECT_DIR/working/rootdir/Android.mk 33 | printf "\nLOCAL_MODULE := $file_bins" >> $PROJECT_DIR/working/rootdir/Android.mk 34 | printf "\nLOCAL_MODULE_TAGS := optional" >> $PROJECT_DIR/working/rootdir/Android.mk 35 | printf "\nLOCAL_MODULE_CLASS := ETC" >> $PROJECT_DIR/working/rootdir/Android.mk 36 | printf "\nLOCAL_SRC_FILES := bin/$file_bins" >> $PROJECT_DIR/working/rootdir/Android.mk 37 | printf "\nLOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_EXECUTABLES)" >> $PROJECT_DIR/working/rootdir/Android.mk 38 | printf "\ninclude \$(BUILD_PREBUILT)\n" >> $PROJECT_DIR/working/rootdir/Android.mk 39 | # rootdir.mk 40 | printf "$file_bins\n" >> $PROJECT_DIR/working/rootdir_temp.mk 41 | done 42 | # etc 43 | rootdir_etc=`find $PROJECT_DIR/working/rootdir/etc/ -type f -printf '%P\n' | sort` 44 | for file_etc in $rootdir_etc; do 45 | printf "\ninclude \$(CLEAR_VARS)" >> $PROJECT_DIR/working/rootdir/Android.mk 46 | printf "\nLOCAL_MODULE := $file_etc" >> $PROJECT_DIR/working/rootdir/Android.mk 47 | printf "\nLOCAL_MODULE_TAGS := optional" >> $PROJECT_DIR/working/rootdir/Android.mk 48 | printf "\nLOCAL_MODULE_CLASS := ETC" >> $PROJECT_DIR/working/rootdir/Android.mk 49 | printf "\nLOCAL_SRC_FILES := etc/$file_etc" >> $PROJECT_DIR/working/rootdir/Android.mk 50 | printf "\nLOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_ETC)/init/hw" >> $PROJECT_DIR/working/rootdir/Android.mk 51 | printf "\ninclude \$(BUILD_PREBUILT)\n" >> $PROJECT_DIR/working/rootdir/Android.mk 52 | # rootdir.mk 53 | printf "$file_etc\n" >> $PROJECT_DIR/working/rootdir_temp.mk 54 | done 55 | 56 | # fstab Android.mk 57 | cp -a "$1"/vendor/etc/fstab* $PROJECT_DIR/working/rootdir/etc/ 58 | rootdir_etc=`find $PROJECT_DIR/working/rootdir/etc/ -maxdepth 1 -type f -name "*fstab*" -printf '%P\n' | sort` 59 | for file_fstab in $rootdir_etc; do 60 | printf "$file_fstab\n" >> $PROJECT_DIR/working/rootdir_temp.mk 61 | printf "\ninclude \$(CLEAR_VARS)" >> $PROJECT_DIR/working/rootdir/Android.mk 62 | printf "\nLOCAL_MODULE := $file_fstab" >> $PROJECT_DIR/working/rootdir/Android.mk 63 | printf "\nLOCAL_MODULE_TAGS := optional" >> $PROJECT_DIR/working/rootdir/Android.mk 64 | printf "\nLOCAL_MODULE_CLASS := ETC" >> $PROJECT_DIR/working/rootdir/Android.mk 65 | printf "\nLOCAL_SRC_FILES := etc/$file_fstab" >> $PROJECT_DIR/working/rootdir/Android.mk 66 | printf "\nLOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR_ETC)" >> $PROJECT_DIR/working/rootdir/Android.mk 67 | printf "\ninclude \$(BUILD_PREBUILT)\n" >> $PROJECT_DIR/working/rootdir/Android.mk 68 | done 69 | 70 | # ueventd Android.mk 71 | cp -a "$1"/vendor/ueventd.rc $PROJECT_DIR/working/rootdir/etc/ueventd.qcom.rc 72 | printf "ueventd.qcom.rc\n" >> $PROJECT_DIR/working/rootdir_temp.mk 73 | printf "\ninclude \$(CLEAR_VARS)" >> $PROJECT_DIR/working/rootdir/Android.mk 74 | printf "\nLOCAL_MODULE := ueventd.qcom.rc" >> $PROJECT_DIR/working/rootdir/Android.mk 75 | printf "\nLOCAL_MODULE_STEM := ueventd.rc" >> $PROJECT_DIR/working/rootdir/Android.mk 76 | printf "\nLOCAL_MODULE_TAGS := optional" >> $PROJECT_DIR/working/rootdir/Android.mk 77 | printf "\nLOCAL_MODULE_CLASS := ETC" >> $PROJECT_DIR/working/rootdir/Android.mk 78 | printf "\nLOCAL_SRC_FILES := etc/ueventd.qcom.rc" >> $PROJECT_DIR/working/rootdir/Android.mk 79 | printf "\nLOCAL_MODULE_PATH := \$(TARGET_OUT_VENDOR)" >> $PROJECT_DIR/working/rootdir/Android.mk 80 | printf "\ninclude \$(BUILD_PREBUILT)\n" >> $PROJECT_DIR/working/rootdir/Android.mk 81 | 82 | # Prepare rootdir.mk 83 | awk 'NF{print $0 " \\"}' $PROJECT_DIR/working/rootdir_temp.mk >> $PROJECT_DIR/working/rootdir.mk 84 | sed -i -e 's/^/ /' $PROJECT_DIR/working/rootdir.mk 85 | sed -i '1 i\PRODUCT_PACKAGES += \\' $PROJECT_DIR/working/rootdir.mk 86 | sed -i '1 i\# Ramdisk' $PROJECT_DIR/working/rootdir.mk 87 | 88 | # cleanup 89 | rm -rf $PROJECT_DIR/working/rootdir_temp.mk 90 | -------------------------------------------------------------------------------- /tools/system_vendor_prop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh "y" 14 | 15 | # Exit if no arguements 16 | if [ -z "$1" ] ; then 17 | echo -e "Supply ROM directory as arguement!" 18 | exit 1 19 | fi 20 | 21 | # Get files via either cp or wget 22 | if echo "$1" | grep "https" ; then 23 | wget -O $PROJECT_DIR/working/system_working.prop $1 24 | elif [ -d "$1" ]; then 25 | if [ -e "$1"/system/system/build.prop ]; then 26 | SYSTEM_PATH="system/system" 27 | elif [ -e "$1"/system/build.prop ]; then 28 | SYSTEM_PATH="system" 29 | fi 30 | find "$1/$SYSTEM_PATH" -maxdepth 1 -name "build*prop" -exec cat {} >> $PROJECT_DIR/working/system_working.prop \; 31 | [[ -d "$1/system/vendor/" ]] && VENDOR_PATH="system/vendor" 32 | [[ -d "$1/system/system/vendor/" ]] && VENDOR_PATH="system/system/vendor" 33 | [[ -d "$1/vendor/" ]] && VENDOR_PATH="vendor" 34 | find "$1/$VENDOR_PATH" -maxdepth 1 -name "build*prop" -exec cat {} >> $PROJECT_DIR/working/vendor_working.prop \; 35 | else 36 | cp -a $1 $PROJECT_DIR/working/system_working.prop 37 | fi 38 | if [ ! -z "$2" ] ; then 39 | if echo "$2" | grep "https" ; then 40 | wget -O $PROJECT_DIR/working/vendor_working.prop $2 41 | else 42 | cp -a $2 $PROJECT_DIR/working/vendor_working.prop 43 | fi 44 | fi 45 | 46 | # system.prop 47 | if [ -s "$PROJECT_DIR/working/system_working.prop" ]; then 48 | TSTART=$(grep -nr "# end build properties" $PROJECT_DIR/working/system_working.prop | sed "s|:.*||g" | head -1) 49 | TSTART=$((TSTART+1)) 50 | TEND=$(grep -nr "# ADDITIONAL_BUILD_PROPERTIES" $PROJECT_DIR/working/system_working.prop | sed "s|:.*||g" | head -1) 51 | TEND=$((TEND-1)) 52 | sed -n "${TSTART},${TEND}p" $PROJECT_DIR/working/system_working.prop > $PROJECT_DIR/working/system.prop 53 | fi 54 | 55 | # vendor.prop 56 | if [ -s "$PROJECT_DIR/working/vendor_working.prop" ]; then 57 | TSTART=$(grep -nr "ADDITIONAL VENDOR BUILD PROPERTIES" $PROJECT_DIR/working/vendor_working.prop | sed "s|:.*||g" | head -1) 58 | TEND=$(wc -l $PROJECT_DIR/working/vendor_working.prop | sed "s| .*||g" | head -1) 59 | sed -n "${TSTART},${TEND}p" $PROJECT_DIR/working/vendor_working.prop | sort | sed "s|#.*||g" | sed '/^[[:space:]]*$/d' > $PROJECT_DIR/working/vendor_new.prop 60 | sed -i -e 's/^/ /' $PROJECT_DIR/working/vendor_new.prop 61 | sed -i '1 i\PRODUCT_PROPERTY_OVERRIDES += ' $PROJECT_DIR/working/vendor_new.prop 62 | awk 'NF{print $0 " \\"}' $PROJECT_DIR/working/vendor_new.prop > $PROJECT_DIR/working/vendor_prop.mk 63 | fi 64 | 65 | # cleanup 66 | rm -rf $PROJECT_DIR/working/system_working.prop $PROJECT_DIR/working/vendor_new.prop $PROJECT_DIR/working/vendor_working.prop 67 | 68 | [[ -f $PROJECT_DIR/working/* ]] && echo -e "$(ls -d $PROJECT_DIR/working/*) prepared!" || echo -e "Error!" && exit 1 69 | -------------------------------------------------------------------------------- /tools/vendor_prop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Common stuff 13 | source $PROJECT_DIR/helpers/common_script.sh "y" 14 | 15 | # Exit if no arguements 16 | if [ -z "$1" ] ; then 17 | echo -e "Supply ROM directory as arguement!" 18 | exit 1 19 | fi 20 | 21 | # Get files via either cp or wget 22 | if echo "$1" | grep "https" ; then 23 | wget -O $PROJECT_DIR/working/system_working.prop $1 24 | elif [ -d "$1" ]; then 25 | if [ -e "$1"/system/system/build.prop ]; then 26 | SYSTEM_PATH="system/system" 27 | elif [ -e "$1"/system/build.prop ]; then 28 | SYSTEM_PATH="system" 29 | fi 30 | find "$1" -name "prop.default" -exec cat {} >> $PROJECT_DIR/working/boot_working.prop \; 31 | find "$1/$SYSTEM_PATH" -maxdepth 1 -name "build*prop" -exec cat {} >> $PROJECT_DIR/working/system_working.prop \; 32 | [[ -d "$1/system/vendor/" ]] && VENDOR_PATH="system/vendor" 33 | [[ -d "$1/system/system/vendor/" ]] && VENDOR_PATH="system/system/vendor" 34 | [[ -d "$1/vendor/" ]] && VENDOR_PATH="vendor" 35 | find "$1/$VENDOR_PATH" -maxdepth 1 -name "build*prop" -exec cat {} >> $PROJECT_DIR/working/vendor_working.prop \; 36 | else 37 | cp -a $1 $PROJECT_DIR/working/system_working.prop 38 | fi 39 | if [ ! -z "$2" ] ; then 40 | if echo "$2" | grep "https" ; then 41 | wget -O $PROJECT_DIR/working/vendor_working.prop $2 42 | else 43 | cp -a $2 $PROJECT_DIR/working/vendor_working.prop 44 | fi 45 | fi 46 | 47 | # boot.prop 48 | if [ -s "$PROJECT_DIR/working/boot_working.prop" ]; then 49 | TSTART=$(grep -nr "# end build properties" $PROJECT_DIR/working/boot_working.prop | sed "s|:.*||g" | head -1) 50 | TEND=$(wc -l $PROJECT_DIR/working/boot_working.prop | sed "s| .*||g" | head -1) 51 | sed -n "${TSTART},${TEND}p" $PROJECT_DIR/working/boot_working.prop | sort | sed "s|#.*||g" | sed '/^[[:space:]]*$/d' > $PROJECT_DIR/working/boot_new.prop 52 | fi 53 | 54 | # system.prop 55 | if [ -s "$PROJECT_DIR/working/system_working.prop" ]; then 56 | TSTART=$(grep -nr "# end build properties" $PROJECT_DIR/working/system_working.prop | sed "s|:.*||g" | head -1) 57 | TEND=$(grep -nr "# ADDITIONAL_BUILD_PROPERTIES" $PROJECT_DIR/working/system_working.prop | sed "s|:.*||g" | head -1) 58 | sed -n "${TSTART},${TEND}p" $PROJECT_DIR/working/system_working.prop | sort | sed "s|#.*||g" | sed '/^[[:space:]]*$/d' > $PROJECT_DIR/working/system_new.prop 59 | fi 60 | 61 | # vendor.prop 62 | if [ -s "$PROJECT_DIR/working/vendor_working.prop" ]; then 63 | TSTART=$(grep -nr "ADDITIONAL VENDOR BUILD PROPERTIES" $PROJECT_DIR/working/vendor_working.prop | sed "s|:.*||g" | head -1) 64 | TEND=$(wc -l $PROJECT_DIR/working/vendor_working.prop | sed "s| .*||g" | head -1) 65 | sed -n "${TSTART},${TEND}p" $PROJECT_DIR/working/vendor_working.prop | sort | sed "s|#.*||g" | sed '/^[[:space:]]*$/d' > $PROJECT_DIR/working/vendor_new.prop 66 | fi 67 | 68 | # Combine newly generated system.prop & vendor.prop 69 | if [ -s "$PROJECT_DIR/working/boot_new.prop" ]; then 70 | awk '!NF || !seen[$0]++' $PROJECT_DIR/working/boot_new.prop > $PROJECT_DIR/working/boot_new2.prop 71 | echo "$(cat $PROJECT_DIR/working/boot_new2.prop | sort -u )" >> $PROJECT_DIR/working/staging.mk 72 | elif [ -s "$PROJECT_DIR/working/vendor_new.prop" ]; then 73 | echo "$(cat $PROJECT_DIR/working/system_new.prop $PROJECT_DIR/working/vendor_new.prop | sort -u )" >> $PROJECT_DIR/working/staging.mk 74 | else 75 | echo "$(cat $PROJECT_DIR/working/system_new.prop | sort -u )" >> $PROJECT_DIR/working/staging.mk 76 | fi 77 | 78 | # Cleanup unrequired prop's 79 | sed -i "s|dalvik.vm.heapsize=36m||g" $PROJECT_DIR/working/staging.mk 80 | sed -i "s|persist.sys.mcd_config_file.*||g" $PROJECT_DIR/working/staging.mk 81 | sed -i "s|persist.miui.density.*||g" $PROJECT_DIR/working/staging.mk 82 | sed -i "s|ro.miui.notch.*||g" $PROJECT_DIR/working/staging.mk 83 | sed -i "s|ro.build.fota.version=.*||g" $PROJECT_DIR/working/staging.mk 84 | sed -i "s|ro.build.software.version=.*||g" $PROJECT_DIR/working/staging.mk 85 | sed -i "s|ro.build.version.incremental=.*||g" $PROJECT_DIR/working/staging.mk 86 | sed -i "s|ro.vendor.build.fingerprint.*||g" $PROJECT_DIR/working/staging.mk 87 | sed -i "s|persist.rild.nitz_.*||g" $PROJECT_DIR/working/staging.mk 88 | sed -i "s|ro.hwui.*||g" $PROJECT_DIR/working/staging.mk 89 | sed -i "s|ro.config.alarm_alert=.*||g" $PROJECT_DIR/working/staging.mk 90 | sed -i "s|ro.config.calendaralert_sound=.*||g" $PROJECT_DIR/working/staging.mk 91 | sed -i "s|ro.config.newmail_sound=.*||g" $PROJECT_DIR/working/staging.mk 92 | sed -i "s|ro.config.notification_sound=.*||g" $PROJECT_DIR/working/staging.mk 93 | sed -i "s|ro.config.ringtone=.*||g" $PROJECT_DIR/working/staging.mk 94 | sed -i "s|ro.config.sentmail_sound=.*||g" $PROJECT_DIR/working/staging.mk 95 | sed -i "s|ro.com.google.*||g" $PROJECT_DIR/working/staging.mk 96 | sed -i "s|ro.external.version.code=.*||g" $PROJECT_DIR/working/staging.mk 97 | sed -i "s|ro.huaqin.version.release=.*||g" $PROJECT_DIR/working/staging.mk 98 | sed -i "s|ro.setupwizard.*||g" $PROJECT_DIR/working/staging.mk 99 | sed -i "s|setupwizard.*||g" $PROJECT_DIR/working/staging.mk 100 | sed -i "s|ro.product.first_api_level=.*||g" $PROJECT_DIR/working/staging.mk 101 | sed '/^$/d' $PROJECT_DIR/working/staging.mk | sort -u > $PROJECT_DIR/working/temp.mk 102 | 103 | add_to_section() { 104 | if [[ -z "${3}" ]]; then 105 | cat "$PROJECT_DIR/working/temp.mk" | grep -iE "${1}" | sort -u > "$PROJECT_DIR/working/lists/${2}" 106 | else 107 | cat "$PROJECT_DIR/working/temp.mk" | grep -iE "${1}" | grep -v "${2}" | sort -u > "$PROJECT_DIR/working/lists/${3}" 108 | fi 109 | } 110 | 111 | # Prop's grouping 112 | mkdir -p $PROJECT_DIR/working/lists/ 113 | # Audio 114 | add_to_section "audio|af.|ro.af.|ro.config.media|ro.config.vc_call|dirac.|av.|voice." Audio 115 | # Bluetooth 116 | add_to_section "bt.|bluetooth" Bluetooth 117 | # Camera 118 | add_to_section "ts.|camera" "dalvik" Camera 119 | # Charging 120 | add_to_section "persist.chg|chg.|cutoff_voltage_mv" Charging 121 | # CNE 122 | add_to_section "cne." CNE 123 | # Crypto 124 | add_to_section "crypto." Crypto 125 | # Dalvik 126 | add_to_section "dalvik" Dalvik 127 | # DPM 128 | add_to_section "dpm." DPM 129 | # DRM 130 | add_to_section "drm" DRM 131 | # FM 132 | add_to_section "fm." FM 133 | # FRP 134 | add_to_section "frp." FRP 135 | # FUSE 136 | add_to_section "fuse" FUSE 137 | # Graphics 138 | add_to_section "debug.sf.|gralloc|hwui|dev.pm.|hdmi|opengles|lcd_density|display|rotator_downscale|debug.egl.hw" Graphics 139 | # Location 140 | add_to_section "location" Location 141 | # Media 142 | add_to_section "media.|mm.|mmp.|vidc.|aac." "audio" Media 143 | # Netflix 144 | add_to_section "netflix" Netflix 145 | # Netmgr 146 | add_to_section "netmgrd|data.mode" Netmgr 147 | # NFC 148 | add_to_section "nfc" NFC 149 | # NTP 150 | add_to_section "ntpServer" NTP 151 | # Perf 152 | add_to_section "perf." Perf 153 | # QTI 154 | add_to_section "qti" QTI 155 | # Radio 156 | add_to_section "DEVICE_PROVISIONED|persist.data|radio|ril.|rild.|ro.carrier|dataroaming|telephony" Radio 157 | # Sensors 158 | add_to_section "sensors." Sensors 159 | # Skip_validate 160 | add_to_section "skip_validate" Skip_validate 161 | # Shutdown 162 | add_to_section "shutdown" Shutdown 163 | # SSR 164 | add_to_section "ssr." "audio" SSR 165 | # Thermal 166 | add_to_section "thermal." Thermal 167 | # Time 168 | add_to_section "timed." Time 169 | # UBWC 170 | add_to_section "ubwc" UBWC 171 | # USB 172 | add_to_section "usb." "audio" USB 173 | # WFD 174 | add_to_section "wfd." WFD 175 | # WLAN 176 | add_to_section "wlan." WLAN 177 | # ZRAM 178 | add_to_section "zram" ZRAM 179 | 180 | # Store missing props as Misc 181 | cat $PROJECT_DIR/working/lists/* > $PROJECT_DIR/working/tempall.mk 182 | file_lines=`cat $PROJECT_DIR/working/temp.mk` 183 | for line in $file_lines; do 184 | if ! grep -q "$line" $PROJECT_DIR/working/tempall.mk; then 185 | echo "$line" >> $PROJECT_DIR/working/lists/Misc 186 | fi 187 | done 188 | 189 | # Delete empty lists 190 | find $PROJECT_DIR/working/lists/ -size 0 -print0 | xargs -0 rm -- 191 | 192 | # Add props from lists 193 | props_list=`find $PROJECT_DIR/working/lists -type f -printf '%P\n' | sort` 194 | for list in $props_list; do 195 | echo "# $list" >> $PROJECT_DIR/working/temp_prop.mk 196 | echo "PRODUCT_PROPERTY_OVERRIDES += \\" >> $PROJECT_DIR/working/temp_prop.mk 197 | awk 'NF{print $0 " \\"}' $PROJECT_DIR/working/lists/$list >> $PROJECT_DIR/working/temp_prop.mk 198 | done 199 | 200 | # Remove duplicate props & text formatting 201 | awk '/^PRODUCT_PROPERTY_OVERRIDES/ || !seen[$0]++' $PROJECT_DIR/working/temp_prop.mk > $PROJECT_DIR/working/vendor_prop.mk 202 | sed -i -e 's/^/ /' $PROJECT_DIR/working/vendor_prop.mk 203 | sed -i "s| #|#|g" $PROJECT_DIR/working/vendor_prop.mk 204 | sed -i "s| PRODUCT_PROPERTY_OVERRIDES|PRODUCT_PROPERTY_OVERRIDES|g" $PROJECT_DIR/working/vendor_prop.mk 205 | 206 | # cleanup temp files 207 | find $PROJECT_DIR/working/* ! -name 'vendor_prop.mk' -type d,f -exec rm -rf {} + 208 | if [ -z "$2" ] && [ ! -d "$1" ]; then 209 | mv $PROJECT_DIR/working/vendor_prop.mk $PROJECT_DIR/working/system_prop.mk 210 | fi 211 | 212 | echo -e "$(ls -d $PROJECT_DIR/working/*.mk) prepared!" 213 | -------------------------------------------------------------------------------- /tools/vendor_tree.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # SPDX-License-Identifier: GPL-3.0-or-later 4 | # 5 | # Copyright (C) 2019 Shivam Kumar Jha 6 | # 7 | # Helper functions 8 | 9 | # Store project path 10 | PROJECT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null && pwd )" 11 | 12 | # Text format 13 | source $PROJECT_DIR/helpers/common_script.sh 14 | 15 | # Exit if missing token, user or email 16 | if [ -z "$GIT_TOKEN" ] && [ -z "$GITHUB_EMAIL" ] && [ -z "$GITHUB_USER" ]; then 17 | echo -e "Missing GitHub token or user or email. Exiting." 18 | exit 1 19 | fi 20 | 21 | # Exit if no arguements 22 | if [ -z "$1" ] ; then 23 | echo -e "Supply ROM source as arguement!" 24 | exit 1 25 | fi 26 | 27 | # o/p 28 | for var in "$@"; do 29 | # Check if directory 30 | if [ ! -d "$var" ] ; then 31 | echo -e "Supply ROM path as arguement!" 32 | break 33 | fi 34 | 35 | # Create vendor tree repo 36 | source $PROJECT_DIR/helpers/rom_vars.sh "$var" > /dev/null 2>&1 37 | VT_REPO=$(echo vendor_$BRAND\_$DEVICE) 38 | VT_REPO_DESC=$(echo "Vendor tree for $MODEL") 39 | curl https://api.github.com/user/repos\?access_token=$GIT_TOKEN -d '{"name": "'"$VT_REPO"'","description": "'"$VT_REPO_DESC"'","private": true,"has_issues": true,"has_projects": false,"has_wiki": true}' > /dev/null 2>&1 40 | 41 | # Extract vendor blobs 42 | bash "$PROJECT_DIR/helpers/extract_blobs/extract-files.sh" "$var" 43 | 44 | # Push to GitHub 45 | cd "$PROJECT_DIR"/vendor/"$BRAND"/"$DEVICE" 46 | if [ ! -d .git ]; then 47 | echo -e "Initializing git." 48 | git init . > /dev/null 2>&1 49 | echo -e "Adding origin: git@github.com:$GITHUB_USER/"$VT_REPO".git " 50 | git remote add origin git@github.com:$GITHUB_USER/"$VT_REPO".git > /dev/null 2>&1 51 | fi 52 | COMMIT_MSG=$(echo "$DEVICE: $FINGERPRINT" | sort -u | head -n 1 ) 53 | git checkout -b $BRANCH > /dev/null 2>&1 54 | git add --all > /dev/null 2>&1 55 | echo -e "Commiting $COMMIT_MSG" 56 | git -c "user.name=$GITHUB_USER" -c "user.email=$GITHUB_EMAIL" commit -sm "$COMMIT_MSG" -q 57 | git push https://"$GIT_TOKEN"@github.com/$GITHUB_USER/"$VT_REPO".git $BRANCH > /dev/null 2>&1 58 | done 59 | --------------------------------------------------------------------------------