cae8f1d Create new release: 3.4 (126)
aafb869 Merge pull request #211 from sam2kb/fix/original-video-buffering
290e151 Merge pull request #212 from sam2kb/fix/ci-google-services-fallback
a37940e Fix CI: fallback to google-services.example when secrets unavailable
5fa745f Fix original video buffering and stuttering
a5a7924 Move mediaslider to this repo - part 2
f2c72dc Move mediaslider to this repo - part 1
7aef784 Merge pull request #206 from hraabis/feature/panorama-scrolling
992de98 Update TouchImageView.kt, refactor code to reduce redundancy and improve panorama scrolling. Reduce animation functions to a single function: zoomAndPanRunnable. Improve panorama x & y pan calculations and keep the photo within the screen during zoom and pan. Add randomize direction variable for panorama scrolling.
424320a Update AssetUtil.kt getAspectRatio to check for Null and 0 before dividing width by height. Return nullable Double and update isPortraitImage and isPanoramaImage to check for not-null.
b35fc77 Update zoomAndPanEffect with more actions, refactor variables and values section, and 1 or 2 phase action selection. Add 5 more pre-zoomed in actions to the When statement. Zoomed In Pan: to new Random, to Center, Opposite XY, X, & Y. Improve variable section to handle new actions when users canUseZoomOutActions. Set onlyAllow1PhaseActions for 5 second interval and less. Define randomAction limits values. Add logic to select appropriate actions when using 1 or 2 phase actions and canUseZoomOutActions are true. This keeps the instances of static photos to the same ratios, 1/3 or 1/14.
b7528b5 Merge pull request #205 from giejay/copilot/fix-login-bug-immich-server
3deb942 In strings.xml files, the zoom_scroll_panoramas_desc, remove person name and update wording of Amount descriptions.
89eab13 In AssetUtil.kt add divide by zero check to getAspectRatio expression. Increase range of isPortraitImage aspect ratio to 1.1 to handle manually cropped images that are slightly more landscape than square.
c1ec070 Improving slideshow experience with more View Settings configurations. Update TouchImageView.kt zoomAndPanEffect to add new actions, reduce animations on high-res photos+ and shorter intervals. In MediaSliderView.kt remove condition that intervals be 3 or greater. In zoomAndPanEffect, add return condition if not using thumbnails and interval is 3 or less. Add rndScaleModifier array to adjust the phase2 zoom scale randomly with 40% of the time keeping the same scale. Update the zoomDuration to 98% of the interval. Add logic to reduce available actions to 1 phase actions when interval is 3 seconds or less. Action 0 is now no action. Add condition for running Zoom Out action to only happen if slideshow animation speed is 100 ms or less, and using thumbnails when interval is less than 10 seconds. Add new actions to zoom and pan opposite on the x or y axis.
176a0f1 Update TouchImageView.kt zoomAndScrollPanorama to reduce runnable actions and extract functions for getAspectRatio and getScaleUpToViewBounds.
009ed19 Update TouchImageView.kt to add new zoom and pan options: zoom and hold, no zoom or pan
b0f2821 Update TouchImageView.kt to randomize phase1 & 2 duration only for slideshow intervals 10 seconds or more, and increase range from 20% - 80%. For 5 seconds and less always use half the duration to reduce jerky animation motions. Add a new zoomAndPan option: Zoom In and Pan to Center.
8fd5174 Update TouchImageView.kt to randomly select 4 pan and zoom options: 0-Zoom In, 1-Zoom In / Out, 2-Zoom In and Pan to Opposite, 3-Zoom/Pan In and Zoom/Pan to New Random. Use a new local function zoomAndPanRunnable to handle the different options. Add randomness to the duration of animation phases. Set Phase1Duration to random value between 30 and 65% of Slideshow Interval.
eb0e0bd Update TouchImageView.kt to commit changes
c6bb7dd Update default Zoom and Pan Effect Percentage to 50% and increase the effect values in TouchImageView.kt. This allows users to adjust the effect to be subtle or pronounced.
ddf5de1 Add View Settings to adjust Zoom and Pan effect by percentage. Add Zoom Effect Percentage and Pan Effect Percentage members to preferences.kt and MediaSliderConfiguration.kt. Implement retrieval from PreferenceManager during initialization. Update TouchImageView.kt zoomAndPanEffect to apply the percentage of effect preferences to the x/y pan and the zoom scale values.
65546e7 Update feature to apply Ken Burns effect to non-portrait photos during a slideshow. In MediaSliderView.kt call a new zoomAndPanEffect on the TouchImageView.kt. In zoomAndPanEffect calculate x/y distances and scales to apply to the image for the duration of the slideshow interval if 3 seconds or greater. Limit x/y movement to 30% of the image width/height. Limit scale from 1.05 to 2.7. Randomly zoom in or out.
d219d20 Change running of TouchImageView.kt zoomAndScrollPanorama to MediaSliderView.kt from ScreenSlidePagerAdapter.kt . Add call to addOnPageChangeListener: onPageScrolled where slideShowPlaying is true and Timer for Next Asset is called. Add tag value to Mediaslider Page in ScreenSlidePagerAdapter.kt InstantiateItem so it can be read in MediaSliderView.kt. Remove Debouncer from mediaslider component. In TouchImageView.kt calculate the scale from the image size vs view size. Update the preference strings to be left-to-right.
207bea1 Update strings.xml preference description for how scroll moves "bottom-to-top or right-to-left". Add ru translation from DuckDuckGo.
f269302 Update strings.xml preference description for how scroll moves "bottom-to-top or right-to-left". Add ru translation from DuckDuckGo.
5e367da Clean up Imports and Code Analysis
caec6ef Implement Panorama Zoom and Scroll in mediaslider component. Add Debouncer to file to handle waiting 1 second for images to load into the View. In ScreenSlidePagerAdapter.kt add debouncer to call the new zoomAndScrollPanorama function within instantiateItem, when model does not have a SecondaryItem, and if the slideshow interval is 10 seconds or greater to prevent too much fast animation. Call the TouchImageView.kt function which initiates the Zoom and Scroll animation actions. The animation is configured for horizontal or vertical panoramas.
87709a1 Add zoomAndScrollPanorama property to MediaSliderConfiguration. Set from Preference value during MediaSliderConfiguration construction calls in FolderFragment.kt, GenericAssetFragment.kt, and ScreenSaverService.kt
0b543b2 Add Preference for Zoom and scroll panoramas to the Slideshow settings.
3cbcd4d Add new function isPanoramaImage to AssetUtil.kt. Returns true if image aspect ratio (W / H) is less than standard portraits (0.56), and greater than 2x wide (2.0).
f481e6e Clarify QR/phone login only works with internet-accessible Immich instances
26442a8 Initial plan
702ee58 Update gradle and exoplayer dependencies to latest versions