Remove developer menu: AVDTP delay reports/inband ringing

Bluetooth AVDTP delay reports and inband ringing are used by default.
Developer option menu no longer used.

Bug: 79610154
Test: robolectric
Change-Id: I67fe10808151f101fc7e891f75953f8539255026
Merged-In: I67fe10808151f101fc7e891f75953f8539255026
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8347f99..0938b0b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -402,11 +402,6 @@
     <!-- Summary for bluetooth item in connection detail page. (phone)-->
     <string name="bluetooth_pref_summary" product="default">Allow your phone to communicate with nearby Bluetooth devices</string>
 
-    <!-- Setting Checkbox title for disabling Bluetooth inband ringing in Development Settings -->
-    <string name="bluetooth_disable_inband_ringing">Disable in-band ringing</string>
-    <!-- Summary of checkbox for disabling Bluetooth inband ringing in Development Settings -->
-    <string name="bluetooth_disable_inband_ringing_summary">Don’t play custom phone ringtones on Bluetooth headsets</string>
-
     <!-- Title for Bluetooth device group with media capability group [CHAR LIMIT=none]-->
     <string name="connected_device_available_media_title">Available media devices</string>
     <!-- Title for Bluetooth device group with media capability group [CHAR LIMIT=none]-->
@@ -1691,15 +1686,10 @@
     <!-- Bluetooth settings.  Dock Setting Dialog - Remember setting and don't ask user again -->
     <string name="bluetooth_dock_settings_remember">Remember settings</string>
 
-    <!-- Bluetooth developer options. -->
     <!-- Bluetooth developer settings: Maximum number of connected audio devices -->
     <string name="bluetooth_max_connected_audio_devices_string">Maximum connected Bluetooth audio devices</string>
     <!-- Bluetooth developer settings: Maximum number of connected audio devices -->
     <string name="bluetooth_max_connected_audio_devices_dialog_title">Select maximum number of connected Bluetooth audio devices</string>
-    <!-- Bluetooth developer settings: Checkbox title for disabling Bluetooth receiving AVDTP delay reports -->
-    <string name="bluetooth_disable_avdtp_delay_reports">Disable Bluetooth AVDTP delay reports</string>
-    <!-- Bluetooth developer settings: Summary of checkbox for disabling Bluetooth receiving AVDTP delay reports -->
-    <string name="bluetooth_disable_avdtp_delay_reports_summary">Disallow receiving Bluetooth AVDTP delay reports</string>
 
     <!-- Wifi Display settings. The title of the screen. [CHAR LIMIT=40] -->
     <string name="wifi_display_settings_title">Cast</string>
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index c491980..3836b43 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -254,16 +254,6 @@
             android:title="@string/bluetooth_disable_absolute_volume"
             android:summary="@string/bluetooth_disable_absolute_volume_summary" />
 
-        <SwitchPreference
-            android:key="bluetooth_disable_inband_ringing"
-            android:title="@string/bluetooth_disable_inband_ringing"
-            android:summary="@string/bluetooth_disable_inband_ringing_summary" />
-
-        <SwitchPreference
-            android:key="bluetooth_disable_avdtp_delay_reports"
-            android:title="@string/bluetooth_disable_avdtp_delay_reports"
-            android:summary="@string/bluetooth_disable_avdtp_delay_reports_summary"/>
-
         <ListPreference
             android:key="bluetooth_select_avrcp_version"
             android:title="@string/bluetooth_select_avrcp_version_string"
