#421
- UploadActivity.UploadUiFragment: added additional picasa upload case
to the checkNoUploadImageSelectedResult. Also fixed one of the already
present cases (removed ')') symbol
- AndroidMainfest.xml: changed version information
#449 #450

#449
- GalleryFragment.GalleryAdapterExt: added overridden method
checkNeedToLoadNextPage to return proper results for super item count
and super item position
- EndlessAdapter: added variation of checkNeedToLoadNextPage method with
the count parameter
- ImageFlowUtils.ItemGroupWrapper: added
- ImageFlowUtils: changed field itemGroups type
- ImageFlowUtils: added methdo getSuperItemPositionForGroupPosition
- ImageFlowUtils: modified getGroupItem method to return group list data
from ItemGroupWrapper

#450
- GalleryFragment.GalleryAdapterExt: added overridden method
deleteItemAt which notify imageFlowUtils about item deletion
- ImageFlowUtils: added new fields lastUsedWidth and lastIndex
- ImageFlowUtils: extracted method getRatio and replaced occurrences in
the calculateImageHeightResult, buildGroups and getSingleImageView
methods
- ImageFlowUtils: modified buildGroups method to do not repeat group
building work for not modified groups in case items are only appended
- ImageFlowUtils: added new methods onGroupsStructureModified
#451
- res/layout/activity_upload.xml,
res/layout/fragment_snc_upload_settings.xml: adjusted input type for
title edit text to be textCapSentences instead of textCapWords
#452
- HomeFragment: added shareViaSystem method
- HomeFragment.OnMenuItemClickListener: added handling of
menu_share_system click
- PhotoDetailsActivity.PhotoDetailsUiFragment: added handling of
menu_share_system to the onOptionsItemSelected method
- PhotoDetailsActivity.PhotoDetailsUiFragment: added new method
shareActivePhotoViaSystem
- PhotoDetailsActivity.PhotoDetailsUiFragment.PhotoDetailsPagerAdapter:
removed some unused overridden methods: finishUpdate, restoreState,
saveState, startUpdate
- ShareUtils: added shareViaSystem method
- res/menu/photo_details.xml: added system share menu item to share menu
- res/menu/share.xml: added system share menu and formatted file
- res/values/strings.xm res/values-ru/strings.xml: added strings
constants related to system share feature
#453
- AlbumCreateFragment, FacebooFragment, PhotoDetailsEditFragment,
TwitterFragment: replaced dismiss call with the dismissAllowingStateLoss
call to avoid possible IllegalStateException when home button is pressed 
http://stackoverflow.com/a/10275071/527759
Misc fixes
- NavigationHandlerFragment: fixed tacking of navigation item click to
handle what fragment is selected
- ImageCacheUtils: fixed TAG constant
- PhotoUtils: added generatePhotoTitle method
- NewPhotoObserver: fixed determining of mime type by extension in the
getMimeType. Extension should be in lower case, otherwise null value is
received
- UploaderService: added title generating code to the handleIntent
method (currently commented)
- HorizontalListView: fixed fillListRight method to do not remove most
left view in some cases
- ImageUtils: added new constants for mime datetime
- ImageUtils: added new methods getExifDateTime (2 variations)
#448
- SyncImageSelectionFragment: changed type of photosGrid to
StickyGridHeadersGridView
- SyncImageSelectionFragment: replaced setNumbColumn with reseting of
item height of adapter in the onDetach method
- SyncImageSelectionFragment: added dummy adapter for photos grid to the
on init method to avoid errors of StickyGridHeaders
- SyncImageSelectionFragment: replaced initiated check in the view tree
observer in the init method with the item height check. Removed
setNumbColumns call
- SyncImageSelectionFragment: changed condition for the refresh call in
the init method (grid adapter is not null anymore, it is either set or
is dummy)
- SyncImageSelectionFragment.ImageData: added additional field folder
and its handling to the constructor and parcelable implementation
- SyncImageSelectionFragment.ImageData: added new method
getFolderFromPath
- SyncImageSelectionFragment.InitTask: replaced setAdapter(null) with
setting of dummy adapter to photosGrid such as StickyGridHeaders doesn't
support null adapter on the onPreExecute method
- SyncImageSelectionFragment.DummyImageAdapter: added
- SyncImageSelectionFragment.CustomImageAdapter: now it implements
StickyGridHeadersSimpleAdapter
- SyncImageSelectionFragment.CustomImageAdapter: added viewholder
optimization to the getViewAdditional method
- SyncImageSelectionFragment.CustomImageAdapter: added new methods
implementation: getHeaderId, getHeaderView
- SyncImageSelectionFragment.CustomImageAdapter.ViewHolder: added
- SyncImageSelectionFragment.CustomImageAdapter.HeaderViewHolder: added
- SyncImageSelectionFragment.ImageAdapter: removed fields mNumColumns,
mActionBarHeight. Added inflater field. Removed setNumbColumns and
getNumColumns methods
- SyncImageSelectionFragment.ImageAdapter: removed top row handling from
the getView method
- SyncImageSelectionFragment.CustomImageWorkerAdapter: updated sorting
in the sort method to be by folder first and then by processed/not
processed
- /res/layout/fragment_sync_select_photos.xml: replaced GridView with
StickyGridHeadersGridView
- /res/layout/sync_category_separator.xml: added
- /project.properties: removed PhotoView library (now it is included as
source folder) and added StickyGridHeaders library
- /submodules/StickyGridHeaders: added
- /.classpath: added photoview src folder and adt 22 library export
record
- /.project: added new linked resource and variable
Misc fixes
- /submodules/PhotoView: updated to new version
Updating to ADT 22
- /submodules/StickyGridHeaders: switched to latest master revision
- .gitmodules: updated StickyGridHeaders path
- switched to Android SDK 4.3
- AndroidManifest.xml: updated target sdk to 18
- project.properties: updated target to android-18
- submodules/StickyGridHeaders: updated to latest master revision
Issue 454
- FacebookFragment: added condition to use token generation for any
photo even public to the init, sharePhoto methods
- TwitterFragment: removed photo is private check in the init method for
the token generation call
- PhotoUtils: added new variation of getShareUrl method which appends
token by default
- UploaderService: added share token exist validation to the
shareOnFacebook and shareOnTwitter methods
- ShareUtils: replaced getShareUrl call with another default variation
in the shareViaEMail and shareViaSystem methods
- ShareUtils: removed photo is private check condition and added always
use share token exist validation to the shareViaEMail and shareViaSystem
methods
Misc fixes
- GalleryFragment: added unregistering of current global on layout
listener in the refresh method
- GalleryFragment.GalleryAdapterExt: added
imageFlowUtils.onGroupsStructureModified() call to the deleteItemAt
method
Revert "#413 - PhotoViewHackyViewPager: added workaround to prevent crashing on ArrayIndexOutOfBoundsException"

This reverts commit 73780d5a27bd526782a160c585610e31a8164ee3.
Card #15 (Remove the Latest Activity (Home) and make Gallery as the main
screen)
app:
- HomeFragment.StartNowHandler: moved
- HomeFragment: removed
- GalleryFragment.StartNowHandler: moved from HomeFragment
- GalleryFragment: added showStartNowNotification method which is moved
from HomeFragment
- MainActivity: changed reference to StartNowHandler
- MainActivity: updated index to Gallery in the syncStarted method
- MainActivity: removed HomeFragment handling from the photoDeleted,
photoUpdated, photoUploaded methods
- NavigationHandlerFragment: removed HOME_INDEX constant and adjusted
values for other index constants
- NavigationHandlerFragment: removed adding of HomeFragment in the
initPager method
- NavigationHandlerFragment: getHomeFragment method removed

test:
- MainActivityTest: removed HomeFragment references
Issue #459 (Card 7) (Multi-site login)
app:
- AccountLogin.LogInFragment, AccountSignup.NewUserFragment: now it
implements LoginActionHandler
- AccountLogin.LogInFragment, AccountSignup.NewUserFragment: added
static fields sCurrentInstance and sCurrentInstanceAccessor
- AccountLogin.LogInFragment, AccountSignup.NewUserFragment: added new
fields mDelayedLoginProcess, mLastResponse
- AccountLogin.LogInFragment, AccountSignup.NewUserFragment: added
implementation of onCreate and onDestroy to init sCurrentInstance static
field
- AccountLogin.LogInFragment, AccountSignup.NewUserFragment,
GoogleLoginFragment: added new methods processLoginCredentials,
processLoginResponse, onViewCreated
- AccountLogin.LogInFragment.LogInUserTask,
AccountSignup.NewUserFragment.NewUserTask,
GoogleLoginFragment.LogInUserTask: reworked
onSuccessPostExecuteAdditional method to call processLoginResonse or
schedule delayed login processing depend on fragment-activity attached
state
- GoogleLoginFragment: renamed currentInstance field to
sCurrentInstance, requestCode to mRequestCode, delayedLoggedIn to
mDelayedLoginProcessing
- GoogleLoginFragment: added new static field sCurrentInstanceAccessor
- GoogleLoginFragment: added new field mLastResponse
- GoogleLoginFragment: removed method onLoggedIn and reworked
onViewCreated to call processLoginResonse
- SetupActivity: replaced getActivity with getSupportActivity call for
OAuthUtils.askOAuth call
- Credentials: added
- AccountTroveboxResponse: removed different credentials field and added
mCredentials field
- AccountTroveboxResponse: reworked constructor to support array of
credentials in the json result
- OAuthUtils: replaced Activity reference in import with HE one
- LoginUtils: added new methods: onLoggedIn,
processSuccessfulLoginResult, performLogin
- LoginUtils.SelectAccountSelectedActionHandler: added
- LoginUtils.LoginActionHandler: added
- LoginUtils.SelectAccountDialogFragment: added
- res/values/strings.xml, res/values-ru/strings.xml: added
select_trovebox_account constant

