Merge "Use GlifLayout#setDescriptionText in SetupChooseLockGenericFragment" into tm-qpr-dev

This commit is contained in:
Wu Ahan
2023-03-22 03:46:30 +00:00
committed by Android (Google) Code Review
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();
}
}