Move LocationServicePreference to Location > LocationServices

Bug: 180533061
Test: manual on device
Change-Id: Idd700f5c530af67f4936e207e42988267185f256
This commit is contained in:
Yu-Han Yang
2021-02-17 13:52:39 -08:00
parent 1ebb7fa010
commit e93c1298fc
12 changed files with 43 additions and 39 deletions

View File

@@ -1315,7 +1315,7 @@
</activity>
<activity
android:name="Settings$ScanningSettingsActivity"
android:label="@string/location_scanning_screen_title"
android:label="@string/location_services_screen_title"
android:icon="@drawable/ic_homepage_location"
android:exported="true"
android:configChanges="orientation|keyboardHidden|screenSize">
@@ -1324,7 +1324,7 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.location.ScanningSettings" />
android:value="com.android.settings.location.LocationServices" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>

View File

@@ -4007,8 +4007,6 @@
<string name="location_high_battery_use">High battery use</string>
<!-- [CHAR LIMIT=30] Location settings screen, recent location requests low battery use-->
<string name="location_low_battery_use">Low battery use</string>
<!-- [CHAR LIMIT=60] Wireless background scanning settings screen, screen title -->
<string name="location_scanning_screen_title">Wi\u2011Fi and Bluetooth scanning</string>
<!-- [CHAR LIMIT=130] Preference title for Wi-Fi always scanning -->
<string name="location_scanning_wifi_always_scanning_title">Wi\u2011Fi scanning</string>
<!-- Preference description text for Wi-Fi always scanning -->
@@ -4017,6 +4015,8 @@
<string name="location_scanning_bluetooth_always_scanning_title">Bluetooth scanning</string>
<!-- Description text for Bluetooth always scanning -->
<string name="location_scanning_bluetooth_always_scanning_description">Allow apps and services to scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services.</string>
<!-- [CHAR LIMIT=60] Location Services screen, screen title -->
<string name="location_services_screen_title">Location Services</string>
<!-- [CHAR LIMIT=50] Location settings screen, sub category for location services for managed profile -->
<string name="managed_profile_location_services">Location services for work</string>

View File

@@ -15,7 +15,8 @@
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/location_scanning_screen_title">
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/location_services_screen_title">
<SwitchPreference
android:title="@string/location_scanning_wifi_always_scanning_title"
@@ -29,4 +30,9 @@
android:defaultValue="true"
android:key="bluetooth_always_scanning" />
<PreferenceCategory
android:key="location_services"
android:layout="@layout/preference_category_no_label"
settings:controller="com.android.settings.location.LocationServicePreferenceController"/>
</PreferenceScreen>

View File

@@ -50,9 +50,9 @@
</Preference>
<Preference
android:fragment="com.android.settings.location.ScanningSettings"
android:key="location_scanning"
android:title="@string/location_scanning_screen_title"
android:fragment="com.android.settings.location.LocationServices"
android:key="location_services"
android:title="@string/location_services_screen_title"
settings:controller="com.android.settings.location.LocationScanningPreferenceController"/>
<!-- This preference gets removed if there is no managed profile -->
@@ -65,11 +65,6 @@
settings:forWork="true"
settings:useAdminDisabledSummary="true"/>
<PreferenceCategory
android:key="location_services"
android:layout="@layout/preference_category_no_label"
settings:controller="com.android.settings.location.LocationServicePreferenceController"/>
<!-- This preference gets removed if there is no managed profile -->
<PreferenceCategory
android:key="location_services_managed_profile"

View File

@@ -46,15 +46,10 @@
</Preference>
<Preference
android:key="location_scanning"
android:title="@string/location_scanning_screen_title"
android:fragment="com.android.settings.location.ScanningSettings"
settings:controller="com.android.settings.location.LocationScanningPreferenceController"/>
<PreferenceCategory
android:key="location_services"
android:layout="@layout/preference_category_no_label"
settings:controller="com.android.settings.location.LocationServicePreferenceController"/>
android:title="@string/location_services_screen_title"
android:fragment="com.android.settings.location.LocationServices"
settings:controller="com.android.settings.location.LocationScanningPreferenceController"/>
<PreferenceCategory
android:key="location_footer"

View File

@@ -23,7 +23,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.location.ScanningSettings;
import com.android.settings.location.LocationServices;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.utils.AnnotationSpan;
import com.android.settings.widget.SwitchWidgetController;
@@ -100,7 +100,7 @@ public class BluetoothSwitchPreferenceController
public void onClick(View v) {
// send users to scanning settings if they click on the link in the summary text
new SubSettingLauncher(mContext)
.setDestination(ScanningSettings.class.getName())
.setDestination(LocationServices.class.getName())
.setSourceMetricsCategory(SettingsEnums.BLUETOOTH_FRAGMENT)
.launch();
}

View File

