Merge "Fix the link text "Learn more" in the accessibility pages with help links could not convey the link's purpose clearly" into sc-dev

This commit is contained in:
Menghan Li
2021-06-02 06:26:00 +00:00
committed by Android (Google) Code Review
10 changed files with 70 additions and 379 deletions

View File

@@ -1,67 +0,0 @@
/*
* Copyright (C) 2021 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.
*/
package com.android.settings.accessibility;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
/** Tests for {@link AccessibilityButtonFooterPreferenceController}. */
@RunWith(RobolectricTestRunner.class)
public class AccessibilityButtonFooterPreferenceControllerTest {
private static final String TEST_KEY = "test_key";
private static final String TEST_TITLE = "test_title";
private final Context mContext = ApplicationProvider.getApplicationContext();
private PreferenceScreen mScreen;
private AccessibilityButtonFooterPreferenceController mController;
@Before
public void setUp() {
final PreferenceManager preferenceManager = new PreferenceManager(mContext);
mScreen = preferenceManager.createPreferenceScreen(mContext);
final AccessibilityFooterPreference footerPreference =
new AccessibilityFooterPreference(mContext);
footerPreference.setKey(TEST_KEY);
footerPreference.setTitle(TEST_TITLE);
mScreen.addPreference(footerPreference);
mController = new AccessibilityButtonFooterPreferenceController(mContext, TEST_KEY);
}
@Test
public void onPreferenceChange_shouldSetCorrectIconContentDescription() {
mController.displayPreference(mScreen);
final AccessibilityFooterPreference footerPreference = mScreen.findPreference(TEST_KEY);
final String packageName = mContext.getString(R.string.accessibility_button_title);
final String iconContentDescription = mContext.getString(
R.string.accessibility_introduction_title,
packageName);
assertThat(footerPreference.getIconContentDescription()).isEqualTo(iconContentDescription);
}
}

View File

@@ -1,69 +0,0 @@
/*
* Copyright (C) 2021 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.
*/
package com.android.settings.accessibility;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
/** Tests for {@link AccessibilityControlTimeoutFooterPreferenceController}. */
@RunWith(RobolectricTestRunner.class)
public class AccessibilityControlTimeoutFooterPreferenceControllerTest {
private static final String TEST_KEY = "test_key";
private static final String TEST_TITLE = "test_title";
private final Context mContext = ApplicationProvider.getApplicationContext();
private PreferenceScreen mScreen;
private AccessibilityControlTimeoutFooterPreferenceController mController;
@Before
public void setUp() {
final PreferenceManager preferenceManager = new PreferenceManager(mContext);
mScreen = preferenceManager.createPreferenceScreen(mContext);
final AccessibilityFooterPreference footerPreference =
new AccessibilityFooterPreference(mContext);
footerPreference.setKey(TEST_KEY);
footerPreference.setTitle(TEST_TITLE);
mScreen.addPreference(footerPreference);
mController = new AccessibilityControlTimeoutFooterPreferenceController(mContext, TEST_KEY);
}
@Test
public void onPreferenceChange_shouldSetCorrectIconContentDescription() {
mController.displayPreference(mScreen);
final AccessibilityFooterPreference footerPreference =
mScreen.findPreference(TEST_KEY);
final String packageName =
mContext.getString(R.string.accessibility_setting_item_control_timeout_title);
final String iconContentDescription = mContext.getString(
R.string.accessibility_introduction_title,
packageName);
assertThat(footerPreference.getIconContentDescription()).isEqualTo(iconContentDescription);
}
}

View File

