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