diff --git a/src/com/android/settings/development/BluetoothDelayReportsPreferenceController.java b/src/com/android/settings/development/BluetoothDelayReportsPreferenceController.java
deleted file mode 100644
index 6c7a7dd..0000000
--- a/src/com/android/settings/development/BluetoothDelayReportsPreferenceController.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2018 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 android.support.annotation.VisibleForTesting;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.development.DeveloperOptionsPreferenceController;
-
-public class BluetoothDelayReportsPreferenceController extends DeveloperOptionsPreferenceController
-        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
-
-    private static final String BLUETOOTH_DISABLE_AVDTP_DELAY_REPORT_KEY =
-            "bluetooth_disable_avdtp_delay_reports";
-    @VisibleForTesting
-    static final String BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY =
-            "persist.bluetooth.disabledelayreports";
-
-    public BluetoothDelayReportsPreferenceController(Context context) {
-        super(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return BLUETOOTH_DISABLE_AVDTP_DELAY_REPORT_KEY;
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean isDisabled = (Boolean) newValue;
-        SystemProperties.set(BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY,
-                isDisabled ? "true" : "false");
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        final boolean isDisabled = SystemProperties.getBoolean(
-                BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY, false /* default */);
-        ((SwitchPreference) mPreference).setChecked(isDisabled);
-    }
-
-    @Override
-    protected void onDeveloperOptionsSwitchDisabled() {
-        super.onDeveloperOptionsSwitchDisabled();
-        // the default setting for this preference is the disabled state
-        ((SwitchPreference) mPreference).setChecked(false);
-        SystemProperties.set(BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY, "false");
-    }
-
-}
diff --git a/src/com/android/settings/development/BluetoothInbandRingingPreferenceController.java b/src/com/android/settings/development/BluetoothInbandRingingPreferenceController.java
deleted file mode 100644
index c64ac11..0000000
--- a/src/com/android/settings/development/BluetoothInbandRingingPreferenceController.java
+++ /dev/null
@@ -1,78 +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.bluetooth.BluetoothHeadset;
-import android.content.Context;
-import android.os.SystemProperties;
-import android.support.annotation.VisibleForTesting;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.development.DeveloperOptionsPreferenceController;
-
-public class BluetoothInbandRingingPreferenceController extends DeveloperOptionsPreferenceController
-        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
-
-    private static final String BLUETOOTH_DISABLE_INBAND_RINGING_KEY =
-            "bluetooth_disable_inband_ringing";
-    @VisibleForTesting
-    static final String BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY =
-            "persist.bluetooth.disableinbandringing";
-
-    public BluetoothInbandRingingPreferenceController(Context context) {
-        super(context);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return isInbandRingingSupported();
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return BLUETOOTH_DISABLE_INBAND_RINGING_KEY;
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean isChecked = (Boolean) newValue;
-        SystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY,
-                isChecked ? "true" : "false");
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        final boolean isEnabled = SystemProperties.getBoolean(
-                BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
-    }
-
-    @Override
-    protected void onDeveloperOptionsSwitchDisabled() {
-        super.onDeveloperOptionsSwitchDisabled();
-        ((SwitchPreference) mPreference).setChecked(false);
-        SystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, "false");
-    }
-
-    @VisibleForTesting
-    boolean isInbandRingingSupported() {
-        return BluetoothHeadset.isInbandRingingSupported(mContext);
-    }
-}
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index 3ee5db1..5f5d1a8 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -404,8 +404,6 @@
         controllers.add(new TetheringHardwareAccelPreferenceController(context));
         controllers.add(new BluetoothDeviceNoNamePreferenceController(context));
         controllers.add(new BluetoothAbsoluteVolumePreferenceController(context));
