Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 1 | #!/system/bin/sh |
| 2 | # |
| 3 | # ADDOND_VERSION=2 |
| 4 | # |
| 5 | # /system/addon.d/69-gapps.sh |
| 6 | # |
| 7 | . /postinstall/tmp/backuptool.functions |
| 8 | |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 9 | if [ -z $backuptool_ab ]; then |
| 10 | SYS=$S |
| 11 | TMP=/tmp |
| 12 | else |
| 13 | SYS=/postinstall/system |
| 14 | TMP=/postinstall/tmp |
| 15 | fi |
| 16 | |
| 17 | |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 18 | list_files() { |
| 19 | cat <<EOF |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 20 | app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk |
| 21 | app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk |
| 22 | app/GoogleExtShared/GoogleExtShared.apk |
| 23 | app/GoogleTTS/GoogleTTS.apk |
| 24 | app/MarkupGoogle/MarkupGoogle.apk |
| 25 | app/SoundPickerPrebuilt/SoundPickerPrebuilt.apk |
| 26 | etc/default-permissions/default-permissions.xml |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 27 | etc/default-permissions/opengapps-permissions-q.xml |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 28 | etc/g.prop |
| 29 | etc/permissions/com.google.android.dialer.support.xml |
| 30 | etc/permissions/com.google.android.maps.xml |
| 31 | etc/permissions/com.google.android.media.effects.xml |
| 32 | etc/permissions/privapp-permissions-google.xml |
| 33 | etc/permissions/split-permissions-google.xml |
| 34 | etc/preferred-apps/google.xml |
| 35 | etc/sysconfig/dialer_experience.xml |
| 36 | etc/sysconfig/google-hiddenapi-package-whitelist.xml |
| 37 | etc/sysconfig/google.xml |
| 38 | etc/sysconfig/google_build.xml |
| 39 | etc/sysconfig/google_exclusives_enable.xml |
| 40 | framework/com.google.android.dialer.support.jar |
| 41 | framework/com.google.android.maps.jar |
| 42 | framework/com.google.android.media.effects.jar |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 43 | lib/libsketchology_native.so |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 44 | lib64/libjni_latinimegoogle.so |
| 45 | lib64/libsketchology_native.so |
| 46 | priv-app/CarrierSetup/CarrierSetup.apk |
| 47 | priv-app/ConfigUpdater/ConfigUpdater.apk |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 48 | priv-app/GoogleBackupTransport/GoogleBackupTransport.apk |
| 49 | priv-app/GoogleExtServices/GoogleExtServices.apk |
| 50 | priv-app/GoogleFeedback/GoogleFeedback.apk |
| 51 | priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 52 | priv-app/GooglePackageInstaller/GooglePackageInstaller.apk |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 53 | priv-app/GooglePartnerSetup/GooglePartnerSetup.apk |
| 54 | priv-app/GoogleRestore/GoogleRestore.apk |
| 55 | priv-app/GoogleServicesFramework/GoogleServicesFramework.apk |
| 56 | priv-app/Phonesky/Phonesky.apk |
| 57 | priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk |
| 58 | priv-app/SetupWizard/SetupWizard.apk |
| 59 | priv-app/Turbo/Turbo.apk |
| 60 | priv-app/Velvet/Velvet.apk |
| 61 | priv-app/WellbeingPrebuilt/WellbeingPrebuilt.apk |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 62 | product/overlay/WellbeingOverlay.apk |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 63 | usr/srec/en-US/APP_NAME.fst |
| 64 | usr/srec/en-US/APP_NAME.syms |
| 65 | usr/srec/en-US/CLG.prewalk.fst |
| 66 | usr/srec/en-US/CONTACT_NAME.fst |
| 67 | usr/srec/en-US/CONTACT_NAME.syms |
| 68 | usr/srec/en-US/SONG_NAME.fst |
| 69 | usr/srec/en-US/SONG_NAME.syms |
| 70 | usr/srec/en-US/am_phonemes.syms |
| 71 | usr/srec/en-US/app_bias.fst |
| 72 | usr/srec/en-US/c_fst |
| 73 | usr/srec/en-US/commands.abnf |
| 74 | usr/srec/en-US/compile_grammar.config |
| 75 | usr/srec/en-US/config.pumpkin |
| 76 | usr/srec/en-US/confirmation_bias.fst |
| 77 | usr/srec/en-US/contacts.abnf |
| 78 | usr/srec/en-US/contacts_bias.fst |
| 79 | usr/srec/en-US/contacts_disambig.fst |
| 80 | usr/srec/en-US/dict |
| 81 | usr/srec/en-US/dictation.config |
| 82 | usr/srec/en-US/dnn |
| 83 | usr/srec/en-US/embedded_class_denorm.mfar |
| 84 | usr/srec/en-US/embedded_normalizer.mfar |
| 85 | usr/srec/en-US/endpointer_dictation.config |
| 86 | usr/srec/en-US/endpointer_model |
| 87 | usr/srec/en-US/endpointer_model.mmap |
| 88 | usr/srec/en-US/endpointer_voicesearch.config |
| 89 | usr/srec/en-US/ep_portable_mean_stddev |
| 90 | usr/srec/en-US/ep_portable_model.uint8.mmap |
| 91 | usr/srec/en-US/g2p.data |
| 92 | usr/srec/en-US/g2p_fst |
| 93 | usr/srec/en-US/g2p_graphemes.syms |
| 94 | usr/srec/en-US/g2p_phonemes.syms |
| 95 | usr/srec/en-US/grammar.config |
| 96 | usr/srec/en-US/hmm_symbols |
| 97 | usr/srec/en-US/hmmlist |
| 98 | usr/srec/en-US/input_mean_std_dev |
| 99 | usr/srec/en-US/lexicon.U.fst |
| 100 | usr/srec/en-US/lstm_model.uint8.data |
| 101 | usr/srec/en-US/magic_mic.config |
| 102 | usr/srec/en-US/media_bias.fst |
| 103 | usr/srec/en-US/metadata |
| 104 | usr/srec/en-US/monastery_config.pumpkin |
| 105 | usr/srec/en-US/norm_fst |
| 106 | usr/srec/en-US/offensive_word_normalizer.mfar |
| 107 | usr/srec/en-US/offline_action_data.pb |
| 108 | usr/srec/en-US/phonelist |
| 109 | usr/srec/en-US/portable_lstm |
| 110 | usr/srec/en-US/portable_meanstddev |
| 111 | usr/srec/en-US/pumpkin.mmap |
| 112 | usr/srec/en-US/read_items_bias.fst |
| 113 | usr/srec/en-US/rescoring.fst.compact |
| 114 | usr/srec/en-US/semantics.pumpkin |
| 115 | usr/srec/en-US/skip_items_bias.fst |
| 116 | usr/srec/en-US/time_bias.fst |
| 117 | usr/srec/en-US/transform.mfar |
| 118 | usr/srec/en-US/voice_actions.config |
| 119 | usr/srec/en-US/voice_actions_compiler.config |
| 120 | usr/srec/en-US/word_confidence_classifier |
| 121 | usr/srec/en-US/wordlist.syms |
| 122 | EOF |
| 123 | } |
| 124 | |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 125 | mount_generic() { |
| 126 | local device_abpartition=$(getprop ro.build.ab_update) |
| 127 | local partitions="$*" |
| 128 | if [ -z "$device_abpartition" ]; then |
| 129 | # We're on an A only device |
| 130 | local partition |
| 131 | for partition in $partitions; do |
| 132 | if [ "$(getprop ro.boot.dynamic_partitions)" = "true" ]; then |
| 133 | mount -o ro -t auto /dev/block/mapper/"$partition" /"$partition" 2> /dev/null |
| 134 | blockdev --setrw /dev/block/mapper/"$partition" 2> /dev/null |
| 135 | mount -o rw,remount -t auto /dev/block/mapper/"$partition" /"$partition" 2> /dev/null |
| 136 | else |
| 137 | mount -o ro -t auto /"$partition" 2> /dev/null |
| 138 | mount -o rw,remount -t auto /"$partition" 2> /dev/null |
| 139 | fi |
| 140 | done |
| 141 | fi |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 142 | } |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 143 | |
| 144 | # Backup/Restore using /sdcard if the installed GApps size plus a buffer for other addon.d backups (204800=200MB) is larger than /tmp |
| 145 | installed_gapps_size_kb=$(grep "^installed_gapps_size_kb" $TMP/gapps.prop | cut -d '=' -f 2) |
| 146 | if [ ! "$installed_gapps_size_kb" ]; then |
| 147 | installed_gapps_size_kb="$(cd $SYS; size=0; for n in $(du -ak $(list_files) | cut -f 1); do size=$((size+n)); done; echo "$size")" |
| 148 | echo "installed_gapps_size_kb=$installed_gapps_size_kb" >> $TMP/gapps.prop |
| 149 | fi |
| 150 | |
| 151 | free_tmp_size_kb=$(grep "^free_tmp_size_kb" $TMP/gapps.prop | cut -d '=' -f 2) |
| 152 | if [ ! "$free_tmp_size_kb" ]; then |
| 153 | free_tmp_size_kb="$(echo $(df -k $TMP | tail -n 1) | cut -d ' ' -f 4)" |
| 154 | echo "free_tmp_size_kb=$free_tmp_size_kb" >> $TMP/gapps.prop |
| 155 | fi |
| 156 | |
| 157 | buffer_size_kb=204800 |
| 158 | if [ $((installed_gapps_size_kb + buffer_size_kb)) -ge "$free_tmp_size_kb" ]; then |
| 159 | C=/sdcard/tmp-gapps |
| 160 | fi |
| 161 | |
| 162 | # Get ROM SDK from installed GApps |
| 163 | rom_build_sdk=$(grep "^rom_build_sdk" $TMP/gapps.prop | cut -d '=' -f 2) |
| 164 | if [ ! "$rom_build_sdk" ]; then |
| 165 | rom_build_sdk="$(cd $SYS; grep "^ro.addon.sdk" etc/g.prop | cut -d '=' -f 2)" |
| 166 | echo "rom_build_sdk=$rom_build_sdk" >> $TMP/gapps.prop |
| 167 | fi |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 168 | |
| 169 | case "$1" in |
| 170 | backup) |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 171 | list_files | while read -r FILE DUMMY; do |
| 172 | backup_file "$S"/"$FILE" |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 173 | done |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 174 | |
| 175 | umount /product /vendor 2> /dev/null |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 176 | ;; |
| 177 | restore) |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 178 | list_files | while read -r FILE REPLACEMENT; do |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 179 | R="" |
| 180 | [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT" |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 181 | [ -f "$C/$S/$FILE" ] && restore_file "$S"/"$FILE" "$R" |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 182 | done |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 183 | ;; |
| 184 | pre-backup) |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 185 | mount_generic product vendor |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 186 | ;; |
| 187 | post-backup) |
| 188 | # Stub |
| 189 | ;; |
| 190 | pre-restore) |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 191 | mount_generic product vendor |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 192 | |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 193 | # Remove Stock/AOSP apps (from GApps Installer) |
| 194 | rm -rf $SYS/priv-app/ExtServices |
| 195 | rm -rf $SYS/product/priv-app/ExtServices |
| 196 | rm -rf $SYS/app/ExtShared |
| 197 | rm -rf $SYS/product/app/ExtShared |
| 198 | rm -rf $SYS/app/PackageInstaller |
| 199 | rm -rf $SYS/priv-app/PackageInstaller |
| 200 | rm -rf $SYS/priv-app/packageinstaller |
| 201 | rm -rf $SYS/product/app/PackageInstaller |
| 202 | rm -rf $SYS/product/priv-app/PackageInstaller |
| 203 | rm -rf $SYS/product/priv-app/packageinstaller |
| 204 | rm -rf $SYS/app/Provision |
| 205 | rm -rf $SYS/priv-app/Provision |
| 206 | rm -rf $SYS/product/app/Provision |
| 207 | rm -rf $SYS/product/priv-app/Provision |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 208 | |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 209 | # Remove 'other' apps (per installer.data) |
| 210 | rm -rf $SYS/app/BookmarkProvider |
| 211 | rm -rf $SYS/app/BooksStub |
| 212 | rm -rf $SYS/app/CalendarGoogle |
| 213 | rm -rf $SYS/app/CloudPrint |
| 214 | rm -rf $SYS/app/DeskClockGoogle |
| 215 | rm -rf $SYS/app/EditorsDocsStub |
| 216 | rm -rf $SYS/app/EditorsSheetsStub |
| 217 | rm -rf $SYS/app/EditorsSlidesStub |
| 218 | rm -rf $SYS/app/Gmail |
| 219 | rm -rf $SYS/app/Gmail2 |
| 220 | rm -rf $SYS/app/GoogleCalendar |
| 221 | rm -rf $SYS/app/GoogleCloudPrint |
| 222 | rm -rf $SYS/app/GoogleHangouts |
| 223 | rm -rf $SYS/app/GoogleKeep |
| 224 | rm -rf $SYS/app/GoogleLatinIme |
| 225 | rm -rf $SYS/app/Keep |
| 226 | rm -rf $SYS/app/NewsstandStub |
| 227 | rm -rf $SYS/app/PartnerBookmarksProvider |
| 228 | rm -rf $SYS/app/PrebuiltBugleStub |
| 229 | rm -rf $SYS/app/PrebuiltKeepStub |
| 230 | rm -rf $SYS/app/QuickSearchBox |
| 231 | rm -rf $SYS/app/Vending |
| 232 | rm -rf $SYS/priv-app/GmsCore |
| 233 | rm -rf $SYS/priv-app/GmsCore_update |
| 234 | rm -rf $SYS/priv-app/GoogleHangouts |
| 235 | rm -rf $SYS/priv-app/GoogleNow |
| 236 | rm -rf $SYS/priv-app/GoogleSearch |
| 237 | rm -rf $SYS/priv-app/OneTimeInitializer |
| 238 | rm -rf $SYS/priv-app/QuickSearchBox |
| 239 | rm -rf $SYS/priv-app/Velvet_update |
| 240 | rm -rf $SYS/priv-app/Vending |
| 241 | rm -rf $SYS/product/app/BookmarkProvider |
| 242 | rm -rf $SYS/product/app/BooksStub |
| 243 | rm -rf $SYS/product/app/CalendarGoogle |
| 244 | rm -rf $SYS/product/app/CloudPrint |
| 245 | rm -rf $SYS/product/app/DeskClockGoogle |
| 246 | rm -rf $SYS/product/app/EditorsDocsStub |
| 247 | rm -rf $SYS/product/app/EditorsSheetsStub |
| 248 | rm -rf $SYS/product/app/EditorsSlidesStub |
| 249 | rm -rf $SYS/product/app/Gmail |
| 250 | rm -rf $SYS/product/app/Gmail2 |
| 251 | rm -rf $SYS/product/app/GoogleCalendar |
| 252 | rm -rf $SYS/product/app/GoogleCloudPrint |
| 253 | rm -rf $SYS/product/app/GoogleHangouts |
| 254 | rm -rf $SYS/product/app/GoogleKeep |
| 255 | rm -rf $SYS/product/app/GoogleLatinIme |
| 256 | rm -rf $SYS/product/app/Keep |
| 257 | rm -rf $SYS/product/app/NewsstandStub |
| 258 | rm -rf $SYS/product/app/PartnerBookmarksProvider |
| 259 | rm -rf $SYS/product/app/PrebuiltBugleStub |
| 260 | rm -rf $SYS/product/app/PrebuiltKeepStub |
| 261 | rm -rf $SYS/product/app/QuickSearchBox |
| 262 | rm -rf $SYS/product/app/Vending |
| 263 | rm -rf $SYS/product/priv-app/GmsCore |
| 264 | rm -rf $SYS/product/priv-app/GmsCore_update |
| 265 | rm -rf $SYS/product/priv-app/GoogleHangouts |
| 266 | rm -rf $SYS/product/priv-app/GoogleNow |
| 267 | rm -rf $SYS/product/priv-app/GoogleSearch |
| 268 | rm -rf $SYS/product/priv-app/OneTimeInitializer |
| 269 | rm -rf $SYS/product/priv-app/QuickSearchBox |
| 270 | rm -rf $SYS/product/priv-app/Velvet_update |
| 271 | rm -rf $SYS/product/priv-app/Vending |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 272 | |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 273 | # Remove 'priv-app' apps from 'app' (per installer.data) |
| 274 | rm -rf $SYS/app/CanvasPackageInstaller |
| 275 | rm -rf $SYS/app/ConfigUpdater |
| 276 | rm -rf $SYS/app/GoogleBackupTransport |
| 277 | rm -rf $SYS/app/GoogleFeedback |
| 278 | rm -rf $SYS/app/GoogleLoginService |
| 279 | rm -rf $SYS/app/GoogleOneTimeInitializer |
| 280 | rm -rf $SYS/app/GooglePartnerSetup |
| 281 | rm -rf $SYS/app/GoogleServicesFramework |
| 282 | rm -rf $SYS/app/OneTimeInitializer |
| 283 | rm -rf $SYS/app/Phonesky |
| 284 | rm -rf $SYS/app/PrebuiltGmsCore |
| 285 | rm -rf $SYS/app/SetupWizard |
| 286 | rm -rf $SYS/app/Velvet |
| 287 | rm -rf $SYS/product/app/CanvasPackageInstaller |
| 288 | rm -rf $SYS/product/app/ConfigUpdater |
| 289 | rm -rf $SYS/product/app/GoogleBackupTransport |
| 290 | rm -rf $SYS/product/app/GoogleFeedback |
| 291 | rm -rf $SYS/product/app/GoogleLoginService |
| 292 | rm -rf $SYS/product/app/GoogleOneTimeInitializer |
| 293 | rm -rf $SYS/product/app/GooglePartnerSetup |
| 294 | rm -rf $SYS/product/app/GoogleServicesFramework |
| 295 | rm -rf $SYS/product/app/OneTimeInitializer |
| 296 | rm -rf $SYS/product/app/Phonesky |
| 297 | rm -rf $SYS/product/app/PrebuiltGmsCore |
| 298 | rm -rf $SYS/product/app/SetupWizard |
| 299 | rm -rf $SYS/product/app/Velvet |
| 300 | |
| 301 | # Remove 'required' apps (per installer.data) |
| 302 | rm -rf $SYS/app/LatinIME/lib//libjni_keyboarddecoder.so |
| 303 | rm -rf $SYS/app/LatinIME/lib//libjni_latinimegoogle.so |
| 304 | rm -rf $SYS/lib/libjni_keyboarddecoder.so |
| 305 | rm -rf $SYS/lib/libjni_latinimegoogle.so |
| 306 | rm -rf $SYS/lib64/libjni_keyboarddecoder.so |
| 307 | rm -rf $SYS/lib64/libjni_latinimegoogle.so |
| 308 | rm -rf $SYS/product/app/LatinIME/lib//libjni_keyboarddecoder.so |
| 309 | rm -rf $SYS/product/app/LatinIME/lib//libjni_latinimegoogle.so |
| 310 | rm -rf $SYS/product/lib/libjni_keyboarddecoder.so |
| 311 | rm -rf $SYS/product/lib/libjni_latinimegoogle.so |
| 312 | rm -rf $SYS/product/lib64/libjni_keyboarddecoder.so |
| 313 | rm -rf $SYS/product/lib64/libjni_latinimegoogle.so |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 314 | |
| 315 | # Remove 'user requested' apps (from gapps-config) |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 316 | |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 317 | ;; |
| 318 | post-restore) |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 319 | # Recreate required symlinks (from GApps Installer) |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 320 | install -d "$SYS/app/MarkupGoogle/lib/arm64" |
| 321 | ln -sfn "$SYS/lib64/libsketchology_native.so" "$SYS/app/MarkupGoogle/lib/arm64/libsketchology_native.so" |
| 322 | install -d "$SYS/app/LatinIME/lib64/arm64" |
| 323 | ln -sfn "$SYS/product/lib64/libjni_latinimegoogle.so" "$SYS/product/app/LatinIME/lib64/arm64/libjni_latinimegoogle.so" |
| 324 | ln -sfn "$SYS/product/lib64/libjni_keyboarddecoder.so" "$SYS/product/app/LatinIME/lib64/arm64/libjni_keyboarddecoder.so" |
| 325 | ln -sfn "$SYS/lib64/libjni_latinimegoogle.so" "$SYS/app/LatinIME/lib64/arm64/libjni_latinimegoogle.so" |
| 326 | ln -sfn "$SYS/lib64/libjni_keyboarddecoder.so" "$SYS/app/LatinIME/lib64/arm64/libjni_keyboarddecoder.so" |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 327 | |
| 328 | # Apply build.prop changes (from GApps Installer) |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 329 | sed -i "s/ro.error.receiver.system.apps=.*/ro.error.receiver.system.apps=com.google.android.gms/g" $SYS/build.prop |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 330 | |
| 331 | # Re-pre-ODEX APKs (from GApps Installer) |
| 332 | |
| 333 | # Remove any empty folders we may have created during the removal process |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 334 | for i in $SYS/app $SYS/priv-app $SYS/vendor/pittpatt $SYS/usr/srec; do |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 335 | if [ -d $i ]; then |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 336 | find $i -type d -exec rmdir -p '{}' \+ 2>/dev/null |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 337 | fi |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 338 | done |
| 339 | |
micky387 | 2e3cf9d | 2021-01-13 02:39:36 +0100 | [diff] [blame^] | 340 | # Fix ownership/permissions and clean up after backup and restore from /sdcard |
| 341 | find $SYS/vendor/pittpatt -type d -exec chown 0:2000 '{}' \; 2>/dev/null # Change pittpatt folders to root:shell per Google Factory Settings |
| 342 | for i in $(list_files); do |
| 343 | chown root:root "$SYS/$i" |
| 344 | chmod 644 "$SYS/$i" |
| 345 | chmod 755 "$(dirname "$SYS/$i")" "$(dirname "$SYS/$i")/../" |
| 346 | case $i in |
| 347 | */overlay/*) chcon -h u:object_r:vendor_overlay_file:s0 "$SYS/$i";; |
| 348 | esac |
| 349 | done |
| 350 | |
| 351 | umount /product /vendor 2> /dev/null |
| 352 | |
| 353 | if [ "$rom_build_sdk" -ge "26" ]; then # Android 8.0+ uses 0600 for its permission on build.prop |
| 354 | chmod 600 "$SYS/build.prop" |
| 355 | fi |
| 356 | rm -rf /sdcard/tmp-gapps |
Max Weninger | 8b6ff48 | 2020-03-29 17:01:11 +0200 | [diff] [blame] | 357 | ;; |
| 358 | esac |