Brion VIBBER has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/92309


Change subject: Throw in a quick UI demo in the app stub
......................................................................

Throw in a quick UI demo in the app stub

There are no tests for this demo stub. :)

Change-Id: I66d9b98ad9bfc9e66804bd629e965c78b6672382
---
M Wikipedia-iOS.xcodeproj/project.pbxproj
D Wikipedia-iOS/Base.lproj/Main_iPad.storyboard
M Wikipedia-iOS/Base.lproj/Main_iPhone.storyboard
M Wikipedia-iOS/ViewController.h
M Wikipedia-iOS/ViewController.m
M Wikipedia-iOS/Wikipedia-iOS-Info.plist
A Wikipedia-iOS/empty.png
7 files changed, 257 insertions(+), 43 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/ios/wikipedia 
refs/changes/09/92309/1

diff --git a/Wikipedia-iOS.xcodeproj/project.pbxproj 
b/Wikipedia-iOS.xcodeproj/project.pbxproj
index bf48cec..651cc82 100644
--- a/Wikipedia-iOS.xcodeproj/project.pbxproj
+++ b/Wikipedia-iOS.xcodeproj/project.pbxproj
@@ -14,7 +14,6 @@
                D4991445181D51DE00E6073C /* main.m in Sources */ = {isa = 
PBXBuildFile; fileRef = D4991444181D51DE00E6073C /* main.m */; };
                D4991449181D51DE00E6073C /* AppDelegate.m in Sources */ = {isa 
= PBXBuildFile; fileRef = D4991448181D51DE00E6073C /* AppDelegate.m */; };
                D499144C181D51DE00E6073C /* Main_iPhone.storyboard in Resources 
*/ = {isa = PBXBuildFile; fileRef = D499144A181D51DE00E6073C /* 
Main_iPhone.storyboard */; };
-               D499144F181D51DE00E6073C /* Main_iPad.storyboard in Resources 
*/ = {isa = PBXBuildFile; fileRef = D499144D181D51DE00E6073C /* 
Main_iPad.storyboard */; };
                D4991452181D51DE00E6073C /* ViewController.m in Sources */ = 
{isa = PBXBuildFile; fileRef = D4991451181D51DE00E6073C /* ViewController.m */; 
};
                D4991454181D51DE00E6073C /* Images.xcassets in Resources */ = 
{isa = PBXBuildFile; fileRef = D4991453181D51DE00E6073C /* Images.xcassets */; 
};
                D499145B181D51DF00E6073C /* XCTest.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = D499145A181D51DF00E6073C /* XCTest.framework */; 
};
@@ -22,6 +21,7 @@
                D499145D181D51DF00E6073C /* UIKit.framework in Frameworks */ = 
{isa = PBXBuildFile; fileRef = D499143C181D51DE00E6073C /* UIKit.framework */; 
};
                D4991465181D51DF00E6073C /* InfoPlist.strings in Resources */ = 
{isa = PBXBuildFile; fileRef = D4991463181D51DF00E6073C /* InfoPlist.strings 
*/; };
                D4991467181D51DF00E6073C /* Wikipedia_iOSTests.m in Sources */ 
= {isa = PBXBuildFile; fileRef = D4991466181D51DF00E6073C /* 
Wikipedia_iOSTests.m */; };
+               D4BC22B4181E9E6300CAC673 /* empty.png in Resources */ = {isa = 
PBXBuildFile; fileRef = D4BC22B3181E9E6300CAC673 /* empty.png */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -46,7 +46,6 @@
                D4991447181D51DE00E6073C /* AppDelegate.h */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; 
sourceTree = "<group>"; };
                D4991448181D51DE00E6073C /* AppDelegate.m */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; 
sourceTree = "<group>"; };
                D499144B181D51DE00E6073C /* Base */ = {isa = PBXFileReference; 
lastKnownFileType = file.storyboard; name = Base; path = 
Base.lproj/Main_iPhone.storyboard; sourceTree = "<group>"; };
-               D499144E181D51DE00E6073C /* Base */ = {isa = PBXFileReference; 
lastKnownFileType = file.storyboard; name = Base; path = 
Base.lproj/Main_iPad.storyboard; sourceTree = "<group>"; };
                D4991450181D51DE00E6073C /* ViewController.h */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; 
sourceTree = "<group>"; };
                D4991451181D51DE00E6073C /* ViewController.m */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = 
