Add link functionality in message of magnification triple-tap dialog

Bug: 210593079
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ShortcutPreferenceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=MagnificationModePreferenceControllerTest
Change-Id: Id69b0b717410b5c5c44a818c36688bb7331c73ae
This commit is contained in:
jasonwshsu
2022-03-16 19:06:51 +08:00
parent 3b96a2c57e
commit 4bfe215e4c
5 changed files with 67 additions and 4 deletions

View File

@@ -30,9 +30,12 @@ import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.provider.Settings;
import android.text.SpannableString;
import android.text.TextUtils;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import androidx.preference.Preference;
import androidx.preference.PreferenceManager;
@@ -41,6 +44,7 @@ import androidx.test.core.app.ApplicationProvider;
import com.android.settings.DialogCreatable;
import com.android.settings.R;
import com.android.settings.utils.AnnotationSpan;
import org.junit.Before;
import org.junit.Rule;
@@ -177,6 +181,21 @@ public class MagnificationModePreferenceControllerTest {
assertThat(TextUtils.equals(mController.getSummary(), allSummary)).isTrue();
}
@Test
public void checkSpansInTripleTapWarningDialog_existAnnotationSpan() {
mDialogHelper.showDialog(
MagnificationModePreferenceController.DIALOG_MAGNIFICATION_TRIPLE_TAP_WARNING);
final View contentView = mDialogHelper.getDialog().findViewById(android.R.id.content);
final TextView messageView = contentView.findViewById(R.id.message);
final CharSequence textInTripleTapWarningDialog = messageView.getText();
final AnnotationSpan[] annotationSpans =
((SpannableString) textInTripleTapWarningDialog).getSpans(/*queryStart= */ 0,
textInTripleTapWarningDialog.length(), AnnotationSpan.class);
assertThat(annotationSpans[0]).isNotNull();
}
@Test
public void getSummary_saveWindowScreen_shouldReturnWindowScreenSummary() {
MagnificationCapabilities.setCapabilities(mContext, MagnificationMode.WINDOW);

View File

@@ -23,6 +23,7 @@ import android.view.LayoutInflater;
import android.view.View;
import androidx.preference.PreferenceViewHolder;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
@@ -30,7 +31,6 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
/** Tests for {@link ShortcutPreference} */
@RunWith(RobolectricTestRunner.class)
@@ -58,7 +58,7 @@ public class ShortcutPreferenceTest {
@Before
public void setUp() {
final Context context = RuntimeEnvironment.application;
final Context context = ApplicationProvider.getApplicationContext();
mShortcutPreference = new ShortcutPreference(context, null);
final LayoutInflater inflater = LayoutInflater.from(context);
@@ -95,4 +95,13 @@ public class ShortcutPreferenceTest {
assertThat(mShortcutPreference.isChecked()).isEqualTo(true);
}
@Test
public void performClickOnPreference_settingsClicked() {
mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
mShortcutPreference.setOnClickCallback(mListener);
mShortcutPreference.performClick();
assertThat(mResult).isEqualTo(SETTINGS_CLICKED);
}
}