From 21c7153d30071dcbeb92daa1fd48ed181e42aef3 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Sun, 9 Sep 2012 13:26:55 -0700 Subject: [PATCH] Disable wifi display API when the adapter is not registered. Bug: 7132341 Change-Id: I46d859082077afd2c8adc829ad285977dff80d07 --- .../statusbar/phone/QuickSettings.java | 7 ------- .../server/display/DisplayManagerService.java | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java index e9dd70a0a47bc..b0e7a9ec810c2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java @@ -22,18 +22,15 @@ import android.bluetooth.BluetoothAdapter.BluetoothStateChangeCallback; import android.content.BroadcastReceiver; import android.content.Context; import android.content.CursorLoader; -import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.Loader; import android.content.res.Resources; import android.database.Cursor; -import android.database.DataSetObserver; import android.graphics.drawable.ClipDrawable; import android.hardware.display.DisplayManager; import android.hardware.display.WifiDisplay; import android.hardware.display.WifiDisplayStatus; -import android.hardware.input.KeyboardLayout; import android.net.Uri; import android.provider.ContactsContract; import android.provider.Settings; @@ -44,12 +41,8 @@ import android.view.WindowManager; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; -import android.widget.CheckedTextView; import android.widget.ListView; -import android.widget.RadioButton; import android.widget.TextView; -import android.widget.Toast; -import android.widget.ListAdapter; import java.util.ArrayList; import java.util.Comparator; diff --git a/services/java/com/android/server/display/DisplayManagerService.java b/services/java/com/android/server/display/DisplayManagerService.java index e11d454756686..39f2418a57db7 100644 --- a/services/java/com/android/server/display/DisplayManagerService.java +++ b/services/java/com/android/server/display/DisplayManagerService.java @@ -352,7 +352,9 @@ public final class DisplayManagerService extends IDisplayManager.Stub { final long token = Binder.clearCallingIdentity(); try { synchronized (mSyncRoot) { - mWifiDisplayAdapter.requestScanLocked(); + if (mWifiDisplayAdapter != null) { + mWifiDisplayAdapter.requestScanLocked(); + } } } finally { Binder.restoreCallingIdentity(token); @@ -372,7 +374,9 @@ public final class DisplayManagerService extends IDisplayManager.Stub { final long token = Binder.clearCallingIdentity(); try { synchronized (mSyncRoot) { - mWifiDisplayAdapter.requestConnectLocked(address); + if (mWifiDisplayAdapter != null) { + mWifiDisplayAdapter.requestConnectLocked(address); + } } } finally { Binder.restoreCallingIdentity(token); @@ -389,7 +393,9 @@ public final class DisplayManagerService extends IDisplayManager.Stub { final long token = Binder.clearCallingIdentity(); try { synchronized (mSyncRoot) { - mWifiDisplayAdapter.requestDisconnectLocked(); + if (mWifiDisplayAdapter != null) { + mWifiDisplayAdapter.requestDisconnectLocked(); + } } } finally { Binder.restoreCallingIdentity(token); @@ -406,7 +412,11 @@ public final class DisplayManagerService extends IDisplayManager.Stub { final long token = Binder.clearCallingIdentity(); try { synchronized (mSyncRoot) { - return mWifiDisplayAdapter.getWifiDisplayStatusLocked(); + if (mWifiDisplayAdapter != null) { + return mWifiDisplayAdapter.getWifiDisplayStatusLocked(); + } else { + return new WifiDisplayStatus(); + } } } finally { Binder.restoreCallingIdentity(token);