Merge "Revert "Revert "Make status bar translucent. Make drawer appera below status bar."" with a fix for cts tests." into nyc-dev

am: b85ec6d

* commit 'b85ec6d0ee50d6436a7b52133d278625bb73f6d8':
  Revert "Revert "Make status bar translucent. Make drawer appera below status bar."" with a fix for cts tests.
This commit is contained in:
Aga Wronska
2016-03-25 16:20:54 +00:00
committed by android-build-merger
6 changed files with 43 additions and 7 deletions

View File

@@ -17,6 +17,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:padding="?android:attr/listPreferredItemPaddingEnd">
<EditText

View File

@@ -21,6 +21,7 @@
android:orientation="horizontal"
android:baselineAligned="false"
android:gravity="center_vertical"
android:fitsSystemWindows="true"
android:minHeight="?android:attr/listPreferredItemHeightSmall">
<FrameLayout

View File

@@ -36,6 +36,8 @@
<item name="android:windowActionBar">false</item>
<item name="android:windowActionModeOverlay">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:fitsSystemWindows">false</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
</style>
@@ -43,7 +45,7 @@
<style name="TrimmedHorizontalProgressBar" parent="android:Widget.Material.ProgressBar.Horizontal">
<item name="android:indeterminateDrawable">@drawable/progress_indeterminate_horizontal_material_trimmed</item>
<item name="android:minHeight">3dp</item>
<item name="android:maxHeight">3dp</item>
<item name="android:maxHeight">3dp</item>
</style>
</resources>

View File

@@ -127,6 +127,7 @@ public abstract class BaseActivity extends Activity
mSearchManager = new SearchViewManager(this, icicle);
DocumentsToolbar toolbar = (DocumentsToolbar) findViewById(R.id.toolbar);
Display.adjustToolbar(toolbar, this);
setActionBar(toolbar);
mNavigator = new NavigationView(
mDrawer,

View File

@@ -20,13 +20,15 @@ import android.app.Activity;
import android.content.Context;
import android.graphics.Point;
import android.util.TypedValue;
import android.view.WindowManager;
import android.widget.Toolbar;
/*
* Convenience class for getting display related attributes
*/
public final class Display {
/*
* Returns the screen width in pixels.
* Returns the screen width in raw pixels.
*/
public static float screenWidth(Activity activity) {
Point size = new Point();
@@ -42,15 +44,44 @@ public final class Display {
}
/*
* Returns action bar height in pixels.
* Returns action bar height in raw pixels.
*/
public static float actionBarHeight(Context context) {
int actionBarHeight = 0;
int height = 0;
TypedValue tv = new TypedValue();
if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,
height = TypedValue.complexToDimensionPixelSize(tv.data,
context.getResources().getDisplayMetrics());
}
return actionBarHeight;
return height;
}
/*
* Returns status bar height in raw pixels.
*/
private static int statusBarHeight(Context context) {
int height = 0;
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen",
"android");
if (resourceId > 0) {
height = context.getResources().getDimensionPixelSize(resourceId);
}
return height;
}
/*
* Adjusts toolbar for the layout with translucent status bar. Increases the
* height of the toolbar and adds padding at the top to accommodate status bar visible above
* toolbar.
*/
public static void adjustToolbar(Toolbar toolbar, Activity activity) {
if ((activity.getWindow().getAttributes().flags
& WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS) != 0) {
int statusBarHeight = Display.statusBarHeight(activity);
toolbar.getLayoutParams().height = (int) (Display.actionBarHeight(activity)
+ statusBarHeight);
toolbar.setPadding(toolbar.getPaddingLeft(), statusBarHeight, toolbar.getPaddingRight(),
toolbar.getPaddingBottom());
}
}
}

View File

@@ -55,7 +55,7 @@ abstract class DrawerController implements DrawerListener {
View drawer = activity.findViewById(R.id.drawer_roots);
Toolbar toolbar = (Toolbar) activity.findViewById(R.id.roots_toolbar);
Display.adjustToolbar(toolbar, activity);
drawer.getLayoutParams().width = calculateDrawerWidth(activity);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(