Language Update for Wi-Fi/Bluetooth Scanning

Bug: 22046234
Change-Id: Iea8fa2368d1e568a8e1fdd3edefa8f4fc6053e48
This commit is contained in:
Lifu Tang
2015-06-23 17:54:56 -07:00
parent 52e728ab11
commit 55601622d5
3 changed files with 48 additions and 30 deletions

View File

@@ -1219,11 +1219,10 @@
<!-- Message to describe "BLE scan always available feature" when Bluetooth is off. The <!-- Message to describe "BLE scan always available feature" when Bluetooth is off. The
place-holders "LINK_BEGIN" and "LINK_END" must NOT be translated. They mark a link to bring place-holders "LINK_BEGIN" and "LINK_END" must NOT be translated. They mark a link to bring
the user to "scanning settings" screen. --> the user to "scanning settings" screen. -->
<string name="ble_scan_notify_text">To improve location accuracy, apps and <string name="ble_scan_notify_text">To improve location accuracy, system apps and services can
services will scan for Bluetooth devices, even when Bluetooth is off. still detect Bluetooth devices. You can change this in
You can change this in <xliff:g id="link_begin">LINK_BEGIN</xliff:g>scanning
<xliff:g id="link_begin">LINK_BEGIN</xliff:g>scanning settings<xliff:g id="link_end">LINK_END</xliff:g>.</string>
settings<xliff:g id="link_end">LINK_END</xliff:g>.</string>
<!-- Bluetooth settings. The title of the screen to pick which profiles to connect to on the device. For example, headphones may have both A2DP and headset, this allows the user to choose which one he wants to connect to. --> <!-- Bluetooth settings. The title of the screen to pick which profiles to connect to on the device. For example, headphones may have both A2DP and headset, this allows the user to choose which one he wants to connect to. -->
@@ -1401,9 +1400,8 @@
<!-- Message to describe "Wi-Fi scan always available feature" when Wi-Fi is off. The <!-- Message to describe "Wi-Fi scan always available feature" when Wi-Fi is off. The
place-holders "LINK_BEGIN" and "LINK_END" must NOT be translated. They mark a link to bring place-holders "LINK_BEGIN" and "LINK_END" must NOT be translated. They mark a link to bring
the user to "scanning settings" screen. --> the user to "scanning settings" screen. -->
<string name="wifi_scan_notify_text">To improve location accuracy, apps and <string name="wifi_scan_notify_text">To improve location accuracy, system apps and services can
services will scan for Wi\u2011Fi networks, even when Wi\u2011Fi is off. still scan for Wi\u2011Fi networks. You can change this in
You can change this in
<xliff:g id="link_begin">LINK_BEGIN</xliff:g>scanning <xliff:g id="link_begin">LINK_BEGIN</xliff:g>scanning
settings<xliff:g id="link_end">LINK_END</xliff:g>.</string> settings<xliff:g id="link_end">LINK_END</xliff:g>.</string>
<!-- Wifi scan always mode checkbox text --> <!-- Wifi scan always mode checkbox text -->
@@ -2791,9 +2789,9 @@
<!-- [CHAR LIMIT=30] Location mode screen, screen title --> <!-- [CHAR LIMIT=30] Location mode screen, screen title -->
<string name="location_mode_screen_title">Location mode</string> <string name="location_mode_screen_title">Location mode</string>
<!-- [CHAR LIMIT=130] Location mode screen, description for high accuracy mode --> <!-- [CHAR LIMIT=130] Location mode screen, description for high accuracy mode -->
<string name="location_mode_high_accuracy_description">Use GPS, Wi\u2011Fi, and cellular networks to determine location </string> <string name="location_mode_high_accuracy_description">Use GPS, Wi\u2011Fi, Bluetooth, or cellular networks to determine location </string>
<!-- [CHAR LIMIT=130] Location mode screen, description for battery saving mode --> <!-- [CHAR LIMIT=130] Location mode screen, description for battery saving mode -->
<string name="location_mode_battery_saving_description">Use Wi\u2011Fi and cellular networks to determine location</string> <string name="location_mode_battery_saving_description">Use Wi\u2011Fi, Bluetooth, or cellular networks to determine location</string>
<!-- [CHAR LIMIT=130] Location mode screen, description for sensors only mode --> <!-- [CHAR LIMIT=130] Location mode screen, description for sensors only mode -->
<string name="location_mode_sensors_only_description">Use GPS to determine location</string> <string name="location_mode_sensors_only_description">Use GPS to determine location</string>
<!-- Help menu label [CHAR LIMIT=20] Location settings screen, overflow menu that takes the user <!-- Help menu label [CHAR LIMIT=20] Location settings screen, overflow menu that takes the user
@@ -2804,15 +2802,14 @@
<!-- [CHAR LIMIT=130] Preference title for Wi-Fi always scanning --> <!-- [CHAR LIMIT=130] Preference title for Wi-Fi always scanning -->
<string name="location_scanning_wifi_always_scanning_title">Wi\u2011Fi scanning</string> <string name="location_scanning_wifi_always_scanning_title">Wi\u2011Fi scanning</string>
<!-- Preference description text for Wi-Fi always scanning --> <!-- Preference description text for Wi-Fi always scanning -->
<string name="location_scanning_wifi_always_scanning_description">Improve <string name="location_scanning_wifi_always_scanning_description">Improve location by allowing
location by allowing apps and services to scan for Wi\u2011Fi networks system apps and services to detect Wi\u2011Fi networks at any time.</string>
even when Wi\u2011Fi is off</string>
<!-- [CHAR LIMIT=130] Description text for Bluetooth always scanning --> <!-- [CHAR LIMIT=130] Description text for Bluetooth always scanning -->
<string name="location_scanning_bluetooth_always_scanning_title">Bluetooth scanning</string> <string name="location_scanning_bluetooth_always_scanning_title">Bluetooth scanning</string>
<!-- Description text for Bluetooth always scanning --> <!-- Description text for Bluetooth always scanning -->
<string name="location_scanning_bluetooth_always_scanning_description"> <string name="location_scanning_bluetooth_always_scanning_description">
Improve location by allowing system services to scan for Bluetooth Improve location by allowing system apps and services to detect Bluetooth devices at any
devices, even when Bluetooth is off</string> time.</string>
<!-- [CHAR LIMIT=30] Security & location settings screen, setting check box label for Google location service (cell ID, wifi, etc.) --> <!-- [CHAR LIMIT=30] Security & location settings screen, setting check box label for Google location service (cell ID, wifi, etc.) -->
<string name="location_network_based">Wi\u2011Fi &amp; cellular network location</string> <string name="location_network_based">Wi\u2011Fi &amp; cellular network location</string>

