Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] App crash when switching cameras with unsupported framerate #63

Closed
1 of 3 tasks
s0llvan opened this issue Nov 22, 2024 · 0 comments · Fixed by #64
Closed
1 of 3 tasks

[BUG] App crash when switching cameras with unsupported framerate #63

s0llvan opened this issue Nov 22, 2024 · 0 comments · Fixed by #64
Assignees
Labels
bug Something isn't working

Comments

@s0llvan
Copy link
Contributor

s0llvan commented Nov 22, 2024

Bug Report

Description

When selecting a framerate value on one camera that is not available on the other camera, the app crashes.

For example, by selecting a 60 framerate for the rear camera and then switching to the front camera without changing the framerate, the app crashes and cannot be relaunched without clearing the data.

Steps to Reproduce

  1. Go to 'Settings'
  2. Select back camera
  3. Click on '60 framerates'
  4. Select front camera
  5. See error

Expected Behavior

The selection of the default framerate.

Actual Behavior

2024-11-22 15:11:19.480 26275-26275 AndroidRuntime com.fadcam E FATAL EXCEPTION: main
Process: com.fadcam, PID: 26275
java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 2
at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
at java.util.Objects.checkIndex(Objects.java:359)
at java.util.ArrayList.get(ArrayList.java:434)
at android.widget.ArrayAdapter.getItem(ArrayAdapter.java:394)
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:450)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:416)
at android.widget.Spinner.makeView(Spinner.java:729)
at android.widget.Spinner.layout(Spinner.java:677)
at android.widget.Spinner.onLayout(Spinner.java:639)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1880)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1640)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at androidx.core.widget.NestedScrollView.onLayout(NestedScrollView.java:2234)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:149)
at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:43)
at com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:2365)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:918)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.layoutDecoratedWithMargins(RecyclerView.java:10407)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1720)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1622)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:687)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4645)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4348)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4919)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at androidx.viewpager2.widget.ViewPager2.onLayout(ViewPager2.java:535)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1961)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
2024-11-22 15:11:19.481 26275-26275 AndroidRuntime com.fadcam E at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:758)
at android.view.View.layout(View.java:25382)
at android.view.ViewGroup.layout(ViewGroup.java:6421)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:4899)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4040)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2917)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10324)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1406)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1415)
at android.view.Choreographer.doCallbacks(Choreographer.java:1015)
at android.view.Choreographer.doFrame(Choreographer.java:945)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1389)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8744)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:902)

Screenshots

Environment

  • Device: Pixel 8
  • OS: Android 15 (GrapheneOS)
  • App Version: 1.2.0

Additional Context

Priority

  • Low
  • Medium
  • High
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants