Issue #464 (Card 12) (If collaborator has access >= 1 album then load
the first album by default into the gallery)

app:
- AccountFragment: replaced runWithProfileResponseAsync with the
runWithProfileInformationAsync in the refresh method
- AccountFragment: modified initView method signature: updated parameter
type
- GalleryFragment: added new fields mTitleChangedHandler,
mSkipPermissionsCheck, mCollaboratorAlbumRunnable
- GalleryFragment: added mSkipPermissionsCheck null assignment to the
onCreateView method
- GalleryFragment: added mTitleChangedHandler initalization to the
onAttach method
- GalleryFragment: added additional conditions for the adaptor
construction to the refresh method
- GalleryFragment: added cancelling of mCollaboratorAlbumRunnable to the
onDestroyView and pageDeactivated methods
- GalleryFragment.CollaboratorAlbumRunnable: added
- MainActivity: now it implements TitleChangedHandler. Added
titleChanged method implementation
- NavigationHandlerFragment: added refreshActionBarTitle method
- NavigationHandlerFragment.TitleChangedHandler: added
- ProfileInformation: added
- AlbumUtils: added getAlbumAndRunAsync method
- AlbumUtils.GetAlbumTask: added
- AlbumResponse: removed isSuccess implementation such as create and get
albums api have different success codes but both uses AlbumResponse to
represent result
- ITroveboxApi: added getAlbum method declaration
- ITroveboxApi: modified getProfile method declaration: added
includeViewer parameter
- ProfileResponse: moved all profile information fields to the separate
class ProfileInformation. This class is parcelable. All fields replaced
by one mProfileInformation
- ProfileResponseUtils: added new methods runWithProfileInformationAsync
and runWithProfileInformationAsync
- ProfileResponseUtils: updated signature of
runWithProfileResponseAsync: added additional includeViewer parameter
- ProfileResponseUtils.RetrieveProfileInformationTask: added additional
field and constructor parameter includeViewer
- ProfileResponseUtils.RetrieveProfileInformationTask: updated
getProfile api call with the new includeViewer parameter
- ProfileResponseUtils.RetrieveProfileInformationTask: renamed private
fields to start with m
- TroveboxApi: added getAlbum method implementation
- TroveboxApi: modified getProfile implementation to support new
includeViewer parameter
- TroveboxResponse.RequestType: added ALBUM enum constant
- AccountLimitUtils: updated runWithProfileResponseAsync with the
required includeViewer in the
tryToRefreshLimitInformationAndRunInContextAsync method
- AccountLimitUtils: updated saveLimitInformationToCache method
accordingly to the ProfileResponse datamodel changes
- AccountLimitUtils: added required includeViewer parameter to the
getProfile call in the updateLimitInformationCache method
- PurchaseController: replaced runWithProfileResponseAsync with the
runWithProfileInformationAsync in the purchaseMonthlySubscription method
- res/values/strings.xml, res/values-ru/strings.xml: added
errorCouldNotGetAlbum constant

test:
- ProfileInformationTest: added
- ProfileResponseTest: updated testResponse suchs as ProfileResponse
changed structure
- ProfileResponseTest: added testResponseWithViewer test
- res/raw/json_profile_information.txt: added
- res/raw/json_profile_information2.txt: added
- res/raw/json_profile_response_with_viewer.txt: added