forked from mirrors/linphone-iphone
Wizard: add remote provisionning view, remove popup
This commit is contained in:
parent
828917bef9
commit
43e3d7ef4e
5 changed files with 108 additions and 34 deletions
|
|
@ -39,7 +39,8 @@
|
|||
@property(nonatomic, strong) IBOutlet UIView *createAccountActivationView;
|
||||
@property(nonatomic, strong) IBOutlet UIView *linphoneLoginView;
|
||||
@property(nonatomic, strong) IBOutlet UIView *loginView;
|
||||
@property(nonatomic, strong) IBOutlet UIView *remoteProvisionningView;
|
||||
@property(nonatomic, strong) IBOutlet UIView *remoteProvisionningLoginView;
|
||||
@property(strong, nonatomic) IBOutlet UIView *remoteProvisionningView;
|
||||
|
||||
@property(nonatomic, strong) IBOutlet UIImageView *welcomeLogoImage;
|
||||
@property(nonatomic, strong) IBOutlet UIButton *gotoCreateAccountButton;
|
||||
|
|
@ -62,7 +63,8 @@
|
|||
- (IBAction)onCreateAccountActivationClick:(id)sender;
|
||||
- (IBAction)onLinphoneLoginClick:(id)sender;
|
||||
- (IBAction)onLoginClick:(id)sender;
|
||||
- (IBAction)onRemoteProvisionningClick:(id)sender;
|
||||
- (IBAction)onRemoteProvisionningLoginClick:(id)sender;
|
||||
- (IBAction)onRemoteProvisionningDownloadClick:(id)sender;
|
||||
|
||||
- (IBAction)onTransportChange:(id)sender;
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ typedef enum _ViewElement {
|
|||
ViewElement_Domain = 104,
|
||||
ViewElement_Transport = 105,
|
||||
ViewElement_Username_Label = 106,
|
||||
ViewElement_URL = 107,
|
||||
ViewElement_NextButton = 130,
|
||||
} ViewElement;
|
||||
|
||||
|
|
@ -104,7 +105,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
[LinphoneUtils adjustFontSize:_linphoneLoginView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_loginView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_createAccountActivationView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_remoteProvisionningView mult:2.22f];
|
||||
[LinphoneUtils adjustFontSize:_remoteProvisionningLoginView mult:2.22f];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -311,7 +312,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
}
|
||||
|
||||
[self changeView:_remoteProvisionningView back:FALSE animation:TRUE];
|
||||
[self changeView:_remoteProvisionningLoginView back:FALSE animation:TRUE];
|
||||
|
||||
linphone_proxy_config_destroy(default_conf);
|
||||
}
|
||||
|
|
@ -322,7 +323,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
[AssistantView cleanTextField:_linphoneLoginView];
|
||||
[AssistantView cleanTextField:_loginView];
|
||||
[AssistantView cleanTextField:_createAccountActivationView];
|
||||
[AssistantView cleanTextField:_remoteProvisionningView];
|
||||
[AssistantView cleanTextField:_remoteProvisionningLoginView];
|
||||
}
|
||||
|
||||
- (void)displayUsernameAsPhoneOrUsername {
|
||||
|
|
@ -597,19 +598,10 @@ void assistant_validation_tested(LinphoneAccountCreator *creator, LinphoneAccoun
|
|||
}
|
||||
|
||||
- (IBAction)onGotoRemoteProvisionningClick:(id)sender {
|
||||
UIAlertView *remoteInput = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Enter provisioning URL", @"")
|
||||
message:@""
|
||||
delegate:self
|
||||
cancelButtonTitle:NSLocalizedString(@"Cancel", @"")
|
||||
otherButtonTitles:NSLocalizedString(@"Fetch", @""), nil];
|
||||
remoteInput.alertViewStyle = UIAlertViewStylePlainTextInput;
|
||||
|
||||
UITextField *prov_url = [remoteInput textFieldAtIndex:0];
|
||||
prov_url.keyboardType = UIKeyboardTypeURL;
|
||||
prov_url.text = [[LinphoneManager instance] lpConfigStringForKey:@"config-uri" forSection:@"misc"];
|
||||
prov_url.placeholder = @"URL";
|
||||
|
||||
[remoteInput show];
|
||||
nextView = _remoteProvisionningView;
|
||||
[self loadAssistantConfig:@"assistant_remote.rc"];
|
||||
[self findTextField:ViewElement_URL].text =
|
||||
[[LinphoneManager instance] lpConfigStringForKey:@"config-uri" forSection:@"misc"];
|
||||
}
|
||||
|
||||
- (IBAction)onCreateAccountClick:(id)sender {
|
||||
|
|
@ -632,11 +624,27 @@ void assistant_validation_tested(LinphoneAccountCreator *creator, LinphoneAccoun
|
|||
linphone_account_creator_test_validation(account_creator);
|
||||
}
|
||||
|
||||
- (IBAction)onRemoteProvisionningClick:(id)sender {
|
||||
- (IBAction)onRemoteProvisionningLoginClick:(id)sender {
|
||||
_waitView.hidden = NO;
|
||||
[self addProxyConfig:linphone_account_creator_configure(account_creator)];
|
||||
}
|
||||
|
||||
- (IBAction)onRemoteProvisionningDownloadClick:(id)sender {
|
||||
NSString *url = [self findTextField:ViewElement_URL].text;
|
||||
if ([url length] > 0) {
|
||||
// missing prefix will result in http:// being used
|
||||
if ([url rangeOfString:@"://"].location == NSNotFound) {
|
||||
url = [NSString stringWithFormat:@"http://%@", url];
|
||||
}
|
||||
|
||||
LOGI(@"Should use remote provisioning URL %@", url);
|
||||
linphone_core_set_provisioning_uri([LinphoneManager getLc], [url UTF8String]);
|
||||
|
||||
[_waitView setHidden:false];
|
||||
[[LinphoneManager instance] resetLinphoneCore];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)onTransportChange:(id)sender {
|
||||
UISegmentedControl *transports = sender;
|
||||
NSString *type = [transports titleForSegmentAtIndex:[transports selectedSegmentIndex]];
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14F1021" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
|
||||
|
|
@ -15,7 +15,8 @@
|
|||
<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="remoteProvisionningLoginView" destination="xVK-hL-6pe" id="P3u-Oo-Hzd"/>
|
||||
<outlet property="remoteProvisionningView" destination="Zuh-Sd-pcd" id="qQP-F4-FMX"/>
|
||||
<outlet property="welcomeView" destination="33" id="46a-AR-5mN"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
|
|
@ -503,7 +504,70 @@
|
|||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="626.5" y="862"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="xVK-hL-6pe" userLabel="remoteProvisionningView">
|
||||
<view contentMode="scaleToFill" id="Zuh-Sd-pcd" userLabel="remoteProvisionningView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="562"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="REMOTE PROVISIONNING" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" id="dpv-8C-qt6" userLabel="titleLabel">
|
||||
<rect key="frame" x="36" y="34" width="302" height="59"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Account setup assistant"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<size key="shadowOffset" width="-1" height="-1"/>
|
||||
</label>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Please enter your provisionning URL" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" minimumFontSize="10" id="hEy-Xe-afq" userLabel="subtitleLabel">
|
||||
<rect key="frame" x="36" y="100" width="302" height="29"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Account setup assistant"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<size key="shadowOffset" width="-1" height="-1"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" tag="106" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="URL" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="0tr-gN-2Ce" userLabel="urlLabel">
|
||||
<rect key="frame" x="38" y="165" width="299" height="14"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<color key="textColor" red="0.50196078430000002" green="0.50196078430000002" blue="0.50196078430000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<textField opaque="NO" clipsSubviews="YES" tag="107" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" adjustsFontSizeToFit="NO" minimumFontSize="10" id="Ffg-Of-xyh" userLabel="urlField" customClass="UIAssistantTextField">
|
||||
<rect key="frame" x="38" y="187" width="299" height="30"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="0.88235294119999996" green="0.88235294119999996" blue="0.88235294119999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Username"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<textInputTraits key="textInputTraits" autocorrectionType="no" keyboardType="URL"/>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-1" id="8Fl-mE-8Sb"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<button opaque="NO" tag="130" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="eM0-bn-v3C" userLabel="downloadButton" 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">
|
||||
<bool key="isElement" value="YES"/>
|
||||
</accessibility>
|
||||
<fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="13"/>
|
||||
<state key="normal" title="DOWNLOAD">
|
||||
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</state>
|
||||
<state key="disabled">
|
||||
<color key="titleColor" red="0.76862745099999996" green="0.76862745099999996" blue="0.76862745099999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onRemoteProvisionningDownloadClick:" destination="-1" eventType="touchUpInside" id="P1f-AL-8Xt"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="209.5" y="1470"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="xVK-hL-6pe" userLabel="remoteProvisionningLoginView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="562"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
|
|
@ -579,7 +643,7 @@
|
|||
<outlet property="delegate" destination="-1" id="6Mx-mR-LQx"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<button opaque="NO" tag="130" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="eKs-or-rqw" userLabel="remoteProvisionningButton" customClass="UIRoundBorderedButton">
|
||||
<button opaque="NO" tag="130" contentMode="scaleToFill" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" id="eKs-or-rqw" userLabel="remoteProvisionningLoginButton" 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">
|
||||
|
|
@ -593,14 +657,14 @@
|
|||
<color key="titleColor" red="0.76862745099999996" green="0.76862745099999996" blue="0.76862745099999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<connections>
|
||||
<action selector="onRemoteProvisionningClick:" destination="-1" eventType="touchUpInside" id="zsx-GM-Pjh"/>
|
||||
<action selector="onRemoteProvisionningLoginClick:" destination="-1" eventType="touchUpInside" id="11g-KH-emH"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<nil key="simulatedStatusBarMetrics"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="1038.5" y="862"/>
|
||||
<point key="canvasLocation" x="631.5" y="1470"/>
|
||||
</view>
|
||||
</objects>
|
||||
<simulatedMetricsContainer key="defaultSimulatedMetrics">
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@
|
|||
</subviews>
|
||||
</view>
|
||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="No conversation." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="p7C-WH-uR1" userLabel="emptyTableLabel">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="453"/>
|
||||
<rect key="frame" x="0.0" y="33" width="375" height="453"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
|
|
|
|||
|
|
@ -29,14 +29,6 @@
|
|||
- (void)viewDidLoad {
|
||||
_sideMenuEntries = [[NSMutableArray alloc] init];
|
||||
|
||||
[_sideMenuEntries
|
||||
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Settings", nil)
|
||||
tapBlock:^() {
|
||||
[PhoneMainView.instance
|
||||
changeCurrentView:SettingsView.compositeViewDescription
|
||||
push:NO
|
||||
animated:NO];
|
||||
}]];
|
||||
[_sideMenuEntries
|
||||
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Assistant", nil)
|
||||
tapBlock:^() {
|
||||
|
|
@ -45,6 +37,14 @@
|
|||
push:NO
|
||||
animated:NO];
|
||||
}]];
|
||||
[_sideMenuEntries
|
||||
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Settings", nil)
|
||||
tapBlock:^() {
|
||||
[PhoneMainView.instance
|
||||
changeCurrentView:SettingsView.compositeViewDescription
|
||||
push:NO
|
||||
animated:NO];
|
||||
}]];
|
||||
[_sideMenuEntries addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"About", nil)
|
||||
tapBlock:^() {
|
||||
[PhoneMainView.instance
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue