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