-        controllers.add(new BluetoothInbandRingingPreferenceController(context));
-        controllers.add(new BluetoothDelayReportsPreferenceController(context));
         controllers.add(new BluetoothAvrcpVersionPreferenceController(context));
         controllers.add(new BluetoothAudioCodecPreferenceController(context, lifecycle,
                 bluetoothA2dpConfigStore));
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothDelayReportsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothDelayReportsPreferenceControllerTest.java
deleted file mode 100644
index bdaad0a..0000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothDelayReportsPreferenceControllerTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2018 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.BluetoothDelayReportsPreferenceController
-        .BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY;
-
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.SystemProperties;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.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;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-public class BluetoothDelayReportsPreferenceControllerTest {
-
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-
-    private Context mContext;
-    private SwitchPreference mPreference;
-    private BluetoothDelayReportsPreferenceController mController;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mPreference = new SwitchPreference(mContext);
-        mController = spy(new BluetoothDelayReportsPreferenceController(mContext));
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-            .thenReturn(mPreference);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void onPreferenceChanged_settingDisabled_turnOnDelayReports() {
-        mController.onPreferenceChange(mPreference, true /* new value */);
-
-        final boolean mode = SystemProperties.getBoolean(
-                BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY, false /* default */);
-
-        assertThat(mode).isTrue();
-    }
-
-    @Test
-    public void onPreferenceChanged_settingDisabled_turnOffDelayReports() {
-        mController.onPreferenceChange(mPreference, false /* new value */);
-
-        final boolean mode = SystemProperties.getBoolean(
-                BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY, false /* default */);
-
-        assertThat(mode).isFalse();
-    }
-
-    @Test
-    public void updateState_settingDisabled_preferenceShouldBeChecked() {
-        SystemProperties.set(BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY,
-                Boolean.toString(true));
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
-        SystemProperties.set(BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY,
-                Boolean.toString(false));
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void onDeveloperOptionsDisabled_shouldDisablePreference() {
-        mController.onDeveloperOptionsDisabled();
-
-        final boolean mode = SystemProperties.getBoolean(
-                BLUETOOTH_DISABLE_AVDTP_DELAY_REPORTS_PROPERTY, false /* default */);
-
-        assertThat(mode).isFalse();
-        assertThat(mPreference.isEnabled()).isFalse();
-        assertThat(mPreference.isChecked()).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothInbandRingingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothInbandRingingPreferenceControllerTest.java
deleted file mode 100644
index f91bd44..0000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothInbandRingingPreferenceControllerTest.java
+++ /dev/null
@@ -1,120 +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.BluetoothInbandRingingPreferenceController.BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY;
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.SystemProperties;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.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;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-public class BluetoothInbandRingingPreferenceControllerTest {
-
-    @Mock
-    private SwitchPreference mPreference;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-
-    private Context mContext;
-    private BluetoothInbandRingingPreferenceController mController;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new BluetoothInbandRingingPreferenceController(mContext));
-        doReturn(true).when(mController).isInbandRingingSupported();
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
-                mPreference);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void isAvailable_inbandRingingNotSupported_shouldReturnFalse() {
-        doReturn(false).when(mController).isInbandRingingSupported();
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_inbandRingingSupported_shouldReturnTrue() {
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void onPreferenceChanged_settingEnabled_turnOnBluetoothSnoopLog() {
-        mController.onPreferenceChange(mPreference, true /* new value */);
-
-        final boolean mode = SystemProperties
-            .getBoolean(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
-
-        assertThat(mode).isTrue();
-    }
-
-    @Test
-    public void onPreferenceChanged_settingDisabled_turnOffBluetoothSnoopLog() {
-        mController.onPreferenceChange(mPreference, false /* new value */);
-
-        final boolean mode = SystemProperties
-            .getBoolean(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
-
-        assertThat(mode).isFalse();
-    }
-
-    @Test
-    public void updateState_settingEnabled_preferenceShouldBeChecked() {
-        SystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, Boolean.toString(true));
-        mController.updateState(mPreference);
-
-        verify(mPreference).setChecked(true);
-    }
-
-    @Test
-    public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
-        SystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, Boolean.toString(false));
-        mController.updateState(mPreference);
-
-        verify(mPreference).setChecked(false);
-    }
-
-    @Test
-    public void onDeveloperOptionsDisabled_shouldDisablePreference() {
-        mController.onDeveloperOptionsDisabled();
-
-        final boolean mode = SystemProperties
-            .getBoolean(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
-
-        assertThat(mode).isFalse();
-        verify(mPreference).setEnabled(false);
-        verify(mPreference).setChecked(false);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
index 9272b46..da32ce8 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
@@ -131,7 +131,6 @@
     @Config(shadows = {
             ShadowPictureColorModePreferenceController.class,
             ShadowAdbPreferenceController.class,
-            ShadowBluetoothInbandRingingPreferenceController.class,
             ShadowClearAdbKeysPreferenceController.class
     })
     public void searchIndex_pageEnabled_shouldNotAddKeysToNonIndexable() {
@@ -282,15 +281,6 @@
         }
     }
 
-    @Implements(BluetoothInbandRingingPreferenceController.class)
-    public static class ShadowBluetoothInbandRingingPreferenceController {
-
-        @Implementation
-        public boolean isAvailable() {
-            return true;
-        }
-    }
-
     @Implements(ClearAdbKeysPreferenceController.class)
     public static class ShadowClearAdbKeysPreferenceController {