From 2dfaabc1bab1cf20110e984010c96a5b94973db8 Mon Sep 17 00:00:00 2001 From: Artur Dryomov Date: Mon, 9 Sep 2013 11:12:55 +0300 Subject: Fix null pointer exception for devices without Bluetooth. Change-Id: If44089824fe48b302f6e75ccbbfb3a6843016723 --- .../impressremote/communication/CommunicationService.java | 4 ++++ .../src/org/libreoffice/impressremote/util/BluetoothOperator.java | 8 ++++++++ 2 files changed, 12 insertions(+) (limited to 'android/sdremote') diff --git a/android/sdremote/src/org/libreoffice/impressremote/communication/CommunicationService.java b/android/sdremote/src/org/libreoffice/impressremote/communication/CommunicationService.java index f2ead2868a4e..d7915c3a9d57 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/communication/CommunicationService.java +++ b/android/sdremote/src/org/libreoffice/impressremote/communication/CommunicationService.java @@ -302,6 +302,10 @@ public class CommunicationService extends Service implements Runnable, MessagesL } private void restoreBluetoothState() { + if (!BluetoothOperator.isStateValid(mBluetoothState)) { + return; + } + if (mBluetoothState.wasBluetoothEnabled()) { return; } diff --git a/android/sdremote/src/org/libreoffice/impressremote/util/BluetoothOperator.java b/android/sdremote/src/org/libreoffice/impressremote/util/BluetoothOperator.java index 4be74e172d31..56b05aa5af43 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/util/BluetoothOperator.java +++ b/android/sdremote/src/org/libreoffice/impressremote/util/BluetoothOperator.java @@ -39,9 +39,17 @@ public final class BluetoothOperator { } public static State getState() { + if (!isAvailable()) { + return null; + } + return new State(getAdapter().isEnabled()); } + public static boolean isStateValid(State aState) { + return aState != null; + } + public static void enable() { if (!isAvailable()) { return; -- cgit