borconi / WifiLauncherforHUR

15 stars 9 forks source link

App crashes when starts #9

Closed gvillo closed 3 years ago

gvillo commented 3 years ago

There is an issue while setting summary bluetooth devices with selected devices.

The user had bluetooth off and he selected "Bluetooth was off, re open it again" or "No paired Bluetooth devices" option in MultiSelectListPreference, it crashes because value is "". Also fixed and adds label if a device is forgotten (and avoid crashing too).

StackTrace:

10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime: FATAL EXCEPTION: main
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime: Process: com.borconi.emil.wifilauncherforhur, PID: 7695
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {com.borconi.emil.wifilauncherforhur/com.borconi.emil.wifilauncherforhur.activities.MainActivity}: java.lang.ArrayIndexOutOfBoundsException: length=1; index=-1
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4444)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4476)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:106)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.os.Looper.loop(Looper.java:223)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:7656)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at java.lang.reflect.Method.invoke(Native Method)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime: Caused by: java.lang.ArrayIndexOutOfBoundsException: length=1; index=-1
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at com.borconi.emil.wifilauncherforhur.activities.MainPreferenceFragment.lambda$setBluetoothDevicesSummary$8(MainPreferenceFragment.java:186)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at com.borconi.emil.wifilauncherforhur.activities.-$$Lambda$MainPreferenceFragment$q3A8Pt6nYiL7CeL-c_rcLCfBxwQ.apply(Unknown Source:4)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:203)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1552)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:475)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:236)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:517)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at com.borconi.emil.wifilauncherforhur.activities.MainPreferenceFragment.setBluetoothDevicesSummary(MainPreferenceFragment.java:186)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at com.borconi.emil.wifilauncherforhur.activities.MainPreferenceFragment.onResume(MainPreferenceFragment.java:107)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.Fragment.performResume(Fragment.java:2747)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:373)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1199)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1356)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1497)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2625)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:2589)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:269)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:478)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:467)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:204)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.Activity.performResume(Activity.java:8160)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4434)
10-12 17:00:36.243 10227  7695  7695 E AndroidRuntime:  ... 11 more
gvillo commented 3 years ago

Fixed by #10