summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYiqun Wu <yiqunw@google.com>2019-06-11 17:12:38 -0700
committerYiqun Wu <yiqunw@google.com>2019-06-18 18:23:06 -0700
commit7643b97bd6ef8cbec85b46f08c4b178640acb67a (patch)
tree86b5033be8b0a4b5b3a051083c8b59cde89d29f3 /tests
parent788184d2fc7185d72c42f767d7d8c6d8b5aca185 (diff)
downloadplatform_packages_apps_Car_Dialer-7643b97bd6ef8cbec85b46f08c4b178640acb67a.tar.gz
platform_packages_apps_Car_Dialer-7643b97bd6ef8cbec85b46f08c4b178640acb67a.tar.bz2
platform_packages_apps_Car_Dialer-7643b97bd6ef8cbec85b46f08c4b178640acb67a.zip
Restore dialpad button state on configuration change.
Use InCallDialpadFragment in layout file directly. Bug: 135066147 Fixes: 135066147 Test: build and run Change-Id: I4f5783366e1f50d4a653439826d9001b0f58935a
Diffstat (limited to 'tests')
-rw-r--r--tests/robotests/src/com/android/car/dialer/ui/activecall/InCallFragmentTest.java13
-rw-r--r--tests/robotests/src/com/android/car/dialer/ui/activecall/OnGoingCallControllerBarFragmentTest.java20
-rw-r--r--tests/robotests/src/com/android/car/dialer/ui/dialpad/InCallDialpadFragmentTest.java5
3 files changed, 24 insertions, 14 deletions
diff --git a/tests/robotests/src/com/android/car/dialer/ui/activecall/InCallFragmentTest.java b/tests/robotests/src/com/android/car/dialer/ui/activecall/InCallFragmentTest.java
index 65dc2982..663a6f4d 100644
--- a/tests/robotests/src/com/android/car/dialer/ui/activecall/InCallFragmentTest.java
+++ b/tests/robotests/src/com/android/car/dialer/ui/activecall/InCallFragmentTest.java
@@ -21,6 +21,8 @@ import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.view.View;
+import androidx.fragment.app.Fragment;
+
import com.android.car.dialer.CarDialerRobolectricTestRunner;
import com.android.car.dialer.FragmentTestActivity;
import com.android.car.dialer.R;
@@ -42,7 +44,7 @@ public class InCallFragmentTest {
private InCallFragment mInCallFragment;
private FragmentTestActivity mFragmentTestActivity;
private View mUserProfileContainerView;
- private View mDialerFragmentContainer;
+ private Fragment mInCallDialpadFragment;
@Before
public void setup() {
@@ -58,7 +60,8 @@ public class InCallFragmentTest {
mUserProfileContainerView = mInCallFragment.getView().findViewById(
R.id.user_profile_container);
- mDialerFragmentContainer = mInCallFragment.getView().findViewById(R.id.dialpad_container);
+ mInCallDialpadFragment = mInCallFragment.getChildFragmentManager().findFragmentById(
+ R.id.incall_dialpad_fragment);
}
@After
@@ -69,7 +72,7 @@ public class InCallFragmentTest {
@Test
public void testOnCreateView() {
- assertThat(mDialerFragmentContainer.getVisibility()).isEqualTo(View.GONE);
+ assertThat(mInCallDialpadFragment.isHidden()).isTrue();
assertThat(mUserProfileContainerView.getVisibility()).isEqualTo(View.VISIBLE);
}
@@ -77,7 +80,7 @@ public class InCallFragmentTest {
public void testOnOpenDialpad() {
mInCallFragment.onOpenDialpad();
- assertThat(mDialerFragmentContainer.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(mInCallDialpadFragment.isHidden()).isFalse();
assertThat(mUserProfileContainerView.getVisibility()).isEqualTo(View.GONE);
}
@@ -85,7 +88,7 @@ public class InCallFragmentTest {
public void testOnCloseDialpad() {
mInCallFragment.onCloseDialpad();
- assertThat(mDialerFragmentContainer.getVisibility()).isEqualTo(View.GONE);
+ assertThat(mInCallDialpadFragment.isHidden()).isTrue();
assertThat(mUserProfileContainerView.getVisibility()).isEqualTo(View.VISIBLE);
}
}
diff --git a/tests/robotests/src/com/android/car/dialer/ui/activecall/OnGoingCallControllerBarFragmentTest.java b/tests/robotests/src/com/android/car/dialer/ui/activecall/OnGoingCallControllerBarFragmentTest.java
index e8ef4463..0335eaff 100644
--- a/tests/robotests/src/com/android/car/dialer/ui/activecall/OnGoingCallControllerBarFragmentTest.java
+++ b/tests/robotests/src/com/android/car/dialer/ui/activecall/OnGoingCallControllerBarFragmentTest.java
@@ -34,6 +34,8 @@ import android.view.View;
import android.widget.ImageView;
import androidx.core.util.Pair;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
@@ -128,21 +130,24 @@ public class OnGoingCallControllerBarFragmentTest {
View dialpadButton = mOnGoingCallControllerBarFragment.getView().findViewById(
R.id.toggle_dialpad_button);
- View dialerFragmentContainer =
- mOnGoingCallControllerBarFragment.getParentFragment().getView().findViewById(
- R.id.dialpad_container);
+ FragmentManager fragmentManager =
+ mOnGoingCallControllerBarFragment.getParentFragment().getChildFragmentManager();
+ Fragment dialpadFragment = fragmentManager.findFragmentById(R.id.incall_dialpad_fragment);
+
// Test initial state
assertThat(dialpadButton.hasOnClickListeners()).isTrue();
assertThat(dialpadButton.isActivated()).isFalse();
- assertThat(dialerFragmentContainer.getVisibility()).isEqualTo(View.GONE);
+ assertThat(dialpadFragment.isHidden()).isTrue();
// On open dialpad
dialpadButton.performClick();
assertThat(dialpadButton.isActivated()).isTrue();
- assertThat(dialerFragmentContainer.getVisibility()).isEqualTo(View.VISIBLE);
+ fragmentManager.executePendingTransactions();
+ assertThat(dialpadFragment.isHidden()).isFalse();
// On close dialpad
dialpadButton.performClick();
assertThat(dialpadButton.isActivated()).isFalse();
- assertThat(dialerFragmentContainer.getVisibility()).isEqualTo(View.GONE);
+ fragmentManager.executePendingTransactions();
+ assertThat(dialpadFragment.isHidden()).isTrue();
}
@Test
@@ -225,6 +230,9 @@ public class OnGoingCallControllerBarFragmentTest {
.thenReturn(stateAndConnectTimeLiveData);
ShadowAndroidViewModelFactory.add(InCallViewModel.class, mMockInCallViewModel);
+ ShadowAndroidViewModelFactory.add(
+ OngoingCallStateViewModel.class,
+ new OngoingCallStateViewModel(RuntimeEnvironment.application));
FragmentTestActivity fragmentTestActivity = Robolectric.buildActivity(
FragmentTestActivity.class).create().start().resume().get();
diff --git a/tests/robotests/src/com/android/car/dialer/ui/dialpad/InCallDialpadFragmentTest.java b/tests/robotests/src/com/android/car/dialer/ui/dialpad/InCallDialpadFragmentTest.java
index 5b2c3b84..041e27bd 100644
--- a/tests/robotests/src/com/android/car/dialer/ui/dialpad/InCallDialpadFragmentTest.java
+++ b/tests/robotests/src/com/android/car/dialer/ui/dialpad/InCallDialpadFragmentTest.java
@@ -55,13 +55,12 @@ public class InCallDialpadFragmentTest {
}
private void startInCallActivity() {
- mInCallDialpadFragment = new InCallDialpadFragment();
InCallFragment inCallFragment = InCallFragment.newInstance();
FragmentTestActivity fragmentTestActivity = Robolectric.buildActivity(
FragmentTestActivity.class).create().start().resume().get();
fragmentTestActivity.setFragment(inCallFragment);
- inCallFragment.getChildFragmentManager().beginTransaction().replace(R.id.dialpad_container,
- mInCallDialpadFragment).commit();
+ mInCallDialpadFragment = (InCallDialpadFragment) inCallFragment.getChildFragmentManager()
+ .findFragmentById(R.id.incall_dialpad_fragment);
}
}