Brion VIBBER has submitted this change and it was merged.
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(-)
Approvals:
Brion VIBBER: Verified; Looks good to me, approved
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§ions=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: merged
Gerrit-Change-Id: I66d9b98ad9bfc9e66804bd629e965c78b6672382
Gerrit-PatchSet: 1
Gerrit-Project: apps/ios/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits