Loading src/com/android/settings/wifi/WifiManagerWrapper.java 0 → 100644 +23 −0 Original line number Diff line number Diff line package com.android.settings.wifi; import android.net.wifi.WifiManager; /** * Wrapper around {@link WifiManager} to facilitate unit testing. * * TODO: delete this class once robolectric supports Android O */ public class WifiManagerWrapper { private final WifiManager mWifiManager; public WifiManagerWrapper(WifiManager wifiManager) { mWifiManager = wifiManager; } /** * {@link WifiManager#getCurrentNetworkWpsNfcConfigurationToken} */ public String getCurrentNetworkWpsNfcConfigurationToken() { return mWifiManager.getCurrentNetworkWpsNfcConfigurationToken(); } } src/com/android/settings/wifi/WifiSettings.java +4 −4 Original line number Diff line number Diff line Loading @@ -577,12 +577,12 @@ public class WifiSettings extends RestrictedSettingsFragment case WRITE_NFC_DIALOG_ID: if (mSelectedAccessPoint != null) { mWifiToNfcDialog = new WriteWifiConfigToNfcDialog( getActivity(), mSelectedAccessPoint.getConfig().networkId, getActivity(), mSelectedAccessPoint.getSecurity(), mWifiManager); new WifiManagerWrapper(mWifiManager)); } else if (mWifiNfcDialogSavedState != null) { mWifiToNfcDialog = new WriteWifiConfigToNfcDialog( getActivity(), mWifiNfcDialogSavedState, mWifiManager); mWifiToNfcDialog = new WriteWifiConfigToNfcDialog(getActivity(), mWifiNfcDialogSavedState, new WifiManagerWrapper(mWifiManager)); } return mWifiToNfcDialog; Loading src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java +8 −15 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ class WriteWifiConfigToNfcDialog extends AlertDialog private static final String PASSWORD_FORMAT = "102700%s%s"; private static final int HEX_RADIX = 16; private static final char[] hexArray = "0123456789ABCDEF".toCharArray(); private static final String NETWORK_ID = "network_id"; private static final String SECURITY = "security"; private final PowerManager.WakeLock mWakeLock; Loading @@ -69,33 +68,29 @@ class WriteWifiConfigToNfcDialog extends AlertDialog private TextView mLabelView; private CheckBox mPasswordCheckBox; private ProgressBar mProgressBar; private WifiManager mWifiManager; private WifiManagerWrapper mWifiManager; private String mWpsNfcConfigurationToken; private Context mContext; private int mNetworkId; private int mSecurity; WriteWifiConfigToNfcDialog(Context context, int networkId, int security, WifiManager wifiManager) { WriteWifiConfigToNfcDialog(Context context, int security, WifiManagerWrapper wifiManager) { super(context); mContext = context; mWakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE)) .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WriteWifiConfigToNfcDialog:wakeLock"); mOnTextChangedHandler = new Handler(); mNetworkId = networkId; mSecurity = security; mWifiManager = wifiManager; } WriteWifiConfigToNfcDialog(Context context, Bundle savedState, WifiManager wifiManager) { WriteWifiConfigToNfcDialog(Context context, Bundle savedState, WifiManagerWrapper wifiManager) { super(context); mContext = context; mWakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE)) .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WriteWifiConfigToNfcDialog:wakeLock"); mOnTextChangedHandler = new Handler(); mNetworkId = savedState.getInt(NETWORK_ID); mSecurity = savedState.getInt(SECURITY); mWifiManager = wifiManager; } Loading @@ -114,12 +109,12 @@ class WriteWifiConfigToNfcDialog extends AlertDialog mContext.getResources().getString(com.android.internal.R.string.cancel), (OnClickListener) null); mPasswordView = (TextView) mView.findViewById(R.id.password); mLabelView = (TextView) mView.findViewById(R.id.password_label); mPasswordView = mView.findViewById(R.id.password); mLabelView = mView.findViewById(R.id.password_label); mPasswordView.addTextChangedListener(this); mPasswordCheckBox = (CheckBox) mView.findViewById(R.id.show_password); mPasswordCheckBox = mView.findViewById(R.id.show_password); mPasswordCheckBox.setOnCheckedChangeListener(this); mProgressBar = (ProgressBar) mView.findViewById(R.id.progress_bar); mProgressBar = mView.findViewById(R.id.progress_bar); super.onCreate(savedInstanceState); Loading @@ -135,8 +130,7 @@ class WriteWifiConfigToNfcDialog extends AlertDialog mWakeLock.acquire(); String password = mPasswordView.getText().toString(); String wpsNfcConfigurationToken = mWifiManager.getWpsNfcConfigurationToken(mNetworkId); String wpsNfcConfigurationToken = mWifiManager.getCurrentNetworkWpsNfcConfigurationToken(); String passwordHex = byteArrayToHexString(password.getBytes()); String passwordLength = password.length() >= HEX_RADIX Loading Loading @@ -180,7 +174,6 @@ class WriteWifiConfigToNfcDialog extends AlertDialog } public void saveState(Bundle state) { state.putInt(NETWORK_ID, mNetworkId); state.putInt(SECURITY, mSecurity); } Loading tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java +5 −7 Original line number Diff line number Diff line Loading @@ -46,10 +46,8 @@ import org.robolectric.util.ReflectionHelpers; shadows = ShadowNfcAdapter.class ) public class WriteWifiConfigToNfcDialogTest { private static final int NETWORK_ID = 17; @Mock Activity mActivity; @Mock WifiManager mWifiManager; @Mock WifiManagerWrapper mWifiManager; private WriteWifiConfigToNfcDialog mWriteWifiConfigToNfcDialog; Loading @@ -61,7 +59,7 @@ public class WriteWifiConfigToNfcDialogTest { .thenReturn(ReflectionHelpers.newInstance(InputMethodManager.class)); mWriteWifiConfigToNfcDialog = new WriteWifiConfigToNfcDialog(RuntimeEnvironment.application, NETWORK_ID, 0 /* security */, mWifiManager); 0 /* security */, mWifiManager); mWriteWifiConfigToNfcDialog.setOwnerActivity(mActivity); mWriteWifiConfigToNfcDialog.onCreate(null /* savedInstanceState */); } Loading @@ -73,7 +71,7 @@ public class WriteWifiConfigToNfcDialogTest { @Test public void testOnClick_nfcConfigurationTokenDoesNotContainPasswordHex() { when(mWifiManager.getWpsNfcConfigurationToken(NETWORK_ID)).thenReturn("blah"); when(mWifiManager.getCurrentNetworkWpsNfcConfigurationToken()).thenReturn("blah"); mWriteWifiConfigToNfcDialog.onClick(null); Loading @@ -82,7 +80,7 @@ public class WriteWifiConfigToNfcDialogTest { @Test public void testOnClick_nfcConfigurationTokenIsNull() { when(mWifiManager.getWpsNfcConfigurationToken(NETWORK_ID)).thenReturn(null); when(mWifiManager.getCurrentNetworkWpsNfcConfigurationToken()).thenReturn(null); mWriteWifiConfigToNfcDialog.onClick(null); Loading @@ -92,7 +90,7 @@ public class WriteWifiConfigToNfcDialogTest { @Test public void testOnClick_nfcConfigurationTokenContainsPasswordHex() { // This is the corresponding passwordHex for an empty string password. when(mWifiManager.getWpsNfcConfigurationToken(NETWORK_ID)).thenReturn("10270000"); when(mWifiManager.getCurrentNetworkWpsNfcConfigurationToken()).thenReturn("10270000"); mWriteWifiConfigToNfcDialog.onClick(null); Loading Loading
src/com/android/settings/wifi/WifiManagerWrapper.java 0 → 100644 +23 −0 Original line number Diff line number Diff line package com.android.settings.wifi; import android.net.wifi.WifiManager; /** * Wrapper around {@link WifiManager} to facilitate unit testing. * * TODO: delete this class once robolectric supports Android O */ public class WifiManagerWrapper { private final WifiManager mWifiManager; public WifiManagerWrapper(WifiManager wifiManager) { mWifiManager = wifiManager; } /** * {@link WifiManager#getCurrentNetworkWpsNfcConfigurationToken} */ public String getCurrentNetworkWpsNfcConfigurationToken() { return mWifiManager.getCurrentNetworkWpsNfcConfigurationToken(); } }
src/com/android/settings/wifi/WifiSettings.java +4 −4 Original line number Diff line number Diff line Loading @@ -577,12 +577,12 @@ public class WifiSettings extends RestrictedSettingsFragment case WRITE_NFC_DIALOG_ID: if (mSelectedAccessPoint != null) { mWifiToNfcDialog = new WriteWifiConfigToNfcDialog( getActivity(), mSelectedAccessPoint.getConfig().networkId, getActivity(), mSelectedAccessPoint.getSecurity(), mWifiManager); new WifiManagerWrapper(mWifiManager)); } else if (mWifiNfcDialogSavedState != null) { mWifiToNfcDialog = new WriteWifiConfigToNfcDialog( getActivity(), mWifiNfcDialogSavedState, mWifiManager); mWifiToNfcDialog = new WriteWifiConfigToNfcDialog(getActivity(), mWifiNfcDialogSavedState, new WifiManagerWrapper(mWifiManager)); } return mWifiToNfcDialog; Loading
src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java +8 −15 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ class WriteWifiConfigToNfcDialog extends AlertDialog private static final String PASSWORD_FORMAT = "102700%s%s"; private static final int HEX_RADIX = 16; private static final char[] hexArray = "0123456789ABCDEF".toCharArray(); private static final String NETWORK_ID = "network_id"; private static final String SECURITY = "security"; private final PowerManager.WakeLock mWakeLock; Loading @@ -69,33 +68,29 @@ class WriteWifiConfigToNfcDialog extends AlertDialog private TextView mLabelView; private CheckBox mPasswordCheckBox; private ProgressBar mProgressBar; private WifiManager mWifiManager; private WifiManagerWrapper mWifiManager; private String mWpsNfcConfigurationToken; private Context mContext; private int mNetworkId; private int mSecurity; WriteWifiConfigToNfcDialog(Context context, int networkId, int security, WifiManager wifiManager) { WriteWifiConfigToNfcDialog(Context context, int security, WifiManagerWrapper wifiManager) { super(context); mContext = context; mWakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE)) .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WriteWifiConfigToNfcDialog:wakeLock"); mOnTextChangedHandler = new Handler(); mNetworkId = networkId; mSecurity = security; mWifiManager = wifiManager; } WriteWifiConfigToNfcDialog(Context context, Bundle savedState, WifiManager wifiManager) { WriteWifiConfigToNfcDialog(Context context, Bundle savedState, WifiManagerWrapper wifiManager) { super(context); mContext = context; mWakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE)) .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WriteWifiConfigToNfcDialog:wakeLock"); mOnTextChangedHandler = new Handler(); mNetworkId = savedState.getInt(NETWORK_ID); mSecurity = savedState.getInt(SECURITY); mWifiManager = wifiManager; } Loading @@ -114,12 +109,12 @@ class WriteWifiConfigToNfcDialog extends AlertDialog mContext.getResources().getString(com.android.internal.R.string.cancel), (OnClickListener) null); mPasswordView = (TextView) mView.findViewById(R.id.password); mLabelView = (TextView) mView.findViewById(R.id.password_label); mPasswordView = mView.findViewById(R.id.password); mLabelView = mView.findViewById(R.id.password_label); mPasswordView.addTextChangedListener(this); mPasswordCheckBox = (CheckBox) mView.findViewById(R.id.show_password); mPasswordCheckBox = mView.findViewById(R.id.show_password); mPasswordCheckBox.setOnCheckedChangeListener(this); mProgressBar = (ProgressBar) mView.findViewById(R.id.progress_bar); mProgressBar = mView.findViewById(R.id.progress_bar); super.onCreate(savedInstanceState); Loading @@ -135,8 +130,7 @@ class WriteWifiConfigToNfcDialog extends AlertDialog mWakeLock.acquire(); String password = mPasswordView.getText().toString(); String wpsNfcConfigurationToken = mWifiManager.getWpsNfcConfigurationToken(mNetworkId); String wpsNfcConfigurationToken = mWifiManager.getCurrentNetworkWpsNfcConfigurationToken(); String passwordHex = byteArrayToHexString(password.getBytes()); String passwordLength = password.length() >= HEX_RADIX Loading Loading @@ -180,7 +174,6 @@ class WriteWifiConfigToNfcDialog extends AlertDialog } public void saveState(Bundle state) { state.putInt(NETWORK_ID, mNetworkId); state.putInt(SECURITY, mSecurity); } Loading
tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java +5 −7 Original line number Diff line number Diff line Loading @@ -46,10 +46,8 @@ import org.robolectric.util.ReflectionHelpers; shadows = ShadowNfcAdapter.class ) public class WriteWifiConfigToNfcDialogTest { private static final int NETWORK_ID = 17; @Mock Activity mActivity; @Mock WifiManager mWifiManager; @Mock WifiManagerWrapper mWifiManager; private WriteWifiConfigToNfcDialog mWriteWifiConfigToNfcDialog; Loading @@ -61,7 +59,7 @@ public class WriteWifiConfigToNfcDialogTest { .thenReturn(ReflectionHelpers.newInstance(InputMethodManager.class)); mWriteWifiConfigToNfcDialog = new WriteWifiConfigToNfcDialog(RuntimeEnvironment.application, NETWORK_ID, 0 /* security */, mWifiManager); 0 /* security */, mWifiManager); mWriteWifiConfigToNfcDialog.setOwnerActivity(mActivity); mWriteWifiConfigToNfcDialog.onCreate(null /* savedInstanceState */); } Loading @@ -73,7 +71,7 @@ public class WriteWifiConfigToNfcDialogTest { @Test public void testOnClick_nfcConfigurationTokenDoesNotContainPasswordHex() { when(mWifiManager.getWpsNfcConfigurationToken(NETWORK_ID)).thenReturn("blah"); when(mWifiManager.getCurrentNetworkWpsNfcConfigurationToken()).thenReturn("blah"); mWriteWifiConfigToNfcDialog.onClick(null); Loading @@ -82,7 +80,7 @@ public class WriteWifiConfigToNfcDialogTest { @Test public void testOnClick_nfcConfigurationTokenIsNull() { when(mWifiManager.getWpsNfcConfigurationToken(NETWORK_ID)).thenReturn(null); when(mWifiManager.getCurrentNetworkWpsNfcConfigurationToken()).thenReturn(null); mWriteWifiConfigToNfcDialog.onClick(null); Loading @@ -92,7 +90,7 @@ public class WriteWifiConfigToNfcDialogTest { @Test public void testOnClick_nfcConfigurationTokenContainsPasswordHex() { // This is the corresponding passwordHex for an empty string password. when(mWifiManager.getWpsNfcConfigurationToken(NETWORK_ID)).thenReturn("10270000"); when(mWifiManager.getCurrentNetworkWpsNfcConfigurationToken()).thenReturn("10270000"); mWriteWifiConfigToNfcDialog.onClick(null); Loading