diff options
| -rw-r--r-- | core/java/android/provider/Settings.java | 6 | ||||
| -rw-r--r-- | services/java/com/android/server/ConnectivityService.java | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 1d372c9..2a3f916 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -3082,6 +3082,12 @@ public final class Settings { public static final String ADB_ENABLED = Global.ADB_ENABLED; /** + * The hostname for this device + * @hide + */ + public static final String DEVICE_HOSTNAME = "device_hostname"; + + /** * Setting to allow mock locations and location provider status to be injected into the * LocationManager service for testing purposes during application development. These * locations and status values override actual location and status information generated diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index ad1dfb2..6c42c09 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -368,13 +368,17 @@ public class ConnectivityService extends IConnectivityManager.Stub { } // setup our unique device name - if (TextUtils.isEmpty(SystemProperties.get("net.hostname"))) { + String hostname = Settings.Secure.getString(context.getContentResolver(), + Settings.Secure.DEVICE_HOSTNAME); + if (TextUtils.isEmpty(hostname) && TextUtils.isEmpty(SystemProperties.get("net.hostname"))) { String id = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); if (id != null && id.length() > 0) { String name = new String("android-").concat(id); SystemProperties.set("net.hostname", name); } + } else { + SystemProperties.set("net.hostname", hostname); } // read our default dns server ip |
