From eb82c9b8df4281fddb85910695b5fd53f0df460c Mon Sep 17 00:00:00 2001 From: "Ajai Adusumilli (from Dev Box)" Date: Fri, 5 Jan 2024 03:32:18 +0530 Subject: [PATCH 1/2] Procesing PowerInfo broadcast async --- .../applications/events/HttpClient.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/HttpClient.java b/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/HttpClient.java index fb293e3ec..d95c03983 100644 --- a/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/HttpClient.java +++ b/lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/HttpClient.java @@ -51,15 +51,17 @@ class PowerInfoReceiver extends android.content.BroadcastReceiver { } public final void onReceive(android.content.Context context, android.content.Intent intent) { - final int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1); - final boolean isCharging = + m_parent.executeTask(new FutureTask<>(() -> { + final int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1); + final boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL; - boolean isLow = false; - if (Build.VERSION.SDK_INT >= 28) { - isLow = intent.getBooleanExtra(BatteryManager.EXTRA_BATTERY_LOW, false); - } - m_parent.onPowerChange(isCharging, isLow); + boolean isLow = false; + if (Build.VERSION.SDK_INT >= 28) { + isLow = intent.getBooleanExtra(BatteryManager.EXTRA_BATTERY_LOW, false); + } + m_parent.onPowerChange(isCharging, isLow); + }, true)); } } From 2527b3ed4488075450c982ec9d503375aaa32053 Mon Sep 17 00:00:00 2001 From: "Ajai Adusumilli (from Dev Box)" Date: Mon, 29 Jan 2024 16:28:26 +0530 Subject: [PATCH 2/2] Fixing failed test --- .../java/com/microsoft/applications/events/EventsUnitTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/android_build/maesdk/src/test/java/com/microsoft/applications/events/EventsUnitTest.java b/lib/android_build/maesdk/src/test/java/com/microsoft/applications/events/EventsUnitTest.java index 24bfa90ea..554fc905e 100644 --- a/lib/android_build/maesdk/src/test/java/com/microsoft/applications/events/EventsUnitTest.java +++ b/lib/android_build/maesdk/src/test/java/com/microsoft/applications/events/EventsUnitTest.java @@ -50,6 +50,7 @@ import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.isA; import static org.mockito.Mockito.times; +import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -230,7 +231,7 @@ public void canInstantiate() throws java.io.IOException, PackageManager.NameNotF /* Stubby should not attempt to access the CONNECTIVITY_SERVICE */ verify(mockContext, times(0)).getSystemService(Context.CONNECTIVITY_SERVICE); verify(mockContext, times(1)).registerReceiver(isA(BroadcastReceiver.class), isA(IntentFilter.class)); - verify(mockIntent, times(1)).getIntExtra(BatteryManager.EXTRA_STATUS, -1); + verify(mockIntent, timeout(5000).times(1)).getIntExtra(BatteryManager.EXTRA_STATUS, -1); verify(mockManager, times(0)).registerDefaultNetworkCallback(any(ConnectivityManager.NetworkCallback.class)); assertNull(callback); assertEquals(previousDispatch, dispatchCount.get());