Add title and icon in panel header
- Add getIcon() and getSubTitle() in PanelContent - Check icon avalibility to decide header layout - Add test cases Bug: 147776885 Test: make -j42 RunSettingsRoboTests Change-Id: Idb51e81359b6037ca9b90965dd9b370fc5e22c84
This commit is contained in:
@@ -31,6 +31,7 @@ import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
@@ -41,10 +42,15 @@ import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.android.controller.ActivityController;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class PanelFragmentTest {
|
||||
|
||||
private static final String SUBTITLE = "subtitle";
|
||||
|
||||
private Context mContext;
|
||||
private PanelFragment mPanelFragment;
|
||||
private FakeSettingsPanelActivity mActivity;
|
||||
@@ -141,4 +147,38 @@ public class PanelFragmentTest {
|
||||
0
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void supportIcon_displayIconHeaderLayout() {
|
||||
mFakePanelContent.setIcon(R.drawable.ic_android);
|
||||
mFakePanelContent.setSubTitle(SUBTITLE);
|
||||
final ActivityController<FakeSettingsPanelActivity> activityController =
|
||||
Robolectric.buildActivity(FakeSettingsPanelActivity.class);
|
||||
activityController.setup();
|
||||
final PanelFragment panelFragment = (PanelFragment)
|
||||
Objects.requireNonNull(activityController
|
||||
.get()
|
||||
.getSupportFragmentManager()
|
||||
.findFragmentById(R.id.main_content));
|
||||
final View titleView = panelFragment.mLayoutView.findViewById(R.id.panel_title);
|
||||
final LinearLayout panelHeader = panelFragment.mLayoutView.findViewById(R.id.panel_header);
|
||||
final TextView headerTitle = panelFragment.mLayoutView.findViewById(R.id.header_title);
|
||||
final TextView headerSubtitle = panelFragment.mLayoutView.findViewById(
|
||||
R.id.header_subtitle);
|
||||
// Check visibility
|
||||
assertThat(panelHeader.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
assertThat(titleView.getVisibility()).isEqualTo(View.GONE);
|
||||
// Check content
|
||||
assertThat(headerTitle.getText()).isEqualTo(FakePanelContent.TITLE);
|
||||
assertThat(headerSubtitle.getText()).isEqualTo(SUBTITLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void notSupportIcon_displayDefaultHeaderLayout() {
|
||||
final View titleView = mPanelFragment.mLayoutView.findViewById(R.id.panel_title);
|
||||
final View panelHeader = mPanelFragment.mLayoutView.findViewById(R.id.panel_header);
|
||||
|
||||
assertThat(panelHeader.getVisibility()).isEqualTo(View.GONE);
|
||||
assertThat(titleView.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user