[KV] Refactor sendDataToTransport() and finishTask()
Refactor sendDataToTransport(): * Instead of truncating backup data when reading backup data / writing widget data, consider the IOException a transport-level failure. Added tests for this. * Extracted a few methods: validateBackupData(), updateFiles(), handleTransportStatus(). * Put the if (size > 0) check outside try-catch block. * Used try-with-resources. * Clean files in case of transport error, quota exceeded. Refactor finishTask(): * Extracted triggerTransportInitializationLocked(), assigned queue lock to private final var in ctor. * In triggerTransportInitializationLocked() set the status to T_ERROR if we failed to query the name of the transport. * Tests for TRANSPORT_NOT_INITIALIZED. General: * Small refactors in KVBT. * Small refactors in test. Bug: 110082831 Bug: 113311470 Test: adb shell bmgr backupnow <kv_package> Test: 1. adb shell bmgr backupnow <kv_package> 2. Transport returns T_NOT_INITIALIZED 3. Make sure PM metadata state file is deleted. Test: atest KeyValueBackupTaskTest Change-Id: I8d85c24cba6da4fbaf14234e2ce6d8e0699a3eed
Loading
Please register or sign in to comment