Merge "Do not show options if screen lock types is empty" into oc-dr1-dev am: 0bde6dcb18

am: 3d627974d6

Change-Id: Ib062bcdfc23008dab14622e4741fca6dc30e5950
This commit is contained in:
Ajay Nadathur
2017-07-12 18:11:47 +00:00
committed by android-build-merger
2 changed files with 40 additions and 2 deletions

View File

@@ -24,6 +24,7 @@ import static org.robolectric.Shadows.shadowOf;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.android.settings.R;
@@ -42,11 +43,16 @@ import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.shadows.ShadowActivity;
import org.robolectric.shadows.ShadowActivity.IntentForResult;
import org.robolectric.shadows.ShadowAlertDialog;
import org.robolectric.shadows.ShadowDialog;
import java.util.Collections;
import java.util.List;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(
manifest = TestConfig.MANIFEST_PATH,
@@ -79,6 +85,15 @@ public class SetupChooseLockPasswordTest {
assertThat(ShadowDialog.getLatestDialog()).isNotNull();
}
@Test
@Config(shadows = ShadowChooseLockGenericController.class)
public void createActivity_withShowOptionsButtonExtra_buttonNotVisibleIfNoVisibleLockTypes() {
SetupChooseLockPassword activity = createSetupChooseLockPassword();
Button optionsButton = activity.findViewById(R.id.screen_lock_options);
assertThat(optionsButton).isNotNull();
assertThat(optionsButton.getVisibility()).isEqualTo(View.GONE);
}
@Test
public void allSecurityOptions_shouldBeShown_When_OptionsButtonIsClicked() {
SetupChooseLockPassword activity = createSetupChooseLockPassword();
@@ -122,4 +137,13 @@ public class SetupChooseLockPasswordTest {
intent.putExtra(ChooseLockGenericFragment.EXTRA_SHOW_OPTIONS_BUTTON, true);
return Robolectric.buildActivity(SetupChooseLockPassword.class, intent).setup().get();
}
@Implements(ChooseLockGenericController.class)
public static class ShadowChooseLockGenericController {
@Implementation
public List<ScreenLockType> getVisibleScreenLockTypes(int quality,
boolean includeDisabled) {
return Collections.emptyList();
}
}
}