Changed ConnectivityService#getServiceInstance so its a singleton.

Change-Id: I27b5688a50917b01fb2fcd1c124da77ccae226b5
This commit is contained in:
Wink Saville
2010-09-01 14:48:29 -07:00
parent e55ada7892
commit 7323ea10cd

View File

@@ -105,7 +105,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
private int mNumDnsEntries;
private boolean mTestMode;
private static ConnectivityService sServiceInstance;
private static volatile ConnectivityService sServiceInstance;
private Handler mHandler;
@@ -174,11 +174,10 @@ public class ConnectivityService extends IConnectivityManager.Stub {
Looper.loop();
}
public static ConnectivityService getServiceInstance(Context context) {
ConnectivityThread thread = new ConnectivityThread(context);
thread.start();
synchronized (thread) {
public static synchronized ConnectivityService getServiceInstance(Context context) {
if (sServiceInstance == null) {
ConnectivityThread thread = new ConnectivityThread(context);
thread.start();
while (sServiceInstance == null) {
try {
// Wait until sServiceInstance has been initialized.