View File

@@ -21,6 +21,7 @@ import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
@@ -30,6 +31,7 @@ import android.preference.Preference;
import android.preference.PreferenceCategory; import android.preference.PreferenceCategory;
import android.preference.PreferenceGroup; import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.provider.Settings;
import android.text.Spannable; import android.text.Spannable;
import android.text.style.TextAppearanceSpan; import android.text.style.TextAppearanceSpan;
import android.util.Log; import android.util.Log;
@@ -381,20 +383,30 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
return; return;
} }
final CharSequence briefText = getText(R.string.bluetooth_empty_list_bluetooth_off); final CharSequence briefText = getText(R.string.bluetooth_empty_list_bluetooth_off);
final StringBuilder contentBuilder = new StringBuilder();
contentBuilder.append(briefText); final ContentResolver resolver = getActivity().getContentResolver();
contentBuilder.append("\n\n"); final boolean bleScanningMode = Settings.Global.getInt(
contentBuilder.append(getText(R.string.ble_scan_notify_text)); resolver, Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1;
if (!bleScanningMode) {
// Show only the brief text if the scanning mode has been turned off.
mEmptyView.setText(briefText, TextView.BufferType.SPANNABLE);
} else {
final StringBuilder contentBuilder = new StringBuilder();
contentBuilder.append(briefText);
contentBuilder.append("\n\n");
contentBuilder.append(getText(R.string.ble_scan_notify_text));
LinkifyUtils.linkify(mEmptyView, contentBuilder, new LinkifyUtils.OnClickListener() {
@Override
public void onClick() {
final SettingsActivity activity =
(SettingsActivity) BluetoothSettings.this.getActivity();
activity.startPreferencePanel(ScanningSettings.class.getName(), null,
R.string.location_scanning_screen_title, null, null, 0);
}
});
}
getPreferenceScreen().removeAll(); getPreferenceScreen().removeAll();
LinkifyUtils.linkify(mEmptyView, contentBuilder, new LinkifyUtils.OnClickListener() {
@Override
public void onClick() {
final SettingsActivity activity =
(SettingsActivity) BluetoothSettings.this.getActivity();
activity.startPreferencePanel(ScanningSettings.class.getName(), null,
R.string.location_scanning_screen_title, null, null, 0);
}
});
Spannable boldSpan = (Spannable) mEmptyView.getText(); Spannable boldSpan = (Spannable) mEmptyView.getText();
boldSpan.setSpan( boldSpan.setSpan(
new TextAppearanceSpan(getActivity(), android.R.style.TextAppearance_Medium), 0, new TextAppearanceSpan(getActivity(), android.R.style.TextAppearance_Medium), 0,

View File

@@ -708,8 +708,17 @@ public class WifiSettings extends RestrictedSettingsFragment
} }
final CharSequence briefText = getText(R.string.wifi_empty_list_wifi_off); final CharSequence briefText = getText(R.string.wifi_empty_list_wifi_off);
if (isUiRestricted()) {
// Show only the brief text if the user is not allowed to configure scanning settings. // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead,
// read the system settings directly. Because when the device is in Airplane mode, even if
// Wi-Fi scanning mode is on, WifiManager.isScanAlwaysAvailable() still returns "off".
final ContentResolver resolver = getActivity().getContentResolver();
final boolean wifiScanningMode = Settings.Global.getInt(
resolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1;
if (isUiRestricted() || !wifiScanningMode) {
// Show only the brief text if the user is not allowed to configure scanning settings,
// or the scanning mode has been turned off.
mEmptyView.setText(briefText, BufferType.SPANNABLE); mEmptyView.setText(briefText, BufferType.SPANNABLE);
} else { } else {
// Append the description of scanning settings with link. // Append the description of scanning settings with link.