Loading packages/SettingsLib/src/com/android/settingslib/Utils.java +17 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,10 @@ public class Utils { static final String STORAGE_MANAGER_ENABLED_PROPERTY = "ro.storage_manager.enabled"; @VisibleForTesting static final String INCOMPATIBLE_CHARGER_WARNING_DISABLED = "incompatible_charger_warning_disabled"; private static Signature[] sSystemSignature; private static String sPermissionControllerPackageName; private static String sServicesSystemSharedLibPackageName; Loading Loading @@ -652,6 +656,19 @@ public class Utils { /** Whether there is any incompatible chargers in the current UsbPort? */ public static boolean containsIncompatibleChargers(Context context, String tag) { // Avoid the caller doesn't have permission to read the "Settings.Secure" data. try { // Whether the incompatible charger warning is disabled or not if (Settings.Secure.getInt(context.getContentResolver(), INCOMPATIBLE_CHARGER_WARNING_DISABLED, 0) == 1) { Log.d(tag, "containsIncompatibleChargers: disabled"); return false; } } catch (Exception e) { Log.e(tag, "containsIncompatibleChargers()", e); return false; } final List<UsbPort> usbPortList = context.getSystemService(UsbManager.class).getPorts(); if (usbPortList == null || usbPortList.isEmpty()) { Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java +24 −7 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import android.telephony.NetworkRegistrationInfo; import android.telephony.ServiceState; import android.text.TextUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -65,6 +66,7 @@ import java.util.Map; @Config(shadows = {UtilsTest.ShadowSecure.class, UtilsTest.ShadowLocationManager.class}) public class UtilsTest { private static final double[] TEST_PERCENTAGES = {0, 0.4, 0.5, 0.6, 49, 49.3, 49.8, 50, 100}; private static final String TAG = "UtilsTest"; private static final String PERCENTAGE_0 = "0%"; private static final String PERCENTAGE_1 = "1%"; private static final String PERCENTAGE_49 = "49%"; Loading Loading @@ -96,6 +98,12 @@ public class UtilsTest { mAudioManager = mContext.getSystemService(AudioManager.class); } @After public void reset() { Settings.Secure.putInt(mContext.getContentResolver(), Utils.INCOMPATIBLE_CHARGER_WARNING_DISABLED, 0); } @Test public void testUpdateLocationEnabled() { int currentUserId = ActivityManager.getCurrentUser(); Loading Loading @@ -427,13 +435,13 @@ public class UtilsTest { @Test public void containsIncompatibleChargers_nullPorts_returnFalse() { when(mUsbManager.getPorts()).thenReturn(null); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test public void containsIncompatibleChargers_emptyPorts_returnFalse() { when(mUsbManager.getPorts()).thenReturn(new ArrayList<>()); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test Loading @@ -443,13 +451,13 @@ public class UtilsTest { when(mUsbManager.getPorts()).thenReturn(usbPorts); when(mUsbPort.getStatus()).thenReturn(null); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test public void containsIncompatibleChargers_returnTrue() { setupIncompatibleCharging(); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isTrue(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isTrue(); } @Test Loading @@ -457,7 +465,7 @@ public class UtilsTest { setupIncompatibleCharging(); when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[1]); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test Loading @@ -465,7 +473,7 @@ public class UtilsTest { setupIncompatibleCharging(); when(mUsbPort.supportsComplianceWarnings()).thenReturn(false); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test Loading @@ -473,7 +481,16 @@ public class UtilsTest { setupIncompatibleCharging(); when(mUsbPortStatus.isConnected()).thenReturn(false); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test public void containsIncompatibleChargers_disableWarning_returnFalse() { setupIncompatibleCharging(); Settings.Secure.putInt(mContext.getContentResolver(), Utils.INCOMPATIBLE_CHARGER_WARNING_DISABLED, 1); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } private void setupIncompatibleCharging() { Loading Loading
packages/SettingsLib/src/com/android/settingslib/Utils.java +17 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,10 @@ public class Utils { static final String STORAGE_MANAGER_ENABLED_PROPERTY = "ro.storage_manager.enabled"; @VisibleForTesting static final String INCOMPATIBLE_CHARGER_WARNING_DISABLED = "incompatible_charger_warning_disabled"; private static Signature[] sSystemSignature; private static String sPermissionControllerPackageName; private static String sServicesSystemSharedLibPackageName; Loading Loading @@ -652,6 +656,19 @@ public class Utils { /** Whether there is any incompatible chargers in the current UsbPort? */ public static boolean containsIncompatibleChargers(Context context, String tag) { // Avoid the caller doesn't have permission to read the "Settings.Secure" data. try { // Whether the incompatible charger warning is disabled or not if (Settings.Secure.getInt(context.getContentResolver(), INCOMPATIBLE_CHARGER_WARNING_DISABLED, 0) == 1) { Log.d(tag, "containsIncompatibleChargers: disabled"); return false; } } catch (Exception e) { Log.e(tag, "containsIncompatibleChargers()", e); return false; } final List<UsbPort> usbPortList = context.getSystemService(UsbManager.class).getPorts(); if (usbPortList == null || usbPortList.isEmpty()) { Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java +24 −7 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ import android.telephony.NetworkRegistrationInfo; import android.telephony.ServiceState; import android.text.TextUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -65,6 +66,7 @@ import java.util.Map; @Config(shadows = {UtilsTest.ShadowSecure.class, UtilsTest.ShadowLocationManager.class}) public class UtilsTest { private static final double[] TEST_PERCENTAGES = {0, 0.4, 0.5, 0.6, 49, 49.3, 49.8, 50, 100}; private static final String TAG = "UtilsTest"; private static final String PERCENTAGE_0 = "0%"; private static final String PERCENTAGE_1 = "1%"; private static final String PERCENTAGE_49 = "49%"; Loading Loading @@ -96,6 +98,12 @@ public class UtilsTest { mAudioManager = mContext.getSystemService(AudioManager.class); } @After public void reset() { Settings.Secure.putInt(mContext.getContentResolver(), Utils.INCOMPATIBLE_CHARGER_WARNING_DISABLED, 0); } @Test public void testUpdateLocationEnabled() { int currentUserId = ActivityManager.getCurrentUser(); Loading Loading @@ -427,13 +435,13 @@ public class UtilsTest { @Test public void containsIncompatibleChargers_nullPorts_returnFalse() { when(mUsbManager.getPorts()).thenReturn(null); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test public void containsIncompatibleChargers_emptyPorts_returnFalse() { when(mUsbManager.getPorts()).thenReturn(new ArrayList<>()); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test Loading @@ -443,13 +451,13 @@ public class UtilsTest { when(mUsbManager.getPorts()).thenReturn(usbPorts); when(mUsbPort.getStatus()).thenReturn(null); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test public void containsIncompatibleChargers_returnTrue() { setupIncompatibleCharging(); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isTrue(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isTrue(); } @Test Loading @@ -457,7 +465,7 @@ public class UtilsTest { setupIncompatibleCharging(); when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[1]); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test Loading @@ -465,7 +473,7 @@ public class UtilsTest { setupIncompatibleCharging(); when(mUsbPort.supportsComplianceWarnings()).thenReturn(false); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test Loading @@ -473,7 +481,16 @@ public class UtilsTest { setupIncompatibleCharging(); when(mUsbPortStatus.isConnected()).thenReturn(false); assertThat(Utils.containsIncompatibleChargers(mContext, "tag")).isFalse(); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } @Test public void containsIncompatibleChargers_disableWarning_returnFalse() { setupIncompatibleCharging(); Settings.Secure.putInt(mContext.getContentResolver(), Utils.INCOMPATIBLE_CHARGER_WARNING_DISABLED, 1); assertThat(Utils.containsIncompatibleChargers(mContext, TAG)).isFalse(); } private void setupIncompatibleCharging() { Loading