diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java index d8bdf32dbf4..528fbc3bac9 100644 --- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java +++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java @@ -168,10 +168,18 @@ public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment impl break; case MESSAGE_SCAN_ZXING_WIFI_FORMAT_SUCCESS: + final Context context = getContext(); + if (context == null) { + // Context may be null if the message is received after the Activity has + // been destroyed + Log.d(TAG, "Scan success but context is null"); + return; + } + // We may get 2 WifiConfiguration if the QR code has no password in it, // one for open network and one for enhanced open network. final WifiManager wifiManager = - getContext().getSystemService(WifiManager.class); + context.getSystemService(WifiManager.class); final WifiNetworkConfig qrCodeWifiNetworkConfig = (WifiNetworkConfig)msg.obj; final List qrCodeWifiConfigurations = diff --git a/src/com/android/settings/wifi/qrcode/QrCamera.java b/src/com/android/settings/wifi/qrcode/QrCamera.java index 3865eb1f116..d07c54335ad 100644 --- a/src/com/android/settings/wifi/qrcode/QrCamera.java +++ b/src/com/android/settings/wifi/qrcode/QrCamera.java @@ -124,6 +124,7 @@ public class QrCamera extends Handler { } if (mCamera != null) { mCamera.stopPreview(); + releaseCamera(); } }