summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/server/telecom
diff options
context:
space:
mode:
authorTyler Gunn <tgunn@google.com>2019-04-25 14:24:28 -0700
committerTyler Gunn <tgunn@google.com>2019-04-30 20:26:31 +0000
commit6decc5b366439e01ccc5c9cb845fadfef15d2249 (patch)
tree8f0ff7ae47663fe56abe0f7da9f5aa4d31552a10 /tests/src/com/android/server/telecom
parent8acd3e2126fcbefa7522789d49e5762544bcf0d6 (diff)
downloadandroid_packages_services_Telecomm-6decc5b366439e01ccc5c9cb845fadfef15d2249.tar.gz
android_packages_services_Telecomm-6decc5b366439e01ccc5c9cb845fadfef15d2249.tar.bz2
android_packages_services_Telecomm-6decc5b366439e01ccc5c9cb845fadfef15d2249.zip
Telecom fixes related to RoleManager
- fix setState method so you can't transition from ANSWERED to ACTIVE state. I found a case when running some of the CTS where this was flaking because the CTS test runs quickly enough that it was possible for some of the Telecom answer call code to try setting a call to answered when the underlying CS has already set it active. ANSWERED is the intermediate state before it becomes active. - factor access to RoleManager for getting dialer role into the RoleManagerAdapter. - add ability to set an override default dialer via command line for CTS test purposes since the RoleManager is too trigger happy when switching the default dialer. - change DefaultDialerCache to always refresh default dialer cache when queried; this is an interim step until we can get the RoleManager to tell us when the role filler for Dialer is changed. Test: Run the CTS tests over, and over, and over, and over.... Bug: 131065482 AOSP: infeasible for now; will refactor-cherry-pick into aosp but it'll be messy. Change-Id: Id42b6157c338dc0a96a7db0372a5bc2df3f4d2c7 (cherry picked from commit bb4b46ee8a2799b80e419f3660702ca8555e41a5)
Diffstat (limited to 'tests/src/com/android/server/telecom')
-rw-r--r--tests/src/com/android/server/telecom/tests/DefaultDialerCacheTest.java92
1 files changed, 37 insertions, 55 deletions
diff --git a/tests/src/com/android/server/telecom/tests/DefaultDialerCacheTest.java b/tests/src/com/android/server/telecom/tests/DefaultDialerCacheTest.java
index 94e66317..e8bca035 100644
--- a/tests/src/com/android/server/telecom/tests/DefaultDialerCacheTest.java
+++ b/tests/src/com/android/server/telecom/tests/DefaultDialerCacheTest.java
@@ -27,6 +27,7 @@ import android.os.UserHandle;
import android.test.suitebuilder.annotation.SmallTest;
import com.android.server.telecom.DefaultDialerCache;
+import com.android.server.telecom.RoleManagerAdapter;
import com.android.server.telecom.TelecomSystem;
import org.junit.Before;
@@ -60,6 +61,7 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
private BroadcastReceiver mUserRemovedReceiver;
@Mock private DefaultDialerCache.DefaultDialerManagerAdapter mMockDefaultDialerManager;
+ @Mock private RoleManagerAdapter mRoleManagerAdapter;
@Override
@Before
@@ -71,7 +73,8 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
ArgumentCaptor.forClass(BroadcastReceiver.class);
mDefaultDialerCache = new DefaultDialerCache(
- mContext, mMockDefaultDialerManager, new TelecomSystem.SyncRoot() { });
+ mContext, mMockDefaultDialerManager, mRoleManagerAdapter,
+ new TelecomSystem.SyncRoot() { });
verify(mContext, times(2)).registerReceiverAsUser(
packageReceiverCaptor.capture(), eq(UserHandle.ALL), any(IntentFilter.class),
@@ -93,6 +96,9 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
.thenReturn(DIALER2);
when(mMockDefaultDialerManager.getDefaultDialerApplication(any(Context.class), eq(USER2)))
.thenReturn(DIALER3);
+ when(mRoleManagerAdapter.getDefaultDialerApp(eq(USER0))).thenReturn(DIALER1);
+ when(mRoleManagerAdapter.getDefaultDialerApp(eq(USER1))).thenReturn(DIALER2);
+ when(mRoleManagerAdapter.getDefaultDialerApp(eq(USER2))).thenReturn(DIALER3);
}
@SmallTest
@@ -107,12 +113,12 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER1), DIALER2);
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER2), DIALER3);
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER0));
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER1));
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER2));
+ verify(mRoleManagerAdapter, times(4))
+ .getDefaultDialerApp(eq(USER0));
+ verify(mRoleManagerAdapter, times(2))
+ .getDefaultDialerApp(eq(USER1));
+ verify(mRoleManagerAdapter, times(2))
+ .getDefaultDialerApp(eq(USER2));
}
@SmallTest
@@ -125,15 +131,11 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
Intent packageChangeIntent = new Intent(Intent.ACTION_PACKAGE_CHANGED,
Uri.fromParts("package", DIALER1, null));
- when(mMockDefaultDialerManager.getDefaultDialerApplication(any(Context.class), eq(USER0)))
- .thenReturn(DIALER2);
+ when(mRoleManagerAdapter.getDefaultDialerApp(eq(USER0))).thenReturn(DIALER2);
mPackageChangeReceiver.onReceive(mContext, packageChangeIntent);
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER0));
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER1));
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER2));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER0));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER1));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER2));
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER0), DIALER2);
}
@@ -148,12 +150,9 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
Intent packageChangeIntent = new Intent(Intent.ACTION_PACKAGE_CHANGED,
Uri.fromParts("package", "red.orange.blue", null));
mPackageChangeReceiver.onReceive(mContext, packageChangeIntent);
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER0));
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER1));
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER2));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER0));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER1));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER2));
}
@SmallTest
@@ -169,10 +168,8 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER0), DIALER1);
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER1), DIALER2);
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER0));
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER1));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER0));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER1));
}
@SmallTest
@@ -187,12 +184,9 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
packageChangeIntent.putExtra(Intent.EXTRA_REPLACING, false);
mPackageChangeReceiver.onReceive(mContext, packageChangeIntent);
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER0));
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER1));
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER2));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER0));
+ verify(mRoleManagerAdapter, times(1)).getDefaultDialerApp(eq(USER1));
+ verify(mRoleManagerAdapter, times(1)).getDefaultDialerApp(eq(USER2));
}
@SmallTest
@@ -206,12 +200,9 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
Uri.fromParts("package", "ppp.qqq.zzz", null));
mPackageChangeReceiver.onReceive(mContext, packageChangeIntent);
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER0));
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER1));
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER2));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER0));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER1));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER2));
}
@SmallTest
@@ -226,12 +217,9 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
packageChangeIntent.putExtra(Intent.EXTRA_REPLACING, true);
mPackageChangeReceiver.onReceive(mContext, packageChangeIntent);
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER0));
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER1));
- verify(mMockDefaultDialerManager, times(1))
- .getDefaultDialerApplication(any(Context.class), eq(USER2));
+ verify(mRoleManagerAdapter, times(1)).getDefaultDialerApp(eq(USER0));
+ verify(mRoleManagerAdapter, times(1)).getDefaultDialerApp(eq(USER1));
+ verify(mRoleManagerAdapter, times(1)).getDefaultDialerApp(eq(USER2));
}
@SmallTest
@@ -241,20 +229,14 @@ public class DefaultDialerCacheTest extends TelecomTestCase {
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER1), DIALER2);
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER2), DIALER3);
- when(mMockDefaultDialerManager.getDefaultDialerApplication(any(Context.class), eq(USER0)))
- .thenReturn(DIALER2);
- when(mMockDefaultDialerManager.getDefaultDialerApplication(any(Context.class), eq(USER1)))
- .thenReturn(DIALER2);
- when(mMockDefaultDialerManager.getDefaultDialerApplication(any(Context.class), eq(USER2)))
- .thenReturn(DIALER2);
+ when(mRoleManagerAdapter.getDefaultDialerApp(eq(USER0))).thenReturn(DIALER2);
+ when(mRoleManagerAdapter.getDefaultDialerApp(eq(USER1))).thenReturn(DIALER2);
+ when(mRoleManagerAdapter.getDefaultDialerApp(eq(USER2))).thenReturn(DIALER2);
mDefaultDialerSettingObserver.onChange(false);
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER0));
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER2));
- verify(mMockDefaultDialerManager, times(2))
- .getDefaultDialerApplication(any(Context.class), eq(USER2));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER0));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER2));
+ verify(mRoleManagerAdapter, times(2)).getDefaultDialerApp(eq(USER2));
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER0), DIALER2);
assertEquals(mDefaultDialerCache.getDefaultDialerApplication(USER1), DIALER2);