Browse Source

ios: add a CallKit icon

The SDK will now search for an asset called "CallKitIcon" on the main bundle,
and fallback to a built-in asset it it's not there, allowing SDK users to
customize it by just adding asset with that name.
master
Saúl Ibarra Corretgé 6 years ago
parent
commit
6bf962817b

BIN
ios/app/src/Images.xcassets/CallKitIcon.imageset/CallKit@1x.png View File


BIN
ios/app/src/Images.xcassets/CallKitIcon.imageset/CallKit@2x.png View File


BIN
ios/app/src/Images.xcassets/CallKitIcon.imageset/CallKit@3x.png View File


+ 23
- 0
ios/app/src/Images.xcassets/CallKitIcon.imageset/Contents.json View File

@@ -0,0 +1,23 @@
1
+{
2
+  "images" : [
3
+    {
4
+      "idiom" : "universal",
5
+      "filename" : "CallKit@1x.png",
6
+      "scale" : "1x"
7
+    },
8
+    {
9
+      "idiom" : "universal",
10
+      "filename" : "CallKit@2x.png",
11
+      "scale" : "2x"
12
+    },
13
+    {
14
+      "idiom" : "universal",
15
+      "filename" : "CallKit@3x.png",
16
+      "scale" : "3x"
17
+    }
18
+  ],
19
+  "info" : {
20
+    "version" : 1,
21
+    "author" : "xcode"
22
+  }
23
+}

+ 12
- 6
ios/sdk/src/callkit/CallKit.m View File

@@ -206,14 +206,20 @@ RCT_EXPORT_METHOD(updateCall:(NSString *)callUUID
206 206
     // iconTemplateImageData
207 207
     NSString *iconTemplateImageName = dictionary[@"iconTemplateImageName"];
208 208
     NSData *iconTemplateImageData;
209
+    UIImage *iconTemplateImage;
209 210
     if (iconTemplateImageName) {
210
-        UIImage *iconTemplateImage
211
-            = [UIImage imageNamed:iconTemplateImageName
212
-                         inBundle:[NSBundle bundleForClass:self.class]
213
-    compatibleWithTraitCollection:nil];
211
+        // First try to load the resource from the main bundle.
212
+        iconTemplateImage = [UIImage imageNamed:iconTemplateImageName];
213
+
214
+        // If that didn't work, use the one built-in.
215
+        if (!iconTemplateImage) {
216
+            iconTemplateImage = [UIImage imageNamed:iconTemplateImageName
217
+                                           inBundle:[NSBundle bundleForClass:self.class]
218
+                      compatibleWithTraitCollection:nil];
219
+        }
220
+
214 221
         if (iconTemplateImage) {
215
-            iconTemplateImageData
216
-                = UIImagePNGRepresentation(iconTemplateImage);
222
+            iconTemplateImageData = UIImagePNGRepresentation(iconTemplateImage);
217 223
         }
218 224
     }
219 225
 

Loading…
Cancel
Save