@@ -19,13 +19,12 @@ package com.android.settings.accessibility;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.text.method.MovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.preference.PreferenceViewHolder;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
@@ -39,10 +38,6 @@ import org.robolectric.RuntimeEnvironment;
@RunWith(RobolectricTestRunner.class)
public final class AccessibilityFooterPreferenceTest {
private static final String DEFAULT_SUMMARY = "default summary";
private static final String DEFAULT_DESCRIPTION = "default description";
private Context mContext = ApplicationProvider.getApplicationContext();
private AccessibilityFooterPreference mAccessibilityFooterPreference;
private PreferenceViewHolder mPreferenceViewHolder;
@@ -58,41 +53,22 @@ public final class AccessibilityFooterPreferenceTest {
}
@Test
public void onBindViewHolder_initTextConfig_parseTextAndFocusable() {
mAccessibilityFooterPreference.setSummary(DEFAULT_SUMMARY);
public void onBindViewHolder_LinkDisabledByDefault_notReturnLinkMovement() {
mAccessibilityFooterPreference.onBindViewHolder(mPreferenceViewHolder);
final TextView summaryView = (TextView) mPreferenceViewHolder.findViewById(
android.R.id.title);
assertThat(summaryView.getMovementMethod()).isNull();
}
@Test
public void onBindViewHolder_setLinkEnabled_returnLinkMovement() {
mAccessibilityFooterPreference.setLinkEnabled(true);
mAccessibilityFooterPreference.onBindViewHolder(mPreferenceViewHolder);
final TextView summaryView = (TextView) mPreferenceViewHolder.findViewById(
android.R.id.title);
assertThat(summaryView.getText().toString()).isEqualTo(DEFAULT_SUMMARY);
assertThat(summaryView.isFocusable()).isEqualTo(true);
}
@Test
public void onBindViewHolder_initTextConfigAndAccessibleIcon_groupContentForAccessible() {
mAccessibilityFooterPreference.setSummary(DEFAULT_SUMMARY);
mAccessibilityFooterPreference.setIconContentDescription(DEFAULT_DESCRIPTION);
mAccessibilityFooterPreference.onBindViewHolder(mPreferenceViewHolder);
final TextView summaryView = (TextView) mPreferenceViewHolder.findViewById(
android.R.id.title);
assertThat(summaryView.getText().toString()).isEqualTo(DEFAULT_SUMMARY);
assertThat(summaryView.isFocusable()).isEqualTo(false);
final LinearLayout infoFrame = (LinearLayout) mPreferenceViewHolder.findViewById(
R.id.icon_frame);
assertThat(infoFrame.getContentDescription()).isEqualTo(DEFAULT_DESCRIPTION);
assertThat(infoFrame.isFocusable()).isEqualTo(false);
}
@Test
public void appendHelpLink_timeoutHelpUri_updateSummary() {
mAccessibilityFooterPreference.setSummary(DEFAULT_SUMMARY);
mAccessibilityFooterPreference.appendHelpLink(R.string.help_url_timeout);
final String title = mAccessibilityFooterPreference.getTitle().toString();
assertThat(title.contains(mContext.getString(R.string.footer_learn_more))).isTrue();
assertThat(summaryView.getMovementMethod()).isInstanceOf(MovementMethod.class);
}
}

View File

@@ -1,67 +0,0 @@
/*
* Copyright (C) 2021 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.
*/
package com.android.settings.accessibility;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
/** Tests for {@link CaptionFooterPreferenceController}. */
@RunWith(RobolectricTestRunner.class)
public class CaptionFooterPreferenceControllerTest {
private static final String TEST_KEY = "test_key";
private static final String TEST_TITLE = "test_title";
private final Context mContext = ApplicationProvider.getApplicationContext();
private PreferenceScreen mScreen;
private CaptionFooterPreferenceController mController;
@Before
public void setUp() {
final PreferenceManager preferenceManager = new PreferenceManager(mContext);
mScreen = preferenceManager.createPreferenceScreen(mContext);
final AccessibilityFooterPreference footerPreference =
new AccessibilityFooterPreference(mContext);
footerPreference.setKey(TEST_KEY);
footerPreference.setTitle(TEST_TITLE);
mScreen.addPreference(footerPreference);
mController = new CaptionFooterPreferenceController(mContext, TEST_KEY);
}
@Test
public void onPreferenceChange_shouldSetCorrectIconContentDescription() {
mController.displayPreference(mScreen);
final AccessibilityFooterPreference footerPreference = mScreen.findPreference(TEST_KEY);
final String packageName = mContext.getString(R.string.accessibility_captioning_title);
final String iconContentDescription = mContext.getString(
R.string.accessibility_introduction_title,
packageName);
assertThat(footerPreference.getIconContentDescription()).isEqualTo(iconContentDescription);
}
}

View File

@@ -1,68 +0,0 @@
/*
* Copyright (C) 2021 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.
*/
package com.android.settings.accessibility;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
/** Tests for {@link ToggleAutoclickFooterPreferenceController}. */
@RunWith(RobolectricTestRunner.class)
public class ToggleAutoclickFooterPreferenceControllerTest {
private static final String TEST_KEY = "test_key";
private static final String TEST_TITLE = "test_title";
private final Context mContext = ApplicationProvider.getApplicationContext();
private PreferenceScreen mScreen;
private ToggleAutoclickFooterPreferenceController mController;
@Before
public void setUp() {
final PreferenceManager preferenceManager = new PreferenceManager(mContext);
mScreen = preferenceManager.createPreferenceScreen(mContext);
final AccessibilityFooterPreference footerPreference =
new AccessibilityFooterPreference(mContext);
footerPreference.setKey(TEST_KEY);
footerPreference.setTitle(TEST_TITLE);
mScreen.addPreference(footerPreference);
mController = new ToggleAutoclickFooterPreferenceController(mContext, TEST_KEY);
}
@Test
public void onPreferenceChange_shouldSetCorrectIconContentDescription() {
mController.displayPreference(mScreen);
final AccessibilityFooterPreference footerPreference = mScreen.findPreference(TEST_KEY);
final String packageName = mContext.getString(
R.string.accessibility_autoclick_preference_title);
final String iconContentDescription = mContext.getString(
R.string.accessibility_introduction_title,
packageName);
assertThat(footerPreference.getIconContentDescription()).isEqualTo(iconContentDescription);
}
}

View File

@@ -215,8 +215,6 @@ public class ToggleFeaturePreferenceFragmentTest {
(AccessibilityFooterPreference) mFragment.getPreferenceScreen().getPreference(
mFragment.getPreferenceScreen().getPreferenceCount() - 1);
assertThat(accessibilityFooterPreference.getSummary()).isEqualTo(DEFAULT_SUMMARY);
assertThat(accessibilityFooterPreference.getIconContentDescription()).isEqualTo(
DEFAULT_DESCRIPTION);
assertThat(accessibilityFooterPreference.isSelectable()).isEqualTo(true);
assertThat(accessibilityFooterPreference.getOrder()).isEqualTo(Integer.MAX_VALUE - 1);
}