Info Call to Reflection API

Description

List of calls allowing the application to examine and modify the structure and behavior of an object at runtime.

Recommendation

This entry is informative, no recommendations applicable.

Technical details

Method android.support.v4.widget.SlidingPaneLayout$SlidingPanelLayoutImplJB.invalidateChildRegion() calling method java.lang.reflect.Method.invoke()


    public void invalidateChildRegion(android.support.v4.widget.SlidingPaneLayout p4, android.view.View p5)
    {
        if ((this.mGetDisplayList == null) || (this.mRecreateDisplayList == null)) {
            p5.invalidate();
        } else {
            try {
                this.mRecreateDisplayList.setBoolean(p5, 1);
                this.mGetDisplayList.invoke(p5, ((Object[]) 0));
            } catch (Exception v0) {
                android.util.Log.e("SlidingPaneLayout", "Error refreshing display list state", v0);
            }
            super.invalidateChildRegion(p4, p5);
        }
        return;
    }

Method android.support.v4.view.ViewCompat$BaseViewCompatImpl.dispatchStartTemporaryDetach() calling method java.lang.reflect.Method.invoke()


    public void dispatchStartTemporaryDetach(android.view.View p4)
    {
        if (!this.mTempDetachBound) {
            this.bindTempDetach();
        }
        if (this.mDispatchStartTemporaryDetach == null) {
            p4.onStartTemporaryDetach();
        } else {
            try {
                String v2_2 = new Object[0];
                this.mDispatchStartTemporaryDetach.invoke(p4, v2_2);
            } catch (Exception v0) {
                android.util.Log.d("ViewCompat", "Error calling dispatchStartTemporaryDetach", v0);
            }
        }
        return;
    }

Method android.support.v4.view.ViewCompat$BaseViewCompatImpl.dispatchFinishTemporaryDetach() calling method java.lang.reflect.Method.invoke()


    public void dispatchFinishTemporaryDetach(android.view.View p4)
    {
        if (!this.mTempDetachBound) {
            this.bindTempDetach();
        }
        if (this.mDispatchFinishTemporaryDetach == null) {
            p4.onFinishTemporaryDetach();
        } else {
            try {
                String v2_2 = new Object[0];
                this.mDispatchFinishTemporaryDetach.invoke(p4, v2_2);
            } catch (Exception v0) {
                android.util.Log.d("ViewCompat", "Error calling dispatchFinishTemporaryDetach", v0);
            }
        }
        return;
    }

Method android.support.v4.view.ViewPager.setChildrenDrawingOrderEnabledCompat() calling method java.lang.reflect.Method.invoke()


    void setChildrenDrawingOrderEnabledCompat(boolean p7)
    {
        if (android.os.Build$VERSION.SDK_INT >= 7) {
            if (this.mSetChildrenDrawingOrderEnabled == null) {
                try {
                    int v3_2 = new Class[1];
                    v3_2[0] = Boolean.TYPE;
                    this.mSetChildrenDrawingOrderEnabled = android.view.ViewGroup.getDeclaredMethod("setChildrenDrawingOrderEnabled", v3_2);
                } catch (Exception v0_0) {
                    android.util.Log.e("ViewPager", "Can\'t find setChildrenDrawingOrderEnabled", v0_0);
                }
                String v1_3 = this.mSetChildrenDrawingOrderEnabled;
                String v2_3 = new Object[1];
                v2_3[0] = Boolean.valueOf(p7);
                v1_3.invoke(this, v2_3);
                return;
            }
            try {
            } catch (Exception v0_1) {
                android.util.Log.e("ViewPager", "Error changing children drawing order", v0_1);
            }
        }
        return;
    }

