Merge "Use GlifLayout#setDescriptionText in SetupChooseLockGenericFragment" into tm-qpr-dev
This commit is contained in:
@@ -1,26 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (C) 2016 The Android Open Source Project
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
style="@style/SudDescription.Glif"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
|
|
||||||
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
|
||||||
android:paddingTop="@dimen/sud_description_glif_margin_top"
|
|
||||||
android:paddingBottom="@dimen/sud_description_glif_margin_bottom_lists"
|
|
||||||
android:text="@string/lock_settings_picker_biometrics_added_security_message" />
|
|
@@ -1,26 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (C) 2016 The Android Open Source Project
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
style="@style/SudDescription.Glif"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
|
|
||||||
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
|
||||||
android:paddingTop="@dimen/sud_description_glif_margin_top"
|
|
||||||
android:paddingBottom="@dimen/sud_description_glif_margin_bottom_lists"
|
|
||||||
android:text="@string/setup_lock_settings_picker_message" />
|
|
@@ -109,6 +109,7 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
|
|||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
|
||||||
GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
|
||||||
|
layout.setDescriptionText(loadDescriptionText());
|
||||||
layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
|
layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
|
||||||
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
|
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
|
||||||
R.dimen.sud_items_glif_text_divider_inset));
|
R.dimen.sud_items_glif_text_divider_inset));
|
||||||
@@ -129,11 +130,9 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void addHeaderView() {
|
protected void addHeaderView() {
|
||||||
if (isForBiometric()) {
|
// The original logic has been moved to onViewCreated and
|
||||||
setHeaderView(R.layout.setup_choose_lock_generic_biometrics_header);
|
// uses GlifLayout#setDescriptionText instead,
|
||||||
} else {
|
// keep empty body here since we won't call super method.
|
||||||
setHeaderView(R.layout.setup_choose_lock_generic_header);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -239,6 +238,12 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
|
|||||||
private boolean isForBiometric() {
|
private boolean isForBiometric() {
|
||||||
return mForFingerprint || mForFace || mForBiometrics;
|
return mForFingerprint || mForFace || mForBiometrics;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String loadDescriptionText() {
|
||||||
|
return getString(isForBiometric()
|
||||||
|
? R.string.lock_settings_picker_biometrics_added_security_message
|
||||||
|
: R.string.setup_lock_settings_picker_message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class InternalActivity extends ChooseLockGeneric.InternalActivity {
|
public static class InternalActivity extends ChooseLockGeneric.InternalActivity {
|
||||||
|
@@ -23,15 +23,20 @@ import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_R
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.robolectric.Shadows.shadowOf;
|
|
||||||
|
|
||||||
import android.content.Intent;
|
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.ShadowLockPatternUtils;
|
||||||
import com.android.settings.testutils.shadow.ShadowPasswordUtils;
|
import com.android.settings.testutils.shadow.ShadowPasswordUtils;
|
||||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||||
import com.android.settings.testutils.shadow.ShadowUtils;
|
import com.android.settings.testutils.shadow.ShadowUtils;
|
||||||
|
|
||||||
|
import com.google.android.setupdesign.GlifPreferenceLayout;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -41,6 +46,8 @@ import org.robolectric.Shadows;
|
|||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.shadows.ShadowActivity;
|
import org.robolectric.shadows.ShadowActivity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = {
|
@Config(shadows = {
|
||||||
ShadowUserManager.class,
|
ShadowUserManager.class,
|
||||||
@@ -78,4 +85,43 @@ public class SetupChooseLockGenericTest {
|
|||||||
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
|
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
|
||||||
assertThat(shadowActivity.isFinishing()).isFalse();
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user