diff options
author | Yiqun Wu <yiqunw@google.com> | 2019-06-11 17:12:38 -0700 |
---|---|---|
committer | Yiqun Wu <yiqunw@google.com> | 2019-06-18 18:23:06 -0700 |
commit | 7643b97bd6ef8cbec85b46f08c4b178640acb67a (patch) | |
tree | 86b5033be8b0a4b5b3a051083c8b59cde89d29f3 /tests | |
parent | 788184d2fc7185d72c42f767d7d8c6d8b5aca185 (diff) | |
download | platform_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')
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); } } |