Snap for 6761348 from b6a9493804
to rvc-qpr1-release
Change-Id: I606792147915c9712e943e1e81a18b764b8a5025
This commit is contained in:
@@ -18,26 +18,29 @@ package com.android.settings.display.darkmode;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.util.Calendar;
|
||||||
import java.util.Locale;
|
import java.util.TimeZone;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats LocalTime to the locale time string format
|
* Formats LocalTime to the locale time string format
|
||||||
*/
|
*/
|
||||||
public class TimeFormatter {
|
public class TimeFormatter {
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
private final DateTimeFormatter mFormatter;
|
private final java.text.DateFormat mFormatter;
|
||||||
public TimeFormatter(Context context) {
|
public TimeFormatter(Context context) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
Locale locale = mContext.getResources().getConfiguration().locale;
|
mFormatter = android.text.format.DateFormat.getTimeFormat(context);
|
||||||
if (locale == null) {
|
mFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||||||
locale = Locale.getDefault();
|
|
||||||
}
|
|
||||||
mFormatter = DateTimeFormatter.ofPattern("hh:mm a", locale);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String of(LocalTime time) {
|
public String of(LocalTime time) {
|
||||||
return mFormatter.format(time);
|
final Calendar c = Calendar.getInstance();
|
||||||
|
c.setTimeZone(mFormatter.getTimeZone());
|
||||||
|
c.set(Calendar.HOUR_OF_DAY, time.getHour());
|
||||||
|
c.set(Calendar.MINUTE, time.getMinute());
|
||||||
|
c.set(Calendar.SECOND, 0);
|
||||||
|
c.set(Calendar.MILLISECOND, 0);
|
||||||
|
return mFormatter.format(c.getTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean is24HourFormat() {
|
public boolean is24HourFormat() {
|
||||||
|
@@ -23,6 +23,7 @@ import android.content.Context;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.net.NetworkCapabilities;
|
import android.net.NetworkCapabilities;
|
||||||
import android.net.wifi.ScanResult;
|
import android.net.wifi.ScanResult;
|
||||||
|
import android.net.wifi.SoftApConfiguration;
|
||||||
import android.net.wifi.WifiConfiguration;
|
import android.net.wifi.WifiConfiguration;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
@@ -38,8 +39,6 @@ public class WifiUtils {
|
|||||||
|
|
||||||
private static final int SSID_ASCII_MIN_LENGTH = 1;
|
private static final int SSID_ASCII_MIN_LENGTH = 1;
|
||||||
private static final int SSID_ASCII_MAX_LENGTH = 32;
|
private static final int SSID_ASCII_MAX_LENGTH = 32;
|
||||||
private static final int PASSWORD_MIN_LENGTH = 8;
|
|
||||||
private static final int PASSWORD_MAX_LENGTH = 63;
|
|
||||||
|
|
||||||
|
|
||||||
public static boolean isSSIDTooLong(String ssid) {
|
public static boolean isSSIDTooLong(String ssid) {
|
||||||
@@ -56,13 +55,17 @@ public class WifiUtils {
|
|||||||
return ssid.length() < SSID_ASCII_MIN_LENGTH;
|
return ssid.length() < SSID_ASCII_MIN_LENGTH;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isHotspotPasswordValid(String password) {
|
/**
|
||||||
if (TextUtils.isEmpty(password)) {
|
* Check if the WPA2-PSK hotspot password is valid.
|
||||||
|
*/
|
||||||
|
public static boolean isHotspotWpa2PasswordValid(String password) {
|
||||||
|
final SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder();
|
||||||
|
try {
|
||||||
|
configBuilder.setPassphrase(password, SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
final int length = password.length();
|
|
||||||
return length >= PASSWORD_MIN_LENGTH && length <= PASSWORD_MAX_LENGTH;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -118,7 +118,7 @@ public class WifiTetherPasswordPreferenceController extends WifiTetherBasePrefer
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isTextValid(String value) {
|
public boolean isTextValid(String value) {
|
||||||
return WifiUtils.isHotspotPasswordValid(value);
|
return WifiUtils.isHotspotWpa2PasswordValid(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String generateRandomPassword() {
|
private static String generateRandomPassword() {
|
||||||
|
@@ -18,10 +18,6 @@ package com.android.settings.wifi;
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.robolectric.RobolectricTestRunner;
|
|
||||||
|
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -30,6 +26,9 @@ import android.os.Bundle;
|
|||||||
|
|
||||||
import com.android.settingslib.wifi.AccessPoint;
|
import com.android.settingslib.wifi.AccessPoint;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@@ -48,11 +47,12 @@ public class WifiUtilsTest {
|
|||||||
public void testPassword() {
|
public void testPassword() {
|
||||||
final String longPassword = "123456789012345678901234567890"
|
final String longPassword = "123456789012345678901234567890"
|
||||||
+ "1234567890123456789012345678901234567890";
|
+ "1234567890123456789012345678901234567890";
|
||||||
assertThat(WifiUtils.isHotspotPasswordValid("123")).isFalse();
|
assertThat(WifiUtils.isHotspotWpa2PasswordValid("123")).isFalse();
|
||||||
assertThat(WifiUtils.isHotspotPasswordValid("12345678")).isTrue();
|
assertThat(WifiUtils.isHotspotWpa2PasswordValid("12345678")).isTrue();
|
||||||
assertThat(WifiUtils.isHotspotPasswordValid("1234567890")).isTrue();
|
assertThat(WifiUtils.isHotspotWpa2PasswordValid("1234567890")).isTrue();
|
||||||
assertThat(WifiUtils.isHotspotPasswordValid(longPassword)).isFalse();
|
assertThat(WifiUtils.isHotspotWpa2PasswordValid(longPassword)).isFalse();
|
||||||
assertThat(WifiUtils.isHotspotPasswordValid("")).isFalse();
|
assertThat(WifiUtils.isHotspotWpa2PasswordValid("")).isFalse();
|
||||||
|
assertThat(WifiUtils.isHotspotWpa2PasswordValid("€¥£")).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user