Merge "Improve pattern layout for tiiiny screens"

This commit is contained in:
Maurice Lam
2018-02-23 19:00:43 +00:00
committed by Android (Google) Code Review
9 changed files with 58 additions and 22 deletions

View File

@@ -22,6 +22,7 @@ import static org.robolectric.RuntimeEnvironment.application;
import android.content.Intent;
import android.os.UserHandle;
import android.view.View;
import com.android.settings.R;
import com.android.settings.TestConfig;
@@ -102,15 +103,27 @@ public class ChooseLockPatternTest {
.isEqualTo(123);
}
@Config(qualifiers = "sw400dp")
@Test
public void assertThat_chooseLockIconChanged_WhenFingerprintExtraSet() {
public void fingerprintExtraSet_shouldDisplayFingerprintIcon() {
ChooseLockPattern activity = createActivity(true);
ChooseLockPatternFragment fragment = (ChooseLockPatternFragment)
activity.getFragmentManager().findFragmentById(R.id.main_content);
ShadowDrawable drawable = Shadows.shadowOf(((GlifLayout) fragment.getView()).getIcon());
assertThat(drawable.getCreatedFromResId()).isEqualTo(R.drawable.ic_fingerprint_header);
}
@Test
public void smallScreens_shouldHideIcon() {
ChooseLockPattern activity = createActivity(true);
ChooseLockPatternFragment fragment = (ChooseLockPatternFragment)
activity.getFragmentManager().findFragmentById(R.id.main_content);
View iconView = fragment.getView().findViewById(R.id.suw_layout_icon);
assertThat(iconView.getVisibility()).isEqualTo(View.GONE);
}
private ChooseLockPattern createActivity(boolean addFingerprintExtra) {
return Robolectric.buildActivity(
ChooseLockPattern.class,

View File

@@ -14,7 +14,7 @@
* limitations under the License
*/
package com.android.settings;
package com.android.settings.password;
import static com.google.common.truth.Truth.assertThat;
@@ -28,9 +28,11 @@ import android.os.UserHandle;
import android.view.View;
import android.widget.Button;
import com.android.settings.R;
import com.android.settings.SetupRedactionInterstitial;
import com.android.settings.TestConfig;
import com.android.settings.password.ChooseLockPattern.ChooseLockPatternFragment;
import com.android.settings.password.ChooseLockPattern.IntentBuilder;
import com.android.settings.password.SetupChooseLockPattern;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
@@ -89,8 +91,9 @@ public class SetupChooseLockPatternTest {
.isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
}
@Config(qualifiers = "sw400dp")
@Test
public void screenLockOptions_shouldBeVisible() {
public void sw400dp_shouldShowScreenLockOptions() {
Button button = mActivity.findViewById(R.id.screen_lock_options);
assertThat(button).isNotNull();
assertThat(button.getVisibility()).isEqualTo(View.VISIBLE);
@@ -102,6 +105,13 @@ public class SetupChooseLockPatternTest {
assertThat(count).named("List items shown").isEqualTo(3);
}
@Test
public void smallScreens_shouldHideScreenLockOptions() {
Button button = mActivity.findViewById(R.id.screen_lock_options);
assertThat(button).isNotNull();
assertThat(button.getVisibility()).isEqualTo(View.GONE);
}
@Test
public void skipButton_shouldBeVisible_duringNonFingerprintFlow() {
Button button = mActivity.findViewById(R.id.footerLeftButton);