Closed salaniz closed 1 year ago
Cannot reproduce it. Maybe it's fixed in some commits after v5.4.0-beta1. Could you check this again after v5.4.0-beta2 is available? Thank you.
I tried the steps again for v5.4.0-beta4, this time on a different phone with LineageOS 18.1 (Android 11) (I would like to not mess with my main phone's installation).
The bug still persists. I am attaching a video to make it easier to reproduce (~2.1 MB). Alternatively, please give me some pointers how to create a properly reproducible environment as I am not familiar with Android development.
https://user-images.githubusercontent.com/4443693/216769035-75ceb1b2-e0b6-47d1-9a96-076f83a96d61.mp4
Alright, I am now able to reproduce it. Worth mentioning: the bug only occurs in anonymous mode. After the crash (in my case restart or crash) the action button is set on refresh (followed your specific use case).
Device Info
Android 12
Galaxy Note 9
Noble ROM
``` FATAL EXCEPTION: main Process: ml.docilealligator.infinityforreddit, PID: 25599 java.lang.ArrayIndexOutOfBoundsException: length=9; index=9 at ml.docilealligator.infinityforreddit.settings.CustomizeBottomAppBarFragment.onCreateView(CustomizeBottomAppBarFragment.java:188) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8663) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) ```
``` `` Stacktrace `` java.lang.ArrayIndexOutOfBoundsException: length=9; index=9 at ml.docilealligator.infinityforreddit.settings.CustomizeBottomAppBarFragment.onCreateView(CustomizeBottomAppBarFragment.java:188) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2189) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2100) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2002) at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8663) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) `` END of stacktrace `` `` Thread info `` Name: main ID: 2 State: RUNNABLE Priority: 5 Thread group name: main Thread group parent: system Thread group active count: 39 Thread time: 0 hr 0 min, 3 sec `` END of thread info `` `` Device info `` Report ID: e665e720-9de3-4eb5-ba6c-a9ec866f6724 Device ID: 4920dfbf6936f770 Application version: 113 Default launcher: com.sec.android.app.launcher Timezone name: Central European Standard Time Timezone ID: Europe/Sarajevo Version release: 12 Version incremental : N975FXXS8HVF3 Version SDK: 31 Board: exynos9810 Bootloader: N960FXXS9FVB1 Brand: samsung CPU ABIS 32: armeabi-v7a, armeabi CPU ABIS 64: arm64-v8a Supported ABIS: arm64-v8a, armeabi-v7a, armeabi Device: d2s Display: NOBLE2.5_N975FXXS8HVF3 Fingerprint: samsung/d2seea/d2s:12/SP1A.210812.016/N975FXXS8HVF3:user/release-keys Hardware: samsungexynos9810 Host: 21DJ6614 ID: SP1A.210812.016 Manufacturer: samsung Product: d2seea Build time: 1655879692000 Build time formatted: 22-06-2022 08:34:52 Type: user Radio: N960FXXS9FVB3,N960FXXS9FVB3 Tags: release-keys User: dpi User IDs: N/A Is sustained performance mode supported: No Is in power save mode: No Is in interactive state: Yes Is ignoring battery optimizations: Yes Thermal status: STATUS_NONE Location power save mode: MODE_NO_CHANGE Is device idle: No Battery percentage: 36 Battery remaining time: N/A Is battery charging: No Is device rooted: Yes CPU Model: N/A Number of CPU cores: 8 Up time with sleep: 104 hr 49 min, 19 sec Up time without sleep: 36 hr 54 min, 48 sec `` END of Device info `` `` Exit reasons `` `` Exit reason #1 `` Description: crash Importance: FOREGROUND Reason: CRASH Timestamp: 04-02-2023 17:58:46 `` END of exit reason #1 `` `` Exit reason #2 `` Description: crash Importance: FOREGROUND Reason: CRASH Timestamp: 04-02-2023 17:58:31 `` END of exit reason #2 `` `` Exit reason #3 `` Description: crash Importance: FOREGROUND Reason: CRASH Timestamp: 04-02-2023 17:57:21 `` END of exit reason #3 `` `` END of exit reasons `` `` Application info `` App name: Infinity Version code: 113 Version name: 5.4.0-beta4 Package name: ml.docilealligator.infinityforreddit Short package name: infinityforreddit Flavor: N/A Signatures: XFN80TR5rgSMbsH+WZ5oyxarmIU= Is debuggable: No First installed: 19-08-2022 01:27:05 Last updated: 01-02-2023 15:57:08 Requested permissions: android.permission.ACCESS_NETWORK_STATE, android.permission.INTERNET, android.permission.SET_WALLPAPER, android.permission.SET_WALLPAPER_HINTS, android.permission.FOREGROUND_SERVICE, android.permission.WAKE_LOCK, android.permission.POST_NOTIFICATIONS, android.permission.USE_BIOMETRIC, android.permission.USE_FINGERPRINT, android.permission.RECEIVE_BOOT_COMPLETED, ml.docilealligator.infinityforreddit.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION Default prefs: swipe_up_to_hide_jump_to_next_top_level_comments_button = false, video_autoplay = 1, pinch_to_zoom_video = true, save_sort_type = true, swipe_vertically_to_go_back_from_media = true, disable_swiping_between_tabs = false, show_top_level_comments_first = true, hide_comment_awards = false, save_nsfw_media_in_different_folder = false, click_to_show_media_in_gallery_layout = false, time_format = MMM d, yyyy, HH:mm, pull_notification_time = 1675375578048, show_comment_divider = false, video_player_ignore_nav_bar = false, show_author_avatar = false, respect_subreddit_recommended_comment_sort_type = false, default_search_result_tab = 0, title_font_family = Default, font_family = Default, lock_bottom_app_bar = false, start_autoplay_visible_area_offset_portrait = 75, separate_folder_for_each_subreddit = false, comment_toolbar_hidden = false, disable_image_preview = true, user_default_sort_type = NEW, remember_muting_option_in_post_feed = false, volume_keys_navigate_comments = true, hide_subreddit_and_user_prefix = false, long_press_to_hide_toolbar_in_compact_layout = false, post_compact_layout_toolbar_hidden_by_default = false, enable_search_history = true, reddit_video_default_resolution = 360, theme = 1, comment_toolbar_hide_on_click = true, video_download_location = content://com.android.externalstorage.documents/tree/primary%3ADownload%20, content_font_family = Default, image_download_location = content://com.android.externalstorage.documents/tree/primary%3ADownload%20, post_feed_max_resolution = 5000000, enable_notification = true, subreddit_default_sort_time = ALL, hide_the_number_of_votes = false, show_elapsed_time = false, show_fewer_toolbar_options_threshold = 5, hide_subreddit_description = false, swipe_between_posts = true, hide_the_number_of_comments = false, data_saving_mode = 1, enable_swipe_action = false, easier_to_watch_in_full_screen = false, content_font_size = Normal, swipe_action_threshold = 0.3, show_only_one_comment_level_indicator = false, immersive_interface_ignore_nav_bar = false, mute_autoplaying_videos = true, default_post_layout = 0, language = auto, notificaiton_interval = 15, hide_the_number_of_awards = false, start_autoplay_visible_area_offset_landscape = 50, automatically_try_redgifs = true, amoled_dark = true, swipe_to_go_back_from_post_detail = true, lazy_mode_interval = 2.5, hide_text_post_content = false, only_disable_preview_in_video_and_gif_posts = false, hide_post_type = false, autoplay_nsfw_videos = false, main_page_back_button_action = 2, title_font_size = Normal, disable_immersive_interface_in_landscape_mode = false, vote_buttons_on_the_right = false, show_thumbnail_on_the_left_in_compact_layout ```
``` FATAL EXCEPTION: pool-5-thread-3 Process: ml.docilealligator.infinityforreddit, PID: 7878 java.lang.IllegalArgumentException: Path parameter "subredditName" value must not be null. (parameter #1) for method RedditAPI.getSubredditBestPosts at retrofit2.Utils.methodError(Utils.java:54) at retrofit2.Utils.methodError(Utils.java:43) at retrofit2.Utils.parameterError(Utils.java:64) at retrofit2.ParameterHandler$Path.apply(ParameterHandler.java:113) at retrofit2.RequestFactory.create(RequestFactory.java:129) at retrofit2.OkHttpCall.createRawCall(OkHttpCall.java:208) at retrofit2.OkHttpCall.getRawCall(OkHttpCall.java:107) at retrofit2.OkHttpCall.execute(OkHttpCall.java:197) at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall.execute(DefaultCallAdapterFactory.java:108) at ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity.lambda$fetchMorePosts$11$ml-docilealligator-infinityforreddit-activities-ViewPostDetailActivity(ViewPostDetailActivity.java:590) at ml.docilealligator.infinityforreddit.activities.ViewPostDetailActivity$$ExternalSyntheticLambda4.run(Unknown Source:6) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:920) ```
I am not even able to change the settings after that so very important to fix
@Docile-Alligator @RSBat please take a look. Not really deep in the game right now 😒 to do it myself
Cool. Thank you. I will fix this.
Works like a charm. Thanks for fixing this!
Checklist
App version
v5.4.0-beta1
Where did you get the app from
Other
Android version
Android 12 (LineageOS 19.1)
Device model
No response
First occurred
No response
Steps to reproduce
Tested on a fresh install of the latest Github release (5.4.0-beta1) and on 5.3.4 from F-Droid.
I discovered the bug when trying to set the action to "Refresh", so it serves as an example. Using other actions seem to trigger the bug as well. I did not exhaustively try all actions though.
Example post, link, markdown...
No response
Expected behaviour
Current behaviour
App crashes.
Logs
No response