15df50368eef845cef882b624a4813337afd9d5ffAga Wronska/* 25df50368eef845cef882b624a4813337afd9d5ffAga Wronska * Copyright (C) 2016 The Android Open Source Project 35df50368eef845cef882b624a4813337afd9d5ffAga Wronska * 45df50368eef845cef882b624a4813337afd9d5ffAga Wronska * Licensed under the Apache License, Version 2.0 (the "License"); 55df50368eef845cef882b624a4813337afd9d5ffAga Wronska * you may not use this file except in compliance with the License. 65df50368eef845cef882b624a4813337afd9d5ffAga Wronska * You may obtain a copy of the License at 75df50368eef845cef882b624a4813337afd9d5ffAga Wronska * 85df50368eef845cef882b624a4813337afd9d5ffAga Wronska * http://www.apache.org/licenses/LICENSE-2.0 95df50368eef845cef882b624a4813337afd9d5ffAga Wronska * 105df50368eef845cef882b624a4813337afd9d5ffAga Wronska * Unless required by applicable law or agreed to in writing, software 115df50368eef845cef882b624a4813337afd9d5ffAga Wronska * distributed under the License is distributed on an "AS IS" BASIS, 125df50368eef845cef882b624a4813337afd9d5ffAga Wronska * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135df50368eef845cef882b624a4813337afd9d5ffAga Wronska * See the License for the specific language governing permissions and 145df50368eef845cef882b624a4813337afd9d5ffAga Wronska * limitations under the License. 155df50368eef845cef882b624a4813337afd9d5ffAga Wronska */ 165df50368eef845cef882b624a4813337afd9d5ffAga Wronska 175df50368eef845cef882b624a4813337afd9d5ffAga Wronskapackage com.android.documentsui; 185df50368eef845cef882b624a4813337afd9d5ffAga Wronska 195df50368eef845cef882b624a4813337afd9d5ffAga Wronskaimport android.app.Activity; 205df50368eef845cef882b624a4813337afd9d5ffAga Wronskaimport android.content.Context; 215df50368eef845cef882b624a4813337afd9d5ffAga Wronskaimport android.graphics.Point; 225df50368eef845cef882b624a4813337afd9d5ffAga Wronskaimport android.util.TypedValue; 235df50368eef845cef882b624a4813337afd9d5ffAga Wronska 245df50368eef845cef882b624a4813337afd9d5ffAga Wronska/* 255df50368eef845cef882b624a4813337afd9d5ffAga Wronska * Convenience class for getting display related attributes 265df50368eef845cef882b624a4813337afd9d5ffAga Wronska */ 275df50368eef845cef882b624a4813337afd9d5ffAga Wronskapublic final class Display { 285df50368eef845cef882b624a4813337afd9d5ffAga Wronska /* 2978efc9f3d299fabb7764c570cf08947fc2ae930fAga Wronska * Returns the screen width in raw pixels. 305df50368eef845cef882b624a4813337afd9d5ffAga Wronska */ 315df50368eef845cef882b624a4813337afd9d5ffAga Wronska public static float screenWidth(Activity activity) { 325df50368eef845cef882b624a4813337afd9d5ffAga Wronska Point size = new Point(); 335df50368eef845cef882b624a4813337afd9d5ffAga Wronska activity.getWindowManager().getDefaultDisplay().getSize(size); 345df50368eef845cef882b624a4813337afd9d5ffAga Wronska return size.x; 355df50368eef845cef882b624a4813337afd9d5ffAga Wronska } 365df50368eef845cef882b624a4813337afd9d5ffAga Wronska 375df50368eef845cef882b624a4813337afd9d5ffAga Wronska /* 385df50368eef845cef882b624a4813337afd9d5ffAga Wronska * Returns logical density of the display. 395df50368eef845cef882b624a4813337afd9d5ffAga Wronska */ 405df50368eef845cef882b624a4813337afd9d5ffAga Wronska public static float density(Context context) { 415df50368eef845cef882b624a4813337afd9d5ffAga Wronska return context.getResources().getDisplayMetrics().density; 425df50368eef845cef882b624a4813337afd9d5ffAga Wronska } 435df50368eef845cef882b624a4813337afd9d5ffAga Wronska 445df50368eef845cef882b624a4813337afd9d5ffAga Wronska /* 4578efc9f3d299fabb7764c570cf08947fc2ae930fAga Wronska * Returns action bar height in raw pixels. 465df50368eef845cef882b624a4813337afd9d5ffAga Wronska */ 475df50368eef845cef882b624a4813337afd9d5ffAga Wronska public static float actionBarHeight(Context context) { 4848c846368ff86a6ef2af0ca96046bbed2dac202bAga Wronska int actionBarHeight = 0; 495df50368eef845cef882b624a4813337afd9d5ffAga Wronska TypedValue tv = new TypedValue(); 505df50368eef845cef882b624a4813337afd9d5ffAga Wronska if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) { 5148c846368ff86a6ef2af0ca96046bbed2dac202bAga Wronska actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, 525df50368eef845cef882b624a4813337afd9d5ffAga Wronska context.getResources().getDisplayMetrics()); 535df50368eef845cef882b624a4813337afd9d5ffAga Wronska } 5448c846368ff86a6ef2af0ca96046bbed2dac202bAga Wronska return actionBarHeight; 555df50368eef845cef882b624a4813337afd9d5ffAga Wronska } 565df50368eef845cef882b624a4813337afd9d5ffAga Wronska} 57