Эх сурвалжийг харах

use a tmp file to persist jpeg until rust-core was called to set selfavatar or a group avatar

cyberta 5 жил өмнө
parent
commit
83e12e76e7

+ 7 - 10
deltachat-ios/Helper/AvatarHelper.swift

@@ -2,9 +2,7 @@ import Foundation
 import UIKit
 
 class AvatarHelper {
-
-    static let groupTemplate: NSString = "group_chat_avatar_%1$@.jpg"
-    static let selfAvatarFile = "contact_avatar_self.jpg"
+    static let tmpFile = "tempAvatar.jpg"
     private static let avatarPath = "avatars"
 
     enum FileError: Error {
@@ -13,32 +11,31 @@ class AvatarHelper {
 
     static func saveSelfAvatarImage(image: UIImage) {
         do {
-            let avatarFile = try saveAvatarImageToFile(image: image, fileName: selfAvatarFile)
+            let avatarFile = try saveAvatarImageToFile(image: image)
             DcConfig.selfavatar = avatarFile.path
-            //deleteAvatarFile(avatarFile)
+            deleteAvatarFile(avatarFile)
         } catch let error {
             logger.error("Error saving Image: \(error.localizedDescription)")
         }
     }
 
     static func saveChatAvatar(dcContext: DcContext, image: UIImage, for chatId: Int) {
-        let formattedGroupFileName = NSString.init(format: groupTemplate, "\(chatId)")
         do {
-            let groupFileName = try saveAvatarImageToFile(image: image, fileName: formattedGroupFileName as String)
+            let groupFileName = try saveAvatarImageToFile(image: image)
             dcContext.saveChatAvatarImage(chatId: chatId, path: groupFileName.path)
-            //deleteAvatarFile(groupFileName)
+            deleteAvatarFile(groupFileName)
         } catch let error {
             logger.error("Error saving Image: \(error.localizedDescription)")
         }
     }
 
 
-    private static func saveAvatarImageToFile(image: UIImage, fileName: String) throws -> URL {
+    private static func saveAvatarImageToFile(image: UIImage) throws -> URL {
         if let data = image.jpegData(compressionQuality: 1.0) {
             let filemanager = FileManager.default
             let docDir = filemanager.urls(for: .documentDirectory, in: .userDomainMask)[0]
             let avatarDir = docDir.appendingPathComponent(avatarPath)
-            let avatarFile = avatarDir.appendingPathComponent(selfAvatarFile)
+            let avatarFile = avatarDir.appendingPathComponent(tmpFile)
 
             if !filemanager.fileExists(atPath: avatarDir.path) {
                 try filemanager.createDirectory(atPath: avatarDir.path, withIntermediateDirectories: false)