EMMA Coverage Report (generated Fri Aug 23 16:39:17 PDT 2013)
[all classes][org.chromium.base]

COVERAGE SUMMARY FOR SOURCE FILE [ApiCompatibilityUtils.java]

nameclass, %method, %block, %line, %
ApiCompatibilityUtils.java0%   (0/1)0%   (0/11)0%   (0/105)0%   (0/37)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ApiCompatibilityUtils0%   (0/1)0%   (0/11)0%   (0/105)0%   (0/37)
ApiCompatibilityUtils (): void 0%   (0/1)0%   (0/3)0%   (0/2)
buildNotification (Notification$Builder): Notification 0%   (0/1)0%   (0/9)0%   (0/3)
getMarginEnd (ViewGroup$MarginLayoutParams): int 0%   (0/1)0%   (0/9)0%   (0/3)
getMarginStart (ViewGroup$MarginLayoutParams): int 0%   (0/1)0%   (0/9)0%   (0/3)
isLayoutRtl (View): boolean 0%   (0/1)0%   (0/13)0%   (0/3)
postInvalidateOnAnimation (View): void 0%   (0/1)0%   (0/9)0%   (0/4)
removeOnGlobalLayoutListener (View, ViewTreeObserver$OnGlobalLayoutListener):... 0%   (0/1)0%   (0/13)0%   (0/4)
setBackgroundForView (View, Drawable): void 0%   (0/1)0%   (0/11)0%   (0/4)
setLayoutDirection (View, int): void 0%   (0/1)0%   (0/7)0%   (0/3)
setMarginEnd (ViewGroup$MarginLayoutParams, int): void 0%   (0/1)0%   (0/11)0%   (0/4)
setMarginStart (ViewGroup$MarginLayoutParams, int): void 0%   (0/1)0%   (0/11)0%   (0/4)

1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4 
5package org.chromium.base;
6 
7import android.app.Notification;
8import android.graphics.drawable.Drawable;
9import android.os.Build;
10import android.view.View;
11import android.view.ViewGroup.MarginLayoutParams;
12import android.view.ViewTreeObserver;
13 
14/**
15 * Utility class to use new APIs that were added after ICS (API level 14).
16 */
17public class ApiCompatibilityUtils {
18 
19    private ApiCompatibilityUtils() {
20    }
21 
22    /**
23     * Returns true if view's layout direction is right-to-left.
24     *
25     * @param view the View whose layout is being considered
26     */
27    public static boolean isLayoutRtl(View view) {
28        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
29            return view.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
30        } else {
31            // All layouts are LTR before JB MR1.
32            return false;
33        }
34    }
35 
36    /**
37     * @see android.view.View#setLayoutDirection(int)
38     */
39    public static void setLayoutDirection(View view, int layoutDirection) {
40        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
41            view.setLayoutDirection(layoutDirection);
42        } else {
43            // Do nothing. RTL layouts aren't supported before JB MR1.
44        }
45    }
46 
47    /**
48     * @see android.view.ViewGroup.MarginLayoutParams#setMarginEnd(int)
49     */
50    public static void setMarginEnd(MarginLayoutParams layoutParams, int end) {
51        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
52            layoutParams.setMarginEnd(end);
53        } else {
54            layoutParams.rightMargin = end;
55        }
56    }
57 
58    /**
59     * @see android.view.ViewGroup.MarginLayoutParams#getMarginEnd()
60     */
61    public static int getMarginEnd(MarginLayoutParams layoutParams) {
62        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
63            return layoutParams.getMarginEnd();
64        } else {
65            return layoutParams.rightMargin;
66        }
67    }
68 
69    /**
70     * @see android.view.ViewGroup.MarginLayoutParams#setMarginStart(int)
71     */
72    public static void setMarginStart(MarginLayoutParams layoutParams, int start) {
73        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
74            layoutParams.setMarginStart(start);
75        } else {
76            layoutParams.leftMargin = start;
77        }
78    }
79 
80    /**
81     * @see android.view.ViewGroup.MarginLayoutParams#getMarginStart()
82     */
83    public static int getMarginStart(MarginLayoutParams layoutParams) {
84        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
85            return layoutParams.getMarginStart();
86        } else {
87            return layoutParams.leftMargin;
88        }
89    }
90 
91    /**
92     * @see android.view.View#postInvalidateOnAnimation()
93     */
94    public static void postInvalidateOnAnimation(View view) {
95        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
96            view.postInvalidateOnAnimation();
97        } else {
98            view.postInvalidate();
99        }
100    }
101 
102    // These methods have a new name, and the old name is deprecated.
103 
104    /**
105     * @see android.view.View#setBackground(Drawable)
106     */
107    @SuppressWarnings("deprecation")
108    public static void setBackgroundForView(View view, Drawable drawable) {
109        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
110            view.setBackground(drawable);
111        } else {
112            view.setBackgroundDrawable(drawable);
113        }
114    }
115 
116    /**
117     * @see android.view.ViewTreeObserver#removeOnGlobalLayoutListener()
118     */
119    @SuppressWarnings("deprecation")
120    public static void removeOnGlobalLayoutListener(
121            View view, ViewTreeObserver.OnGlobalLayoutListener listener) {
122        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
123            view.getViewTreeObserver().removeOnGlobalLayoutListener(listener);
124        } else {
125            view.getViewTreeObserver().removeGlobalOnLayoutListener(listener);
126        }
127    }
128 
129    /**
130     * @see android.app.Notification.Builder#build()
131     */
132    @SuppressWarnings("deprecation")
133    public static Notification buildNotification(Notification.Builder builder) {
134        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
135            return builder.build();
136        } else {
137            return builder.getNotification();
138        }
139    }
140}

[all classes][org.chromium.base]
EMMA 2.0.5312 (C) Vladimir Roubtsov