WaveUp crashes if no proximity sensor is available
If a device doesn't have a proximity sensor (or maybe if it can't get ahold of it), WaveUp will unavoidably crash. Strangely only happens on some devices.
Although WaveUp is completely useless without the proximity sensor, it would be nicer to show a message instead of crashing.
11-05 06:37:52.001 3623 3623 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jarsilio.android.waveup/com.jarsilio.android.waveup.MainActivity}: java.lang.IllegalStateException: sensorManager.getDefault…or(Sensor.TYPE_PROXIMITY) must not be null
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6669)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:495)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: Caused by: java.lang.IllegalStateException: sensorManager.getDefault…or(Sensor.TYPE_PROXIMITY) must not be null
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.service.ProximitySensorHandler.<init>(ProximitySensorHandler.kt:34)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.service.ProximitySensorHandler.<init>(ProximitySensorHandler.kt:32)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.service.ProximitySensorHandler$Companion$1.invoke(ProximitySensorHandler.kt:157)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.service.ProximitySensorHandler$Companion$1.invoke(ProximitySensorHandler.kt:157)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.model.SingletonHolder.getInstance(SingletonHolder.kt:23)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.prefs.Settings.setPreference(Settings.kt:103)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.prefs.Settings.setInitialDialogShown(Settings.kt:74)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.MainActivity.showInitialDialog(MainActivity.kt:83)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at com.jarsilio.android.waveup.MainActivity.onCreate(MainActivity.kt:69)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7136)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7127)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
11-05 06:37:52.001 3623 3623 E AndroidRuntime: ... 11 more
11-05 06:37:52.004 1411 1736 W ActivityManager: Force finishing activity com.jarsilio.android.waveup/.MainActivity
Edited by juanitobananas