ViewController.m; sourceTree = "<group>"; };
                D4991453181D51DE00E6073C /* Images.xcassets */ = {isa = 
PBXFileReference; lastKnownFileType = folder.assetcatalog; path = 
Images.xcassets; sourceTree = "<group>"; };
@@ -55,6 +54,7 @@
                D4991462181D51DF00E6073C /* Wikipedia-iOSTests-Info.plist */ = 
{isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = 
"Wikipedia-iOSTests-Info.plist"; sourceTree = "<group>"; };
                D4991464181D51DF00E6073C /* en */ = {isa = PBXFileReference; 
lastKnownFileType = text.plist.strings; name = en; path = 
en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
                D4991466181D51DF00E6073C /* Wikipedia_iOSTests.m */ = {isa = 
PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = 
Wikipedia_iOSTests.m; sourceTree = "<group>"; };
+               D4BC22B3181E9E6300CAC673 /* empty.png */ = {isa = 
PBXFileReference; lastKnownFileType = image.png; path = empty.png; sourceTree = 
"<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -114,10 +114,10 @@
                D499143E181D51DE00E6073C /* Wikipedia-iOS */ = {
                        isa = PBXGroup;
                        children = (
+                               D4BC22B3181E9E6300CAC673 /* empty.png */,
                                D4991447181D51DE00E6073C /* AppDelegate.h */,
                                D4991448181D51DE00E6073C /* AppDelegate.m */,
                                D499144A181D51DE00E6073C /* 
Main_iPhone.storyboard */,
-                               D499144D181D51DE00E6073C /* 
Main_iPad.storyboard */,
                                D4991450181D51DE00E6073C /* ViewController.h */,
                                D4991451181D51DE00E6073C /* ViewController.m */,
                                D4991453181D51DE00E6073C /* Images.xcassets */,
@@ -234,10 +234,10 @@
                        isa = PBXResourcesBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               D499144F181D51DE00E6073C /* 
Main_iPad.storyboard in Resources */,
                                D4991454181D51DE00E6073C /* Images.xcassets in 
Resources */,
                                D499144C181D51DE00E6073C /* 
Main_iPhone.storyboard in Resources */,
                                D4991443181D51DE00E6073C /* InfoPlist.strings 
in Resources */,
+                               D4BC22B4181E9E6300CAC673 /* empty.png in 
Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
@@ -295,14 +295,6 @@
                                D499144B181D51DE00E6073C /* Base */,
                        );
                        name = Main_iPhone.storyboard;
-                       sourceTree = "<group>";
-               };
-               D499144D181D51DE00E6073C /* Main_iPad.storyboard */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               D499144E181D51DE00E6073C /* Base */,
-                       );
-                       name = Main_iPad.storyboard;
                        sourceTree = "<group>";
                };
                D4991463181D51DF00E6073C /* InfoPlist.strings */ = {
diff --git a/Wikipedia-iOS/Base.lproj/Main_iPad.storyboard 
b/Wikipedia-iOS/Base.lproj/Main_iPad.storyboard
deleted file mode 100644
index a185e8a..0000000
--- a/Wikipedia-iOS/Base.lproj/Main_iPad.storyboard
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" 
version="3.0" toolsVersion="4451" systemVersion="13A461" 
targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" 
useAutolayout="YES" initialViewController="BYZ-38-t0r">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" 
version="3676"/>
-    </dependencies>
-    <scenes>
-        <!--class Prefix:identifier View Controller-->
-        <scene sceneID="tne-QT-ifu">
-            <objects>
-                <viewController id="BYZ-38-t0r" customClass="ViewController" 
sceneMemberID="viewController">
-                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
-                        <rect key="frame" x="0.0" y="20" width="768" 
height="1004"/>
-                        <autoresizingMask key="autoresizingMask" 
widthSizable="YES" heightSizable="YES"/>
-                        <color key="backgroundColor" white="1" alpha="1" 
colorSpace="custom" customColorSpace="calibratedWhite"/>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" 
id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
-            </objects>
-        </scene>
-    </scenes>
-    <simulatedMetricsContainer key="defaultSimulatedMetrics">
-        <simulatedStatusBarMetrics key="statusBar" 
statusBarStyle="blackOpaque"/>
-        <simulatedOrientationMetrics key="orientation"/>
-        <simulatedScreenMetrics key="destination"/>
-    </simulatedMetricsContainer>
-</document>
\ No newline at end of file
diff --git a/Wikipedia-iOS/Base.lproj/Main_iPhone.storyboard 
b/Wikipedia-iOS/Base.lproj/Main_iPhone.storyboard
index b99208b..c291cbe 100644
--- a/Wikipedia-iOS/Base.lproj/Main_iPhone.storyboard
+++ b/Wikipedia-iOS/Base.lproj/Main_iPhone.storyboard
@@ -1,21 +1,135 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" 
version="3.0" toolsVersion="4451" systemVersion="13A461" 
targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" 
initialViewController="vXZ-lx-hvc">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" 
version="3.0" toolsVersion="4511" systemVersion="13A598" 
targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" 
initialViewController="Iku-rK-nd2">
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" 
version="3676"/>
+        <deployment defaultVersion="1536" identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" 
version="3745"/>
     </dependencies>
     <scenes>
-        <!--class Prefix:identifier View Controller-->
+        <!--View Controller-->
         <scene sceneID="ufC-wZ-h7g">
             <objects>
                 <viewController id="vXZ-lx-hvc" customClass="ViewController" 
sceneMemberID="viewController">
+                    <layoutGuides>
+                        <viewControllerLayoutGuide type="top" id="C8y-0k-FBq"/>
+                        <viewControllerLayoutGuide type="bottom" 
id="Xeb-oh-gct"/>
+                    </layoutGuides>
                     <view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
                         <rect key="frame" x="0.0" y="0.0" width="320" 
height="568"/>
                         <autoresizingMask key="autoresizingMask" 
flexibleMaxX="YES" flexibleMaxY="YES"/>
+                        <subviews>
+                            <webView contentMode="scaleToFill" 
translatesAutoresizingMaskIntoConstraints="NO" id="WeL-Mj-Zsh">
+                                <rect key="frame" x="0.0" y="0.0" width="320" 
height="568"/>
+                                <autoresizingMask key="autoresizingMask" 
widthSizable="YES" heightSizable="YES"/>
+                                <color key="backgroundColor" red="1" green="1" 
blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                                <connections>
+                                    <outlet property="delegate" 
destination="vXZ-lx-hvc" id="8dY-K2-ql9"/>
+                                </connections>
+                            </webView>
+                        </subviews>
                         <color key="backgroundColor" white="1" alpha="1" 
colorSpace="custom" customColorSpace="calibratedWhite"/>
+                        <constraints>
+                            <constraint firstItem="WeL-Mj-Zsh" 
firstAttribute="leading" secondItem="kh9-bI-dsS" secondAttribute="leading" 
id="3Zs-jL-a48"/>
+                            <constraint firstAttribute="trailing" 
secondItem="WeL-Mj-Zsh" secondAttribute="trailing" id="QSr-uN-iN4"/>
+                            <constraint firstAttribute="bottom" 
secondItem="WeL-Mj-Zsh" secondAttribute="bottom" id="UTu-Ve-ee9"/>
+                            <constraint firstItem="WeL-Mj-Zsh" 
firstAttribute="top" secondItem="kh9-bI-dsS" secondAttribute="top" 
id="sqU-09-fno"/>
+                        </constraints>
                     </view>
+                    <toolbarItems>
+                        <barButtonItem title="◁" style="plain" id="pTg-La-nAS">
+                            <color key="tintColor" 
cocoaTouchSystemColor="darkTextColor"/>
+                            <connections>
+                                <action selector="backButtonPushed:" 
destination="vXZ-lx-hvc" id="gCp-z8-VRZ"/>
+                            </connections>
+                        </barButtonItem>
+                        <barButtonItem style="plain" 
systemItem="flexibleSpace" id="zpy-ng-p19"/>
+                        <barButtonItem title="ā–·" style="plain" id="MX4-sv-Nu0">
+                            <color key="tintColor" 
cocoaTouchSystemColor="darkTextColor"/>
+                            <connections>
+                                <action selector="forwardButtonPushed:" 
destination="vXZ-lx-hvc" id="JSz-pP-0fp"/>
+                            </connections>
+                        </barButtonItem>
+                        <barButtonItem style="plain" 
systemItem="flexibleSpace" id="uDk-OF-Che"/>
+                        <barButtonItem title="A恂" style="plain" 
id="MxI-Vh-g3Q">
+                            <color key="tintColor" 
cocoaTouchSystemColor="darkTextColor"/>
+                            <connections>
+                                <action selector="languageButtonPushed:" 
destination="vXZ-lx-hvc" id="Eu8-sw-PTk"/>
+                            </connections>
+                        </barButtonItem>
+                        <barButtonItem style="plain" 
systemItem="flexibleSpace" id="1xa-nF-vNw"/>
+                        <barButtonItem style="plain" systemItem="action" 
id="5QR-Xb-FU9">
+                            <color key="tintColor" 
cocoaTouchSystemColor="darkTextColor"/>
+                            <connections>
+                                <action selector="actionButtonPushed:" 
destination="vXZ-lx-hvc" id="aVH-3G-CVE"/>
+                            </connections>
+                        </barButtonItem>
+                        <barButtonItem style="plain" 
systemItem="flexibleSpace" id="6tt-F2-qDC"/>
+                        <barButtonItem style="plain" systemItem="bookmarks" 
id="Qrf-EP-YWZ">
+                            <color key="tintColor" 
cocoaTouchSystemColor="darkTextColor"/>
+                            <connections>
+                                <action selector="bookmarkButtonPushed:" 
destination="vXZ-lx-hvc" id="ayH-Sp-sNS"/>
+                            </connections>
+                        </barButtonItem>
+                    </toolbarItems>
+                    <navigationItem key="navigationItem" id="vCu-en-Ec0">
+                        <nil key="title"/>
+                        <barButtonItem key="leftBarButtonItem" title="☰" 
id="gm0-si-g1F">
+                            <color key="tintColor" 
cocoaTouchSystemColor="darkTextColor"/>
+                            <connections>
+                                <action selector="menuButtonPushed:" 
destination="vXZ-lx-hvc" id="iu6-dn-8hQ"/>
+                            </connections>
+                        </barButtonItem>
+                        <textField key="titleView" opaque="NO" 
clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" 
contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Search 
Wikipedia" minimumFontSize="17" clearButtonMode="whileEditing" id="vzb-fP-Nwq">
+                            <rect key="frame" x="40" y="7" width="240" 
height="30"/>
+                            <autoresizingMask key="autoresizingMask" 
flexibleMaxX="YES" flexibleMaxY="YES"/>
+                            <fontDescription key="fontDescription" 
type="system" pointSize="14"/>
+                            <textInputTraits key="textInputTraits" 
returnKeyType="search"/>
+                            <connections>
+                                <outlet property="delegate" 
destination="vXZ-lx-hvc" id="ZzO-hp-xg3"/>
+                            </connections>
+                        </textField>
+                    </navigationItem>
+                    <connections>
+                        <outlet property="actionButton" 
destination="5QR-Xb-FU9" id="BzV-0P-caj"/>
+                        <outlet property="backButton" destination="pTg-La-nAS" 
id="5kK-dj-I0s"/>
+                        <outlet property="bookmarksButton" 
destination="Qrf-EP-YWZ" id="nJJ-MG-DIX"/>
+                        <outlet property="forwardButton" 
destination="MX4-sv-Nu0" id="WTP-6I-N05"/>
+                        <outlet property="languageButton" 
destination="MxI-Vh-g3Q" id="kQN-hP-Bot"/>
+                        <outlet property="menuButton" destination="gm0-si-g1F" 
id="r5P-ww-ml9"/>
+                        <outlet property="searchField" 
destination="vzb-fP-Nwq" id="gFH-xi-QkL"/>
+                        <outlet property="webView" destination="WeL-Mj-Zsh" 
id="iQJ-zA-CLH"/>
+                    </connections>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" 
id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
             </objects>
+            <point key="canvasLocation" x="396" y="200"/>
+        </scene>
+        <!--Navigation Controller-->
+        <scene sceneID="dor-Wk-JQd">
+            <objects>
+                <navigationController definesPresentationContext="YES" 
toolbarHidden="NO" id="Iku-rK-nd2" sceneMemberID="viewController">
+                    <simulatedNavigationBarMetrics 
key="simulatedTopBarMetrics" prompted="NO"/>
+                    <simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
+                    <navigationBar key="navigationBar" 
contentMode="scaleToFill" id="diA-vI-SNq">
+                        <rect key="frame" x="0.0" y="0.0" width="0.0" 
height="44"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </navigationBar>
+                    <toolbar key="toolbar" opaque="NO" 
clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="bnl-Sa-dzm">
+                        <rect key="frame" x="0.0" y="524" width="320" 
height="44"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </toolbar>
+                    <connections>
+                        <segue destination="vXZ-lx-hvc" kind="relationship" 
relationship="rootViewController" id="TU5-Qp-cWA"/>
+                    </connections>
+                </navigationController>
+                <placeholder placeholderIdentifier="IBFirstResponder" 
id="aFT-wt-Ywo" userLabel="First Responder" sceneMemberID="firstResponder"/>
+                <textField opaque="NO" clipsSubviews="YES" 
contentMode="scaleToFill" contentHorizontalAlignment="left" 
contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Search 
Wikipedia" minimumFontSize="17" clearButtonMode="whileEditing" id="IML-ni-rsA">
+                    <rect key="frame" x="0.0" y="0.0" width="384" height="30"/>
+                    <autoresizingMask key="autoresizingMask" 
flexibleMaxX="YES" flexibleMaxY="YES"/>
+                    <fontDescription key="fontDescription" type="system" 
pointSize="14"/>
+                    <textInputTraits key="textInputTraits" 
returnKeyType="search"/>
+                </textField>
+            </objects>
+            <point key="canvasLocation" x="-56" y="200"/>
         </scene>
     </scenes>
     <simulatedMetricsContainer key="defaultSimulatedMetrics">
diff --git a/Wikipedia-iOS/ViewController.h b/Wikipedia-iOS/ViewController.h
index 70e96ed..9414c89 100644
--- a/Wikipedia-iOS/ViewController.h
+++ b/Wikipedia-iOS/ViewController.h
@@ -8,6 +8,22 @@
 
 #import <UIKit/UIKit.h>
 
-@interface ViewController : UIViewController
+@interface ViewController : UIViewController <UITextFieldDelegate, 
UIWebViewDelegate>
+
+@property (weak, nonatomic) IBOutlet UIWebView *webView;
+@property (weak, nonatomic) IBOutlet UIBarButtonItem *menuButton;
+@property (weak, nonatomic) IBOutlet UITextField *searchField;
+@property (weak, nonatomic) IBOutlet UIBarButtonItem *backButton;
+@property (weak, nonatomic) IBOutlet UIBarButtonItem *forwardButton;
+@property (weak, nonatomic) IBOutlet UIBarButtonItem *languageButton;
+@property (weak, nonatomic) IBOutlet UIBarButtonItem *actionButton;
+@property (weak, nonatomic) IBOutlet UIBarButtonItem *bookmarksButton;
+
+- (IBAction)backButtonPushed:(id)sender;
+- (IBAction)forwardButtonPushed:(id)sender;
+- (IBAction)languageButtonPushed:(id)sender;
+- (IBAction)actionButtonPushed:(id)sender;
+- (IBAction)bookmarkButtonPushed:(id)sender;
+- (IBAction)menuButtonPushed:(id)sender;
 
 @end
diff --git a/Wikipedia-iOS/ViewController.m b/Wikipedia-iOS/ViewController.m
index 2aba7fa..e98e17e 100644
--- a/Wikipedia-iOS/ViewController.m
+++ b/Wikipedia-iOS/ViewController.m
@@ -18,6 +18,7 @@
 {
     [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
+    [self navigateToPage:@"Main Page"];
 }
 
 - (void)didReceiveMemoryWarning
@@ -26,4 +27,121 @@
     // Dispose of any resources that can be recreated.
 }
 
+#pragma mark UITextFieldDelegate methods
+
+- (BOOL)textFieldShouldReturn:(UITextField *)textField
+{
+    [self navigateToPage:textField.text];
+    [textField resignFirstResponder];
+    return NO;
+}
+
+#pragma mark UIWebViewDelegate methods
+
+- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
+{
+    NSLog(@"webView failed to load: %@", error);
+}
+
+- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest 
*)request navigationType:(UIWebViewNavigationType)navigationType
+{
+    if (navigationType == UIWebViewNavigationTypeLinkClicked) {
+        NSURL *url = request.URL;
+        NSString *urlStr = [url absoluteString];
+        NSString *prefix = @"https://en.m.wikipedia.org/wiki/";;
+        if ([urlStr hasPrefix:prefix]) {
+            NSString *encTitle = [urlStr substringFromIndex:prefix.length];
+            NSString *title = [encTitle 
stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+            [self navigateToPage:title];
+        } else {
+            [UIApplication.sharedApplication openURL:url];
+        }
+        return NO;
+    } else {
+        return YES;
+    }
+}
+
+- (void)webViewDidFinishLoad:(UIWebView *)webView
+{
+    
+}
+
+- (void)webViewDidStartLoad:(UIWebView *)webView
+{
+    
+}
+
+#pragma mark action methods
+
+- (IBAction)backButtonPushed:(id)sender {
+    [self.webView goBack];
+}
+
+- (IBAction)forwardButtonPushed:(id)sender {
+    [self.webView goForward];
+}
+
+- (IBAction)languageButtonPushed:(id)sender {
+}
+
+- (IBAction)actionButtonPushed:(id)sender {
+    
+    UIActivityViewController *activityViewController = 
[[UIActivityViewController alloc]
+                                                        
initWithActivityItems:@[self.webView.request.URL]
+                                                        
applicationActivities:@[]];
+    [self presentViewController:activityViewController animated:YES 
completion:^{
+        // Whee!
+    }];
+}
+
+- (IBAction)bookmarkButtonPushed:(id)sender {
+}
+
+- (IBAction)menuButtonPushed:(id)sender {
+}
+
+#pragma mark local methods
+
+/**
+ * this is a temporary hack for demo!
+ */
+- (void)navigateToPage:(NSString *)pageTitle
+{
+    NSString *underscoreForm = [pageTitle 
stringByReplacingOccurrencesOfString:@" " withString:@"_"];
+    NSString *encTitle = [underscoreForm 
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+
+    // First we need the base URL
+    NSString *baseUrlStr = [NSString 
stringWithFormat:@"https://en.m.wikipedia.org/wiki/%@";, encTitle];
+    NSURL *baseUrl = [NSURL URLWithString:baseUrlStr];
+
+    // Now we need to fetch from API
+    NSString *apiUrlStr = [NSString 
stringWithFormat:@"https://en.m.wikipedia.org/w/api.php?format=json&action=mobileview&page=%@&prop=sections%%7Ctext&sections=all";,
 encTitle];
+    NSURL *apiUrl = [NSURL URLWithString:apiUrlStr];
+    NSURLRequest *apiReq = [NSURLRequest requestWithURL:apiUrl];
+    
+    [NSURLConnection sendAsynchronousRequest:apiReq 
queue:NSOperationQueue.mainQueue completionHandler:^(NSURLResponse *response, 
NSData *data, NSError *connectionError) {
+
+        if (connectionError) {
+            NSLog(@"Failed to fetch page data: %@", connectionError);
+            exit(1);
+        }
+
+        NSError *err;
+        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data 
options:0 error:&err];
+        if (err) {
+            NSLog(@"Failed to decode JSON: %@", err);
+            exit(1);
+        }
+
+        NSMutableString *str = [[NSMutableString alloc] init];
+        for (NSDictionary *section in dict[@"mobileview"][@"sections"]) {
+            [str appendString:section[@"text"]];
+        }
+        NSString *htmlStr = [NSString stringWithString:str];
+
+        [self.webView loadHTMLString:htmlStr baseURL:baseUrl];
+    }];
+    
+}
 @end
diff --git a/Wikipedia-iOS/Wikipedia-iOS-Info.plist 
b/Wikipedia-iOS/Wikipedia-iOS-Info.plist
index dab4fc5..e91858b 100644
--- a/Wikipedia-iOS/Wikipedia-iOS-Info.plist
+++ b/Wikipedia-iOS/Wikipedia-iOS-Info.plist
@@ -27,7 +27,7 @@
        <key>UIMainStoryboardFile</key>
        <string>Main_iPhone</string>
        <key>UIMainStoryboardFile~ipad</key>
-       <string>Main_iPad</string>
+       <string>Main_iPhone</string>
        <key>UIRequiredDeviceCapabilities</key>
        <array>
                <string>armv7</string>
diff --git a/Wikipedia-iOS/empty.png b/Wikipedia-iOS/empty.png
new file mode 100644
index 0000000..1976b7b
--- /dev/null
+++ b/Wikipedia-iOS/empty.png
Binary files differ

-- 
To view, visit https://gerrit.wikimedia.org/r/92309
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I66d9b98ad9bfc9e66804bd629e965c78b6672382
Gerrit-PatchSet: 1
Gerrit-Project: apps/ios/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Brion VIBBER <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to