Merge "Fix bluetooth search result no-op" into pi-dev am: f14bfcbfa6

am: 9cb3dd123d

Change-Id: Ib35794ec9c9e71c53145f418629287fd72d9adc6
This commit is contained in:
Matthew Fritze
2018-05-29 12:56:44 -07:00
committed by android-build-merger
4 changed files with 76 additions and 9 deletions

View File

@@ -42,6 +42,8 @@ public class AdvancedConnectedDeviceDashboardFragment extends DashboardFragment
private static final String TAG = "AdvancedConnectedDeviceFrag"; private static final String TAG = "AdvancedConnectedDeviceFrag";
static final String KEY_BLUETOOTH = "bluetooth_settings";
@Override @Override
public int getMetricsCategory() { public int getMetricsCategory() {
return MetricsProto.MetricsEvent.CONNECTION_DEVICE_ADVANCED; return MetricsProto.MetricsEvent.CONNECTION_DEVICE_ADVANCED;
@@ -106,6 +108,9 @@ public class AdvancedConnectedDeviceDashboardFragment extends DashboardFragment
keys.add(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS); keys.add(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
} }
// Parent duplicate
keys.add(KEY_BLUETOOTH);
return keys; return keys;
} }

View File

@@ -111,17 +111,10 @@ public class BluetoothDashboardFragment extends DashboardFragment {
final List<SearchIndexableRaw> result = new ArrayList<>(); final List<SearchIndexableRaw> result = new ArrayList<>();
// Add the activity title // Add the activity title
SearchIndexableRaw data = new SearchIndexableRaw(context); final SearchIndexableRaw data = new SearchIndexableRaw(context);
data.title = context.getString(R.string.bluetooth_settings_title); data.title = context.getString(R.string.bluetooth_settings_title);
data.screenTitle = context.getString(R.string.settings_label); data.screenTitle = context.getString(R.string.bluetooth_settings_title);
data.keywords = context.getString(R.string.keywords_bluetooth_settings); data.keywords = context.getString(R.string.keywords_bluetooth_settings);
data.intentTargetPackage = context.getPackageName();
data.intentTargetClass = BluetoothDashboardFragment.class.getName();
data.intentAction = new SubSettingLauncher(context)
.setDestination(ScanningSettings.class.getName())
.setSourceMetricsCategory(MetricsProto.MetricsEvent.BLUETOOTH_FRAGMENT)
.toIntent()
.getAction();
data.key = KEY_BLUETOOTH_SCREEN; data.key = KEY_BLUETOOTH_SCREEN;
result.add(data); result.add(data);

View File

@@ -67,4 +67,13 @@ public class AdvancedConnectedDeviceDashboardFragmentTest {
public void testGetCategoryKey_returnCategoryDevice() { public void testGetCategoryKey_returnCategoryDevice() {
assertThat(mFragment.getCategoryKey()).isEqualTo(CategoryKey.CATEGORY_DEVICE); assertThat(mFragment.getCategoryKey()).isEqualTo(CategoryKey.CATEGORY_DEVICE);
} }
@Test
public void testSearchIndexProvider_correctNonIndexables() {
final List<String> niks =
AdvancedConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
.getNonIndexableKeys(RuntimeEnvironment.application);
assertThat(niks).contains(AdvancedConnectedDeviceDashboardFragment.KEY_BLUETOOTH);
}
} }

View File

@@ -0,0 +1,60 @@
/*
* 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.connecteddevice;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
import android.text.TextUtils;
import com.android.settings.R;
import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RuntimeEnvironment;
import java.util.List;
import java.util.stream.Collectors;
@RunWith(SettingsRobolectricTestRunner.class)
public class BluetoothDashboardFragmentTest {
private Context mContext;
@Before
public void setUp() {
mContext = RuntimeEnvironment.application;
}
@Test
public void rawData_includesFragmentResult() {
final List<SearchIndexableRaw> rawList =
BluetoothDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext,
true /* enabled */);
final SearchIndexableRaw fragmentResult = rawList.stream().filter(
raw -> TextUtils.equals(raw.title,
mContext.getString(R.string.bluetooth_settings))).findFirst().get();
assertThat(fragmentResult).isNotNull();
}
}