Fix alignment for build number preference in RTL.

- Fixed by adding BidiFormatter.unicodeWrap around the whole string.

Change-Id: I3ca1292d912062db8c2fead524cd84a19eb80cff
Fix: 63135900
Test: make RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-07-05 14:20:08 -07:00
parent 283895c03b
commit e6b7bc6f15
3 changed files with 14 additions and 11 deletions

View File

@@ -64,17 +64,17 @@
<Preference <Preference
android:key="device_model" android:key="device_model"
android:title="@string/model_info" android:title="@string/model_info"
android:summary="@string/device_info_default"/> android:summary="@string/summary_placeholder"/>
<!-- Device firmware version --> <!-- Device firmware version -->
<Preference android:key="firmware_version" <Preference android:key="firmware_version"
android:title="@string/firmware_version" android:title="@string/firmware_version"
android:summary="@string/device_info_default"/> android:summary="@string/summary_placeholder"/>
<!-- Security patch level --> <!-- Security patch level -->
<Preference android:key="security_patch" <Preference android:key="security_patch"
android:title="@string/security_patch" android:title="@string/security_patch"
android:summary="@string/device_info_default"> android:summary="@string/summary_placeholder">
<intent android:action="android.intent.action.VIEW" <intent android:action="android.intent.action.VIEW"
android:data="https://source.android.com/security/bulletin/" /> android:data="https://source.android.com/security/bulletin/" />
</Preference> </Preference>
@@ -83,25 +83,25 @@
<Preference <Preference
android:key="fcc_equipment_id" android:key="fcc_equipment_id"
android:title="@string/fcc_equipment_id" android:title="@string/fcc_equipment_id"
android:summary="@string/device_info_default"/> android:summary="@string/summary_placeholder"/>
<!-- Device Baseband version --> <!-- Device Baseband version -->
<Preference <Preference
android:key="baseband_version" android:key="baseband_version"
android:title="@string/baseband_version" android:title="@string/baseband_version"
android:summary="@string/device_info_default"/> android:summary="@string/summary_placeholder"/>
<!-- Device Kernel version --> <!-- Device Kernel version -->
<Preference <Preference
android:key="kernel_version" android:key="kernel_version"
android:title="@string/kernel_version" android:title="@string/kernel_version"
android:summary="@string/device_info_default"/> android:summary="@string/summary_placeholder"/>
<!-- Detailed build version --> <!-- Detailed build version -->
<Preference <Preference
android:key="build_number" android:key="build_number"
android:title="@string/build_number" android:title="@string/build_number"
android:summary="@string/device_info_default"/> android:summary="@string/summary_placeholder"/>
<!-- SELinux status information --> <!-- SELinux status information -->
<Preference <Preference

View File

@@ -25,6 +25,7 @@ import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import android.text.BidiFormatter;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Pair; import android.util.Pair;
import android.widget.Toast; import android.widget.Toast;
@@ -81,7 +82,7 @@ public class BuildNumberPreferenceController extends AbstractPreferenceControlle
final Preference preference = screen.findPreference(KEY_BUILD_NUMBER); final Preference preference = screen.findPreference(KEY_BUILD_NUMBER);
if (preference != null) { if (preference != null) {
try { try {
preference.setSummary(Build.DISPLAY); preference.setSummary(BidiFormatter.getInstance().unicodeWrap(Build.DISPLAY));
preference.setEnabled(true); preference.setEnabled(true);
} catch (Exception e) { } catch (Exception e) {
preference.setSummary(R.string.device_info_default); preference.setSummary(R.string.device_info_default);

View File

@@ -24,13 +24,14 @@ import android.os.UserManager;
import android.provider.Settings; import android.provider.Settings;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen; import android.support.v7.preference.PreferenceScreen;
import android.text.BidiFormatter;
import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.development.DevelopmentSettings;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.development.DevelopmentSettings;
import com.android.settings.search.DatabaseIndexingManager; import com.android.settings.search.DatabaseIndexingManager;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import org.junit.Before; import org.junit.Before;
@@ -91,7 +92,8 @@ public class BuildNumberPreferenceControllerTest {
public void displayPref_shouldAlwaysDisplay() { public void displayPref_shouldAlwaysDisplay() {
mController.displayPreference(mScreen); mController.displayPreference(mScreen);
verify(mScreen.findPreference(mController.getPreferenceKey())).setSummary(Build.DISPLAY); verify(mScreen.findPreference(mController.getPreferenceKey()))
.setSummary(BidiFormatter.getInstance().unicodeWrap(Build.DISPLAY));
verify(mScreen, never()).removePreference(any(Preference.class)); verify(mScreen, never()).removePreference(any(Preference.class));
} }