Fix double search icon in wifi calling page

- Moved fragments into wifi sub-package.
- Cleaned up inheritance for WifiCallingSettings
- Attach help and search action menu controller correctly.

Change-Id: I0bc8ab99df5d8c5ea64fb64de5ae70c2c9bd6f31
Fixes: 72958674
Test: robotest
This commit is contained in:
Fan Zhang
2018-02-09 10:25:55 -08:00
parent 525d757c09
commit b91db42100
12 changed files with 73 additions and 50 deletions

View File

@@ -60,8 +60,7 @@ com.android.settings.applications.appinfo.PictureInPictureSettings
com.android.settings.applications.appinfo.PictureInPictureDetails
com.android.settings.ApnSettings
com.android.settings.PrivacySettings
com.android.settings.WifiCallingSettings
com.android.settings.WifiCallingSettingsForSub
com.android.settings.wifi.calling.WifiCallingSettingsForSub
com.android.settings.password.SetupChooseLockGeneric$SetupChooseLockGenericFragment
com.android.settings.SetupRedactionInterstitial$SetupRedactionInterstitialFragment
com.android.settings.security.trustagent.TrustAgentSettings

View File

@@ -18,6 +18,7 @@ package com.android.settings.search.actionbar;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
import android.os.Bundle;
@@ -27,6 +28,7 @@ import android.view.MenuItem;
import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settingslib.core.lifecycle.ObservableFragment;
import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment;
import org.junit.Before;
@@ -42,26 +44,47 @@ public class SearchMenuControllerTest {
@Mock
private Menu mMenu;
private TestFragment mHost;
private TestPreferenceFragment mPreferenceHost;
private ObservableFragment mHost;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mHost = new TestFragment();
mHost = new ObservableFragment();
mPreferenceHost = new TestPreferenceFragment();
when(mMenu.add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu))
.thenReturn(mock(MenuItem.class));
}
@Test
public void init_shouldAddMenu() {
when(mMenu.add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu))
.thenReturn(mock(MenuItem.class));
public void init_prefFragment_shouldAddMenu() {
SearchMenuController.init(mPreferenceHost);
mPreferenceHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
verify(mMenu).add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu);
}
@Test
public void init_observableFragment_shouldAddMenu() {
SearchMenuController.init(mHost);
mHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
verify(mMenu).add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu);
}
public static class TestFragment extends ObservablePreferenceFragment {
@Test
public void init_doNotNeedSearchIcon_shouldNotAddMenu() {
final Bundle args = new Bundle();
args.putBoolean(SearchMenuController.NEED_SEARCH_ICON_IN_ACTION_BAR, false);
mHost.setArguments(args);
SearchMenuController.init(mHost);
mHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
verifyZeroInteractions(mMenu);
}
public static class TestPreferenceFragment extends ObservablePreferenceFragment {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {

View File

@@ -68,7 +68,7 @@ public class SettingsSuggestionsTest {
@Test
public void wifiCallingSuggestion_isValid() {
assertSuggestionEquals("com.android.settings.wifi.WifiCallingSuggestionActivity",
assertSuggestionEquals("com.android.settings.wifi.calling.WifiCallingSuggestionActivity",
CATEGORY_FIRST_IMPRESSION,
R.string.wifi_calling_suggestion_title, R.string.wifi_calling_suggestion_summary);
}