From 127bfcfe2def8c258ce1949bff7c83e8ed88b5e5 Mon Sep 17 00:00:00 2001 From: Jayachandran C Date: Mon, 21 May 2018 16:41:40 -0700 Subject: [PATCH] Remove connectivity monitor switch from developer options Test: Verify connectivity monitor switch is no more shown under developer options Bug: 79255514 Change-Id: I755885398b92a726b0b979815c33793abe01ea66 --- res/values/config.xml | 3 - res/values/strings.xml | 9 - res/xml/development_settings.xml | 5 - .../ConnectivityMonitorPreferenceController.java | 100 ----------- .../DevelopmentSettingsDashboardFragment.java | 1 - ...onnectivityMonitorPreferenceControllerTest.java | 191 --------------------- 6 files changed, 309 deletions(-) delete mode 100644 src/com/android/settings/development/ConnectivityMonitorPreferenceController.java delete mode 100644 tests/robotests/src/com/android/settings/development/ConnectivityMonitorPreferenceControllerTest.java diff --git a/res/values/config.xml b/res/values/config.xml index 284b653a24..8e55ea95e3 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -38,9 +38,6 @@ false - - false - false diff --git a/res/values/strings.xml b/res/values/strings.xml index e9efa4883c..e0e1a300b2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -9095,15 +9095,6 @@ To apply color change, turn off screen - - Connectivity Monitor - - - ConnectivityMonitor will collect logs when it detects a connectivity problem and prompt notification to user to file a bug - - - To apply connectivity monitor change, reboot device - Camera Laser Sensor diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml index 615d693b10..55386a2c27 100644 --- a/res/xml/development_settings.xml +++ b/res/xml/development_settings.xml @@ -184,11 +184,6 @@ android:entryValues="@array/select_logpersist_values" /> - - diff --git a/src/com/android/settings/development/ConnectivityMonitorPreferenceController.java b/src/com/android/settings/development/ConnectivityMonitorPreferenceController.java deleted file mode 100644 index de5b2ccfe6..0000000000 --- a/src/com/android/settings/development/ConnectivityMonitorPreferenceController.java +++ /dev/null @@ -1,100 +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.development; - -import android.content.Context; -import android.os.SystemProperties; -import androidx.preference.SwitchPreference; -import androidx.preference.Preference; -import android.text.TextUtils; -import android.widget.Toast; - -import com.android.internal.annotations.VisibleForTesting; -import com.android.settings.R; -import com.android.settings.core.PreferenceControllerMixin; -import com.android.settingslib.development.DeveloperOptionsPreferenceController; - -public class ConnectivityMonitorPreferenceController extends DeveloperOptionsPreferenceController - implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin { - - private static final String KEY_CONNECTIVITY_MONITOR_SWITCH = "connectivity_monitor_switch"; - @VisibleForTesting - static final String BUILD_TYPE = "ro.build.type"; - @VisibleForTesting - static final String PROPERTY_CONNECTIVITY_MONITOR = "persist.radio.enable_tel_mon"; - - @VisibleForTesting - static final String ENABLED_STATUS = "enabled"; - @VisibleForTesting - static final String DISABLED_STATUS = "disabled"; - @VisibleForTesting - static final String USER_ENABLED_STATUS = "user_enabled"; - @VisibleForTesting - static final String USER_DISABLED_STATUS = "user_disabled"; - - @VisibleForTesting - static final String USERDEBUG_BUILD = "userdebug"; - @VisibleForTesting - static final String ENG_BUILD = "eng"; - - public ConnectivityMonitorPreferenceController(Context context) { - super(context); - } - - @Override - public String getPreferenceKey() { - return KEY_CONNECTIVITY_MONITOR_SWITCH; - } - - @Override - public boolean isAvailable() { - final String buildType = SystemProperties.get(BUILD_TYPE); - return mContext.getResources().getBoolean(R.bool.config_show_connectivity_monitor) - && (TextUtils.equals(buildType, USERDEBUG_BUILD) - || TextUtils.equals(buildType, ENG_BUILD)); - } - - @Override - public boolean onPreferenceChange(Preference preference, Object newValue) { - final boolean isEnabled = (Boolean) newValue; - SystemProperties.set(PROPERTY_CONNECTIVITY_MONITOR, - isEnabled ? USER_ENABLED_STATUS : USER_DISABLED_STATUS); - Toast.makeText(mContext, R.string.connectivity_monitor_toast, - Toast.LENGTH_LONG).show(); - return true; - } - - @Override - public void updateState(Preference preference) { - final boolean enabled = isConnectivityMonitorEnabled(); - ((SwitchPreference) mPreference).setChecked(enabled); - } - - @Override - protected void onDeveloperOptionsSwitchDisabled() { - super.onDeveloperOptionsSwitchDisabled(); - SystemProperties.set(PROPERTY_CONNECTIVITY_MONITOR, USER_DISABLED_STATUS); - ((SwitchPreference) mPreference).setChecked(false); - } - - private boolean isConnectivityMonitorEnabled() { - final String cmStatus = SystemProperties.get(PROPERTY_CONNECTIVITY_MONITOR, - DISABLED_STATUS); - return TextUtils.equals(ENABLED_STATUS, cmStatus) || TextUtils.equals(USER_ENABLED_STATUS, - cmStatus); - } -} diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java index ecc78e6b3d..0b5cfffcba 100644 --- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java +++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java @@ -405,7 +405,6 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra controllers.add(new VerifyAppsOverUsbPreferenceController(context)); controllers.add(new LogdSizePreferenceController(context)); controllers.add(new LogPersistPreferenceController(context, fragment, lifecycle)); - controllers.add(new ConnectivityMonitorPreferenceController(context)); controllers.add(new CameraLaserSensorPreferenceController(context)); controllers.add(new LogicalCameraDefaultPreferenceController(context)); controllers.add(new WifiDisplayCertificationPreferenceController(context)); diff --git a/tests/robotests/src/com/android/settings/development/ConnectivityMonitorPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ConnectivityMonitorPreferenceControllerTest.java deleted file mode 100644 index f0e582587f..0000000000 --- a/tests/robotests/src/com/android/settings/development/ConnectivityMonitorPreferenceControllerTest.java +++ /dev/null @@ -1,191 +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.development; - -import static com.android.settings.development.ConnectivityMonitorPreferenceController.ENG_BUILD; -import static com.android.settings.development.ConnectivityMonitorPreferenceController.USERDEBUG_BUILD; -import static com.google.common.truth.Truth.assertThat; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.os.SystemProperties; -import androidx.preference.SwitchPreference; -import androidx.preference.PreferenceScreen; - -import com.android.settings.testutils.SettingsRobolectricTestRunner; - -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) -public class ConnectivityMonitorPreferenceControllerTest { - - private static final String USER_BUILD = "user"; - - @Mock - private PreferenceScreen mScreen; - @Mock - private SwitchPreference mPreference; - - private Context mContext; - private ConnectivityMonitorPreferenceController mController; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - mContext = RuntimeEnvironment.application; - mController = new ConnectivityMonitorPreferenceController(mContext); - when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); - mController.displayPreference(mScreen); - } - - @Test - public void isAvailable_trueShowFlagWithUserdebugBuild_shouldReturnTrue() { - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, USERDEBUG_BUILD); - - assertThat(mController.isAvailable()).isTrue(); - } - - @Test - public void isAvailable_trueShowFlagWithEngBuild_shouldReturnTrue() { - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, ENG_BUILD); - - assertThat(mController.isAvailable()).isTrue(); - } - - @Test - public void isAvailable_trueShowFlagWithUserBuild_shouldReturnFalse() { - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, USER_BUILD); - - assertThat(mController.isAvailable()).isFalse(); - } - - @Test - @Config(qualifiers = "mcc999") - public void isAvailable_falseShowFlagWithUserdebugBuild_shouldReturnFalse() { - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, USERDEBUG_BUILD); - - assertThat(mController.isAvailable()).isFalse(); - } - - @Test - @Config(qualifiers = "mcc999") - public void isAvailable_falseShowFlagWithEngBuild_shouldReturnFalse() { - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, ENG_BUILD); - - assertThat(mController.isAvailable()).isFalse(); - } - - @Test - @Config(qualifiers = "mcc999") - public void isAvailable_falseShowFlagWithUserBuild_shouldReturnFalse() { - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, USER_BUILD); - - assertThat(mController.isAvailable()).isFalse(); - } - - @Test - public void updateState_connectivityMonitorEnabled_shouldCheckedPreference() { - SystemProperties.set(ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - ConnectivityMonitorPreferenceController.ENABLED_STATUS); - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, USERDEBUG_BUILD); - - mController.updateState(mPreference); - - verify(mPreference).setChecked(true); - } - - @Test - public void updateState_connectivityMonitorUserEnabled_shouldCheckedPreference() { - SystemProperties.set(ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - ConnectivityMonitorPreferenceController.USER_ENABLED_STATUS); - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, USERDEBUG_BUILD); - - mController.updateState(mPreference); - - verify(mPreference).setChecked(true); - } - - @Test - public void updateState_connectivityMonitorDisabled_shouldUncheckedPreference() { - SystemProperties.set(ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - ConnectivityMonitorPreferenceController.DISABLED_STATUS); - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, USERDEBUG_BUILD); - - mController.updateState(mPreference); - - verify(mPreference).setChecked(false); - } - - @Test - public void updateState_connectivityMonitorUserDisabled_shouldUncheckedPreference() { - SystemProperties.set(ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - ConnectivityMonitorPreferenceController.USER_DISABLED_STATUS); - SystemProperties.set(ConnectivityMonitorPreferenceController.BUILD_TYPE, USERDEBUG_BUILD); - - mController.updateState(mPreference); - - verify(mPreference).setChecked(false); - } - - @Test - public void onPreferenceChange_preferenceChecked_shouldEnableConnectivityMonitor() { - SystemProperties.set( - ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - ConnectivityMonitorPreferenceController.USER_ENABLED_STATUS); - - mController.handlePreferenceTreeClick(mPreference); - - assertThat(ConnectivityMonitorPreferenceController.USER_ENABLED_STATUS).isEqualTo( - SystemProperties.get( - ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - ConnectivityMonitorPreferenceController.DISABLED_STATUS)); - } - - @Test - public void onPreferenceChange_preferenceUnchecked_shouldDisableConnectivityMonitor() { - SystemProperties.set( - ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - ConnectivityMonitorPreferenceController.USER_DISABLED_STATUS); - - mController.handlePreferenceTreeClick(mPreference); - - assertThat(ConnectivityMonitorPreferenceController.USER_DISABLED_STATUS).isEqualTo( - SystemProperties.get( - ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - ConnectivityMonitorPreferenceController.DISABLED_STATUS)); - } - - @Test - public void onDeveloperOptionsSwitchDisabled_shouldDisablePreference() { - mController.onDeveloperOptionsSwitchDisabled(); - - String mode = SystemProperties.get( - ConnectivityMonitorPreferenceController.PROPERTY_CONNECTIVITY_MONITOR, - null /* default */); - - assertThat(mode).isEqualTo(ConnectivityMonitorPreferenceController.USER_DISABLED_STATUS); - verify(mPreference).setEnabled(false); - verify(mPreference).setChecked(false); - } -} -- 2.11.0