Fixed Bluetooth availability test in Settings

Added similar test for WiFi to be consistent.

Added null tests in BluetoothEnabler.

Change-Id: Ia6e7b150a1bc060c7ce0b4db12ab3f6c958af104
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 1f54b17..078c2ee 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -16,7 +16,6 @@
 
 package com.android.settings;
 
-import android.bluetooth.BluetoothAdapter;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -24,7 +23,6 @@
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.os.Bundle;
-import android.os.ServiceManager;
 import android.preference.PreferenceActivity;
 import android.text.TextUtils;
 import android.util.Log;
@@ -313,9 +311,14 @@
             } else if (id == R.id.call_settings) {
                 if (!Utils.isVoiceCapable(this))
                     target.remove(header);
+            } else if (id == R.id.wifi_settings) {
+                // Remove WiFi Settings if WiFi service is not available.
+                if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI)) {
+                    target.remove(header);
+                }
             } else if (id == R.id.bluetooth_settings) {
                 // Remove Bluetooth Settings if Bluetooth service is not available.
-                if (ServiceManager.getService(BluetoothAdapter.BLUETOOTH_SERVICE) == null) {
+                if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) {
                     target.remove(header);
                 }
             }