ReVanced / revanced-manager

💊 Application to use ReVanced on Android
https://revanced.app
GNU General Public License v3.0
17.94k stars 737 forks source link

bug: Unable to import JSON patches selection file #838

Closed RileyXX closed 10 months ago

RileyXX commented 1 year ago

Type

Error while running the manager

Bug description

Clicking import JSON patches selection option gives the error "Unable to use selected JSON file". It doesn't allow me to choose which file to import. Am I doing this correctly? Is there a specific folder I need to move the JSON file to or is it a bug? It's a little frustrating because I have to redo all my patches selections.

Steps to reproduce

On v0.0.57 I exported my patches selection to a json file successfully. Then updated to v0.1.0 manager. Patches were remembered after the upgrade. Exported my patches selection again. I didn't like the new version of the manager very much and unsinstalled due to not being able to quickly check my installed app versions and compared them to the current recommended version. I uninstalled v.0.1.0 and installed v0.0.57 again but my patches selection was gone. So I tried import my patches selection and got this error message "Unable to use selected JSON file".

Android version

Android 9

Manager version

v0.0.57 and v0.1.0

Target package name

N/a

Target package version.

N/a

Installation type

Non-root

Patches selected.

N/a

Device logs (exported using Manager settings).

io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ......ID 0,0-1440,2768}
04-30 19:32:31.782 21431 21431 D ViewRootImpl@63413cb[MainActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
04-30 19:32:31.789 21431 21431 D InputMethodManager: prepareNavigationBarInfo() DecorView@2e46690[MainActivity]
04-30 19:32:31.789 21431 21431 D InputMethodManager: getNavigationBarColor() 0
04-30 19:32:31.793 21431 21431 D InputMethodManager: prepareNavigationBarInfo() DecorView@2e46690[MainActivity]
04-30 19:32:31.793 21431 21431 D InputMethodManager: getNavigationBarColor() 0
04-30 19:32:31.793 21431 21431 V InputMethodManager: Starting input: tba=app.revanced.manager.flutter ic=null mNaviBarColor 0 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
04-30 19:32:31.793 21431 21431 D InputMethodManager: startInputInner - Id : 0
04-30 19:32:31.793 21431 21431 I InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
04-30 19:32:31.796 21431 21431 D InputTransport: Input channel constructed: fd=89
04-30 19:32:34.750 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:34.815 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:35.718 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:35.842 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:35.960 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:36.370 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:36.839 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:36.946 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:37.063 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:37.748 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:38.272 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:38.367 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:38.451 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:39.512 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:41.883 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:41.960 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:41.976 21431 21431 W FilePickerUtils: Custom file type json is unsupported and will be ignored.
04-30 19:32:41.976 21431 21431 D FilePickerUtils: Allowed file extensions mimes: []
04-30 19:32:41.979 21431 21449 I flutter : [MethodChannelFilePicker] Platform exception: PlatformException(FilePicker, Unsupported filter. Make sure that you are only using the extension without the dot, (ie., jpg instead of .jpg). This could also have happened because you are using an unsupported file extension.  If the problem persists, you may want to consider using FileType.all instead., null, null)
04-30 19:32:42.036 21431 21431 D InputTransport: Input channel constructed: fd=91
04-30 19:32:42.036 21431 21431 D ViewRootImpl@43488f3[Toast]: setView = android.widget.FrameLayout{b0a89b0 V.E...... ......I. 0,0-0,0} TM=true MM=false
04-30 19:32:42.040 21431 21431 D ViewRootImpl@43488f3[Toast]: dispatchAttachedToWindow
04-30 19:32:42.054 21431 21431 D ViewRootImpl@43488f3[Toast]: Relayout returned: old=[0,96][1440,2768] new=[250,2512][1189,2668] result=0x7 surface={valid=true 509630361600} changed=true
04-30 19:32:42.057 21431 21462 D OpenGLRenderer: eglCreateWindowSurface = 0x76a8c93980, 0x76a8563010
04-30 19:32:42.059 21431 21431 D ViewRootImpl@43488f3[Toast]: MSG_RESIZED: frame=Rect(250, 2512 - 1189, 2668) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
04-30 19:32:42.962 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:43.063 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:43.066 21431 21431 W FilePickerUtils: Custom file type json is unsupported and will be ignored.
04-30 19:32:43.066 21431 21431 D FilePickerUtils: Allowed file extensions mimes: []
04-30 19:32:43.067 21431 21449 I flutter : [MethodChannelFilePicker] Platform exception: PlatformException(FilePicker, Unsupported filter. Make sure that you are only using the extension without the dot, (ie., jpg instead of .jpg). This could also have happened because you are using an unsupported file extension.  If the problem persists, you may want to consider using FileType.all instead., null, null)
04-30 19:32:43.081 21431 21462 D OpenGLRenderer: eglDestroySurface = 0x76a8c93980, 0x76a8563000
04-30 19:32:43.081 21431 21431 D ViewRootImpl@43488f3[Toast]: dispatchDetachedFromWindow
04-30 19:32:43.082 21431 21431 D ViewRootImpl@43488f3[Toast]: Surface release. android.view.ViewRootImpl.doDie:7964 android.view.ViewRootImpl.die:7932 android.view.WindowManagerGlobal.removeViewLocked:497 android.view.WindowManagerGlobal.removeView:435 android.view.WindowManagerImpl.removeViewImmediate:124 android.widget.Toast$TN.handleHide:1110 android.widget.Toast$TN$1.handleMessage:898 android.os.Handler.dispatchMessage:106 
04-30 19:32:43.091 21431 21431 D InputTransport: Input channel destroyed: fd=91
04-30 19:32:43.102 21431 21431 D InputTransport: Input channel constructed: fd=91
04-30 19:32:43.102 21431 21431 D ViewRootImpl@68690dc[Toast]: setView = android.widget.FrameLayout{d96e5e5 V.E...... ......I. 0,0-0,0} TM=true MM=false
04-30 19:32:43.102 21431 21431 D ViewRootImpl@68690dc[Toast]: dispatchAttachedToWindow
04-30 19:32:43.111 21431 21431 D ViewRootImpl@68690dc[Toast]: Relayout returned: old=[0,96][1440,2768] new=[250,2512][1189,2668] result=0x7 surface={valid=true 509630361600} changed=true
04-30 19:32:43.113 21431 21462 D OpenGLRenderer: eglCreateWindowSurface = 0x76aa5cc200, 0x76a8563010
04-30 19:32:43.114 21431 21431 D ViewRootImpl@68690dc[Toast]: MSG_RESIZED: frame=Rect(250, 2512 - 1189, 2668) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
04-30 19:32:43.656 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:43.739 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:43.741 21431 21431 W FilePickerUtils: Custom file type json is unsupported and will be ignored.
04-30 19:32:43.741 21431 21431 D FilePickerUtils: Allowed file extensions mimes: []
04-30 19:32:43.742 21431 21449 I flutter : [MethodChannelFilePicker] Platform exception: PlatformException(FilePicker, Unsupported filter. Make sure that you are only using the extension without the dot, (ie., jpg instead of .jpg). This could also have happened because you are using an unsupported file extension.  If the problem persists, you may want to consider using FileType.all instead., null, null)
04-30 19:32:43.750 21431 21462 D OpenGLRenderer: eglDestroySurface = 0x76aa5cc200, 0x76a8563000
04-30 19:32:43.750 21431 21431 D ViewRootImpl@68690dc[Toast]: dispatchDetachedFromWindow
04-30 19:32:43.750 21431 21431 D ViewRootImpl@68690dc[Toast]: Surface release. android.view.ViewRootImpl.doDie:7964 android.view.ViewRootImpl.die:7932 android.view.WindowManagerGlobal.removeViewLocked:497 android.view.WindowManagerGlobal.removeView:435 android.view.WindowManagerImpl.removeViewImmediate:124 android.widget.Toast$TN.handleHide:1110 android.widget.Toast$TN$1.handleMessage:898 android.os.Handler.dispatchMessage:106 
04-30 19:32:43.756 21431 21431 D InputTransport: Input channel destroyed: fd=91
04-30 19:32:43.770 21431 21431 D InputTransport: Input channel constructed: fd=88
04-30 19:32:43.770 21431 21431 D ViewRootImpl@459dec8[Toast]: setView = android.widget.FrameLayout{2d4fb61 V.E...... ......I. 0,0-0,0} TM=true MM=false
04-30 19:32:43.771 21431 21431 D ViewRootImpl@459dec8[Toast]: dispatchAttachedToWindow
04-30 19:32:43.781 21431 21431 D ViewRootImpl@459dec8[Toast]: Relayout returned: old=[0,96][1440,2768] new=[250,2512][1189,2668] result=0x7 surface={valid=true 509630361600} changed=true
04-30 19:32:43.785 21431 21462 D OpenGLRenderer: eglCreateWindowSurface = 0x76aa5cc500, 0x76a8563010
04-30 19:32:43.786 21431 21431 D ViewRootImpl@459dec8[Toast]: MSG_RESIZED: frame=Rect(250, 2512 - 1189, 2668) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
04-30 19:32:46.088 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:46.514 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:46.924 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:32:46.982 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:32:47.213 21431 21431 D ViewRootImpl@63413cb[MainActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
04-30 19:32:47.213 21431 21431 D InputMethodManager: prepareNavigationBarInfo() DecorView@2e46690[MainActivity]
04-30 19:32:47.213 21431 21431 D InputMethodManager: getNavigationBarColor() 0
04-30 19:32:47.249 21431 21462 D OpenGLRenderer: eglDestroySurface = 0x76aa5cc500, 0x76a8563000
04-30 19:32:47.250 21431 21431 D ViewRootImpl@459dec8[Toast]: dispatchDetachedFromWindow
04-30 19:32:47.250 21431 21431 D ViewRootImpl@459dec8[Toast]: Surface release. android.view.ViewRootImpl.doDie:7964 android.view.ViewRootImpl.die:7932 android.view.WindowManagerGlobal.removeViewLocked:497 android.view.WindowManagerGlobal.removeView:435 android.view.WindowManagerImpl.removeViewImmediate:124 android.widget.Toast$TN.handleHide:1110 android.widget.Toast$TN$1.handleMessage:898 android.os.Handler.dispatchMessage:106 
04-30 19:32:47.259 21431 21431 D InputTransport: Input channel destroyed: fd=88
04-30 19:32:49.058 21431 21431 D InputTransport: Input channel destroyed: fd=89
04-30 19:33:10.282 21431 21431 D ViewRootImpl@63413cb[MainActivity]: setWindowStopped(true) old=false
04-30 19:33:10.285 21431 21431 D SurfaceView: windowStopped(true) false io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ........ 0,0-1440,2768} of ViewRootImpl@63413cb[MainActivity]
04-30 19:33:10.286 21431 21431 D SurfaceView: show() Surface(name=SurfaceView - app.revanced.manager.flutter/app.revanced.manager.flutter.MainActivity@de6f220@1[21431])/@0xf035f98 io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ........ 0,0-1440,2768}
04-30 19:33:10.287 21431 21431 D SurfaceView: surfaceDestroyed callback.size 1 #1 io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ........ 0,0-1440,2768}
04-30 19:33:10.330 21431 21431 D SurfaceView: destroy() Surface(name=SurfaceView - app.revanced.manager.flutter/app.revanced.manager.flutter.MainActivity@de6f220@1[21431])/@0xf035f98 io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ........ 0,0-1440,2768}
04-30 19:33:10.353 21431 21431 D SurfaceView: onWindowVisibilityChanged(4) false io.flutter.embedding.android.FlutterSurfaceView{de6f220 G.E...... ......I. 0,0-1440,2768} of ViewRootImpl@63413cb[MainActivity]
04-30 19:33:10.356 21431 21462 D OpenGLRenderer: eglDestroySurface = 0x76a8c93880, 0x76c3c5c000
04-30 19:33:10.368 21431 21431 D ViewRootImpl@63413cb[MainActivity]: Relayout returned: old=[0,0][1440,2960] new=[0,0][1440,2960] result=0x5 surface={valid=false 0} changed=true
04-30 19:33:10.685 21431 21431 D SurfaceView: onWindowVisibilityChanged(8) false io.flutter.embedding.android.FlutterSurfaceView{de6f220 G.E...... ......I. 0,0-1440,2768} of ViewRootImpl@63413cb[MainActivity]
04-30 19:33:10.693 21431 21431 D ViewRootImpl@63413cb[MainActivity]: Relayout returned: old=[0,0][1440,2960] new=[0,0][1440,2960] result=0x1 surface={valid=false 0} changed=false
04-30 19:33:19.458 21431 21431 D SurfaceView: onWindowVisibilityChanged(4) false io.flutter.embedding.android.FlutterSurfaceView{de6f220 G.E...... ......I. 0,0-1440,2768} of ViewRootImpl@63413cb[MainActivity]
04-30 19:33:19.472 21431 21431 D ViewRootImpl@63413cb[MainActivity]: Relayout returned: old=[0,0][1440,2960] new=[0,0][1440,2960] result=0x1 surface={valid=false 0} changed=false
04-30 19:33:19.473 21431 21431 D ViewRootImpl@63413cb[MainActivity]: setWindowStopped(false) old=true
04-30 19:33:19.473 21431 21431 D SurfaceView: windowStopped(false) false io.flutter.embedding.android.FlutterSurfaceView{de6f220 G.E...... ......I. 0,0-1440,2768} of ViewRootImpl@63413cb[MainActivity]
04-30 19:33:19.482 21431 21431 D ViewRootImpl@63413cb[MainActivity]: setWindowStopped(false) old=false
04-30 19:33:19.497 21431 21431 D SurfaceView: onWindowVisibilityChanged(0) true io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ......ID 0,0-1440,2768} of ViewRootImpl@63413cb[MainActivity]
04-30 19:33:19.509 21431 21431 D ViewRootImpl@63413cb[MainActivity]: Relayout returned: old=[0,0][1440,2960] new=[0,0][1440,2960] result=0x7 surface={valid=true 510090657792} changed=true
04-30 19:33:19.509 21431 21462 I OpenGLRenderer: Initialized EGL, version 1.4
04-30 19:33:19.509 21431 21462 D OpenGLRenderer: Swap behavior 2
04-30 19:33:19.520 21431 21462 D OpenGLRenderer: eglCreateWindowSurface = 0x76aa5cc500, 0x76c3c5c010
04-30 19:33:19.521 21431 21431 D SurfaceView: show() Surface(name=SurfaceView - app.revanced.manager.flutter/app.revanced.manager.flutter.MainActivity@de6f220@2[21431])/@0x41ec512 io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ......ID 0,0-1440,2768}
04-30 19:33:19.521 21431 21431 D SurfaceView: surfaceCreated 1 #5 io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ......ID 0,0-1440,2768}
04-30 19:33:19.523 21431 21431 D SurfaceView: surfaceChanged (1440,2768) 1 #5 io.flutter.embedding.android.FlutterSurfaceView{de6f220 V.E...... ......ID 0,0-1440,2768}
04-30 19:33:19.524 21431 21431 D ViewRootImpl@63413cb[MainActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
04-30 19:33:19.572 21431 21431 D InputMethodManager: prepareNavigationBarInfo() DecorView@2e46690[MainActivity]
04-30 19:33:19.572 21431 21431 D InputMethodManager: getNavigationBarColor() 0
04-30 19:33:19.578 21431 21431 D InputMethodManager: prepareNavigationBarInfo() DecorView@2e46690[MainActivity]
04-30 19:33:19.578 21431 21431 D InputMethodManager: getNavigationBarColor() 0
04-30 19:33:19.578 21431 21431 V InputMethodManager: Starting input: tba=app.revanced.manager.flutter ic=null mNaviBarColor 0 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
04-30 19:33:19.579 21431 21431 D InputMethodManager: startInputInner - Id : 0
04-30 19:33:19.579 21431 21431 I InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
04-30 19:33:19.581 21431 21431 D InputTransport: Input channel constructed: fd=89
04-30 19:33:20.774 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:33:20.973 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1
04-30 19:33:24.040 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 0
04-30 19:33:24.124 21431 21431 D ViewRootImpl@63413cb[MainActivity]: ViewPostIme pointer 1

Installer logs (exported using Installer menu option) [unneeded if issue is not during patching].

No response

Screenshots or videos

20230430_194005 20230430_193938

Solution

No response

Additional context

No response

Acknowledgements

SodaWithoutSparkles commented 1 year ago

Open the json file in your favourite text editor and dump its content here. Remember to use a code block.

code block

RileyXX commented 1 year ago

Here is the JSON patches file. I should note, when I click import patches selection it doesn't give me a popup or any option to select where the file is located it just immediately gives the message in the above screenshot.

JSON patches file: {"com.google.android.youtube":["client-spoof","copy-video-url","custom-video-speed","disable-fullscreen-panels","disable-player-popup-panels","disable-shorts-on-startup","disable-zoom-haptics","downloads","general-ads","hdr-auto-brightness","hide-crowdfunding-box","hide-floating-microphone-button","hide-my-mix","hide-player-buttons","hide-video-action-buttons","hide-watch-in-vr","minimized-playback","old-quality-layout","open-links-externally","premium-heading","remember-video-quality","return-youtube-dislike","seekbar-tapping","sponsorblock","spoof-signature-verification","tablet-mini-player","vanced-microg-support","video-ads","enable-debugging","enable-android-debugging"],"com.reddit.frontpage":["general-reddit-ads","hide-subreddit-banner","premium-icon-reddit"],"com.instagram.android":["hide-timeline-ads"],"com.twitter.android":["hide-ads"],"com.zhiliaoapp.musically":["disable-login-requirement","downloads","feed-filter","hide-ads","playback-speed","show-seekbar"],"tv.twitch.android.app":["block-audio-ads","block-embedded-ads","block-video-ads","show-deleted-messages"]}

dhruvanbhalara commented 1 year ago

Here is the JSON patches file. I should note, when I click import patches selection it doesn't give me a popup or any option to select where the file is located it just immediately gives the message in the above screenshot.

JSON patches file: {"com.google.android.youtube":["client-spoof","copy-video-url","custom-video-speed","disable-fullscreen-panels","disable-player-popup-panels","disable-shorts-on-startup","disable-zoom-haptics","downloads","general-ads","hdr-auto-brightness","hide-crowdfunding-box","hide-floating-microphone-button","hide-my-mix","hide-player-buttons","hide-video-action-buttons","hide-watch-in-vr","minimized-playback","old-quality-layout","open-links-externally","premium-heading","remember-video-quality","return-youtube-dislike","seekbar-tapping","sponsorblock","spoof-signature-verification","tablet-mini-player","vanced-microg-support","video-ads","enable-debugging","enable-android-debugging"],"com.reddit.frontpage":["general-reddit-ads","hide-subreddit-banner","premium-icon-reddit"],"com.instagram.android":["hide-timeline-ads"],"com.twitter.android":["hide-ads"],"com.zhiliaoapp.musically":["disable-login-requirement","downloads","feed-filter","hide-ads","playback-speed","show-seekbar"],"tv.twitch.android.app":["block-audio-ads","block-embedded-ads","block-video-ads","show-deleted-messages"]}

Provided json works for me in the latest version.

RileyXX commented 1 year ago

Provided json works for me in the latest version.

I'm still getting the same error in the latest version (v1.0.0). It never gives me an option to chose where the json file is located it just gives the error message in the screenshot on my original post. Does revanced manager automatically look for the json file in a specific folder or something?

dajotim937 commented 1 year ago

Provided json works for me in the latest version.

Not for me. I have same issue. Open setting, click import, "Unable to use selected JSON file" without any way to select or do something.

RileyXX commented 1 year ago

Think this has something to do with FilePicker returning null on some devices.

  Future<void> importPatches() async {
    try {
      final FilePickerResult? result =
          await FilePicker.platform.pickFiles(
        type: FileType.custom,
        allowedExtensions: ['json'],
      );
      if (result != null && result.files.single.path != null) {
        final File inFile = File(result.files.single.path!);
        inFile.copySync(_managerAPI.storedPatchesFile);
        inFile.delete();
        if (locator<PatcherViewModel>().selectedApp != null) {
          locator<PatcherViewModel>().loadLastSelectedPatches();
        }
        _toast.showBottom('settingsView.importedPatches');
      }
    } on Exception catch (e) {
      if (kDebugMode) {
        print(e);
      }
      _toast.showBottom('settingsView.jsonSelectorErrorMessage');
    }
  }

https://github.com/revanced/revanced-manager/blob/c677f00105762fc63c374b16f52ff3320b36b4c3/lib/ui/views/settings/settings_viewmodel.dart#L108

Relevant messages from the log I posted:

04-30 19:32:41.976 21431 21431 W FilePickerUtils: Custom file type json is unsupported and will be ignored.
04-30 19:32:41.976 21431 21431 D FilePickerUtils: Allowed file extensions mimes: []
04-30 19:32:41.979 21431 21449 I flutter : [MethodChannelFilePicker] Platform exception: PlatformException(FilePicker, Unsupported filter. Make sure that you are only using the extension without the dot, (ie., jpg instead of .jpg). This could also have happened because you are using an unsupported file extension.  If the problem persists, you may want to consider using FileType.all instead., null, null)
bigayjoe commented 1 year ago

Same black view a80pro

RileyXX commented 10 months ago

This issue appears to be fixed in the latest release.