I have a Picasso, loading picures via HTTPS protocol. It work fine on Android 5+, but doesn't work on Android 4. Here is Picasso log:
Main created [R2] Request{https://...my_picture.jpg}
06-17 17:56:37.651 D/Picasso: Dispatcher enqueued [R2]+1ms
06-17 17:56:37.651 D/Picasso: Hunter executing [R2]+2ms
06-17 17:56:38.261 D/Picasso: Dispatcher retrying [R0]+672ms, [R1]+641ms
06-17 17:56:38.261 D/Picasso: Hunter executing [R0]+673ms, [R1]+643ms
06-17 17:56:38.261 D/Picasso: Dispatcher retrying [R2]+613ms
06-17 17:56:38.266 D/Picasso: Hunter executing [R2]+616ms
06-17 17:56:38.791 D/Picasso: Dispatcher retrying [R0]+1201ms, [R1]+1170ms
06-17 17:56:38.791 D/Picasso: Dispatcher retrying [R2]+1143ms
06-17 17:56:38.791 D/Picasso: Hunter executing [R0]+1203ms, [R1]+1173ms
06-17 17:56:38.791 D/Picasso: Hunter executing [R2]+1144ms
06-17 17:56:38.801 D/Picasso: Dispatcher batched [R2]+1155ms for error
It seems like Picasso tries to load picture by its daemon thread, but it is finished right away. App uses custom RequestHandler for handling encription:
try {
SecretKey skeySpec = new SecretKeySpec(mImageProvider.getKey(), "AES");
cipher = Cipher.getInstance("AES/CFB8/NoPadding");
cipher.init(Cipher.DECRYPT_MODE, skeySpec, new IvParameterSpec(mImageProvider.getKey()));
} catch (NoSuchAlgorithmException e) {
...
}