test:
- CredentialsTest: added
- AccountTroveboxApiTest: modified to use credentials reference from the
modified AccountTroveboxResponse
- AccountTroveboxResponseTest: added
- res/raw/json_credentials.txt: added
- res/raw/json_login_multiple.txt: added
- res/raw/json_login_simple.txt: added
Issue #466 (Card 14)
- NavigationHandlerFragment: removed ":" from the setActoinBarTitle call
such as no more "trovebox" text is used in the actionbar logo
- res/drawable-x/actionbar_logo.pnog: replaced with icon only logo
Issue #463 (Card 13) (Display name of album in header when viewing an
album.)
- AlbumsFragment: updated call of the galleryOpenControl with the whole
album object parameter in the onItemClick method
- GalleryFragment: updated type of mAlbum name to Album
- GalleryFragment: updated EXTRA_ALBUM extra read/write to parcelable
type in the onSaveInstanceState, onCreateView, refresh methods
- GalleryFragment: added getAlbum method
- GalleryFragment: updated mAlbum reading from intent and
GalleryAdapterExt constructor call in the refresh method
- MainActivity: updated openGallery method declaration accordingly to
parent interface call
- NavigationHandlerFragment.FragmentWrapper: added new field
dynamicTitleGenerator and renamed field runOnReselect to the
mRunOnReselect
- NavigationHandlerFragment.FragmentWrapper: added getActionbarTitle
method
- NavigationHandlerFragment: added init of dynamicTitleGenerator field
for thw gallery fragment wrapper to the initPager method. Also added
resetting of actionbar title call to the runOnReselect handler for the
gallery fragment.
- NavigationHandlerFragment: added setActionBarTitle method
- NavigationHandlerFragment.FragmentAdapter: extracted actionbar title
setting code to the separate method setActionBarTitle
- GalleryOpenControl: updated type of album field in the openGallery
method declaration
Card 18 (Add parameter skipEmpty=1 in the album/list.json to not return
empty albums)
- ITroveboxApi: added additional parameters skipEmpty to getAlbums
method declaration
- TroveboxApi: added skipEmpty parameter support to the getAlbums method
implementation
- AlbumsEndlessAdapter: added additional required parameter to the
mTroveboxApi.getAlbums call to skip empty albums