Merge "Display settings homepage content fully edge-to-edge" into qt-dev

This commit is contained in:
Fan Zhang
2019-05-08 20:26:31 +00:00
committed by Android (Google) Code Review
6 changed files with 26 additions and 42 deletions

View File

@@ -18,6 +18,8 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout <androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/settings_homepage_container"
android:fitsSystemWindows="true"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@@ -57,7 +59,7 @@
<Space <Space
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@*android:dimen/status_bar_height" android:layout_height="0dp"
android:background="@android:color/transparent" android:background="@android:color/transparent"
app:layout_scrollFlags="scroll|enterAlways"/> app:layout_scrollFlags="scroll|enterAlways"/>

View File

@@ -19,8 +19,6 @@
<color name="switchbar_switch_thumb_tint">@android:color/black</color> <color name="switchbar_switch_thumb_tint">@android:color/black</color>
<color name="homepage_accessibility_background">#783BE5</color> <color name="homepage_accessibility_background">#783BE5</color>
<color name="homepage_support_background">#3F5FBD</color> <color name="homepage_support_background">#3F5FBD</color>
<!-- 80% black for status bar of homepage -->
<color name="homepage_status_bar_color">#cc000000</color>
<color name="homepage_card_dismissal_background">@*android:color/material_grey_900</color> <color name="homepage_card_dismissal_background">@*android:color/material_grey_900</color>
<color name="contextual_card_background">@*android:color/material_grey_900</color> <color name="contextual_card_background">@*android:color/material_grey_900</color>
<color name="search_bar_background">@*android:color/material_grey_800</color> <color name="search_bar_background">@*android:color/material_grey_800</color>

View File

@@ -23,7 +23,9 @@
<color name="divider_color">#20ffffff</color> <color name="divider_color">#20ffffff</color>
<color name="title_color">@android:color/holo_blue_light</color> <color name="title_color">@android:color/holo_blue_light</color>
<color name="setup_lock_pattern_view_regular_color_light">@color/lock_pattern_view_regular_color</color> <color name="setup_lock_pattern_view_regular_color_light">
@color/lock_pattern_view_regular_color
</color>
<color name="setup_lock_pattern_view_success_color_dark">#ff84ffff</color> <color name="setup_lock_pattern_view_success_color_dark">#ff84ffff</color>
<color name="setup_lock_pattern_view_success_color_light">@color/sud_color_accent_light</color> <color name="setup_lock_pattern_view_success_color_light">@color/sud_color_accent_light</color>
<color name="setup_lock_pattern_view_error_color_dark">#fff44336</color> <color name="setup_lock_pattern_view_error_color_dark">#fff44336</color>
@@ -133,9 +135,6 @@
<!-- launcher icon color --> <!-- launcher icon color -->
<color name="icon_launcher_setting_color">@*android:color/accent_device_default_light</color> <color name="icon_launcher_setting_color">@*android:color/accent_device_default_light</color>
<!-- 80% white for status bar of homepage -->
<color name="homepage_status_bar_color">#ccFFFFFF</color>
<!-- QR code scanner colors --> <!-- QR code scanner colors -->
<color name="qr_corner_line_color">#ffdadce0</color> <color name="qr_corner_line_color">#ffdadce0</color>
<color name="qr_focused_corner_line_color">#ff1a73e8</color> <color name="qr_focused_corner_line_color">#ff1a73e8</color>

View File

@@ -197,9 +197,8 @@
<item name="colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item> <item name="colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item>
<item name="android:windowLightStatusBar">true</item> <item name="android:windowLightStatusBar">true</item>
<item name="android:navigationBarDividerColor">@*android:color/ripple_material_light</item> <item name="android:navigationBarDividerColor">@*android:color/ripple_material_light</item>
<item name="android:navigationBarColor">@android:color/white</item> <item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/white</item> <item name="android:windowBackground">@android:color/white</item>
<item name="android:windowLightNavigationBar">true</item>
</style> </style>
<!-- Note that Dialog themes do not set list dividers --> <!-- Note that Dialog themes do not set list dividers -->

View File

@@ -42,8 +42,11 @@ public class SettingsHomepageActivity extends SettingsBaseActivity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
updateWindowProperties();
setContentView(R.layout.settings_homepage_container); setContentView(R.layout.settings_homepage_container);
final View root = findViewById(R.id.settings_homepage_container);
root.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
setHomepageContainerPaddingTop(); setHomepageContainerPaddingTop();
final Toolbar toolbar = findViewById(R.id.search_action_bar); final Toolbar toolbar = findViewById(R.id.search_action_bar);
@@ -76,29 +79,15 @@ public class SettingsHomepageActivity extends SettingsBaseActivity {
fragmentTransaction.commit(); fragmentTransaction.commit();
} }
private void updateWindowProperties() {
final View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(
decorView.getSystemUiVisibility() |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);
getWindow().setStatusBarColor(getColor(R.color.homepage_status_bar_color));
}
@VisibleForTesting @VisibleForTesting
void setHomepageContainerPaddingTop() { void setHomepageContainerPaddingTop() {
final View view = this.findViewById(R.id.homepage_container); final View view = this.findViewById(R.id.homepage_container);
final int statusBarHeight = getResources().getDimensionPixelSize(
com.android.internal.R.dimen.status_bar_height);
final int searchBarHeight = getResources().getDimensionPixelSize(R.dimen.search_bar_height); final int searchBarHeight = getResources().getDimensionPixelSize(R.dimen.search_bar_height);
final int searchBarMargin = getResources().getDimensionPixelSize(R.dimen.search_bar_margin); final int searchBarMargin = getResources().getDimensionPixelSize(R.dimen.search_bar_margin);
// The top padding is the height of status bar + height of action bar(48dp) + top/bottom // The top padding is the height of action bar(48dp) + top/bottom margins(16dp)
// margins(16dp) final int paddingTop = searchBarHeight + searchBarMargin * 2;
final int paddingTop = statusBarHeight + searchBarHeight + searchBarMargin * 2;
view.setPadding(0 /* left */, paddingTop, 0 /* right */, 0 /* bottom */); view.setPadding(0 /* left */, paddingTop, 0 /* right */, 0 /* bottom */);
} }
} }

View File

@@ -35,8 +35,6 @@ public class SettingsHomepageActivityTest {
public void setHomepageContainerPaddingTop_shouldBeSetPaddingTop() { public void setHomepageContainerPaddingTop_shouldBeSetPaddingTop() {
final SettingsHomepageActivity activity = Robolectric.buildActivity( final SettingsHomepageActivity activity = Robolectric.buildActivity(
SettingsHomepageActivity.class).create().get(); SettingsHomepageActivity.class).create().get();
final int statusBarHeight = activity.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.status_bar_height);
final int searchBarHeight = activity.getResources().getDimensionPixelSize( final int searchBarHeight = activity.getResources().getDimensionPixelSize(
R.dimen.search_bar_height); R.dimen.search_bar_height);
final int searchBarMargin = activity.getResources().getDimensionPixelSize( final int searchBarMargin = activity.getResources().getDimensionPixelSize(
@@ -46,8 +44,7 @@ public class SettingsHomepageActivityTest {
activity.setHomepageContainerPaddingTop(); activity.setHomepageContainerPaddingTop();
final int actualPaddingTop = view.getPaddingTop(); final int actualPaddingTop = view.getPaddingTop();
assertThat(actualPaddingTop).isEqualTo( assertThat(actualPaddingTop).isEqualTo(searchBarHeight + searchBarMargin * 2);
statusBarHeight + searchBarHeight + searchBarMargin * 2);
} }
@Test @Test