Merge "Use GlifLayout#setDescriptionText in SetupChooseLockGenericFragment" into tm-qpr-dev am: 3a2ef6db2f am: 0067e9581b am: 2034c0c395 am: 05f2c3221a

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22099962

Change-Id: Ie3e516ae433f022131e148f5f4e1b9be43c17b61
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Wu Ahan
2023-03-22 23:02:29 +00:00
committed by Automerger Merge Worker
4 changed files with 58 additions and 59 deletions

View File

@@ -23,15 +23,20 @@ import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_R
import static com.google.common.truth.Truth.assertThat;
import static org.robolectric.Shadows.shadowOf;
import android.content.Intent;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import com.android.settings.password.SetupChooseLockGeneric.SetupChooseLockGenericFragment;
import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
import com.android.settings.testutils.shadow.ShadowPasswordUtils;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settings.testutils.shadow.ShadowUtils;
import com.google.android.setupdesign.GlifPreferenceLayout;
import org.junit.After;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -41,6 +46,8 @@ import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowActivity;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowUserManager.class,
@@ -78,4 +85,43 @@ public class SetupChooseLockGenericTest {
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
assertThat(shadowActivity.isFinishing()).isFalse();
}
@Test
public void setupChooseLockGenericUsingDescriptionTextOfGlifLayout() {
SetupChooseLockGenericFragment fragment = getFragmentOfSetupChooseLockGeneric(false);
GlifPreferenceLayout view = getViewOfSetupChooseLockGenericFragment(fragment);
assertThat(TextUtils.isEmpty(view.getDescriptionText())).isFalse();
assertThat(view.getDescriptionText().toString()).isEqualTo(fragment.loadDescriptionText());
}
@Test
public void setupChooseLockGenericUsingDescriptionTextOfGlifLayoutForBiometric() {
SetupChooseLockGenericFragment fragment = getFragmentOfSetupChooseLockGeneric(true);
GlifPreferenceLayout view = getViewOfSetupChooseLockGenericFragment(fragment);
assertThat(TextUtils.isEmpty(view.getDescriptionText())).isFalse();
assertThat(view.getDescriptionText().toString()).isEqualTo(fragment.loadDescriptionText());
}
private SetupChooseLockGenericFragment getFragmentOfSetupChooseLockGeneric(boolean biometric) {
ShadowPasswordUtils.addGrantedPermission(REQUEST_PASSWORD_COMPLEXITY);
Intent intent = new Intent("com.android.settings.SETUP_LOCK_SCREEN");
intent.putExtra(EXTRA_KEY_REQUESTED_MIN_COMPLEXITY, PASSWORD_COMPLEXITY_HIGH);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, biometric);
SetupChooseLockGeneric activity =
Robolectric.buildActivity(SetupChooseLockGeneric.class, intent).setup().get();
List<Fragment> fragments = activity.getSupportFragmentManager().getFragments();
assertThat(fragments).isNotNull();
assertThat(fragments.size()).isEqualTo(1);
assertThat(fragments.get(0)).isInstanceOf(SetupChooseLockGenericFragment.class);
return (SetupChooseLockGenericFragment) fragments.get(0);
}
private GlifPreferenceLayout getViewOfSetupChooseLockGenericFragment(
@NonNull SetupChooseLockGenericFragment fragment) {
assertThat(fragment.getView()).isNotNull();
assertThat(fragment.getView()).isInstanceOf(GlifPreferenceLayout.class);
return (GlifPreferenceLayout) fragment.getView();
}
}