mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-02 11:19:30 +00:00
wizard refactoring / renaming
This commit is contained in:
parent
68a0655d5f
commit
9b8daaed1e
3 changed files with 139 additions and 184 deletions
|
|
@ -22,9 +22,8 @@
|
|||
#import "UICompositeViewController.h"
|
||||
#import "TPKeyboardAvoidingScrollView.h"
|
||||
|
||||
@interface AssistantViewController
|
||||
: TPMultiLayoutViewController <UITextFieldDelegate, UICompositeViewDelegate, XMLRPCConnectionDelegate,
|
||||
UIGestureRecognizerDelegate, UIAlertViewDelegate> {
|
||||
@interface AssistantViewController : TPMultiLayoutViewController <UITextFieldDelegate, UICompositeViewDelegate,
|
||||
XMLRPCConnectionDelegate, UIAlertViewDelegate> {
|
||||
@private
|
||||
UITextField *activeTextField;
|
||||
UIView *currentView;
|
||||
|
|
@ -32,36 +31,22 @@
|
|||
NSMutableArray *historyViews;
|
||||
}
|
||||
|
||||
@property(nonatomic, strong) IBOutlet TPKeyboardAvoidingScrollView *contentView;
|
||||
@property(nonatomic, weak) IBOutlet TPKeyboardAvoidingScrollView *contentView;
|
||||
@property(nonatomic, weak) IBOutlet UIView *waitView;
|
||||
@property(nonatomic, weak) IBOutlet UIButton *backButton;
|
||||
|
||||
@property(nonatomic, strong) IBOutlet UIView *choiceView;
|
||||
@property(nonatomic, strong) IBOutlet UIView *createAccountView;
|
||||
@property(nonatomic, strong) IBOutlet UIView *connectAccountView;
|
||||
@property(nonatomic, strong) IBOutlet UIView *externalAccountView;
|
||||
@property(nonatomic, strong) IBOutlet UIView *validateAccountView;
|
||||
@property(strong, nonatomic) IBOutlet UIView *provisionedAccountView;
|
||||
@property(nonatomic, weak) IBOutlet UIView *welcomeView;
|
||||
@property(nonatomic, weak) IBOutlet UIView *createAccountView;
|
||||
@property(nonatomic, weak) IBOutlet UIView *createAccountActivationView;
|
||||
@property(nonatomic, weak) IBOutlet UIView *linphoneLoginView;
|
||||
@property(nonatomic, weak) IBOutlet UIView *loginView;
|
||||
@property(weak, nonatomic) IBOutlet UIView *remoteProvisionningView;
|
||||
|
||||
@property(nonatomic, strong) IBOutlet UIView *waitView;
|
||||
|
||||
@property(nonatomic, strong) IBOutlet UIButton *backButton;
|
||||
@property(nonatomic, strong) IBOutlet UIButton *createChoiceButton;
|
||||
@property(nonatomic, strong) IBOutlet UIButton *connectChoiceButton;
|
||||
@property(nonatomic, strong) IBOutlet UIButton *externalChoiceButton;
|
||||
@property(strong, nonatomic) IBOutlet UIButton *remoteChoiceButton;
|
||||
|
||||
@property(weak, nonatomic) IBOutlet UILabel *createUsernameLabel;
|
||||
@property(strong, nonatomic) IBOutlet UITextField *createUsername;
|
||||
@property(strong, nonatomic) IBOutlet UITextField *connectUsername;
|
||||
@property(strong, nonatomic) IBOutlet UITextField *externalUsername;
|
||||
|
||||
@property(strong, nonatomic) IBOutlet UIButton *createAccountButton;
|
||||
|
||||
@property(strong, nonatomic) IBOutlet UITextField *provisionedUsername;
|
||||
@property(strong, nonatomic) IBOutlet UITextField *provisionedPassword;
|
||||
@property(strong, nonatomic) IBOutlet UITextField *provisionedDomain;
|
||||
|
||||
@property(nonatomic, strong) IBOutlet UIImageView *choiceViewLogoImageView;
|
||||
@property(strong, nonatomic) IBOutlet UISegmentedControl *transportChooser;
|
||||
@property(nonatomic, weak) IBOutlet UIImageView *welcomeLogoImage;
|
||||
@property(nonatomic, weak) IBOutlet UIButton *gotoCreateAccountButton;
|
||||
@property(nonatomic, weak) IBOutlet UIButton *gotoLinphoneLoginButton;
|
||||
@property(nonatomic, weak) IBOutlet UIButton *gotoLoginButton;
|
||||
@property(weak, nonatomic) IBOutlet UIButton *gotoRemoteProvisionningButton;
|
||||
|
||||
- (void)reset;
|
||||
- (void)fillDefaultValues;
|
||||
|
|
@ -69,16 +54,15 @@
|
|||
- (IBAction)onBackClick:(id)sender;
|
||||
- (IBAction)onDialerBackClick:(id)sender;
|
||||
|
||||
- (IBAction)onCreateChoiceClick:(id)sender;
|
||||
- (IBAction)onConnectChoiceClick:(id)sender;
|
||||
- (IBAction)onExternalChoiceClick:(id)sender;
|
||||
- (IBAction)onRemoteChoiceClick:(id)sender;
|
||||
- (IBAction)onGotoCreateAccountClick:(id)sender;
|
||||
- (IBAction)onGotoLinphoneLoginClick:(id)sender;
|
||||
- (IBAction)onGotoLoginClick:(id)sender;
|
||||
- (IBAction)onGotoRemoteProvisionningClick:(id)sender;
|
||||
|
||||
- (IBAction)onCheckValidationClick:(id)sender;
|
||||
|
||||
- (IBAction)onSignInClick:(id)sender;
|
||||
- (IBAction)onSignInExternalClick:(id)sender;
|
||||
- (IBAction)onCreateAccountClick:(id)sender;
|
||||
- (IBAction)onProvisionedLoginClick:(id)sender;
|
||||
- (IBAction)onCreateAccountActivationClick:(id)sender;
|
||||
- (IBAction)onLinphoneLoginClick:(id)sender;
|
||||
- (IBAction)onLoginClick:(id)sender;
|
||||
- (IBAction)onRemoteProvisionningClick:(id)sender;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -34,9 +34,10 @@ typedef enum _ViewElement {
|
|||
ViewElement_Password2 = 102,
|
||||
ViewElement_Email = 103,
|
||||
ViewElement_Domain = 104,
|
||||
ViewElement_Transport = 105,
|
||||
ViewElement_Label = 200,
|
||||
ViewElement_Error = 201,
|
||||
ViewElement_Username_Error = 404
|
||||
ViewElement_Username_Error = 404,
|
||||
} ViewElement;
|
||||
|
||||
@implementation AssistantViewController
|
||||
|
|
@ -88,7 +89,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
name:kLinphoneConfiguringStateUpdate
|
||||
object:nil];
|
||||
|
||||
[self changeView:_choiceView back:FALSE animation:FALSE];
|
||||
[self changeView:_welcomeView back:FALSE animation:FALSE];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
|
|
@ -98,30 +99,28 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// By default select TCP
|
||||
_transportChooser.selectedSegmentIndex = 1;
|
||||
|
||||
if ([LinphoneManager runningOnIpad]) {
|
||||
[LinphoneUtils adjustFontSize:_choiceView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_welcomeView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_createAccountView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_connectAccountView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_externalAccountView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_validateAccountView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_provisionedAccountView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_linphoneLoginView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_loginView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_createAccountActivationView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_remoteProvisionningView mult:2.22f];
|
||||
}
|
||||
}
|
||||
|
||||
BOOL usePhoneNumber = [[LinphoneManager instance] lpConfigBoolForKey:@"use_phone_number"];
|
||||
_createUsernameLabel.text =
|
||||
usePhoneNumber ? NSLocalizedString(@"PHONE NUMBER", nil) : NSLocalizedString(@"USERNAME", nil);
|
||||
for (UITextField *text in
|
||||
[NSArray arrayWithObjects:_provisionedUsername, _createUsername, _connectUsername, _externalUsername, nil]) {
|
||||
if (usePhoneNumber) {
|
||||
text.keyboardType = UIKeyboardTypePhonePad;
|
||||
[text addDoneButton];
|
||||
} else {
|
||||
text.keyboardType = UIKeyboardTypeDefault;
|
||||
}
|
||||
- (void)displayUsernameAsPhoneOrUsername {
|
||||
BOOL usePhoneNumber = [LinphoneManager.instance lpConfigBoolForKey:@"use_phone_number"];
|
||||
|
||||
NSString *label = usePhoneNumber ? NSLocalizedString(@"PHONE NUMBER", nil) : NSLocalizedString(@"USERNAME", nil);
|
||||
[self findLabel:ViewElement_Username].text = label;
|
||||
|
||||
UITextField *text = [self findTextField:ViewElement_Username];
|
||||
if (usePhoneNumber) {
|
||||
text.keyboardType = UIKeyboardTypePhonePad;
|
||||
[text addDoneButton];
|
||||
} else {
|
||||
text.keyboardType = UIKeyboardTypeDefault;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -168,31 +167,26 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
const char *domain = linphone_address_get_domain(default_addr);
|
||||
const char *username = linphone_address_get_username(default_addr);
|
||||
if (domain && strlen(domain) > 0) {
|
||||
// UITextField* domainfield = [AssistantViewController findTextField:ViewElement_Domain
|
||||
// view:_externalAccountView];
|
||||
[_provisionedDomain setText:[NSString stringWithUTF8String:domain]];
|
||||
[self findTextField:ViewElement_Domain].text = [NSString stringWithUTF8String:domain];
|
||||
}
|
||||
|
||||
if (username && strlen(username) > 0 && username[0] != '?') {
|
||||
// UITextField* userField = [AssistantViewController findTextField:ViewElement_Username
|
||||
// view:_externalAccountView];
|
||||
[_provisionedUsername setText:[NSString stringWithUTF8String:username]];
|
||||
[self findTextField:ViewElement_Username].text = [NSString stringWithUTF8String:username];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[self changeView:_provisionedAccountView back:FALSE animation:TRUE];
|
||||
[self changeView:_remoteProvisionningView back:FALSE animation:TRUE];
|
||||
|
||||
linphone_proxy_config_destroy(default_conf);
|
||||
}
|
||||
|
||||
- (void)resetTextFields {
|
||||
[AssistantViewController cleanTextField:_choiceView];
|
||||
[AssistantViewController cleanTextField:_welcomeView];
|
||||
[AssistantViewController cleanTextField:_createAccountView];
|
||||
[AssistantViewController cleanTextField:_connectAccountView];
|
||||
[AssistantViewController cleanTextField:_externalAccountView];
|
||||
[AssistantViewController cleanTextField:_validateAccountView];
|
||||
[AssistantViewController cleanTextField:_provisionedAccountView];
|
||||
[AssistantViewController cleanTextField:_linphoneLoginView];
|
||||
[AssistantViewController cleanTextField:_loginView];
|
||||
[AssistantViewController cleanTextField:_createAccountActivationView];
|
||||
[AssistantViewController cleanTextField:_remoteProvisionningView];
|
||||
}
|
||||
|
||||
- (void)reset {
|
||||
|
|
@ -212,16 +206,16 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
linphone_core_set_stun_server(lc, NULL);
|
||||
linphone_core_set_firewall_policy(lc, LinphonePolicyNoFirewall);
|
||||
[self resetTextFields];
|
||||
[self changeView:_choiceView back:FALSE animation:FALSE];
|
||||
[self changeView:_welcomeView back:FALSE animation:FALSE];
|
||||
_waitView.hidden = TRUE;
|
||||
}
|
||||
|
||||
+ (UIView *)findView:(ViewElement)tag view:(UIView *)view {
|
||||
- (UIView *)findView:(ViewElement)tag inView:view ofType:(Class)type {
|
||||
for (UIView *child in [view subviews]) {
|
||||
if ([child tag] == tag) {
|
||||
return (UITextField *)child;
|
||||
if (child.tag == tag) {
|
||||
return child;
|
||||
} else {
|
||||
UIView *o = [AssistantViewController findView:tag view:child];
|
||||
UIView *o = [self findView:tag inView:child ofType:type];
|
||||
if (o)
|
||||
return o;
|
||||
}
|
||||
|
|
@ -229,18 +223,12 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
return nil;
|
||||
}
|
||||
|
||||
+ (UITextField *)findTextField:(ViewElement)tag view:(UIView *)view {
|
||||
UIView *aview = [AssistantViewController findView:tag view:view];
|
||||
if ([aview isKindOfClass:[UITextField class]])
|
||||
return (UITextField *)aview;
|
||||
return nil;
|
||||
- (UITextField *)findTextField:(ViewElement)tag {
|
||||
return (UITextField *)[self findView:tag inView:self.contentView ofType:[UITextField class]];
|
||||
}
|
||||
|
||||
+ (UILabel *)findLabel:(ViewElement)tag view:(UIView *)view {
|
||||
UIView *aview = [AssistantViewController findView:tag view:view];
|
||||
if ([aview isKindOfClass:[UILabel class]])
|
||||
return (UILabel *)aview;
|
||||
return nil;
|
||||
- (UILabel *)findLabel:(ViewElement)tag {
|
||||
return (UILabel *)[self findView:tag inView:self.contentView ofType:[UILabel class]];
|
||||
}
|
||||
|
||||
- (void)clearHistory {
|
||||
|
|
@ -252,9 +240,11 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
static BOOL placement_done = NO; // indicates if the button placement has been done in the assistant choice view
|
||||
|
||||
// Change toolbar buttons following view
|
||||
_backButton.enabled = (view == _choiceView);
|
||||
_backButton.enabled = (view == _welcomeView);
|
||||
|
||||
if (view == _choiceView) {
|
||||
[self displayUsernameAsPhoneOrUsername];
|
||||
|
||||
if (view == _welcomeView) {
|
||||
// layout is this:
|
||||
// [ Logo ]
|
||||
// [ Create Btn ]
|
||||
|
|
@ -269,25 +259,25 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
if (!placement_done) {
|
||||
// visibility
|
||||
_choiceViewLogoImageView.hidden = !show_logo;
|
||||
_externalChoiceButton.hidden = !show_extern;
|
||||
_createChoiceButton.hidden = !show_new;
|
||||
_welcomeLogoImage.hidden = !show_logo;
|
||||
_gotoLoginButton.hidden = !show_extern;
|
||||
_gotoCreateAccountButton.hidden = !show_new;
|
||||
|
||||
// placement
|
||||
if (show_logo && show_new && !show_extern) {
|
||||
// lower both remaining buttons
|
||||
[_createChoiceButton setCenter:[_connectChoiceButton center]];
|
||||
[_connectChoiceButton setCenter:[_externalChoiceButton center]];
|
||||
[_gotoCreateAccountButton setCenter:[_gotoLinphoneLoginButton center]];
|
||||
[_gotoLoginButton setCenter:[_gotoLoginButton center]];
|
||||
|
||||
} else if (!show_logo && !show_new && show_extern) {
|
||||
// move up the extern button
|
||||
[_externalChoiceButton setCenter:[_createChoiceButton center]];
|
||||
[_gotoLoginButton setCenter:[_gotoCreateAccountButton center]];
|
||||
}
|
||||
placement_done = YES;
|
||||
}
|
||||
if (!show_extern && !show_logo) {
|
||||
// no option to create or specify a custom account: go to connect view directly
|
||||
view = _connectAccountView;
|
||||
view = _linphoneLoginView;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -566,7 +556,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
|
||||
if (!isValidUsername) {
|
||||
UILabel *error = [AssistantViewController findLabel:ViewElement_Username_Error view:_contentView];
|
||||
UILabel *error = [self findLabel:ViewElement_Username_Error];
|
||||
|
||||
// show error with fade animation
|
||||
[error setText:[NSString stringWithFormat:NSLocalizedString(@"Illegal character in %@: %@", nil),
|
||||
|
|
@ -592,7 +582,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
return YES;
|
||||
}
|
||||
- (void)hideError:(NSTimer *)timer {
|
||||
UILabel *error_label = [AssistantViewController findLabel:ViewElement_Username_Error view:_contentView];
|
||||
UILabel *error_label = [self findLabel:ViewElement_Username_Error];
|
||||
if (error_label) {
|
||||
[UIView animateWithDuration:0.3
|
||||
animations:^{
|
||||
|
|
@ -618,28 +608,28 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
[[PhoneMainView instance] changeCurrentView:[DialerViewController compositeViewDescription]];
|
||||
}
|
||||
|
||||
- (IBAction)onCreateChoiceClick:(id)sender {
|
||||
- (IBAction)onGotoCreateAccountClick:(id)sender {
|
||||
nextView = _createAccountView;
|
||||
[self loadAssistantConfig:@"assistant_linphone_create.rc"];
|
||||
}
|
||||
|
||||
- (IBAction)onConnectChoiceClick:(id)sender {
|
||||
nextView = _connectAccountView;
|
||||
- (IBAction)onGotoLinphoneLoginClick:(id)sender {
|
||||
nextView = _linphoneLoginView;
|
||||
[self loadAssistantConfig:@"assistant_linphone_existing.rc"];
|
||||
}
|
||||
|
||||
- (IBAction)onExternalChoiceClick:(id)sender {
|
||||
nextView = _externalAccountView;
|
||||
- (IBAction)onGotoLoginClick:(id)sender {
|
||||
nextView = _loginView;
|
||||
[self loadAssistantConfig:@"assistant_external_sip.rc"];
|
||||
}
|
||||
|
||||
- (IBAction)onCheckValidationClick:(id)sender {
|
||||
NSString *username = [AssistantViewController findTextField:ViewElement_Username view:_contentView].text;
|
||||
- (IBAction)onCreateAccountActivationClick:(id)sender {
|
||||
NSString *username = [self findTextField:ViewElement_Username].text;
|
||||
NSString *identity = [self identityFromUsername:username];
|
||||
[self checkAccountValidation:identity];
|
||||
}
|
||||
|
||||
- (IBAction)onRemoteChoiceClick:(id)sender {
|
||||
- (IBAction)onGotoRemoteProvisionningClick:(id)sender {
|
||||
UIAlertView *remoteInput = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Enter provisioning URL", @"")
|
||||
message:@""
|
||||
delegate:self
|
||||
|
|
@ -713,18 +703,19 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
}
|
||||
|
||||
- (IBAction)onSignInExternalClick:(id)sender {
|
||||
NSString *username = [AssistantViewController findTextField:ViewElement_Username view:_contentView].text;
|
||||
NSString *password = [AssistantViewController findTextField:ViewElement_Password view:_contentView].text;
|
||||
NSString *domain = [AssistantViewController findTextField:ViewElement_Domain view:_contentView].text;
|
||||
NSString *transport = [_transportChooser titleForSegmentAtIndex:_transportChooser.selectedSegmentIndex];
|
||||
|
||||
- (IBAction)onLoginClick:(id)sender {
|
||||
NSString *username = [self findTextField:ViewElement_Username].text;
|
||||
NSString *password = [self findTextField:ViewElement_Password].text;
|
||||
NSString *domain = [self findTextField:ViewElement_Domain].text;
|
||||
UISegmentedControl *transportChooser =
|
||||
(UISegmentedControl *)[self findView:ViewElement_Transport inView:_contentView ofType:UISegmentedControl.class];
|
||||
NSString *transport = [transportChooser titleForSegmentAtIndex:transportChooser.selectedSegmentIndex];
|
||||
[self verificationSignInWithUsername:username password:password domain:domain withTransport:transport];
|
||||
}
|
||||
|
||||
- (IBAction)onSignInClick:(id)sender {
|
||||
NSString *username = [AssistantViewController findTextField:ViewElement_Username view:_contentView].text;
|
||||
NSString *password = [AssistantViewController findTextField:ViewElement_Password view:_contentView].text;
|
||||
- (IBAction)onLinphoneLoginClick:(id)sender {
|
||||
NSString *username = [self findTextField:ViewElement_Username].text;
|
||||
NSString *password = [self findTextField:ViewElement_Password].text;
|
||||
|
||||
// domain and server will be configured from the default proxy values
|
||||
[self verificationSignInWithUsername:username password:password domain:nil withTransport:nil];
|
||||
|
|
@ -778,11 +769,11 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
|
||||
- (IBAction)onCreateAccountClick:(id)sender {
|
||||
UITextField *username_tf = [AssistantViewController findTextField:ViewElement_Username view:_contentView];
|
||||
UITextField *username_tf = [self findTextField:ViewElement_Username];
|
||||
NSString *username = username_tf.text;
|
||||
NSString *password = [AssistantViewController findTextField:ViewElement_Password view:_contentView].text;
|
||||
NSString *password2 = [AssistantViewController findTextField:ViewElement_Password2 view:_contentView].text;
|
||||
NSString *email = [AssistantViewController findTextField:ViewElement_Email view:_contentView].text;
|
||||
NSString *password = [self findTextField:ViewElement_Password].text;
|
||||
NSString *password2 = [self findTextField:ViewElement_Password2].text;
|
||||
NSString *email = [self findTextField:ViewElement_Email].text;
|
||||
|
||||
if ([self verificationRegisterWithUsername:username password:password password2:password2 email:email]) {
|
||||
username = [username lowercaseString];
|
||||
|
|
@ -792,9 +783,10 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
}
|
||||
|
||||
- (IBAction)onProvisionedLoginClick:(id)sender {
|
||||
NSString *username = _provisionedUsername.text;
|
||||
NSString *password = _provisionedPassword.text;
|
||||
- (IBAction)onRemoteProvisionningClick:(id)sender {
|
||||
NSString *username = [self findTextField:ViewElement_Username].text;
|
||||
NSString *password = [self findTextField:ViewElement_Password].text;
|
||||
NSString *domain = [self findTextField:ViewElement_Domain].text;
|
||||
|
||||
NSMutableString *errors = [NSMutableString string];
|
||||
if ([username length] == 0) {
|
||||
|
|
@ -812,7 +804,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
[errorView show];
|
||||
} else {
|
||||
_waitView.hidden = false;
|
||||
[self addProvisionedProxy:username withPassword:password withDomain:_provisionedDomain.text];
|
||||
[self addProvisionedProxy:username withPassword:password withDomain:domain];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -906,23 +898,19 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
otherButtonTitles:nil, nil];
|
||||
[errorView show];
|
||||
} else {
|
||||
NSString *username =
|
||||
[AssistantViewController findTextField:ViewElement_Username view:_contentView].text;
|
||||
NSString *password =
|
||||
[AssistantViewController findTextField:ViewElement_Password view:_contentView].text;
|
||||
NSString *email = [AssistantViewController findTextField:ViewElement_Email view:_contentView].text;
|
||||
NSString *username = [self findTextField:ViewElement_Username].text;
|
||||
NSString *password = [self findTextField:ViewElement_Password].text;
|
||||
NSString *email = [self findTextField:ViewElement_Email].text;
|
||||
NSString *identity = [self identityFromUsername:username];
|
||||
[self createAccount:identity password:password email:email];
|
||||
}
|
||||
} else if ([[request method] isEqualToString:@"create_account_with_useragent"]) {
|
||||
if ([response.object isEqualToNumber:[NSNumber numberWithInt:0]]) {
|
||||
NSString *username =
|
||||
[AssistantViewController findTextField:ViewElement_Username view:_contentView].text;
|
||||
NSString *password =
|
||||
[AssistantViewController findTextField:ViewElement_Password view:_contentView].text;
|
||||
[self changeView:_validateAccountView back:FALSE animation:TRUE];
|
||||
[AssistantViewController findTextField:ViewElement_Username view:_contentView].text = username;
|
||||
[AssistantViewController findTextField:ViewElement_Password view:_contentView].text = password;
|
||||
NSString *username = [self findTextField:ViewElement_Username].text;
|
||||
NSString *password = [self findTextField:ViewElement_Password].text;
|
||||
[self changeView:_createAccountActivationView back:FALSE animation:TRUE];
|
||||
[self findTextField:ViewElement_Username].text = username;
|
||||
[self findTextField:ViewElement_Password].text = password;
|
||||
} else {
|
||||
UIAlertView *errorView = [[UIAlertView alloc]
|
||||
initWithTitle:NSLocalizedString(@"Account creation issue", nil)
|
||||
|
|
@ -934,10 +922,8 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
} else if ([[request method] isEqualToString:@"check_account_validated"]) {
|
||||
if ([response.object isEqualToNumber:[NSNumber numberWithInt:1]]) {
|
||||
NSString *username =
|
||||
[AssistantViewController findTextField:ViewElement_Username view:_contentView].text;
|
||||
NSString *password =
|
||||
[AssistantViewController findTextField:ViewElement_Password view:_contentView].text;
|
||||
NSString *username = [self findTextField:ViewElement_Username].text;
|
||||
NSString *password = [self findTextField:ViewElement_Password].text;
|
||||
[self addProxyConfig:username password:password domain:nil withTransport:nil];
|
||||
} else {
|
||||
UIAlertView *errorView =
|
||||
|
|
@ -998,16 +984,4 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
view.autoresizingMask = [[attributes objectForKey:@"autoresizingMask"] integerValue];
|
||||
}
|
||||
|
||||
#pragma mark - UIGestureRecognizerDelegate Functions
|
||||
|
||||
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
|
||||
if ([touch.view isKindOfClass:[UIButton class]]) {
|
||||
/* we resign any keyboard that's displayed when a button is touched */
|
||||
if ([LinphoneUtils findAndResignFirstResponder:currentView]) {
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -1,29 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="AssistantViewController">
|
||||
<connections>
|
||||
<outlet property="choiceView" destination="33" id="40"/>
|
||||
<outlet property="connectAccountView" destination="52" id="71"/>
|
||||
<outlet property="connectChoiceButton" destination="38" id="3Ml-Qo-qet"/>
|
||||
<outlet property="createAccountActivationView" destination="101" id="cxQ-rX-4fA"/>
|
||||
<outlet property="createAccountView" destination="44" id="70"/>
|
||||
<outlet property="createChoiceButton" destination="36" id="zSO-2M-5xA"/>
|
||||
<outlet property="createUsername" destination="74" id="qzA-BS-SGt"/>
|
||||
<outlet property="createUsernameLabel" destination="ZSJ-Lv-n60" id="V1G-Im-9O9"/>
|
||||
<outlet property="externalAccountView" destination="56" id="72"/>
|
||||
<outlet property="externalChoiceButton" destination="39" id="H75-4C-KxW"/>
|
||||
<outlet property="provisionedAccountView" destination="xVK-hL-6pe" id="jZM-mc-m1Q"/>
|
||||
<outlet property="remoteChoiceButton" destination="Kbn-dL-C5h" id="d7g-aa-Un5"/>
|
||||
<outlet property="gotoCreateAccountButton" destination="36" id="bZf-lI-yJp"/>
|
||||
<outlet property="gotoLoginButton" destination="39" id="uSY-cr-j4w"/>
|
||||
<outlet property="gotoRemoteProvisionningButton" destination="Kbn-dL-C5h" id="pgT-y6-qKj"/>
|
||||
<outlet property="linphoneLoginView" destination="52" id="9NX-6W-50g"/>
|
||||
<outlet property="loginView" destination="56" id="bJH-N8-uPi"/>
|
||||
<outlet property="remoteProvisionningView" destination="xVK-hL-6pe" id="kgd-JJ-OWw"/>
|
||||
<outlet property="transportChooser" destination="Nrv-SM-lMf" id="7iR-aG-eQf"/>
|
||||
<outlet property="validateAccountView" destination="101" id="112"/>
|
||||
<outlet property="welcomeView" destination="33" id="46a-AR-5mN"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="33" userLabel="choiceView">
|
||||
<view contentMode="scaleToFill" id="33" userLabel="welcomeView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="562"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
|
|
@ -45,7 +42,7 @@
|
|||
<nil key="highlightedColor"/>
|
||||
<size key="shadowOffset" width="-1" height="-1"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="36" userLabel="createButton" customClass="UIRoundBorderedButton">
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="36" userLabel="createAccountButton" customClass="UIRoundBorderedButton">
|
||||
<rect key="frame" x="40" y="217" width="299" height="71"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Create linphone.org account">
|
||||
|
|
@ -63,10 +60,10 @@
|
|||
</attributedString>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onCreateChoiceClick:" destination="-1" eventType="touchUpInside" id="9tx-GA-76J"/>
|
||||
<action selector="onGotoCreateAccountClick:" destination="-1" eventType="touchUpInside" id="Meo-Hq-8td"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="38" userLabel="connectButton" customClass="UIRoundBorderedButton">
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="38" userLabel="linphoneLoginButton" customClass="UIRoundBorderedButton">
|
||||
<rect key="frame" x="40" y="301" width="299" height="71"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Sign in linphone.org account">
|
||||
|
|
@ -81,10 +78,10 @@
|
|||
<color key="titleColor" red="0.72549019609999998" green="0.76862745099999996" blue="0.79607843140000001" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onConnectChoiceClick:" destination="-1" eventType="touchUpInside" id="bt9-0c-ZmG"/>
|
||||
<action selector="onGotoLinphoneLoginClick:" destination="-1" eventType="touchUpInside" id="4AG-ng-fIB"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="39" userLabel="externalButton" customClass="UIRoundBorderedButton">
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="39" userLabel="loginButton" customClass="UIRoundBorderedButton">
|
||||
<rect key="frame" x="39" y="383" width="299" height="71"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Sign in SIP account">
|
||||
|
|
@ -99,10 +96,10 @@
|
|||
<color key="titleColor" red="0.72549019609999998" green="0.76862745099999996" blue="0.79607843140000001" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onExternalChoiceClick:" destination="-1" eventType="touchUpInside" id="Jhy-gc-Zao"/>
|
||||
<action selector="onGotoLoginClick:" destination="-1" eventType="touchUpInside" id="qRw-RY-0ip"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="Kbn-dL-C5h" userLabel="remoteButton" customClass="UIRoundBorderedButton">
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="Kbn-dL-C5h" userLabel="remoteProvisionningButton" customClass="UIRoundBorderedButton">
|
||||
<rect key="frame" x="40" y="466" width="299" height="71"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Remote provisioning">
|
||||
|
|
@ -117,7 +114,7 @@
|
|||
<color key="titleColor" red="0.72549019609999998" green="0.76862745099999996" blue="0.79607843140000001" alpha="1" colorSpace="deviceRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onRemoteChoiceClick:" destination="-1" eventType="touchUpInside" id="Co7-Q5-6HE"/>
|
||||
<action selector="onGotoRemoteProvisionningClick:" destination="-1" eventType="touchUpInside" id="amN-4O-i2X"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
|
|
@ -254,7 +251,7 @@
|
|||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="620.5" y="257"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="101" userLabel="validateAccountView">
|
||||
<view contentMode="scaleToFill" id="101" userLabel="createAccountActivationView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="562"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
|
|
@ -312,7 +309,7 @@
|
|||
</attributedString>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onCheckValidationClick:" destination="-1" eventType="touchUpInside" id="8Ru-f7-l0s"/>
|
||||
<action selector="onCreateAccountActivationClick:" destination="-1" eventType="touchUpInside" id="9Nq-pn-Xw5"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
|
|
@ -321,7 +318,7 @@
|
|||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="1038.5" y="257"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="52" userLabel="connectAccountView">
|
||||
<view contentMode="scaleToFill" id="52" userLabel="linphoneLoginView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="562"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
|
|
@ -386,7 +383,7 @@
|
|||
<outlet property="delegate" destination="-1" id="nPx-Tc-Acv"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="eIr-bh-JLB" userLabel="loginButton" customClass="UIRoundBorderedButton">
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="eIr-bh-JLB" userLabel="linphoneLoginButton" customClass="UIRoundBorderedButton">
|
||||
<rect key="frame" x="38" y="418" width="299" height="71"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Login linphone.org account">
|
||||
|
|
@ -404,7 +401,7 @@
|
|||
</attributedString>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onSignInClick:" destination="-1" eventType="touchUpInside" id="9w4-Ng-RMi"/>
|
||||
<action selector="onLinphoneLoginClick:" destination="-1" eventType="touchUpInside" id="EcX-YF-Zzh"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
|
|
@ -413,7 +410,7 @@
|
|||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="209.5" y="862"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="56" userLabel="externalAccountView">
|
||||
<view contentMode="scaleToFill" id="56" userLabel="loginView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="562"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
|
|
@ -531,7 +528,7 @@
|
|||
</attributedString>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onSignInClick:" destination="-1" eventType="touchUpInside" id="w06-aY-bqA"/>
|
||||
<action selector="onLinphoneLoginClick:" destination="-1" eventType="touchUpInside" id="8FC-Mf-dX8"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
|
|
@ -540,7 +537,7 @@
|
|||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="626.5" y="862"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="xVK-hL-6pe" userLabel="provisionedAccountView">
|
||||
<view contentMode="scaleToFill" id="xVK-hL-6pe" userLabel="remoteProvisionningView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="562"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
|
|
@ -623,7 +620,7 @@
|
|||
<outlet property="delegate" destination="-1" id="6Mx-mR-LQx"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="eKs-or-rqw" userLabel="loginButton" customClass="UIRoundBorderedButton">
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" hasAttributedTitle="YES" id="eKs-or-rqw" userLabel="remoteProvisionningButton" customClass="UIRoundBorderedButton">
|
||||
<rect key="frame" x="38" y="418" width="299" height="71"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Login linphone.org account">
|
||||
|
|
@ -641,7 +638,7 @@
|
|||
</attributedString>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onSignInClick:" destination="-1" eventType="touchUpInside" id="vUt-n5-MqK"/>
|
||||
<action selector="onLinphoneLoginClick:" destination="-1" eventType="touchUpInside" id="xx5-CI-tlx"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue