Fixes De data is not backed up correctly when user locked (1/n)

https://android.googlesource.com/platform/frameworks/native/+/fda19ecdd6df8f43d3368781a633792723fb9965/cmds/installd/InstalldNativeService.cpp#933

When an APK is stage installed, snapshotAppData(..., FLAG_STORAGE_DE)
is called before user unlocked. The function bails out early at #937
because the folder is still encrypted.

We should move the if block at #958 above so we can back up De data
correctly even when Ce directories not ready.

Note we have to check if the De folder exists before making a copy.

(Cherry-picked from 1d643c77d3fcb7dfe0bf4dabed2964bbfca04c6f)

Bug: 169594054
Test: atest StagedRollbackTest
Merged-In: I2ca810bd9495de3bed58378a41b47863c6e8f8dd
Change-Id: I2ca810bd9495de3bed58378a41b47863c6e8f8dd
1 file changed