1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package androidx.wear.internal.widget;
18 
19 import android.content.Context;
20 
21 import androidx.annotation.FractionRes;
22 import androidx.annotation.RestrictTo;
23 import androidx.annotation.RestrictTo.Scope;
24 
25 /**
26  * Utility methods to help with resource calculations.
27  *
28  */
29 @RestrictTo(Scope.LIBRARY)
30 public final class ResourcesUtil {
31 
32     /**
33      * Returns the screen width in pixels.
34      */
getScreenWidthPx(Context context)35     public static int getScreenWidthPx(Context context) {
36         return context.getResources().getDisplayMetrics().widthPixels;
37     }
38 
39     /**
40      * Returns the screen height in pixels.
41      */
getScreenHeightPx(Context context)42     public static int getScreenHeightPx(Context context) {
43         return context.getResources().getDisplayMetrics().heightPixels;
44     }
45 
46     /**
47      * Returns the number of pixels equivalent to the percentage of {@code resId} to the current
48      * screen.
49      */
getFractionOfScreenPx(Context context, int screenPx, @FractionRes int resId)50     public static int getFractionOfScreenPx(Context context, int screenPx, @FractionRes int resId) {
51         float marginPercent = context.getResources().getFraction(resId, 1, 1);
52         return (int) (marginPercent * screenPx);
53     }
54 
ResourcesUtil()55     private ResourcesUtil() {}
56 }
57