Add a config to control whether SettingsIntelligence supports Slice

Fix: 240371240
Test: manual, robotest
Change-Id: Iddb08b521011a5e5134b8358a135cefb34809371
This commit is contained in:
Jason Chiu
2022-09-07 15:42:16 +08:00
parent 380dc18c0a
commit 5e365d3541
5 changed files with 69 additions and 2 deletions

View File

@@ -257,6 +257,9 @@
<!-- Settings intelligence interaction log intent action --> <!-- Settings intelligence interaction log intent action -->
<string name="config_settingsintelligence_log_action" translatable="false"></string> <string name="config_settingsintelligence_log_action" translatable="false"></string>
<!-- Whether Settings intelligence supports presenting Slices. -->
<bool name="config_settingsintelligence_slice_supported">false</bool>
<!-- AOSP Emergency app package name --> <!-- AOSP Emergency app package name -->
<string name="config_aosp_emergency_package_name" translatable="false"> <string name="config_aosp_emergency_package_name" translatable="false">
com.android.emergency com.android.emergency

View File

@@ -65,6 +65,11 @@ public class FlashlightHandleActivity extends Activity implements Indexable {
boolean enabled) { boolean enabled) {
final List<SearchIndexableRaw> result = new ArrayList<>(); final List<SearchIndexableRaw> result = new ArrayList<>();
if (!context.getResources().getBoolean(
R.bool.config_settingsintelligence_slice_supported)) {
Log.d(TAG, "Search doesn't support Slice");
return result;
}
SearchIndexableRaw data = new SearchIndexableRaw(context); SearchIndexableRaw data = new SearchIndexableRaw(context);
data.title = context.getString(R.string.power_flashlight); data.title = context.getString(R.string.power_flashlight);

View File

@@ -69,6 +69,7 @@
<bool name="config_show_branded_account_in_device_info">false</bool> <bool name="config_show_branded_account_in_device_info">false</bool>
<bool name="config_show_emergency_info_in_device_info">false</bool> <bool name="config_show_emergency_info_in_device_info">false</bool>
<bool name="config_show_smooth_display">false</bool> <bool name="config_show_smooth_display">false</bool>
<bool name="config_settingsintelligence_slice_supported">true</bool>
<!-- Whether or not extra preview panels should be used for screen zoom setting. --> <!-- Whether or not extra preview panels should be used for screen zoom setting. -->
<bool name="config_enable_extra_screen_zoom_preview">false</bool> <bool name="config_enable_extra_screen_zoom_preview">false</bool>

View File

@@ -0,0 +1,60 @@
/*
* Copyright (C) 2022 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.flashlight;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import com.android.settingslib.search.SearchIndexableRaw;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import java.util.List;
@RunWith(RobolectricTestRunner.class)
public class FlashlightHandleActivityTest {
private Context mContext;
@Before
public void setUp() {
mContext = RuntimeEnvironment.application;
}
@Test
public void getRawDataToIndex_sliceNotSupported_returnEmptyData() {
List<SearchIndexableRaw> data = FlashlightHandleActivity.SEARCH_INDEX_DATA_PROVIDER
.getRawDataToIndex(mContext, true /* enabled */);
assertThat(data).isEmpty();
}
@Test
@Config(qualifiers = "mcc999")
public void getRawDataToIndex_sliceSupported_returnData() {
List<SearchIndexableRaw> data = FlashlightHandleActivity.SEARCH_INDEX_DATA_PROVIDER
.getRawDataToIndex(mContext, true /* enabled */);
assertThat(data).isNotEmpty();
}
}

View File

@@ -12,7 +12,6 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*
*/ */
package com.android.settings.flashlight; package com.android.settings.flashlight;
@@ -38,7 +37,6 @@ import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows; import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadow.api.Shadow; import org.robolectric.shadow.api.Shadow;
import org.robolectric.shadows.ShadowCameraCharacteristics; import org.robolectric.shadows.ShadowCameraCharacteristics;
import org.robolectric.shadows.ShadowCameraManager; import org.robolectric.shadows.ShadowCameraManager;