From fb675151189fbf9383ada8a7e64cdfef52084013 Mon Sep 17 00:00:00 2001 From: Guojing Yuan Date: Mon, 18 Sep 2023 18:30:32 +0000 Subject: [PATCH] Revert "[CDM] Add Permissions Sync toggle" Revert submission 24708184-ps-toggle Reason for revert: Breaking some of the builds Reverted changes: /q/submissionid:24708184-ps-toggle Fix: 300876202 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:bd6cffd236588172c205ebb4b75b3de1995924ce) Merged-In: Ida4c3383404d5a3c2026d01f4b7cc27bb7003e63 Change-Id: Ida4c3383404d5a3c2026d01f4b7cc27bb7003e63 --- res/values/strings.xml | 5 - res/xml/bluetooth_device_details_fragment.xml | 3 - .../BluetoothDetailsDataSyncController.java | 145 ------------------ .../BluetoothDeviceDetailsFragment.java | 2 - ...luetoothDetailsDataSyncControllerTest.java | 121 --------------- 5 files changed, 276 deletions(-) delete mode 100644 src/com/android/settings/bluetooth/BluetoothDetailsDataSyncController.java delete mode 100644 tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncControllerTest.java diff --git a/res/values/strings.xml b/res/values/strings.xml index 672d21caeec..252e3d865b4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -12034,11 +12034,6 @@ Audio changes as you move your head to sound more natural - - Sync permissions - - Give %1$s the same app permissions that you’ve allowed on %2$s - Audio Device Type diff --git a/res/xml/bluetooth_device_details_fragment.xml b/res/xml/bluetooth_device_details_fragment.xml index 12ed8ebdd83..8f309a487be 100644 --- a/res/xml/bluetooth_device_details_fragment.xml +++ b/res/xml/bluetooth_device_details_fragment.xml @@ -92,9 +92,6 @@ settings:controller="com.android.settings.accessibility.LiveCaptionPreferenceController"/> - - Objects.equal(mCachedDevice.getAddress(), - a.getDeviceMacAddress().toString().toUpperCase())).max( - Comparator.comparingLong(AssociationInfo::getTimeApprovedMs)).ifPresent( - a -> mAssociationId = a.getId()); - } - - @Override - public boolean isAvailable() { - if (mAssociationId == DUMMY_ASSOCIATION_ID) { - return false; - } - return true; - } - - @Override - public boolean onPreferenceClick(Preference preference) { - SwitchPreference switchPreference = (SwitchPreference) preference; - String key = switchPreference.getKey(); - if (key.equals(KEY_PERM_SYNC)) { - if (switchPreference.isChecked()) { - mCompanionDeviceManager.enablePermissionsSync(mAssociationId); - } else { - mCompanionDeviceManager.disablePermissionsSync(mAssociationId); - } - } - return true; - } - - @Override - public String getPreferenceKey() { - return KEY_DATA_SYNC_GROUP; - } - - @Override - protected void init(PreferenceScreen screen) { - mPreferenceCategory = screen.findPreference(getPreferenceKey()); - refresh(); - } - - @Override - protected void refresh() { - SwitchPreference permSyncPref = mPreferenceCategory.findPreference(KEY_PERM_SYNC); - if (permSyncPref == null) { - permSyncPref = createPermSyncPreference(mPreferenceCategory.getContext()); - mPreferenceCategory.addPreference(permSyncPref); - } - - if (mAssociationId == DUMMY_ASSOCIATION_ID) { - permSyncPref.setVisible(false); - return; - } - - boolean visible = false; - boolean checked = false; - PermissionSyncRequest request = mCompanionDeviceManager.getPermissionSyncRequest( - mAssociationId); - if (request != null) { - visible = true; - if (request.isUserConsented()) { - checked = true; - } - } - permSyncPref.setVisible(visible); - permSyncPref.setChecked(checked); - } - - @VisibleForTesting - SwitchPreference createPermSyncPreference(Context context) { - SwitchPreference pref = new SwitchPreference(context); - pref.setKey(KEY_PERM_SYNC); - pref.setTitle(context.getString(R.string.bluetooth_details_permissions_sync_title)); - pref.setSummary(context.getString(R.string.bluetooth_details_permissions_sync_summary, - mCachedDevice.getName(), - Settings.Global.getString(context.getContentResolver(), "device_name"))); - pref.setOnPreferenceClickListener(this); - return pref; - } -} diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java index ae022aa6d88..c48494b25af 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java @@ -316,8 +316,6 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment lifecycle)); controllers.add(new BluetoothDetailsHearingDeviceControlsController(context, this, mCachedDevice, lifecycle)); - controllers.add(new BluetoothDetailsDataSyncController(context, this, - mCachedDevice, lifecycle)); } return controllers; } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncControllerTest.java deleted file mode 100644 index dbede8e27ed..00000000000 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncControllerTest.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2023 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.bluetooth; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.when; - -import android.companion.CompanionDeviceManager; -import android.companion.datatransfer.PermissionSyncRequest; - -import androidx.preference.PreferenceCategory; -import androidx.preference.SwitchPreference; - -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.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -import java.util.Collections; - -@RunWith(RobolectricTestRunner.class) -public class BluetoothDetailsDataSyncControllerTest extends BluetoothDetailsControllerTestBase { - - private static final String MAC_ADDRESS = "AA:BB:CC:DD:EE:FF"; - private static final int DUMMY_ASSOCIATION_ID = -1; - private static final int ASSOCIATION_ID = 1; - private static final String KEY_PERM_SYNC = "perm_sync"; - - private BluetoothDetailsDataSyncController mController; - @Mock - private Lifecycle mLifecycle; - @Mock - private PreferenceCategory mPreferenceCategory; - @Mock - private CompanionDeviceManager mCompanionDeviceManager; - - private PermissionSyncRequest mPermissionSyncRequest; - private SwitchPreference mPermSyncPreference; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - - mContext = spy(RuntimeEnvironment.application); - when(mContext.getSystemService(CompanionDeviceManager.class)).thenReturn( - mCompanionDeviceManager); - when(mCachedDevice.getAddress()).thenReturn(MAC_ADDRESS); - when(mCompanionDeviceManager.getAllAssociations()).thenReturn(Collections.emptyList()); - mPermissionSyncRequest = new PermissionSyncRequest(ASSOCIATION_ID); - when(mCompanionDeviceManager.getPermissionSyncRequest(ASSOCIATION_ID)).thenReturn( - mPermissionSyncRequest); - - mController = new BluetoothDetailsDataSyncController(mContext, mFragment, - mCachedDevice, mLifecycle); - mController.mAssociationId = ASSOCIATION_ID; - mController.mPreferenceCategory = mPreferenceCategory; - - mPermSyncPreference = mController.createPermSyncPreference(mContext); - when(mPreferenceCategory.findPreference(KEY_PERM_SYNC)).thenReturn(mPermSyncPreference); - } - - @Test - public void isAvailable_noAssociations_returnsFalse() { - mController.mAssociationId = DUMMY_ASSOCIATION_ID; - assertThat(mController.isAvailable()).isFalse(); - } - - @Test - public void isAvailable_hasAssociations_returnsTrue() { - assertThat(mController.isAvailable()).isTrue(); - } - - @Test - public void refresh_permSyncNull_preferenceVisibleFalse() { - mPermissionSyncRequest = null; - when(mCompanionDeviceManager.getPermissionSyncRequest(ASSOCIATION_ID)).thenReturn( - mPermissionSyncRequest); - mController.refresh(); - - assertThat(mPermSyncPreference.isVisible()).isFalse(); - } - - @Test - public void refresh_permSyncEnabled_preferenceCheckedTrue() { - mPermissionSyncRequest.setUserConsented(true); - mController.refresh(); - - assertThat(mPermSyncPreference.isVisible()).isTrue(); - assertThat(mPermSyncPreference.isChecked()).isTrue(); - } - - @Test - public void refresh_permSyncDisabled_preferenceCheckedFalse() { - mPermissionSyncRequest.setUserConsented(false); - mController.refresh(); - - assertThat(mPermSyncPreference.isVisible()).isTrue(); - assertThat(mPermSyncPreference.isChecked()).isFalse(); - } -}