New top-level Dock in Settings and a Dock Settings screen with Audio item. #2367275

Add a new top-level setting for car/desktop dock settings.
Sub menu contains one item - Audio (settings)
Sub text for Audio shows current docked status and launches either the
 audio settings or a dialog saying that you're not docked and you need to
 buy a new dock from Google (kidding).
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index c0a8613..5309cf5 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -17,9 +17,9 @@
 package com.android.settings;
 
 import android.os.Bundle;
+import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceGroup;
-import android.provider.Settings.System;
 import android.telephony.TelephonyManager;
 
 public class Settings extends PreferenceActivity {
@@ -28,6 +28,7 @@
     private static final String KEY_CALL_SETTINGS = "call_settings";
     private static final String KEY_SYNC_SETTINGS = "sync_settings";
     private static final String KEY_SEARCH_SETTINGS = "search_settings";
+    private static final String KEY_DOCK_SETTINGS = "dock_settings";
     
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -40,6 +41,11 @@
         PreferenceGroup parent = (PreferenceGroup) findPreference(KEY_PARENT);
         Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SYNC_SETTINGS, 0);
         Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SEARCH_SETTINGS, 0);
+
+        Preference dockSettings = parent.findPreference(KEY_DOCK_SETTINGS);
+        if (getResources().getBoolean(R.bool.has_dock_settings) == false && dockSettings != null) {
+            parent.removePreference(dockSettings);
+        }
     }
     
     @Override