From 979de759522356a015cec704f68713208e96e06c Mon Sep 17 00:00:00 2001 From: Pechetty Sravani Date: Fri, 12 Jul 2024 07:40:28 +0000 Subject: [PATCH] Revert "Support search "Mobile data"" This reverts commit 50d9e342e86a2c79ee0d01e1c3d4cc0497bf53af. Reason for revert: Droidmonitor created revert due to b/352668970. Will be verifying through ABTD before submission. Change-Id: I5e0c48830425c51963b7669b75979cb8b67e770c --- AndroidManifest.xml | 9 -- .../search/SearchFeatureProviderImpl.kt | 9 +- .../network/NetworkCellularGroupProvider.kt | 23 +---- .../settings/spa/search/SearchablePage.kt | 25 ------ .../spa/search/SpaSearchLandingActivity.kt | 42 --------- .../spa/search/SpaSearchRepository.kt | 85 ------------------- .../search/SearchIndexableResourcesTest.java | 7 +- .../spa/search/SpaSearchRepositoryTest.kt | 51 ----------- 8 files changed, 4 insertions(+), 247 deletions(-) delete mode 100644 src/com/android/settings/spa/search/SearchablePage.kt delete mode 100644 src/com/android/settings/spa/search/SpaSearchLandingActivity.kt delete mode 100644 src/com/android/settings/spa/search/SpaSearchRepository.kt delete mode 100644 tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt diff --git a/AndroidManifest.xml b/AndroidManifest.xml index f1c91eebcb6..678f81f3dec 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -5187,15 +5187,6 @@ - - - - - - - { - if (!isPageSearchable(context)) return emptyList() - return buildList { - if (context.requireSubscriptionManager().activeSubscriptionInfoCount > 0) { - add(context.getString(R.string.mobile_data_settings_title)) - } - } - } - companion object { const val fileName = "NetworkCellularGroupProvider" - - private fun isPageSearchable(context: Context) = - Flags.isDualSimOnboardingEnabled() && - SubscriptionUtil.isSimHardwareVisible(context) && - !com.android.settingslib.Utils.isWifiOnly(context) && - context.userManager.isAdminUser } } diff --git a/src/com/android/settings/spa/search/SearchablePage.kt b/src/com/android/settings/spa/search/SearchablePage.kt deleted file mode 100644 index 2364514ff83..00000000000 --- a/src/com/android/settings/spa/search/SearchablePage.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2024 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.spa.search - -import android.content.Context - -interface SearchablePage { - - /** Gets the searchable titles at the current moment. */ - fun getSearchableTitles(context: Context): List -} diff --git a/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt b/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt deleted file mode 100644 index 8c2bc37bfe5..00000000000 --- a/src/com/android/settings/spa/search/SpaSearchLandingActivity.kt +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2024 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.spa.search - -import android.app.Activity -import android.os.Bundle -import com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY -import com.android.settings.overlay.FeatureFactory.Companion.featureFactory -import com.android.settings.password.PasswordUtils -import com.android.settings.spa.SpaDestination - -class SpaSearchLandingActivity : Activity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - if (!isValidCall()) return - - val destination = intent.getStringExtra(EXTRA_FRAGMENT_ARG_KEY) - if (destination.isNullOrBlank()) return - - SpaDestination(destination = destination, highlightMenuKey = null) - .startFromExportedActivity(this) - finish() - } - - private fun isValidCall() = - PasswordUtils.getCallingAppPackageName(activityToken) == - featureFactory.searchFeatureProvider.getSettingsIntelligencePkgName(this) -} diff --git a/src/com/android/settings/spa/search/SpaSearchRepository.kt b/src/com/android/settings/spa/search/SpaSearchRepository.kt deleted file mode 100644 index d37c50c5f97..00000000000 --- a/src/com/android/settings/spa/search/SpaSearchRepository.kt +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2024 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.spa.search - -import android.content.Context -import android.provider.SearchIndexableResource -import android.util.Log -import androidx.annotation.VisibleForTesting -import com.android.settingslib.search.Indexable -import com.android.settingslib.search.SearchIndexableData -import com.android.settingslib.search.SearchIndexableRaw -import com.android.settingslib.spa.framework.common.SettingsPageProvider -import com.android.settingslib.spa.framework.common.SpaEnvironment -import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory - -class SpaSearchRepository( - private val spaEnvironment: SpaEnvironment = SpaEnvironmentFactory.instance, -) { - fun getSearchIndexableDataList(): List { - Log.d(TAG, "getSearchIndexableDataList") - return spaEnvironment.pageProviderRepository.value.getAllProviders().mapNotNull { page -> - if (page is SearchablePage) { - page.createSearchIndexableData(page::getSearchableTitles) - } else null - } - } - - companion object { - private const val TAG = "SpaSearchRepository" - - @VisibleForTesting - fun SettingsPageProvider.createSearchIndexableData( - titlesProvider: (context: Context) -> List, - ): SearchIndexableData { - val searchIndexProvider = - object : Indexable.SearchIndexProvider { - override fun getXmlResourcesToIndex( - context: Context, - enabled: Boolean, - ): List = emptyList() - - override fun getRawDataToIndex( - context: Context, - enabled: Boolean, - ): List = emptyList() - - override fun getDynamicRawDataToIndex( - context: Context, - enabled: Boolean, - ): List = - titlesProvider(context).map { title -> - createSearchIndexableRaw(context, title) - } - - override fun getNonIndexableKeys(context: Context): List = emptyList() - } - return SearchIndexableData(this::class.java, searchIndexProvider) - } - - private fun SettingsPageProvider.createSearchIndexableRaw(context: Context, title: String) = - SearchIndexableRaw(context).apply { - key = name - this.title = title - intentAction = SEARCH_LANDING_ACTION - packageName = context.packageName - className = SpaSearchLandingActivity::class.qualifiedName - } - - private const val SEARCH_LANDING_ACTION = "android.settings.SPA_SEARCH_LANDING" - } -} diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java index b555f009afa..e408cd025d1 100644 --- a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java +++ b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java @@ -29,7 +29,6 @@ import android.database.Cursor; import android.text.TextUtils; import com.android.settings.network.NetworkProviderSettings; -import com.android.settings.spa.search.SearchablePage; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeIndexProvider; import com.android.settingslib.search.SearchIndexableData; @@ -118,10 +117,8 @@ public class SearchIndexableResourcesTest { public void testAllClassNamesHaveProviders() { for (SearchIndexableData data : mSearchProvider.getSearchIndexableResources().getProviderValues()) { - Class targetClass = data.getTargetClass(); - if (DatabaseIndexingUtils.getSearchIndexProvider(targetClass) == null - && !SearchablePage.class.isAssignableFrom(targetClass)) { - fail(targetClass.getName() + " is not an index provider"); + if (DatabaseIndexingUtils.getSearchIndexProvider(data.getTargetClass()) == null) { + fail(data.getTargetClass().getName() + "is not an index provider"); } } } diff --git a/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt deleted file mode 100644 index 911dfd2fc03..00000000000 --- a/tests/spa_unit/src/com/android/settings/spa/search/SpaSearchRepositoryTest.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2024 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.spa.search - -import android.content.Context -import androidx.test.ext.junit.runners.AndroidJUnit4 -import com.android.settings.spa.search.SpaSearchRepository.Companion.createSearchIndexableData -import com.android.settingslib.spa.framework.common.SettingsPageProvider -import com.google.common.truth.Truth.assertThat -import org.junit.Test -import org.junit.runner.RunWith -import org.mockito.kotlin.mock - -@RunWith(AndroidJUnit4::class) -class SpaSearchRepositoryTest { - - @Test - fun createSearchIndexableData() { - val pageProvider = - object : SettingsPageProvider { - override val name = PAGE_NAME - } - - val searchIndexableData = pageProvider.createSearchIndexableData { listOf(TITLE) } - val dynamicRawDataToIndex = - searchIndexableData.searchIndexProvider.getDynamicRawDataToIndex(mock(), true) - - assertThat(searchIndexableData.targetClass).isEqualTo(pageProvider::class.java) - assertThat(dynamicRawDataToIndex).hasSize(1) - assertThat(dynamicRawDataToIndex[0].title).isEqualTo(TITLE) - } - - private companion object { - const val PAGE_NAME = "PageName" - const val TITLE = "Title" - } -}