diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1fc8e41f618..7e1eebae574 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3391,16 +3391,6 @@
My Location
Location for work profile
-
- Mode
-
- High accuracy
-
- Battery saving
-
- Device only
-
- Location off
App-level permissions
@@ -3414,14 +3404,6 @@
High battery use
Low battery use
-
- Location mode
-
- Use GPS, Wi\u2011Fi, Bluetooth, or mobile networks to determine location
-
- Use Wi\u2011Fi, Bluetooth, or mobile networks to determine location
-
- Use GPS and device sensors to determine location
Scanning
@@ -6709,7 +6691,6 @@
dont don\u2019t disturb, interrupt, interruption, break
RAM
nearby, location, history, reporting
- accuracy
account
restriction, restrict, restricted
text correction, correct, sound, vibrate, auto, language, gesture, suggest, suggestion, theme, offensive, word, type, emoji, international
@@ -8346,8 +8327,8 @@
%1$s is default
-
- ON / %1$s
+
+ ON
OFF
diff --git a/res/xml/location_mode.xml b/res/xml/location_mode.xml
deleted file mode 100644
index ac8e584750b..00000000000
--- a/res/xml/location_mode.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/res/xml/location_settings.xml b/res/xml/location_settings.xml
index 0414f20e2ff..267fce98114 100644
--- a/res/xml/location_settings.xml
+++ b/res/xml/location_settings.xml
@@ -50,10 +50,4 @@
-
-
diff --git a/src/com/android/settings/location/LocationMode.java b/src/com/android/settings/location/LocationMode.java
deleted file mode 100644
index 5931f9e364a..00000000000
--- a/src/com/android/settings/location/LocationMode.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2013 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.location;
-
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * A page with 3 radio buttons to choose the location mode.
- *
- * There are 3 location modes when location access is enabled:
- *
- * High accuracy: use both GPS and network location.
- *
- * Battery saving: use network location only to reduce the power consumption.
- *
- * Sensors only: use GPS location only.
- */
-public class LocationMode extends DashboardFragment {
-
- private static final String TAG = "LocationMode";
-
- @Override
- public int getMetricsCategory() {
- return MetricsEvent.LOCATION_MODE;
- }
-
- @Override
- protected int getPreferenceScreenResId() {
- return R.xml.location_mode;
- }
-
- @Override
- protected String getLogTag() {
- return TAG;
- }
-
- @Override
- protected List getPreferenceControllers(Context context) {
- return buildPreferenceControllers(context, getLifecycle());
- }
-
- @Override
- public int getHelpResource() {
- return R.string.help_url_location_access;
- }
-
- private static List buildPreferenceControllers(
- Context context, Lifecycle lifecycle) {
- final List controllers = new ArrayList<>();
- controllers.add(new LocationModeHighAccuracyPreferenceController(context, lifecycle));
- controllers.add(
- new LocationModeBatterySavingPreferenceController(context, lifecycle));
- controllers.add(new LocationModeSensorsOnlyPreferenceController(context, lifecycle));
- return controllers;
- }
-
- /**
- * For Search.
- */
- public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider() {
- @Override
- public List getXmlResourcesToIndex(
- Context context, boolean enabled) {
- final SearchIndexableResource sir = new SearchIndexableResource(context);
- sir.xmlResId = R.xml.location_mode;
- return Arrays.asList(sir);
- }
-
- @Override
- protected boolean isPageSearchEnabled(Context context) {
- return context.getResources().getBoolean(R.bool.config_location_mode_available);
- }
-
- @Override
- public List getPreferenceControllers(Context
- context) {
- return buildPreferenceControllers(context, null /* lifecycle */);
- }
- };
-}
diff --git a/src/com/android/settings/location/LocationModeBatterySavingPreferenceController.java b/src/com/android/settings/location/LocationModeBatterySavingPreferenceController.java
deleted file mode 100644
index 70c7013fbbd..00000000000
--- a/src/com/android/settings/location/LocationModeBatterySavingPreferenceController.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class LocationModeBatterySavingPreferenceController
- extends LocationModeRadioButtonPreferenceController {
-
- private static final String KEY_BATTERY_SAVING = "battery_saving";
-
- public LocationModeBatterySavingPreferenceController(Context context,
- Lifecycle lifecycle) {
- super(context, lifecycle);
- }
-
- @Override
- public String getPreferenceKey() {
- return KEY_BATTERY_SAVING;
- }
-
- @Override
- protected int getLocationMode() {
- return Settings.Secure.LOCATION_MODE_BATTERY_SAVING;
- }
-}
diff --git a/src/com/android/settings/location/LocationModeHighAccuracyPreferenceController.java b/src/com/android/settings/location/LocationModeHighAccuracyPreferenceController.java
deleted file mode 100644
index bd2d07e9452..00000000000
--- a/src/com/android/settings/location/LocationModeHighAccuracyPreferenceController.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class LocationModeHighAccuracyPreferenceController
- extends LocationModeRadioButtonPreferenceController {
-
- private static final String KEY_HIGH_ACCURACY = "high_accuracy";
-
- public LocationModeHighAccuracyPreferenceController(Context context,
- Lifecycle lifecycle) {
- super(context, lifecycle);
- }
-
- @Override
- public String getPreferenceKey() {
- return KEY_HIGH_ACCURACY;
- }
-
- @Override
- protected int getLocationMode() {
- return Settings.Secure.LOCATION_MODE_HIGH_ACCURACY;
- }
-}
diff --git a/src/com/android/settings/location/LocationModePreferenceController.java b/src/com/android/settings/location/LocationModePreferenceController.java
deleted file mode 100644
index 265a9dfe797..00000000000
--- a/src/com/android/settings/location/LocationModePreferenceController.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import android.content.Context;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class LocationModePreferenceController extends LocationBasePreferenceController {
-
- /** Key for preference screen "Mode" */
- private static final String KEY_LOCATION_MODE = "location_mode";
-
- private final LocationSettings mParentFragment;
- private Preference mPreference;
-
- public LocationModePreferenceController(Context context, LocationSettings parent,
- Lifecycle lifecycle) {
- super(context, lifecycle);
- mParentFragment = parent;
- }
-
- @Override
- public String getPreferenceKey() {
- return KEY_LOCATION_MODE;
- }
-
- @Override
- public boolean isAvailable() {
- return mContext.getResources().getBoolean(R.bool.config_location_mode_available);
- }
-
- @Override
- public void displayPreference(PreferenceScreen screen) {
- super.displayPreference(screen);
- mPreference = screen.findPreference(KEY_LOCATION_MODE);
- }
-
- @Override
- public boolean handlePreferenceTreeClick(Preference preference) {
- if (KEY_LOCATION_MODE.equals(preference.getKey())) {
- final SettingsActivity activity = (SettingsActivity) mParentFragment.getActivity();
- activity.startPreferencePanel(mParentFragment, LocationMode.class.getName(), null,
- R.string.location_mode_screen_title, null, mParentFragment, 0);
- return true;
- }
- return false;
- }
-
- @Override
- public void onLocationModeChanged(int mode, boolean restricted) {
- final int modeDescription = LocationPreferenceController.getLocationString(mode);
- if (modeDescription != 0) {
- mPreference.setSummary(modeDescription);
- }
- // Restricted user can't change the location mode, so disable the master switch. But in some
- // corner cases, the location might still be enabled. In such case the master switch should
- // be disabled but checked.
- mPreference.setEnabled(mLocationEnabler.isEnabled(mode));
- }
-}
diff --git a/src/com/android/settings/location/LocationModeRadioButtonPreferenceController.java b/src/com/android/settings/location/LocationModeRadioButtonPreferenceController.java
deleted file mode 100644
index bdf7c8f1ba8..00000000000
--- a/src/com/android/settings/location/LocationModeRadioButtonPreferenceController.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import android.content.Context;
-import android.support.v7.preference.PreferenceScreen;
-
-import com.android.settings.widget.RadioButtonPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public abstract class LocationModeRadioButtonPreferenceController
- extends LocationBasePreferenceController
- implements RadioButtonPreference.OnClickListener {
-
- protected RadioButtonPreference mPreference;
-
- public LocationModeRadioButtonPreferenceController(Context context, Lifecycle lifecycle) {
- super(context, lifecycle);
- }
-
- @Override
- public void displayPreference(PreferenceScreen screen) {
- super.displayPreference(screen);
- mPreference = (RadioButtonPreference) screen.findPreference(getPreferenceKey());
- mPreference.setOnClickListener(this);
- }
-
- @Override
- public void onRadioButtonClicked(RadioButtonPreference emiter) {
- mLocationEnabler.setLocationMode(getLocationMode());
- }
-
- @Override
- public void onLocationModeChanged(int mode, boolean restricted) {
- mPreference.setChecked(mode == getLocationMode());
- mPreference.setEnabled(mLocationEnabler.isEnabled(mode));
- }
-
- /** Gets the location mode that this controller monitors. */
- protected abstract int getLocationMode();
-
-}
diff --git a/src/com/android/settings/location/LocationModeSensorsOnlyPreferenceController.java b/src/com/android/settings/location/LocationModeSensorsOnlyPreferenceController.java
deleted file mode 100644
index b79dbf24869..00000000000
--- a/src/com/android/settings/location/LocationModeSensorsOnlyPreferenceController.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class LocationModeSensorsOnlyPreferenceController
- extends LocationModeRadioButtonPreferenceController {
-
- private static final String KEY_SENSORS_ONLY = "sensors_only";
-
- public LocationModeSensorsOnlyPreferenceController(Context context,
- Lifecycle lifecycle) {
- super(context, lifecycle);
- }
-
- @Override
- public String getPreferenceKey() {
- return KEY_SENSORS_ONLY;
- }
-
- @Override
- protected int getLocationMode() {
- return Settings.Secure.LOCATION_MODE_SENSORS_ONLY;
- }
-}
diff --git a/src/com/android/settings/location/LocationPreferenceController.java b/src/com/android/settings/location/LocationPreferenceController.java
index 9b68848c129..5760ab702fb 100644
--- a/src/com/android/settings/location/LocationPreferenceController.java
+++ b/src/com/android/settings/location/LocationPreferenceController.java
@@ -105,26 +105,11 @@ public class LocationPreferenceController extends AbstractPreferenceController
int mode = Secure.getInt(context.getContentResolver(),
Secure.LOCATION_MODE, Secure.LOCATION_MODE_OFF);
if (mode != Secure.LOCATION_MODE_OFF) {
- return context.getString(R.string.location_on_summary,
- context.getString(getLocationString(mode)));
+ return context.getString(R.string.location_on_summary);
}
return context.getString(R.string.location_off_summary);
}
- public static int getLocationString(int mode) {
- switch (mode) {
- case Secure.LOCATION_MODE_OFF:
- return R.string.location_mode_location_off_title;
- case Secure.LOCATION_MODE_SENSORS_ONLY:
- return R.string.location_mode_sensors_only_title;
- case Secure.LOCATION_MODE_BATTERY_SAVING:
- return R.string.location_mode_battery_saving_title;
- case Secure.LOCATION_MODE_HIGH_ACCURACY:
- return R.string.location_mode_high_accuracy_title;
- }
- return 0;
- }
-
@Override
public ResultPayload getResultPayload() {
final Intent intent = DatabaseIndexingUtils.buildSearchResultPageIntent(mContext,
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index 85c049db1d5..3cc5b847f15 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -127,7 +127,6 @@ public class LocationSettings extends DashboardFragment {
private static List buildPreferenceControllers(
Context context, LocationSettings fragment, Lifecycle lifecycle) {
final List controllers = new ArrayList<>();
- controllers.add(new LocationModePreferenceController(context, fragment, lifecycle));
controllers.add(new AppLocationPermissionPreferenceController(context));
controllers.add(new LocationForWorkPreferenceController(context, lifecycle));
controllers.add(
diff --git a/src/com/android/settings/search/SearchIndexableResourcesImpl.java b/src/com/android/settings/search/SearchIndexableResourcesImpl.java
index 034cbd0e06b..75f64d32a10 100644
--- a/src/com/android/settings/search/SearchIndexableResourcesImpl.java
+++ b/src/com/android/settings/search/SearchIndexableResourcesImpl.java
@@ -62,7 +62,6 @@ import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
import com.android.settings.inputmethod.VirtualKeyboardFragment;
import com.android.settings.language.LanguageAndInputSettings;
-import com.android.settings.location.LocationMode;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.ScanningSettings;
import com.android.settings.network.NetworkDashboardFragment;
@@ -132,7 +131,6 @@ public class SearchIndexableResourcesImpl implements SearchIndexableResources {
addIndex(GestureSettings.class);
addIndex(LanguageAndInputSettings.class);
addIndex(LocationSettings.class);
- addIndex(LocationMode.class);
addIndex(ScanningSettings.class);
addIndex(SecuritySettingsV2.class);
addIndex(ScreenLockSettings.class);
diff --git a/tests/robotests/src/com/android/settings/location/LocationModeBatterySavingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationModeBatterySavingPreferenceControllerTest.java
deleted file mode 100644
index 41e9f1e7b2d..00000000000
--- a/tests/robotests/src/com/android/settings/location/LocationModeBatterySavingPreferenceControllerTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-
-import android.arch.lifecycle.LifecycleOwner;
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.TestConfig;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class LocationModeBatterySavingPreferenceControllerTest {
-
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setUp() {
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- }
-
- @Test
- public void getLocationMode_shouldReturnModeBatterySaving() {
- final LocationModeBatterySavingPreferenceController controller =
- new LocationModeBatterySavingPreferenceController(mock(Context.class), mLifecycle);
-
- assertThat(controller.getLocationMode())
- .isEqualTo(Settings.Secure.LOCATION_MODE_BATTERY_SAVING);
- }
-
-}
diff --git a/tests/robotests/src/com/android/settings/location/LocationModeHighAccuracyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationModeHighAccuracyPreferenceControllerTest.java
deleted file mode 100644
index 9c8bac63254..00000000000
--- a/tests/robotests/src/com/android/settings/location/LocationModeHighAccuracyPreferenceControllerTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-
-import android.arch.lifecycle.LifecycleOwner;
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.TestConfig;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class LocationModeHighAccuracyPreferenceControllerTest {
-
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setUp() {
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- }
-
- @Test
- public void getLocationMode_shouldReturnModeHighAccuracy() {
- final LocationModeHighAccuracyPreferenceController controller =
- new LocationModeHighAccuracyPreferenceController(mock(Context.class), mLifecycle);
-
- assertThat(controller.getLocationMode())
- .isEqualTo(Settings.Secure.LOCATION_MODE_HIGH_ACCURACY);
- }
-
-}
diff --git a/tests/robotests/src/com/android/settings/location/LocationModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationModePreferenceControllerTest.java
deleted file mode 100644
index a28cb205be5..00000000000
--- a/tests/robotests/src/com/android/settings/location/LocationModePreferenceControllerTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import static junit.framework.Assert.assertFalse;
-import static junit.framework.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.arch.lifecycle.LifecycleOwner;
-import android.content.Context;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settings.TestConfig;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class LocationModePreferenceControllerTest {
-
- @Mock
- private LocationSettings mFragment;
- @Mock
- private SettingsActivity mActivity;
- @Mock
- private Preference mPreference;
- @Mock
- private PreferenceScreen mScreen;
- @Mock
- private UserManager mUserManager;
-
- private Context mContext;
- private LocationModePreferenceController mController;
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = spy(RuntimeEnvironment.application);
- when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- mController = new LocationModePreferenceController(mContext, mFragment, mLifecycle);
- when(mFragment.getActivity()).thenReturn(mActivity);
- when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
- }
-
- @Test
- @Config(qualifiers = "mcc999")
- public void locationModePreference_ifXmlSetToFalse_shouldNotBeAvailable() {
- assertFalse(mController.isAvailable());
- }
-
- @Test
- public void locationModePreference_ifXmlSetToTrue_shouldBeAvailable() {
- assertTrue(mController.isAvailable());
- }
-
- @Test
- public void onLocationModeChanged_locationOff_shouldDisablePreference() {
- when(mUserManager.hasUserRestriction(any())).thenReturn(false);
- mController.displayPreference(mScreen);
-
- mController.onLocationModeChanged(Settings.Secure.LOCATION_MODE_OFF, false);
-
- verify(mPreference).setEnabled(false);
- }
-
- @Test
- public void onLocationModeChanged_restricted_shouldDisablePreference() {
- when(mUserManager.hasUserRestriction(any())).thenReturn(true);
- mController.displayPreference(mScreen);
-
- mController.onLocationModeChanged(Settings.Secure.LOCATION_MODE_BATTERY_SAVING, false);
-
- verify(mPreference).setEnabled(false);
- }
-
- @Test
- public void onLocationModeChanged_locationOnNotRestricted_shouldEnablePreference() {
- when(mUserManager.hasUserRestriction(any())).thenReturn(false);
- mController.displayPreference(mScreen);
-
- mController.onLocationModeChanged(Settings.Secure.LOCATION_MODE_BATTERY_SAVING, false);
-
- verify(mPreference).setEnabled(true);
- }
-
- @Test
- public void onLocationModeChanged_shouldUpdateSummary() {
- mController.displayPreference(mScreen);
-
- mController.onLocationModeChanged(Settings.Secure.LOCATION_MODE_BATTERY_SAVING, false);
-
- verify(mPreference).setSummary(anyInt());
- }
-
- @Test
- public void handlePreferenceTreeClick_shouldStartLocationModeFragment() {
- final Preference preference = new Preference(mContext);
- preference.setKey(mController.getPreferenceKey());
-
- mController.handlePreferenceTreeClick(preference);
-
- verify(mActivity).startPreferencePanel(any(), eq(LocationMode.class.getName()), any(),
- eq(R.string.location_mode_screen_title), any(), any(), anyInt());
- }
-
-}
diff --git a/tests/robotests/src/com/android/settings/location/LocationModeRadioButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationModeRadioButtonPreferenceControllerTest.java
deleted file mode 100644
index 27667889d97..00000000000
--- a/tests/robotests/src/com/android/settings/location/LocationModeRadioButtonPreferenceControllerTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.arch.lifecycle.LifecycleOwner;
-import android.content.Context;
-import android.provider.Settings;
-import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.TestConfig;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.testutils.shadow.ShadowSecureSettings;
-import com.android.settings.widget.RadioButtonPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(
- manifest = TestConfig.MANIFEST_PATH,
- sdk = TestConfig.SDK_VERSION,
- shadows = {ShadowSecureSettings.class})
-public class LocationModeRadioButtonPreferenceControllerTest {
-
- @Mock
- private RadioButtonPreference mPreference;
- @Mock
- private PreferenceScreen mScreen;
-
- private Context mContext;
- private LocationModeRadioButtonPreferenceController mController;
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- mController = new LocationModeRadioButtonPreferenceControllerTestable(mContext, mLifecycle);
- when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
- }
-
- @Test
- public void displayPreference_shouldAddClickListener() {
- mController.displayPreference(mScreen);
-
- verify(mPreference).setOnClickListener(mController);
- }
-
- @Test
- public void onRadioButtonClicked_shouldSetLocationModeToOwnMode() {
- mController.displayPreference(mScreen);
- Settings.Secure.putInt(mContext.getContentResolver(),
- Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF);
-
- mController.onRadioButtonClicked(mPreference);
-
- assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF))
- .isEqualTo(mController.getLocationMode());
- }
-
- @Test
- public void onLocationModeChanged_otherModeSelected_shouldUncheckPreference() {
- mController.displayPreference(mScreen);
-
- mController.onLocationModeChanged(Settings.Secure.LOCATION_MODE_BATTERY_SAVING, false);
-
- verify(mPreference).setChecked(false);
- }
-
- @Test
- public void onLocationModeChanged_ownModeSelected_shouldCheckPreference() {
- mController.displayPreference(mScreen);
-
- mController.onLocationModeChanged(mController.getLocationMode(), false);
-
- verify(mPreference).setChecked(true);
- }
-
- @Test
- public void onLocationModeChanged_locationOff_shouldDisablePreference() {
- mController.displayPreference(mScreen);
-
- mController.onLocationModeChanged(Settings.Secure.LOCATION_MODE_OFF, false);
-
- verify(mPreference).setEnabled(false);
- }
-
- @Test
- public void onLocationModeChanged_locationOn_shouldDisablePreference() {
- mController.displayPreference(mScreen);
-
- mController.onLocationModeChanged(Settings.Secure.LOCATION_MODE_BATTERY_SAVING, false);
-
- verify(mPreference).setEnabled(true);
- }
-
- private class LocationModeRadioButtonPreferenceControllerTestable
- extends LocationModeRadioButtonPreferenceController {
-
- public LocationModeRadioButtonPreferenceControllerTestable(Context context,
- Lifecycle lifecycle) {
- super(context, lifecycle);
- }
-
- @Override
- public String getPreferenceKey() {
- return "test";
- }
-
- @Override
- protected int getLocationMode() {
- return Settings.Secure.LOCATION_MODE_HIGH_ACCURACY;
- }
- }
-}
diff --git a/tests/robotests/src/com/android/settings/location/LocationModeSensorsOnlyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationModeSensorsOnlyPreferenceControllerTest.java
deleted file mode 100644
index 4ed75d28c4d..00000000000
--- a/tests/robotests/src/com/android/settings/location/LocationModeSensorsOnlyPreferenceControllerTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-
-import android.arch.lifecycle.LifecycleOwner;
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.TestConfig;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class LocationModeSensorsOnlyPreferenceControllerTest {
-
- private LifecycleOwner mLifecycleOwner;
- private Lifecycle mLifecycle;
-
- @Before
- public void setUp() {
- mLifecycleOwner = () -> mLifecycle;
- mLifecycle = new Lifecycle(mLifecycleOwner);
- }
-
- @Test
- public void getLocationMode_shouldReturnModeSensorsOnly() {
- final LocationModeSensorsOnlyPreferenceController controller =
- new LocationModeSensorsOnlyPreferenceController(mock(Context.class), mLifecycle);
-
- assertThat(controller.getLocationMode())
- .isEqualTo(Settings.Secure.LOCATION_MODE_SENSORS_ONLY);
- }
-
-}
diff --git a/tests/robotests/src/com/android/settings/location/LocationModeTest.java b/tests/robotests/src/com/android/settings/location/LocationModeTest.java
deleted file mode 100644
index 0e7a9d72ed0..00000000000
--- a/tests/robotests/src/com/android/settings/location/LocationModeTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2017 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.location;
-
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.TestConfig;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.testutils.XmlTestUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class LocationModeTest {
-
- private Context mContext;
- private LocationMode mFragment;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = spy(RuntimeEnvironment.application);
- mFragment = new LocationMode();
- }
-
- @Test
- public void testSearchIndexProvider_shouldIndexResource() {
- final List indexRes =
- mFragment.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(mContext,
- true /* enabled */);
-
- assertThat(indexRes).isNotNull();
- assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId());
- }
-
- @Test
- @Config(qualifiers = "mcc999")
- public void testSearchIndexProvider_ifPageDisabled_shouldNotIndexResource() {
- final List niks = LocationMode.SEARCH_INDEX_DATA_PROVIDER
- .getNonIndexableKeys(mContext);
- final int xmlId = mFragment.getPreferenceScreenResId();
-
- final List keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId);
- assertThat(niks).containsAllIn(keys);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java
index 2c92b445c9a..e4aa0754807 100644
--- a/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationPreferenceControllerTest.java
@@ -109,45 +109,30 @@ public class LocationPreferenceControllerTest {
}
@Test
- public void getLocationSummary_sensorsOnly_shouldSetSummarySensorsOnly() {
+ public void getLocationSummary_sensorsOnly_shouldSetSummaryOn() {
Secure.putInt(mContext.getContentResolver(),
Secure.LOCATION_MODE, Secure.LOCATION_MODE_SENSORS_ONLY);
assertThat(mController.getLocationSummary(mContext)).isEqualTo(
- mContext.getString(R.string.location_on_summary,
- mContext.getString(R.string.location_mode_sensors_only_title)));
+ mContext.getString(R.string.location_on_summary));
}
@Test
- public void getLocationSummary_highAccuracy_shouldSetSummarHighAccuracy() {
+ public void getLocationSummary_highAccuracy_shouldSetSummaryOn() {
Secure.putInt(mContext.getContentResolver(),
Secure.LOCATION_MODE, Secure.LOCATION_MODE_HIGH_ACCURACY);
assertThat(mController.getLocationSummary(mContext)).isEqualTo(
- mContext.getString(R.string.location_on_summary,
- mContext.getString(R.string.location_mode_high_accuracy_title)));
+ mContext.getString(R.string.location_on_summary));
}
@Test
- public void getLocationSummary_batterySaving_shouldSetSummaryBatterySaving() {
+ public void getLocationSummary_batterySaving_shouldSetSummaryOn() {
Secure.putInt(mContext.getContentResolver(),
Secure.LOCATION_MODE, Secure.LOCATION_MODE_BATTERY_SAVING);
assertThat(mController.getLocationSummary(mContext)).isEqualTo(
- mContext.getString(R.string.location_on_summary,
- mContext.getString(R.string.location_mode_battery_saving_title)));
- }
-
- @Test
- public void getLocationString_shouldCorrectString() {
- assertThat(mController.getLocationString(Secure.LOCATION_MODE_OFF)).isEqualTo(
- R.string.location_mode_location_off_title);
- assertThat(mController.getLocationString(Secure.LOCATION_MODE_SENSORS_ONLY)).isEqualTo(
- R.string.location_mode_sensors_only_title);
- assertThat(mController.getLocationString(Secure.LOCATION_MODE_BATTERY_SAVING)).isEqualTo(
- R.string.location_mode_battery_saving_title);
- assertThat(mController.getLocationString(Secure.LOCATION_MODE_HIGH_ACCURACY)).isEqualTo(
- R.string.location_mode_high_accuracy_title);
+ mContext.getString(R.string.location_on_summary));
}
@Test