Gallery
Gallery copied to clipboard
JPEG XL support
It would be great if JPEG XL support was added to the image viewer. A jxl viewer for Android is already released.
Can you also add support to view jpef xl inside tge app not only when opening it through a file manager? I assume you will need a read all files as android doesent recognize .jxl as images but it could be a toggle. I found a fork of fossify that foes it: https://github.com/oupson/Jxl-Gallery/releases/tag/1.1.0 Thanks
+1 to this feature request, it would be useful to me as well
This is already available and JXL can be viewed from the Gallery app natively (tested on Android 15).
This is already available and JXL can be viewed from the Gallery app natively (tested on Android 15).
@IacobIonut01 No go on F-droid latest v2.12 on Android 12. JxLs open but are blank. How may I help debug?
This is already available and JXL can be viewed from the Gallery app natively (tested on Android 15).
@IacobIonut01 No go on F-droid latest v2.12 on Android 12. JxLs open but are blank. How may I help debug?
Check 3.0.0 update
Check 3.0.0 update
When that lands on F-droid (likely sometime this week), I'll feedback.
Android 14 opening a JXL crashes the application.
app crash log https://paste.crdroid.net/E4Rd4a
➜ ~ adb logcat | rg -i gallery
09-02 13:19:09.870 1357 8733 I ActivityTaskManager: START u0 {act=android.intent.action.VIEW dat=content://me.zhanghai.android.files.file_provider/... typ=image/jxl flg=0x3000003 cmp=com.dot.gallery/.feature_node.presentation.standalone.StandaloneActivity (has extras)} with LAUNCH_SINGLE_TASK from uid 10422 (realCallingUid=1000) (BAL_ALLOW_VISIBLE_WINDOW) result code=0
09-02 13:19:09.870 20255 20270 V WindowManagerShell: Transition requested: android.os.BinderProxy@312052a TransitionRequestInfo { type = 1, triggerTask = TaskInfo{userId=0 taskId=891 displayId=0 isRunning=true baseIntent=Intent { act=android.intent.action.VIEW dat=content://me.zhanghai.android.files.file_provider/... typ=image/jxl flg=0x13000003 cmp=com.dot.gallery/.feature_node.presentation.standalone.StandaloneActivity } baseActivity=ComponentInfo{com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity} topActivity=ComponentInfo{com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity} origActivity=null realActivity=ComponentInfo{com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity} numActivities=1 lastActiveTime=802024560 supportsMultiWindow=true resizeMode=1 isResizeable=true minWidth=-1 minHeight=-1 defaultMinSize=220 token=WCT{android.window.IWindowContainerToken$Stub$Proxy@4bb2f1b} topActivityType=1 pictureInPictureParams=null shouldDockBigOverlays=false launchIntoPipHostTaskId=-1 lastParentTaskIdBeforePip=-1 displayCutoutSafeInsets=Rect(0, 94 - 0, 0) topActivityInfo=ActivityInfo{5ef78b8 com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity} launchCookies=[] positionInParent=Point(0, 0) parentTaskId=-1 isFocused=false isVisible=false isVisibleRequested=false isSleeping=false topActivityInSizeCompat=false topActivityEligibleForLetterboxEducation= false isLetterboxDoubleTapEnabled= false topActivityEligibleForUserAspectRatioButton= false topActivityBoundsLetterboxed= false isFromLetterboxDoubleTap= false topActivityLetterboxVerticalPosition= -1 topActivityLetterboxHorizontalPosition= -1 topActivityLetterboxWidth=-1 topActivityLetterboxHeight=-1 isUserFullscreenOverrideEnabled=false isTopActivityTransparent=false locusId=null displayAreaFeatureId=1 cameraCompatControlState=hidden}, remoteTransition = null, displayChange = null, flags = 0 }
09-02 13:19:09.880 1357 1391 I ActivityManager: Start proc 24678:com.dot.gallery/u0a454 for next-top-activity {com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity}
09-02 13:19:09.894 3243 23447 D BinderSender: sendBinder to uid 10454: packages=com.dot.gallery
09-02 13:19:09.903 24678 24678 I com.dot.gallery: Using CollectorTypeCC GC.
09-02 13:19:09.910 24678 24678 E com.dot.gallery: Not starting debugger since process cannot load the jdwp agent.
09-02 13:19:09.942 3243 3044 D BinderSender: sendBinder to uid 10454: packages=com.dot.gallery
09-02 13:19:09.952 24678 24678 D nativeloader: Configuring clns-4 for other apk /data/app/~~LrOzNT8y-rvJ845xu0e7sw==/com.dot.gallery-yS2XC5IuauKlO536PEfzsA==/base.apk. target_sdk_version=35, uses_libraries=, library_path=/data/app/~~LrOzNT8y-rvJ845xu0e7sw==/com.dot.gallery-yS2XC5IuauKlO536PEfzsA==/lib/arm64:/data/app/~~LrOzNT8y-rvJ845xu0e7sw==/com.dot.gallery-yS2XC5IuauKlO536PEfzsA==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/com.dot.gallery
09-02 13:19:09.960 24678 24678 V GraphicsEnvironment: ANGLE GameManagerService for com.dot.gallery: false
09-02 13:19:09.960 24678 24678 V GraphicsEnvironment: com.dot.gallery is not listed in per-application setting
09-02 13:19:09.988 1357 1377 V WindowManager: Sent Transition #6084 createdAt=09-02 13:19:09.866 via request=TransitionRequestInfo { type = 1, triggerTask = TaskInfo{userId=0 taskId=891 displayId=0 isRunning=true baseIntent=Intent { act=android.intent.action.VIEW dat=content://me.zhanghai.android.files.file_provider/... typ=image/jxl flg=0x13000003 cmp=com.dot.gallery/.feature_node.presentation.standalone.StandaloneActivity } baseActivity=ComponentInfo{com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity} topActivity=ComponentInfo{com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity} origActivity=null realActivity=ComponentInfo{com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity} numActivities=1 lastActiveTime=802024560 supportsMultiWindow=true resizeMode=1 isResizeable=true minWidth=-1 minHeight=-1 defaultMinSize=220 token=WCT{RemoteToken{2e36c48 Task{25dbddf #891 type=standard A=10454:com.dot.gallery}}} topActivityType=1 pictureInPictureParams=null shouldDockBigOverlays=false launchIntoPipHostTaskId=-1 lastParentTaskIdBeforePip=-1 displayCutoutSafeInsets=Rect(0, 94 - 0, 0) topActivityInfo=ActivityInfo{d833ae1 com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity} launchCookies=[] positionInParent=Point(0, 0) parentTaskId=-1 isFocused=false isVisible=false isVisibleRequested=false isSleeping=false topActivityInSizeCompat=false topActivityEligibleForLetterboxEducation= false isLetterboxDoubleTapEnabled= false topActivityEligibleForUserAspectRatioButton= false topActivityBoundsLetterboxed= false isFromLetterboxDoubleTap= false topActivityLetterboxVerticalPosition= -1 topActivityLetterboxHorizontalPosition= -1 topActivityLetterboxWidth=-1 topActivityLetterboxHeight=-1 isUserFullscreenOverrideEnabled=false isTopActivityTransparent=false locusId=null displayAreaFeatureId=1 cameraCompatControlState=hidden}, remoteTransition = null, displayChange = null, flags = 0 }
09-02 13:19:09.989 1357 1377 V WindowManager: info={id=6084 t=OPEN f=0x0 trk=0 r=[0@Point(0, 0)] c=[{WCT{RemoteToken{2e36c48 Task{25dbddf #891 type=standard A=10454:com.dot.gallery}}} m=OPEN f=NONE leash=Surface(name=Task=891)/@0xb5e4a3a sb=Rect(0, 0 - 1440, 3120) eb=Rect(0, 0 - 1440, 3120) d=0},{WCT{RemoteToken{6f51e4e Task{a15a495 #877 type=standard A=10422:me.zhanghai.android.files}}} m=TO_BACK f=NONE leash=Surface(name=Task=877)/@0xd83af50 sb=Rect(0, 0 - 1440, 3120) eb=Rect(0, 0 - 1440, 3120) d=0}]}
09-02 13:19:10.024 1357 8733 D CoreBackPreview: Window{b4f97bf u0 com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@1fdb5ea, mPriority=-1, mIsAnimationCallback=false}
09-02 13:19:10.048 1357 8733 D CoreBackPreview: Window{b4f97bf u0 com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@43f9e51, mPriority=0, mIsAnimationCallback=true}
09-02 13:19:10.063 24678 24678 E AndroidRuntime: Process: com.dot.gallery, PID: 24678
09-02 13:19:10.064 1357 8732 W ActivityTaskManager: Force finishing activity com.dot.gallery/.feature_node.presentation.standalone.StandaloneActivity
09-02 13:19:10.068 1357 1378 I ActivityManager: Showing crash dialog for package com.dot.gallery u0
09-02 13:19:10.091 1357 1378 D CoreBackPreview: Window{dbb7384 u0 Application Error: com.dot.gallery}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.WindowOnBackInvokedDispatcher$OnBackInvokedCallbackWrapper@d05c0fa, mPriority=0, mIsAnimationCallback=false}
09-02 13:19:10.566 1357 1380 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{e6447e u0 com.dot.gallery/.feature_node.presentation.standalone.StandaloneActivity t891 f}}
09-02 13:19:10.566 1357 1380 W ActivityTaskManager: Activity pause timeout for ActivityRecord{e6447e u0 com.dot.gallery/.feature_node.presentation.standalone.StandaloneActivity t891 f}}
09-02 13:19:10.607 1357 1377 V WindowManager: info={id=6085 t=CLOSE f=0x10 trk=1 r=[0@Point(0, 0)] c=[{WCT{RemoteToken{6f51e4e Task{a15a495 #877 type=standard A=10422:me.zhanghai.android.files}}} m=TO_FRONT f=MOVE_TO_TOP leash=Surface(name=Task=877)/@0xd83af50 sb=Rect(0, 0 - 1440, 3120) eb=Rect(0, 0 - 1440, 3120) d=0},{WCT{RemoteToken{2e36c48 Task{25dbddf #891 type=standard A=10454:com.dot.gallery}}} m=CLOSE f=NONE leash=Surface(name=Task=891)/@0xb5e4a3a sb=Rect(0, 0 - 1440, 3120) eb=Rect(0, 0 - 1440, 3120) d=0}]}
09-02 13:19:21.145 1357 1380 W ActivityTaskManager: Activity destroy timeout for ActivityRecord{e6447e u0 com.dot.gallery/.feature_node.presentation.standalone.StandaloneActivity t891 f}}
09-02 13:19:21.157 1357 1380 W InputManager-JNI: Input channel object '3779371 Splash Screen com.dot.gallery (client)' was disposed without first being removed with the input manager!
09-02 13:19:21.163 1357 1380 W InputManager-JNI: Input channel object 'b4f97bf com.dot.gallery/com.dot.gallery.feature_node.presentation.standalone.StandaloneActivity (client)' was disposed without first being removed with the input manager!
09-02 13:19:24.578 1357 1378 D CoreBackPreview: Window{dbb7384 u0 Application Error: com.dot.gallery}: Setting back callback null
09-02 13:19:24.578 1357 8732 I ActivityManager: Killing 24678:com.dot.gallery/u0a454 (adj 900): crash
09-02 13:19:24.579 1357 1378 W InputManager-JNI: Input channel object 'dbb7384 Application Error: com.dot.gallery (client)' was disposed without first being removed with the input manager!
09-02 13:19:24.620 1357 2060 V ActivityManager: Got obituary of 24678:com.dot.gallery
Android 13 (LineageOS 20-20240208-NIGHTLY-sunfish), .jxl files open blank.
I can also confirm a crash on lineage OS 21 (A14)