summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/provider/Settings.java6
-rw-r--r--services/java/com/android/server/ConnectivityService.java6
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