Method android.support.v4.view.ViewCompatEclairMr1.setChildrenDrawingOrderEnabled() calling method java.lang.reflect.Method.invoke()


    public static void setChildrenDrawingOrderEnabled(android.view.ViewGroup p7, boolean p8)
    {
        if (android.support.v4.view.ViewCompatEclairMr1.sChildrenDrawingOrderMethod == null) {
            try {
                int v3_2 = new Class[1];
                v3_2[0] = Boolean.TYPE;
                android.support.v4.view.ViewCompatEclairMr1.sChildrenDrawingOrderMethod = android.view.ViewGroup.getDeclaredMethod("setChildrenDrawingOrderEnabled", v3_2);
            } catch (reflect.InvocationTargetException v0_0) {
                android.util.Log.e("ViewCompat", "Unable to find childrenDrawingOrderEnabled", v0_0);
            }
            android.support.v4.view.ViewCompatEclairMr1.sChildrenDrawingOrderMethod.setAccessible(1);
        }
        try {
            String v2_2 = new Object[1];
            v2_2[0] = Boolean.valueOf(p8);
            android.support.v4.view.ViewCompatEclairMr1.sChildrenDrawingOrderMethod.invoke(p7, v2_2);
        } catch (reflect.InvocationTargetException v0_3) {
            android.util.Log.e("ViewCompat", "Unable to invoke childrenDrawingOrderEnabled", v0_3);
        } catch (reflect.InvocationTargetException v0_2) {
            android.util.Log.e("ViewCompat", "Unable to invoke childrenDrawingOrderEnabled", v0_2);
        } catch (reflect.InvocationTargetException v0_1) {
            android.util.Log.e("ViewCompat", "Unable to invoke childrenDrawingOrderEnabled", v0_1);
        }
        return;
    }

Method android.support.v4.text.ICUCompatIcs.getScript() calling method java.lang.reflect.Method.invoke()


    public static String getScript(String p5)
    {
        try {
            int v2_2;
            if (android.support.v4.text.ICUCompatIcs.sGetScriptMethod == null) {
                v2_2 = 0;
            } else {
                Object[] v0 = new Object[1];
                v0[0] = p5;
                v2_2 = ((String) android.support.v4.text.ICUCompatIcs.sGetScriptMethod.invoke(0, v0));
            }
        } catch (reflect.InvocationTargetException v1_1) {
            android.util.Log.w("ICUCompatIcs", v1_1);
        } catch (reflect.InvocationTargetException v1_0) {
            android.util.Log.w("ICUCompatIcs", v1_0);
        }
        return v2_2;
    }

Method android.support.v4.text.ICUCompatIcs.addLikelySubtags() calling method java.lang.reflect.Method.invoke()


    public static String addLikelySubtags(String p4)
    {
        try {
            String v2_1;
            if (android.support.v4.text.ICUCompatIcs.sAddLikelySubtagsMethod == null) {
                v2_1 = p4;
            } else {
                Object[] v0 = new Object[1];
                v0[0] = p4;
                v2_1 = ((String) android.support.v4.text.ICUCompatIcs.sAddLikelySubtagsMethod.invoke(0, v0));
            }
        } catch (reflect.InvocationTargetException v1_1) {
            android.util.Log.w("ICUCompatIcs", v1_1);
        } catch (reflect.InvocationTargetException v1_0) {
            android.util.Log.w("ICUCompatIcs", v1_0);
        }
        return v2_1;
    }

Method android.support.v4.media.routing.MediaRouterJellybeanMr1$IsConnectingWorkaround.isConnecting() calling method java.lang.reflect.Method.invoke()


    public boolean isConnecting(Object p6)
    {
        int v2_2;
        if (this.mGetStatusCodeMethod == null) {
            v2_2 = 0;
        } else {
            try {
                Object[] v4_1 = new Object[0];
            } catch (int v2) {
            } catch (int v2) {
            }
            if (((Integer) this.mGetStatusCodeMethod.invoke(((android.media.MediaRouter$RouteInfo) p6), v4_1)).intValue() != this.mStatusConnecting) {
                v2_2 = 0;
            } else {
                v2_2 = 1;
            }
        }
        return v2_2;
    }

Method android.support.v4.media.routing.MediaRouterJellybeanMr1$ActiveScanWorkaround.run() calling method java.lang.reflect.Method.invoke()


    public void run()
    {
        if (this.mActivelyScanningWifiDisplays) {
            try {
                Object[] v3_1 = new Object[0];
                this.mScanWifiDisplaysMethod.invoke(this.mDisplayManager, v3_1);
            } catch (reflect.InvocationTargetException v0_0) {
                android.util.Log.w("MediaRouterJellybeanMr1", "Cannot scan for wifi displays.", v0_0);
            } catch (reflect.InvocationTargetException v0_1) {
                android.util.Log.w("MediaRouterJellybeanMr1", "Cannot scan for wifi displays.", v0_1);
            }
            this.mHandler.postDelayed(this, 15000);
        }
        return;
    }

