diff --git a/devicesetup/build.gradle b/devicesetup/build.gradle
index a139f27..c45fb32 100644
--- a/devicesetup/build.gradle
+++ b/devicesetup/build.gradle
@@ -90,9 +90,9 @@ dependencies {
compile 'com.squareup.phrase:phrase:1.0.3'
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
- compile 'com.android.support:appcompat-v7:25.1.0'
- compile 'com.android.support:recyclerview-v7:25.1.0'
- compile 'com.android.support:support-annotations:25.1.0'
+ compile 'com.android.support:appcompat-v7:25.1.1'
+ compile 'com.android.support:recyclerview-v7:25.1.1'
+ compile 'com.android.support:support-annotations:25.1.1'
retrolambdaConfig 'net.orfjackal.retrolambda:retrolambda:2.3.0'
diff --git a/devicesetup/devicesetup.iml b/devicesetup/devicesetup.iml
index cf91a5f..92c8b1d 100644
--- a/devicesetup/devicesetup.iml
+++ b/devicesetup/devicesetup.iml
@@ -67,14 +67,6 @@
-
-
-
-
-
-
-
-
@@ -83,6 +75,15 @@
+
+
+
+
+
+
+
+
+
@@ -96,29 +97,31 @@
+
+
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/devicesetup/lint.xml b/devicesetup/lint.xml
new file mode 100644
index 0000000..56af983
--- /dev/null
+++ b/devicesetup/lint.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/devicesetup/src/main/java/io/particle/android/sdk/devicesetup/loaders/WifiScanResultLoader.java b/devicesetup/src/main/java/io/particle/android/sdk/devicesetup/loaders/WifiScanResultLoader.java
index 380e303..c789e85 100644
--- a/devicesetup/src/main/java/io/particle/android/sdk/devicesetup/loaders/WifiScanResultLoader.java
+++ b/devicesetup/src/main/java/io/particle/android/sdk/devicesetup/loaders/WifiScanResultLoader.java
@@ -6,6 +6,7 @@
import android.net.wifi.WifiManager;
import java.util.List;
+import java.util.Locale;
import java.util.Set;
import io.particle.android.sdk.devicesetup.R;
@@ -93,8 +94,8 @@ public Set loadInBackground() {
if (input == null || !truthy(input.SSID)) {
return false;
}
- String softApPrefix = (getContext().getString(R.string.network_name_prefix) + "-").toLowerCase();
- return input.SSID.toLowerCase().startsWith(softApPrefix);
+ String softApPrefix = (getContext().getString(R.string.network_name_prefix) + "-").toLowerCase(Locale.ROOT);
+ return input.SSID.toLowerCase(Locale.ROOT).startsWith(softApPrefix);
};
}
diff --git a/devicesetup/src/main/java/io/particle/android/sdk/devicesetup/ui/DiscoverDeviceActivity.java b/devicesetup/src/main/java/io/particle/android/sdk/devicesetup/ui/DiscoverDeviceActivity.java
index 4eeac1e..d365b8d 100644
--- a/devicesetup/src/main/java/io/particle/android/sdk/devicesetup/ui/DiscoverDeviceActivity.java
+++ b/devicesetup/src/main/java/io/particle/android/sdk/devicesetup/ui/DiscoverDeviceActivity.java
@@ -15,6 +15,7 @@
import java.io.IOException;
import java.security.PublicKey;
+import java.util.Locale;
import java.util.Set;
import io.particle.android.sdk.accountsetup.LoginActivity;
@@ -397,7 +398,7 @@ public void doTheThing() throws SetupStepException {
try {
DeviceIdCommand.Response response = client.sendCommand(
new DeviceIdCommand(), DeviceIdCommand.Response.class);
- detectedDeviceID = response.deviceIdHex.toLowerCase();
+ detectedDeviceID = response.deviceIdHex.toLowerCase(Locale.ROOT);
DeviceSetupState.deviceToBeSetUpId = detectedDeviceID;
isDetectedDeviceClaimed = truthy(response.isClaimed);
} catch (IOException e) {
diff --git a/devicesetup/src/main/java/io/particle/android/sdk/utils/Crypto.java b/devicesetup/src/main/java/io/particle/android/sdk/utils/Crypto.java
index 0702e3d..4297b7a 100644
--- a/devicesetup/src/main/java/io/particle/android/sdk/utils/Crypto.java
+++ b/devicesetup/src/main/java/io/particle/android/sdk/utils/Crypto.java
@@ -9,6 +9,7 @@
import java.security.PublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.X509EncodedKeySpec;
+import java.util.Locale;
import javax.annotation.ParametersAreNonnullByDefault;
import javax.crypto.BadPaddingException;
@@ -48,13 +49,14 @@ public static String encryptAndEncodeToHex(String inputString, PublicKey publicK
String hex = ByteString.of(encryptedBytes).hex();
// forcing lowercase here because of a bug in the early firmware that didn't accept
// hex encoding in uppercase
- return hex.toLowerCase();
+ return hex.toLowerCase(Locale.ROOT);
}
+ @SuppressLint("TrulyRandom")
static byte[] encryptWithKey(byte[] inputData, PublicKey publicKey) throws CryptoException {
try {
@SuppressLint("GetInstance") // the warning doesn't apply to how we're using this
- Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
+ Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
return cipher.doFinal(inputData);
diff --git a/devicesetup/src/main/java/io/particle/android/sdk/utils/SSID.java b/devicesetup/src/main/java/io/particle/android/sdk/utils/SSID.java
index c1a12b3..3668c21 100644
--- a/devicesetup/src/main/java/io/particle/android/sdk/utils/SSID.java
+++ b/devicesetup/src/main/java/io/particle/android/sdk/utils/SSID.java
@@ -7,6 +7,8 @@
import android.os.Parcelable;
import android.support.annotation.NonNull;
+import java.util.Locale;
+
/**
* Simple value wrapper for SSID strings. Eliminates case comparison issues and the quoting
@@ -59,7 +61,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return ssidString.toLowerCase().hashCode();
+ return ssidString.toLowerCase(Locale.ROOT).hashCode();
}
@Override
diff --git a/devicesetup/src/main/java/io/particle/android/sdk/utils/SoftAPConfigRemover.java b/devicesetup/src/main/java/io/particle/android/sdk/utils/SoftAPConfigRemover.java
index 97a37ee..c9ee4d6 100644
--- a/devicesetup/src/main/java/io/particle/android/sdk/utils/SoftAPConfigRemover.java
+++ b/devicesetup/src/main/java/io/particle/android/sdk/utils/SoftAPConfigRemover.java
@@ -78,6 +78,6 @@ private void saveWithKey(String key, Set ssids) {
Set asStrings = transformSet(ssids, SSID::toString);
prefs.edit()
.putStringSet(key, asStrings)
- .commit();
+ .apply();
}
}
diff --git a/devicesetup/src/main/res/layout/activity_connecting.xml b/devicesetup/src/main/res/layout/activity_connecting.xml
index b3a308b..568de36 100644
--- a/devicesetup/src/main/res/layout/activity_connecting.xml
+++ b/devicesetup/src/main/res/layout/activity_connecting.xml
@@ -99,6 +99,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="left|center_vertical"
+ android:contentDescription="@null"
android:src="@drawable/checkmark"
android:visibility="gone"/>
@@ -136,6 +137,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="left|center_vertical"
+ android:contentDescription="@null"
android:src="@drawable/checkmark"
android:visibility="gone"
tools:ignore="DuplicateIds"/>
@@ -174,6 +176,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="left|center_vertical"
+ android:contentDescription="@null"
android:src="@drawable/checkmark"
android:visibility="gone"
tools:ignore="DuplicateIds"/>
@@ -212,6 +215,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="left|center_vertical"
+ android:contentDescription="@null"
android:src="@drawable/checkmark"
android:visibility="gone"
tools:ignore="DuplicateIds"/>
@@ -250,6 +254,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="left|center_vertical"
+ android:contentDescription="@null"
android:src="@drawable/checkmark"
android:visibility="gone"
tools:ignore="DuplicateIds"/>
diff --git a/devicesetup/src/main/res/layout/activity_discover_device.xml b/devicesetup/src/main/res/layout/activity_discover_device.xml
index aa3ee11..8ba27d1 100644
--- a/devicesetup/src/main/res/layout/activity_discover_device.xml
+++ b/devicesetup/src/main/res/layout/activity_discover_device.xml
@@ -24,6 +24,7 @@
android:layout_height="96dp"
android:layout_marginBottom="4dp"
android:layout_marginTop="8dp"
+ android:contentDescription="@null"
android:src="@drawable/device_image_small"/>
+ tools:ignore="HardcodedText,Deprecated"/>
+ tools:ignore="HardcodedText,MissingPrefix,Deprecated"/>
diff --git a/devicesetup/src/main/res/layout/brand_image_header.xml b/devicesetup/src/main/res/layout/brand_image_header.xml
index 28076b0..a9dd8e9 100644
--- a/devicesetup/src/main/res/layout/brand_image_header.xml
+++ b/devicesetup/src/main/res/layout/brand_image_header.xml
@@ -2,10 +2,13 @@
+ android:src="@drawable/brand_image_horizontal"
+ tools:ignore="Overdraw"/>
diff --git a/devicesetup/src/main/res/layout/row_wifi_scan_result.xml b/devicesetup/src/main/res/layout/row_wifi_scan_result.xml
index 414c4e2..65c3123 100644
--- a/devicesetup/src/main/res/layout/row_wifi_scan_result.xml
+++ b/devicesetup/src/main/res/layout/row_wifi_scan_result.xml
@@ -13,7 +13,10 @@
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:gravity="center_vertical"
+ android:paddingEnd="0dp"
android:paddingLeft="8dp"
+ android:paddingRight="0dp"
+ android:paddingStart="8dp"
android:text="[SSID will go here]"
android:textSize="@dimen/text_size_medium"
tools:ignore="HardcodedText"/>
@@ -22,17 +25,23 @@
android:id="@+id/wifi_security_indicator_icon"
android:layout_width="24dp"
android:layout_height="24dp"
- android:layout_gravity="right|center_vertical"
+ android:layout_gravity="end|center_vertical"
+ android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="1dp"
+ android:contentDescription="@null"
android:src="@drawable/lock"/>
\ No newline at end of file
diff --git a/devicesetup/src/main/res/values/themes.xml b/devicesetup/src/main/res/values/themes.xml
index 2b0ae9e..f225290 100644
--- a/devicesetup/src/main/res/values/themes.xml
+++ b/devicesetup/src/main/res/values/themes.xml
@@ -26,7 +26,12 @@
- @style/PopupMenuText
-
+
+
-