1c029e15f5a4709214cb433a562256586824a0f33Adam Powell/*
2c029e15f5a4709214cb433a562256586824a0f33Adam Powell * Copyright (C) 2013 The Android Open Source Project
3c029e15f5a4709214cb433a562256586824a0f33Adam Powell *
4c029e15f5a4709214cb433a562256586824a0f33Adam Powell * Licensed under the Apache License, Version 2.0 (the "License");
5c029e15f5a4709214cb433a562256586824a0f33Adam Powell * you may not use this file except in compliance with the License.
6c029e15f5a4709214cb433a562256586824a0f33Adam Powell * You may obtain a copy of the License at
7c029e15f5a4709214cb433a562256586824a0f33Adam Powell *
8c029e15f5a4709214cb433a562256586824a0f33Adam Powell *      http://www.apache.org/licenses/LICENSE-2.0
9c029e15f5a4709214cb433a562256586824a0f33Adam Powell *
10c029e15f5a4709214cb433a562256586824a0f33Adam Powell * Unless required by applicable law or agreed to in writing, software
11c029e15f5a4709214cb433a562256586824a0f33Adam Powell * distributed under the License is distributed on an "AS IS" BASIS,
12c029e15f5a4709214cb433a562256586824a0f33Adam Powell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c029e15f5a4709214cb433a562256586824a0f33Adam Powell * See the License for the specific language governing permissions and
14c029e15f5a4709214cb433a562256586824a0f33Adam Powell * limitations under the License.
15c029e15f5a4709214cb433a562256586824a0f33Adam Powell */
16c029e15f5a4709214cb433a562256586824a0f33Adam Powell
17c029e15f5a4709214cb433a562256586824a0f33Adam Powell
18c029e15f5a4709214cb433a562256586824a0f33Adam Powellpackage android.support.v4.view;
19c029e15f5a4709214cb433a562256586824a0f33Adam Powell
200f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereiraimport java.lang.reflect.InvocationTargetException;
210f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereiraimport java.lang.reflect.Method;
220f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira
230f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereiraimport android.util.Log;
24c029e15f5a4709214cb433a562256586824a0f33Adam Powellimport android.view.View;
250f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereiraimport android.view.ViewGroup;
26c029e15f5a4709214cb433a562256586824a0f33Adam Powell
27c029e15f5a4709214cb433a562256586824a0f33Adam Powellclass ViewCompatEclairMr1 {
280f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira    public static final String TAG = "ViewCompat";
290f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira
300f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira    private static Method sChildrenDrawingOrderMethod;
310f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira
32c029e15f5a4709214cb433a562256586824a0f33Adam Powell    public static boolean isOpaque(View view) {
33c029e15f5a4709214cb433a562256586824a0f33Adam Powell        return view.isOpaque();
34c029e15f5a4709214cb433a562256586824a0f33Adam Powell    }
350f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira
360f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira    public static void setChildrenDrawingOrderEnabled(ViewGroup viewGroup, boolean enabled) {
370f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira        if (sChildrenDrawingOrderMethod == null) {
380f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira            try {
390f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira                sChildrenDrawingOrderMethod = ViewGroup.class
400f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira                        .getDeclaredMethod("setChildrenDrawingOrderEnabled", boolean.class);
410f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira            } catch (NoSuchMethodException e) {
420f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira                Log.e(TAG, "Unable to find childrenDrawingOrderEnabled", e);
430f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira            }
440f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira            sChildrenDrawingOrderMethod.setAccessible(true);
450f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira        }
460f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira        try {
470f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira            sChildrenDrawingOrderMethod.invoke(viewGroup, enabled);
480f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira        } catch (IllegalAccessException e) {
490f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira            Log.e(TAG, "Unable to invoke childrenDrawingOrderEnabled", e);
500f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira        } catch (IllegalArgumentException e) {
510f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira            Log.e(TAG, "Unable to invoke childrenDrawingOrderEnabled", e);
520f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira        } catch (InvocationTargetException e) {
530f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira            Log.e(TAG, "Unable to invoke childrenDrawingOrderEnabled", e);
540f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira        }
550f3c6c1be783cfb67a2d11a1a027de0847949064Mindy Pereira    }
56c029e15f5a4709214cb433a562256586824a0f33Adam Powell}
57