Method android.support.v4.media.routing.MediaRouterJellybean$SelectRouteWorkaround.selectRoute() calling method java.lang.reflect.Method.invoke()


    public void selectRoute(Object p9, int p10, Object p11)
    {
        if ((8388608 & ((android.media.MediaRouter$RouteInfo) p11).getSupportedTypes()) != 0) {
            ((android.media.MediaRouter) p9).selectRoute(p10, ((android.media.MediaRouter$RouteInfo) p11));
        } else {
            if (this.mSelectRouteIntMethod == null) {
                android.util.Log.w("MediaRouterJellybean", "Cannot programmatically select non-user route because the platform is missing the selectRouteInt() method.  Media routing may not work.");
            } else {
                try {
                    String v4_1 = this.mSelectRouteIntMethod;
                    String v5_2 = new Object[2];
                    v5_2[0] = Integer.valueOf(p10);
                    v5_2[1] = ((android.media.MediaRouter$RouteInfo) p11);
                    v4_1.invoke(((android.media.MediaRouter) p9), v5_2);
                } catch (reflect.InvocationTargetException v0_1) {
                    android.util.Log.w("MediaRouterJellybean", "Cannot programmatically select non-user route.  Media routing may not work.", v0_1);
                } catch (reflect.InvocationTargetException v0_0) {
                    android.util.Log.w("MediaRouterJellybean", "Cannot programmatically select non-user route.  Media routing may not work.", v0_0);
                }
            }
        }
        return;
    }

Method android.support.v4.media.routing.MediaRouterJellybean$GetDefaultRouteWorkaround.getDefaultRoute() calling method java.lang.reflect.Method.invoke()


    public Object getDefaultRoute(Object p5)
    {
        reflect.InvocationTargetException v1_0;
        if (this.mGetSystemAudioRouteMethod == null) {
            v1_0 = ((android.media.MediaRouter) p5).getRouteAt(0);
        } else {
            try {
                Object[] v2_1 = new Object[0];
                v1_0 = this.mGetSystemAudioRouteMethod.invoke(((android.media.MediaRouter) p5), v2_1);
            } catch (reflect.InvocationTargetException v1) {
            } catch (reflect.InvocationTargetException v1) {
            }
        }
        return v1_0;
    }

Method android.support.v4.app.ActionBarDrawerToggleHoneycomb.setActionBarUpIndicator() calling method java.lang.reflect.Method.invoke()


    public static Object setActionBarUpIndicator(Object p7, android.app.Activity p8, android.graphics.drawable.Drawable p9, int p10)
    {
        if (p7 == null) {
            p7 = new android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo(p8);
        }
        if (((android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo) p7).setHomeAsUpIndicator == null) {
            if (((android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo) p7).upIndicatorView == null) {
                android.util.Log.w("ActionBarDrawerToggleHoneycomb", "Couldn\'t set home-as-up indicator");
            } else {
                ((android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo) p7).upIndicatorView.setImageDrawable(p9);
            }
        } else {
            try {
                android.app.ActionBar v0 = p8.getActionBar();
                String v3_1 = ((android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo) p7).setHomeAsUpIndicator;
                String v4_2 = new Object[1];
                v4_2[0] = p9;
                v3_1.invoke(v0, v4_2);
                String v3_2 = ((android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo) p7).setHomeActionContentDescription;
                String v4_4 = new Object[1];
                v4_4[0] = Integer.valueOf(p10);
                v3_2.invoke(v0, v4_4);
            } catch (Exception v1) {
                android.util.Log.w("ActionBarDrawerToggleHoneycomb", "Couldn\'t set home-as-up indicator via JB-MR2 API", v1);
            }
        }
        return p7;
    }

Method android.support.v4.app.ActionBarDrawerToggleHoneycomb.setActionBarDescription() calling method java.lang.reflect.Method.invoke()


    public static Object setActionBarDescription(Object p7, android.app.Activity p8, int p9)
    {
        if (p7 == null) {
            p7 = new android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo(p8);
        }
        if (((android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo) p7).setHomeAsUpIndicator != null) {
            try {
                android.app.ActionBar v0 = p8.getActionBar();
                CharSequence v3_4 = ((android.support.v4.app.ActionBarDrawerToggleHoneycomb$SetIndicatorInfo) p7).setHomeActionContentDescription;
                String v4_1 = new Object[1];
                v4_1[0] = Integer.valueOf(p9);
                v3_4.invoke(v0, v4_1);
            } catch (Exception v1) {
                android.util.Log.w("ActionBarDrawerToggleHoneycomb", "Couldn\'t set content description via JB-MR2 API", v1);
            }
            if (android.os.Build$VERSION.SDK_INT <= 19) {
                v0.setSubtitle(v0.getSubtitle());
            }
        }
        return p7;
    }