Timur Pocheptsov [Tue, 17 Sep 2013 16:24:03 +0000 (18:24 +0200)]
Fix:
A tint color for navigation items/bars in the "Credits" and "Settings" views/controllers (iPhone version).
Slider controls' track color (dark gray now, otherwise it's simply invisible).
Timur Pocheptsov [Tue, 17 Sep 2013 16:17:39 +0000 (18:17 +0200)]
Fix the nav. bar tint color for the "Credits" view/controller.
Timur Pocheptsov [Tue, 17 Sep 2013 16:05:11 +0000 (18:05 +0200)]
Connect UI elements to the controller's methods.
Timur Pocheptsov [Tue, 17 Sep 2013 15:58:35 +0000 (17:58 +0200)]
Set min/max current values for sliders.
Timur Pocheptsov [Tue, 17 Sep 2013 15:54:53 +0000 (17:54 +0200)]
Fix the iPad_iOS7 storyboard - "Settings" view/controller.
Timur Pocheptsov [Tue, 17 Sep 2013 14:13:11 +0000 (16:13 +0200)]
Supress a warning.
Timur Pocheptsov [Tue, 17 Sep 2013 14:11:32 +0000 (16:11 +0200)]
Suppress "dead store" warning from the static analyzer.
Timur Pocheptsov [Tue, 17 Sep 2013 14:04:05 +0000 (16:04 +0200)]
On iPad I can still have a normal title on a button though.
Timur Pocheptsov [Tue, 17 Sep 2013 13:54:11 +0000 (15:54 +0200)]
With DOS-like GUI of the 21-st century (I mean new iOS of course) it's not
clear, where is the button and there is the title. So everything looks
like a piece of ... beauty. To avoid this undesired and uninvited "improvement"
from Apple I have to shorten the button's text (though button never will look like button,
since DOS is DOS).
Timur Pocheptsov [Tue, 17 Sep 2013 13:28:27 +0000 (15:28 +0200)]
More problems with scroll views, gesture recognizers etc.
Timur Pocheptsov [Tue, 17 Sep 2013 11:14:17 +0000 (13:14 +0200)]
Fix a broken (OS 7) even display view controller:
after the push the order of calls seems to be different: first the scrollToPage is executed (while GUI is not created),
when controller is really pushed.
Timur Pocheptsov [Tue, 17 Sep 2013 10:44:09 +0000 (12:44 +0200)]
Fix the broken scroll view.
Timur Pocheptsov [Tue, 17 Sep 2013 10:29:21 +0000 (12:29 +0200)]
Photo browser is also broken - nav bar is not hidden in a landscape (whywhywhywhwywhywhwyhwyhwywy)
Timur Pocheptsov [Tue, 17 Sep 2013 10:07:05 +0000 (12:07 +0200)]
Use the correct storyboard file in runtime. Disable auto-layour crap, it crashes the app now.
Timur Pocheptsov [Tue, 17 Sep 2013 09:52:55 +0000 (11:52 +0200)]
Storyboard for iPhone/iOS7.
Timur Pocheptsov [Tue, 17 Sep 2013 08:45:02 +0000 (10:45 +0200)]
Use the correct storyboard file on iOS 7. Fix a new nice bug,
never seen this before: UIScrollView keeps sending messages to the delegate,
even if the delegate (UIViewController) was removed from the navigation stack.
Timur Pocheptsov [Mon, 16 Sep 2013 17:45:13 +0000 (19:45 +0200)]
Center the menu items' text (do not use descender).
Timur Pocheptsov [Mon, 16 Sep 2013 17:25:58 +0000 (19:25 +0200)]
Table view animation is broken (or is it new feature of iOS?)
Anyway, twitter view is broken. Make it more "DOS-like" and remove all
custom drawing, to make it look not like a complete crap (still is crap though).
Tomorrow is definitely coming to/with Apple.
Timur Pocheptsov [Mon, 16 Sep 2013 15:11:19 +0000 (17:11 +0200)]
Text rendering is a bit different now - do not use descender on OS 7.
Timur Pocheptsov [Mon, 16 Sep 2013 14:40:38 +0000 (16:40 +0200)]
Fix the navigation bar's color for the remaining controllers.
Timur Pocheptsov [Mon, 16 Sep 2013 14:20:31 +0000 (16:20 +0200)]
Quite a strange bug in a new OS - view with a gesture recognizer intercepts
a gesture from the child view with a gesture recognizer (technically, hidden view receives events
instead of top-level visible view), breaking all user interactions - it's a really nice improvement,
many thanks.
This is an attempt to fix it. Also, disable stupid gesture recognizer they attached to a navigation controller's view -
it also breaks everything. Better and better.
Timur Pocheptsov [Fri, 13 Sep 2013 15:13:40 +0000 (17:13 +0200)]
Win 3.11 looks vastly superior after white navigation bar in iOS 7.
Make it blue (it does not fix the fact how ugly new UI is though).
Timur Pocheptsov [Fri, 13 Sep 2013 13:16:29 +0000 (15:16 +0200)]
Quite a weird piece of code, have no idea why it exists at all and
why it works on iOS 6. Good it's broken on iOS 7 - can remove it now.
Timur Pocheptsov [Fri, 13 Sep 2013 12:22:03 +0000 (14:22 +0200)]
Fix photo browser - disable transparent navigatino bars, otherwise
Apple starts thinking different and screwes everything just to ... show that this
crap is transparent - yes, the best way to do this is to move you text view/image view under the semi-transparent object,
but f... I did not ask about it!!! I want my geometry back, Apple!!
Timur Pocheptsov [Fri, 13 Sep 2013 11:49:13 +0000 (13:49 +0200)]
Remove a commented code.
Timur Pocheptsov [Fri, 13 Sep 2013 11:46:34 +0000 (13:46 +0200)]
Looks like font metrics are now different for the same given file
on iOS7/iOS6 - as a result the text is misplaced and the "newspaper view" is screwed up,
if I render text with manual layout (to have my nice hyphenation). Well, that's a trick to fix it.
Timur Pocheptsov [Fri, 13 Sep 2013 07:27:51 +0000 (09:27 +0200)]
Remove ".app" part from an alert's name.
Timur Pocheptsov [Fri, 13 Sep 2013 07:25:16 +0000 (09:25 +0200)]
Add an explicit cast to supress a warning.
Timur Pocheptsov [Thu, 12 Sep 2013 15:54:53 +0000 (17:54 +0200)]
Ooops. Merge branch 'master' of https://root.cern.ch/git/cern-app
Fons Rademakers [Thu, 12 Sep 2013 15:55:07 +0000 (17:55 +0200)]
fixes for 64-bit support.
Timur Pocheptsov [Thu, 12 Sep 2013 15:53:11 +0000 (17:53 +0200)]
To be able to deal with devastating changes in upcoming iOS7 and
still have a working version for iOS 6 - create separate storyboards for both iPhone/iPad devices.
Add a code to request iOS version on a device to make runtime deceisions about storyboards.
Fons Rademakers [Thu, 12 Sep 2013 10:05:46 +0000 (12:05 +0200)]
first batch of fixes for Xcode 5, iOS 7 and 64-bit support.
Timur Pocheptsov [Wed, 11 Sep 2013 16:34:08 +0000 (18:34 +0200)]
Remove wrong comments.
Timur Pocheptsov [Wed, 11 Sep 2013 16:31:08 +0000 (18:31 +0200)]
APNs on iPad (in a bulletin they are broken at the moment).
Timur Pocheptsov [Wed, 11 Sep 2013 14:10:46 +0000 (16:10 +0200)]
When user taps on an APN hint view - start refreshing (both a bulletin and new view controllers).
Timur Pocheptsov [Wed, 11 Sep 2013 11:43:56 +0000 (13:43 +0200)]
Implement an empty setter for the 'apnID' property.
Timur Pocheptsov [Wed, 11 Sep 2013 11:13:44 +0000 (13:13 +0200)]
CERNLive.plist now must contain unique identifiers for feeds to cache or dispatch APNs.
Timur Pocheptsov [Tue, 10 Sep 2013 15:03:21 +0000 (17:03 +0200)]
Replace the "broken" CERNLive.plist.
Timur Pocheptsov [Tue, 10 Sep 2013 14:45:48 +0000 (16:45 +0200)]
APN hints in the menu, nav bar, etc. show/hide when APN received/data refreshed.
Timur Pocheptsov [Tue, 10 Sep 2013 11:51:25 +0000 (13:51 +0200)]
Change the APN machinery. Since we can "accumulate" notifications,
I need the number of new items from the payload. Also, hint
is not removed now when menu item selected: since we are caching feeds,
it's possible to open cached feed without actual refresh and so
I can not immediately hide a hint view on this menu item.
Unfortunately, I also have to "propagate" APN handling to content providers,
since it's a content provider who deals with controller and controller
also have to know about the number of new items to show a hint in a
navigation bar.
TODO: since at the beginning we did not have APNs and all three parts
(content providers, menu items, menu item views) were quite decoupled,
things are getting quite ugly/repetitive and twisted - to be redesigned in
the future version.
Timur Pocheptsov [Tue, 10 Sep 2013 10:01:35 +0000 (12:01 +0200)]
Change file locations.
Timur Pocheptsov [Mon, 9 Sep 2013 15:05:05 +0000 (17:05 +0200)]
Add a news feed for AMS.
Timur Pocheptsov [Mon, 9 Sep 2013 14:21:23 +0000 (16:21 +0200)]
Remove 'updated.png'.
Timur Pocheptsov [Mon, 9 Sep 2013 14:17:57 +0000 (16:17 +0200)]
1. Payload format has changed - now I also have a number of new items for every updated feed/view.
2.Add a new APN hint view - to be used instead of simple UIImageView with 'updated.png' -
also renders a text (number of updates).
3.Fix a bug in iPad feed view controller.
4. Delete timestamp-related code.
Timur Pocheptsov [Fri, 6 Sep 2013 13:42:52 +0000 (15:42 +0200)]
Remove the date comparison :( Timezone, time everything can be set to the
wrong values and notification will be swallowed.
Timur Pocheptsov [Fri, 6 Sep 2013 13:01:15 +0000 (15:01 +0200)]
Use a shorter timeout when updating the menu from the remote plist:
Since we check for the notifications only after menu was reloaded,
there is not reason to wait the standard 60 seconds for the menu update to fail (if there are network-related probles) -
if the app started from the notificatino center, it's good to see what was new as soon as possible (well, 10 s. is enough).
Timur Pocheptsov [Fri, 6 Sep 2013 12:42:32 +0000 (14:42 +0200)]
Use "HH" format, otherwise 12:20 after becomes 22:20 GMT.
Timur Pocheptsov [Fri, 6 Sep 2013 11:54:36 +0000 (13:54 +0200)]
Use a string as a key for a GMT timestamp.
1. Use NSUserDefaults for this timestamp, not runtime dictionary (== persistent vs. one-session-only).
2. If notification received, check the date, when it was generated with item's timestamp: do nothing,
if item was updated AFTER the notification sent - obviously, nothing is new already at this point.
Otherwise - higlight this item.
3. Check for notification ONLY AFTER the menu was reloaded, otherwise, in the reloaded menu all
APN hints will ne lost.
Timur Pocheptsov [Wed, 4 Sep 2013 14:43:57 +0000 (16:43 +0200)]
Request our server about pending notifications.
Timur Pocheptsov [Wed, 4 Sep 2013 10:32:08 +0000 (12:32 +0200)]
Make an app's cache more generic: instead of exact type (both for data and keys)
use NSObject * and NSObject<NSCopying> *.
Timur Pocheptsov [Wed, 4 Sep 2013 10:00:34 +0000 (12:00 +0200)]
Use cgi module in register_token script, add named parameter device_token.
Timur Pocheptsov [Wed, 4 Sep 2013 09:30:43 +0000 (11:30 +0200)]
Switch to the new thumbnail generating script (using cgi module and named parameters).
Timur Pocheptsov [Wed, 4 Sep 2013 09:13:53 +0000 (11:13 +0200)]
Switch to readability_v2 script.
Use parameters and cgi module to extract them.
Timur Pocheptsov [Wed, 4 Sep 2013 06:51:59 +0000 (08:51 +0200)]
Use update_token script, not register_token.
Timur Pocheptsov [Tue, 3 Sep 2013 15:45:03 +0000 (17:45 +0200)]
Enable (non DB) feeds' app-delegate cache on iPad.
Timur Pocheptsov [Tue, 3 Sep 2013 15:10:32 +0000 (17:10 +0200)]
There is no viewDidAppear more in a TileViewController, so I can remove ivar
to check if it's a first call.
Timur Pocheptsov [Tue, 3 Sep 2013 14:33:08 +0000 (16:33 +0200)]
APN is unreliable, after some time (if device is locked) it's not
already possible to receive any information from the APN about the notification we got (while locked).
So I have to implement this non-existing features on a server's side and also extend the app to work with
such features:
1. Add a timestamp for a feed(s) loaded for every controller/item working with APN.
2. Add a cache ID for DB and app's internal cache.
3. Add an apn ID into the view controllers (making timestamps) to communicate with APN and our server.
Timur Pocheptsov [Tue, 3 Sep 2013 09:11:41 +0000 (11:11 +0200)]
Do not try to register app token, if it was done before and if token, returned
but APN is still the same. If the token is new - create an update request.
Timur Pocheptsov [Mon, 2 Sep 2013 13:57:43 +0000 (15:57 +0200)]
Ooops, I was constantly re-loading thumbnails for the bulletin's table,
though I can now re-use cached images.
Timur Pocheptsov [Mon, 2 Sep 2013 13:22:21 +0000 (15:22 +0200)]
When the bulletin view loaded from DB cache,
show activity indicator in a navigation bar, no in the
screen's center.
Timur Pocheptsov [Mon, 2 Sep 2013 13:10:58 +0000 (15:10 +0200)]
didReceiveMemoryWarning - the app delegate should delete all the cached data.
Timur Pocheptsov [Mon, 2 Sep 2013 13:02:02 +0000 (15:02 +0200)]
1. Write/read DB entries for the CERN Bulletin on iPhone
(previously worked only on iPad).
2. Before reading the DB, check, if the app delegate has
cached data for the feeed and if yes - use it (and do
not reload/reparse).
3. Fix thumbnails for the bulletin: I have some strange problem with
reloading table rows (to be investigated yet).
4. When feed parsed, cache in the app's delegate (not in DB only).
Timur Pocheptsov [Mon, 2 Sep 2013 10:23:06 +0000 (12:23 +0200)]
Since only the app delegate and the shared application (well, plus main window and the root view controller)
lives long enough (longer, than any specific view/controller), add methods to cache parsed feeds - it's
quite annoying that app loads/parses feeds every time you select a new menu item (it's very possible,
we open "General", "Bulletin" and "General" again, no need to parse "General" if the first try was
successfull (unless user asks to refresh).
Timur Pocheptsov [Wed, 21 Aug 2013 12:03:17 +0000 (14:03 +0200)]
If the current open category has received APN, do not add an APN hint to the menu item,
since the item is open already (and just requires refresh).
Timur Pocheptsov [Wed, 21 Aug 2013 10:53:35 +0000 (12:53 +0200)]
Instead of pseudo-3D "aqual-like" icon, use more naturally looking (in the context)
flat icon. Do not render image directly: on iPad, when rotating, view is not repainted, but
its bacgkround store re-used (probably scaled), so nice circle suddenly became freaking ugly ellipse.
Use UIImageView as image holder instead.
Timur Pocheptsov [Wed, 21 Aug 2013 09:55:14 +0000 (11:55 +0200)]
Do not add APN to the same item twice, even if we received several APNs for on item id.
Timur Pocheptsov [Wed, 21 Aug 2013 09:29:56 +0000 (11:29 +0200)]
Image sizes.
Timur Pocheptsov [Wed, 21 Aug 2013 09:27:29 +0000 (11:27 +0200)]
Image modified?
Timur Pocheptsov [Wed, 21 Aug 2013 09:12:58 +0000 (11:12 +0200)]
When processing APN in MenuViewController, set menu item hints for
updated items.
Timur Pocheptsov [Wed, 21 Aug 2013 08:55:59 +0000 (10:55 +0200)]
Add methods to enable attaching APNs to menu items.
Timur Pocheptsov [Wed, 21 Aug 2013 08:34:38 +0000 (10:34 +0200)]
Menu item view - if item has an APN, show small info icon ("bulb-like").
Timur Pocheptsov [Wed, 21 Aug 2013 08:18:19 +0000 (10:18 +0200)]
Add a small icon to show updated menu item (the one we have a push notification for).
In checkPushNotification unconditionally remove all badges - APN is half-baked as everything
done by ..., so if we receive a bunch of notifications while app is not active,
after the user starts app in a normal way (tapping an icon) - there is no way to receive these notifications
and the badge sticks forever to the app's icon (well, until we explicitly remove them all in a code).
Timur Pocheptsov [Tue, 20 Aug 2013 15:42:55 +0000 (17:42 +0200)]
Check push notifications after menu was loaded the first time (app started, probably because of a push notification).
Timur Pocheptsov [Tue, 20 Aug 2013 15:34:42 +0000 (17:34 +0200)]
Simplify the statement.
Timur Pocheptsov [Tue, 20 Aug 2013 15:21:00 +0000 (17:21 +0200)]
Fix an assert message.
Timur Pocheptsov [Tue, 20 Aug 2013 15:14:31 +0000 (17:14 +0200)]
Set item's id for a NavigationViewProvider (otherwise name for some categories not found when handling APN).
Timur Pocheptsov [Tue, 20 Aug 2013 15:04:26 +0000 (17:04 +0200)]
Initial version of a push notification handling.
Timur Pocheptsov [Tue, 20 Aug 2013 12:16:51 +0000 (14:16 +0200)]
Read and save meni item ids from plists.
Timur Pocheptsov [Tue, 20 Aug 2013 11:38:32 +0000 (13:38 +0200)]
itemID must be integer, not a string.
Timur Pocheptsov [Tue, 20 Aug 2013 11:36:55 +0000 (13:36 +0200)]
Menu item ids for the "LIVE" menu group.
Timur Pocheptsov [Tue, 20 Aug 2013 11:33:38 +0000 (13:33 +0200)]
Add menu itmes' IDs for APN.
Timur Pocheptsov [Tue, 20 Aug 2013 10:25:27 +0000 (12:25 +0200)]
Now that I have push notification service, I have somehow to identify
which category was updated to send this ID from a server as a notification payload.
On app side this ID has to be converted into the category name.
Timur Pocheptsov [Mon, 19 Aug 2013 11:55:22 +0000 (13:55 +0200)]
After app started, request APN token for the device and
send it to our server for a registration.
Timur Pocheptsov [Mon, 19 Aug 2013 10:56:44 +0000 (12:56 +0200)]
Add a function to generate a device token registration request.
Timur Pocheptsov [Fri, 16 Aug 2013 13:51:42 +0000 (15:51 +0200)]
Use thumbnails from cernapp on iPad also.
Timur Pocheptsov [Fri, 16 Aug 2013 12:31:57 +0000 (14:31 +0200)]
Now as I'm trying to create thumbnails for articles on a server-side
ask our server for thumbnail for an article
(before we had to download huge images and downscale them, not to be killed by iOS, but
still network-traffic was probably quite .... not too small :) ).
Timur Pocheptsov [Thu, 15 Aug 2013 13:59:30 +0000 (15:59 +0200)]
Add a "Press release" menu item.
Timur Pocheptsov [Thu, 8 Aug 2013 14:22:09 +0000 (16:22 +0200)]
Nice Twitter birdier.
Fons Rademakers [Thu, 8 Aug 2013 14:10:59 +0000 (16:10 +0200)]
add provisioning profile setting.
Timur Pocheptsov [Thu, 8 Aug 2013 13:58:36 +0000 (15:58 +0200)]
Add CERN's twitter (MENU.plist) and a new icon for this menu item.
Timur Pocheptsov [Wed, 7 Aug 2013 10:33:04 +0000 (12:33 +0200)]
v. 1-03-00
Timur Pocheptsov [Wed, 7 Aug 2013 10:15:06 +0000 (12:15 +0200)]
Increate the version
Timur Pocheptsov [Wed, 31 Jul 2013 13:49:51 +0000 (15:49 +0200)]
While parsing the "General" feed, Apple's NSXMLParser eats up to 20 MB of memory
(hehe, "think different", 20 MB to parse 200 Kb!!!) so may be it's not a good
idea to parse "General" as a response to a memory warning. In this case,
skip the "General" and find something not so heavy.
Timur Pocheptsov [Wed, 31 Jul 2013 13:24:13 +0000 (15:24 +0200)]
Keep it simple, .... smart.
Instead of fighting for memory in every possible view and controller with
f..g twisted logic and additional super-complications (and more and more and
more testing required) ... just replace the top view controller in a slider
with a feed view controller thus deleting and reloading everything.
Well, it can happen that I'll receive this message again, while processing the
previous one ... but in this case nothing can help.
Timur Pocheptsov [Wed, 31 Jul 2013 13:08:28 +0000 (15:08 +0200)]
iPhone: implement didReceiveMemoryWarning for
different feed table view controllers + article detailed view controller.
Timur Pocheptsov [Tue, 30 Jul 2013 12:23:06 +0000 (14:23 +0200)]
Ok, at the last moment I suddenly noticed, that shouldAutorotate is
never gets called on any controller in the hierarchy thus assert in tiled view controller
gracefully fails killing the app (if we're a flipping a page and rotating the device at the same moment).
Also, videos view/controller should support both the landscape and the portrait orientation on iPad.
Timur Pocheptsov [Tue, 30 Jul 2013 10:00:10 +0000 (12:00 +0200)]
During the transition "Readability view" <-> "Web view" ignore all user interactions to
avoid some unpredictable and undesired behaviour.
Timur Pocheptsov [Mon, 29 Jul 2013 16:02:36 +0000 (18:02 +0200)]
While we do an animation, even if refresh operation is finished -
do not update FlipView before animation completed (the same problem
was fixed a week ago in a news feed view controller).
Timur Pocheptsov [Mon, 29 Jul 2013 15:50:43 +0000 (17:50 +0200)]
In refresh, when loading from the temporary cache, show flip hints ONLY
when we are on the first/last page.
Timur Pocheptsov [Mon, 29 Jul 2013 15:32:09 +0000 (17:32 +0200)]
Do not show error alert (network problems) from NewsFeedViewController, if it's not on the
top of the navigation stack, otherwise, we see this alert in an article view (probably successfully loaded).