@@ -110,8 +110,8 @@ import com.android.settings.inputmethod.UserDictionaryList;
import com.android.settings.inputmethod.UserDictionarySettings;
import com.android.settings.language.LanguageAndInputSettings;
import com.android.settings.localepicker.LocaleListEditor;
import com.android.settings.location.LocationServices;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.ScanningSettings;
import com.android.settings.network.MobileNetworkListFragment;
import com.android.settings.network.NetworkDashboardFragment;
import com.android.settings.network.NetworkProviderSettings;
@@ -200,7 +200,7 @@ public class SettingsGateway {
NotificationStation.class.getName(),
LocationSettings.class.getName(),
PrivacyDashboardFragment.class.getName(),
ScanningSettings.class.getName(),
LocationServices.class.getName(),
SecuritySettings.class.getName(),
UsageAccessDetails.class.getName(),
PrivacySettings.class.getName(),

View File

@@ -50,7 +50,8 @@ public class LocationPersonalSettings extends DashboardFragment {
super.onAttach(context);
use(AppLocationPermissionPreferenceController.class).init(this);
use(LocationServicePreferenceController.class).init(this);
// STOPSHIP(b/180533061): resolve the personal/work location services issue before we can
// ship.
use(LocationFooterPreferenceController.class).init(this);
final int profileType = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE);

View File

@@ -29,20 +29,21 @@ import java.util.ArrayList;
import java.util.List;
/**
* A page that configures the background scanning settings for Wi-Fi and Bluetooth.
* A page that configures the Location Services settings including Wi-Fi scanning, Bluetooth
* scanning, and injected location services.
*/
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class ScanningSettings extends DashboardFragment {
private static final String TAG = "ScanningSettings";
public class LocationServices extends DashboardFragment {
private static final String TAG = "LocationServicesSettings";
@Override
public int getMetricsCategory() {
return SettingsEnums.LOCATION_SCANNING;
return SettingsEnums.LOCATION_SERVICES;
}
@Override
protected int getPreferenceScreenResId() {
return R.xml.location_scanning;
return R.xml.location_services;
}
@Override
@@ -55,6 +56,13 @@ public class ScanningSettings extends DashboardFragment {
return buildPreferenceControllers(context);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
use(LocationServicePreferenceController.class).init(this);
}
private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
controllers.add(new WifiScanningPreferenceController(context));
@@ -66,7 +74,7 @@ public class ScanningSettings extends DashboardFragment {
* For Search.
*/
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.location_scanning) {
new BaseSearchIndexProvider(R.xml.location_services) {
@Override
public List<AbstractPreferenceController> createPreferenceControllers(Context

View File

@@ -83,7 +83,6 @@ public class LocationSettings extends DashboardFragment {
use(AppLocationPermissionPreferenceController.class).init(this);
use(RecentLocationRequestPreferenceController.class).init(this);
use(LocationServicePreferenceController.class).init(this);
use(LocationFooterPreferenceController.class).init(this);
use(LocationForWorkPreferenceController.class).init(this);
use(LocationServiceForWorkPreferenceController.class).init(this);

View File

@@ -63,7 +63,7 @@ import com.android.settings.core.FeatureFlags;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.datausage.DataUsagePreference;
import com.android.settings.datausage.DataUsageUtils;
import com.android.settings.location.ScanningSettings;
import com.android.settings.location.LocationServices;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.widget.MainSwitchBarController;
@@ -921,8 +921,8 @@ public class WifiSettings extends RestrictedSettingsFragment
: getText(R.string.wifi_scan_notify_text_scanning_off);
final LinkifyUtils.OnClickListener clickListener =
() -> new SubSettingLauncher(getContext())
.setDestination(ScanningSettings.class.getName())
.setTitleRes(R.string.location_scanning_screen_title)
.setDestination(LocationServices.class.getName())
.setTitleRes(R.string.location_services_screen_title)
.setSourceMetricsCategory(getMetricsCategory())
.launch();
mStatusMessagePreference.setText(title, description, clickListener);

View File

@@ -32,7 +32,7 @@ import org.robolectric.RuntimeEnvironment;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
public class ScanningSettingsTest {
public class LocationServicesTest {
private Context mContext;
@@ -43,10 +43,10 @@ public class ScanningSettingsTest {
@Test
public void searchProvider_shouldIndexDefaultXml() {
final List<SearchIndexableResource> sir = ScanningSettings.SEARCH_INDEX_DATA_PROVIDER
final List<SearchIndexableResource> sir = LocationServices.SEARCH_INDEX_DATA_PROVIDER
.getXmlResourcesToIndex(mContext, true /* enabled */);
assertThat(sir).hasSize(1);
assertThat(sir.get(0).xmlResId).isEqualTo(R.xml.location_scanning);
assertThat(sir.get(0).xmlResId).isEqualTo(R.xml.location_services);
}
}