Implement openDialpad on call screen

This commit is contained in:
ismailgulek
2021-01-14 18:23:20 +03:00
parent 187155da63
commit 4e70c646f5
+38 -1
View File
@@ -28,7 +28,7 @@
#import "IncomingCallView.h"
@interface CallViewController () <PictureInPicturable>
@interface CallViewController () <PictureInPicturable, DialpadViewControllerDelegate>
{
// Current alert (if any).
UIAlertController *currentAlert;
@@ -40,6 +40,8 @@
@property (nonatomic, strong) id<Theme> overriddenTheme;
@property (nonatomic, assign) BOOL inPiP;
@property (nonatomic, strong) CustomSizedPresentationController *customSizedPresentationController;
@end
@implementation CallViewController
@@ -509,6 +511,41 @@
[super showOverlayContainer:isShown];
}
#pragma mark - DTMF
- (void)openDialpad
{
DialpadConfiguration *config = [[DialpadConfiguration alloc] initWithShowsBackspaceButton:NO
showsCallButton:NO
formattingEnabled:NO
editingEnabled:NO];
DialpadViewController *controller = [DialpadViewController instantiateWithConfiguration:config];
controller.delegate = self;
self.customSizedPresentationController = [[CustomSizedPresentationController alloc] initWithPresentedViewController:controller presentingViewController:self];
self.customSizedPresentationController.dismissOnBackgroundTap = NO;
self.customSizedPresentationController.cornerRadius = 16;
controller.transitioningDelegate = self.customSizedPresentationController;
[self presentViewController:controller animated:YES completion:nil];
}
#pragma mark - DialpadViewControllerDelegate
- (void)dialpadViewControllerDidTapClose:(DialpadViewController *)viewController
{
[viewController dismissViewControllerAnimated:YES completion:nil];
self.customSizedPresentationController = nil;
}
- (void)dialpadViewControllerDidTapDigit:(DialpadViewController *)viewController digit:(NSString *)digit
{
BOOL result = [self.mxCall sendDTMF:digit
duration:0
interToneGap:0];
NSLog(@"[CallViewController] Sending DTMF tones %@", result ? @"succeeded": @"failed");
}
#pragma mark - PictureInPicturable
- (void)enterPiP