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 com.nokia.maps.z.a() calling method java.lang.reflect.Method.invoke()


    protected void a(android.content.Context p8)
    {
        if (android.os.Build.MODEL.equalsIgnoreCase("SDK") != 1) {
            this.setEGLContextClientVersion(2);
            this.setEGLConfigChooser(new com.nokia.maps.ay(p8));
        } else {
            this.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
        }
        try {
            String v0_3 = this.getClass();
            Object[] v2_2 = new Class[1];
            v2_2[0] = Boolean.TYPE;
            String v0_4 = v0_3.getMethod("setPreserveEGLContextOnPause", v2_2);
            String v1_3 = new Object[1];
            v1_3[0] = Boolean.valueOf(1);
            v0_4.invoke(this, v1_3);
        } catch (String v0) {
            Object[] v2_6 = new Object[0];
            com.nokia.maps.bp.e(ark>com.nokia.maps.zark>.a, "Unable to get method. Probably older SDK.", v2_6);
        } catch (String v0) {
            Object[] v2_5 = new Object[0];
            com.nokia.maps.bp.b(ark>com.nokia.maps.zark>.a, "Reflection error!", v2_5);
        }
        return;
    }

Method com.nokia.maps.SupplementaryResourceManager.a() calling method java.lang.reflect.Method.invoke()


    static boolean a(android.content.Context p13, String p14)
    {
        int v2_0;
        int v2_1 = new Object[0];
        com.nokia.maps.bp.a(ark>com.nokia.maps.SupplementaryResourceManagerark>.a, new StringBuilder().append("DestDir=").append(p14).toString(), v2_1);
        int v0_1 = new java.io.File(p14);
        if ((v0_1.exists()) || (v0_1.mkdirs())) {
            String[] v5 = ark>com.nokia.maps.SupplementaryResourceManagerark>.b;
            int v6 = v5.length;
            int v4 = 0;
            v2_0 = 0;
            while (v4 < v6) {
                int v0_9;
                int v0_3 = v5[v4];
                if (com.nokia.maps.bk.a(v0_3).booleanValue()) {
                    String v7_0 = new Object[1];
                    v7_0[0] = v0_3;
                    Boolean v1_6 = String.format("deploy%sToDisk", v7_0);
                    try {
                        String v7_2 = new Class[2];
                        v7_2[0] = String;
                        v7_2[1] = Boolean.TYPE;
                        int v0_6 = ark>com.nokia.maps.SupplementaryResourceManagerark>.getDeclaredMethod(v1_6, v7_2);
                    } catch (int v0_7) {
                        Object[] v9_2 = new Object[2];
                        v9_2[0] = v1_6;
                        v9_2[1] = v0_7.getLocalizedMessage();
                        com.nokia.maps.bp.c(ark>com.nokia.maps.SupplementaryResourceManagerark>.a, "Unable to find method: %s.  Exception: %s", v9_2);
                        v0_9 = v2_0;
                    }
                    if (v0_6 != 0) {
                        try {
                            String v8_4 = new Object[2];
                            v8_4[0] = p14;
                            v8_4[1] = Boolean.valueOf(1);
                            Boolean v1_9 = v0_6.invoke(0, v8_4);
                        } catch (int v0_12) {
                            Object[] v9_5 = new Object[2];
                            v9_5[0] = v1_9;
                            v9_5[1] = v0_12.getLocalizedMessage();
                            com.nokia.maps.bp.c(ark>com.nokia.maps.SupplementaryResourceManagerark>.a, "Unable to invoke method: %s.  Exception: %s", v9_5);
                            v0_9 = v2_0;
                            v4++;
                            v2_0 = v0_9;
                        }
                        if (((Boolean) v1_9) != null) {
                            v0_9 = (((Boolean) v1_9).booleanValue() | v2_0);
                        }
                    }
                    v0_9 = v2_0;
                } else {
                    String v8_6 = new Object[1];
                    v8_6[0] = v0_3;
                    com.nokia.maps.bp.b(ark>com.nokia.maps.SupplementaryResourceManagerark>.a, "Library %s failed to load.", v8_6);
                    v0_9 = v2_0;
                }
            }
        } else {
            v2_0 = 0;
        }
        return v2_0;
    }

Method com.nokia.maps.MapsEngine.b() calling method java.lang.reflect.Method.invoke()


    private java.util.List b(java.util.List p9)
    {
        try {
            int v1_1 = Class.forName("android.telephony.MSimTelephonyManager");
            String v3_1 = com.nokia.maps.MapsEngine.G.getSystemService(((String) android.content.Context.getDeclaredField("MSIM_TELEPHONY_SERVICE").get(com.nokia.maps.MapsEngine.G)));
            Object[] v4_1 = new Class[1];
            v4_1[0] = Integer.TYPE;
            Object[] v4_2 = v1_1.getDeclaredMethod("getSimOperator", v4_1);
            int v1_0 = 0;
        } catch (int v0) {
            Object[] v2_1 = new Object[0];
            com.nokia.maps.bp.e(com.nokia.maps.MapsEngine.I, "Couldn\'t find the MSimTelephonyManager class on this device", v2_1);
            return p9;
        } catch (int v0_22) {
            Object[] v4_8 = new Object[1];
            v4_8[0] = v0_22.getLocalizedMessage();
            com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "Couldn\'t find the MSIM_TELEPHONY_SERVICE field from Context: %s", v4_8);
            return p9;
        } catch (int v0_19) {
            Object[] v4_7 = new Object[1];
            v4_7[0] = v0_19.getLocalizedMessage();
            com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "Illegal argument for getSystemService: %s", v4_7);
            return p9;
        } catch (int v0_17) {
            Object[] v4_6 = new Object[1];
            v4_6[0] = v0_17.getLocalizedMessage();
            com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "Illegal access for getSystemService: %s", v4_6);
            return p9;
        } catch (int v0_15) {
            Object[] v4_5 = new Object[1];
            v4_5[0] = v0_15.getLocalizedMessage();
            com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "Couldn\'t find the getSimOperator method: %s", v4_5);
            return p9;
        } catch (int v0_13) {
            Object[] v4_4 = new Object[1];
            v4_4[0] = v0_13.getLocalizedMessage();
            com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "Failed to invoke the getSimOperator method: %s", v4_4);
            return p9;
        } catch (int v0_10) {
            Object[] v4_3 = new Object[1];
            v4_3[0] = v0_10.getLocalizedMessage();
            com.nokia.maps.bp.c(com.nokia.maps.MapsEngine.I, "Failed to invoke the getSimOperator method for unknown reason: %s", v4_3);
            return p9;
        }
        while (v1_0 < 2) {
            int v0_6 = new Object[1];
            v0_6[0] = Integer.valueOf(v1_0);
            int v0_9 = this.c(((String) v4_2.invoke(v3_1, v0_6)));
            if ((v0_9 != 0) && (java.util.Collections.binarySearch(p9, v0_9) < 0)) {
                p9.add(v0_9);
                java.util.Collections.sort(p9);
            }
            v1_0++;
        }
        return p9;
    }

Method com.here.services.util.HereServicesUtil.isLocationProviderEnabledForUser() calling method java.lang.reflect.Method.invoke()


    public static boolean isLocationProviderEnabledForUser(android.content.Context p6, int p7)
    {
        try {
            Object[] v3_3 = new Class[3];
            v3_3[0] = android.content.ContentResolver;
            v3_3[1] = String;
            v3_3[2] = Integer.TYPE;
            int v0_1 = android.provider.Settings$Secure.getDeclaredMethod("isLocationProviderEnabledForUser", v3_3);
            Object[] v3_1 = new Object[3];
            v3_1[0] = p6.getContentResolver();
            v3_1[1] = "network";
            v3_1[2] = Integer.valueOf(p7);
            int v0_4 = ((Boolean) v0_1.invoke(0, v3_1)).booleanValue();
        } catch (int v0) {
            v0_4 = 0;
        }
        return v0_4;
    }

Method com.here.sdk.analytics.a.a.a() calling method java.lang.reflect.Method.invoke()


    protected varargs String a(android.content.Context[] p7)
    {
        String v0_1 = p7[0];
        try {
            String v0_10;
            Object v1_3 = Class.forName("com.google.android.gms.ads.identifier.AdvertisingIdClient");
            Class[] v3_7 = new Class[1];
            v3_7[0] = android.content.Context;
            Object v1_0 = v1_3.getMethod("getAdvertisingIdInfo", v3_7);
            Class[] v3_1 = new Object[1];
            v3_1[0] = v0_1;
            Object v1_1 = v1_0.invoke(0, v3_1);
            Class[] v3_3 = new Class[0];
            Object[] v2_3 = new Object[0];
        } catch (String v0) {
            v0_10 = "";
            return v0_10;
        }
        if (((Boolean) v1_1.getClass().getMethod("isLimitAdTrackingEnabled", v3_3).invoke(v1_1, v2_3)).booleanValue()) {
        } else {
            Class[] v3_5 = new Class[0];
            Object[] v2_6 = new Object[0];
            v0_10 = ((String) v1_1.getClass().getMethod("getId", v3_5).invoke(v1_1, v2_6));
            return v0_10;
        }
    }

Method com.here.odnp.util.OdnpUserManager.getCurrentUser() calling method java.lang.reflect.Method.invoke()


    public static int getCurrentUser(android.content.Context p5)
    {
        try {
            Class[] v4_1 = new Class[0];
            Object[] v3_1 = new Object[0];
            int v0_3 = ((Integer) android.app.ActivityManager.getMethod("getCurrentUser", v4_1).invoke(((android.app.ActivityManager) p5.getSystemService("activity")), v3_1)).intValue();
        } catch (int v0) {
            v0_3 = 0;
        }
        return v0_3;
    }

Method com.here.odnp.util.OdnpUserHandle.getCallingUserId() calling method java.lang.reflect.Method.invoke()


    public static int getCallingUserId()
    {
        try {
            Object[] v3_1 = new Class[0];
            Object[] v3_3 = new Object[0];
            int v0_3 = ((Integer) android.os.UserHandle.getMethod("getCallingUserId", v3_1).invoke(0, v3_3)).intValue();
        } catch (int v0) {
            v0_3 = 0;
        }
        return v0_3;
    }

Method com.here.odnp.util.OdnpContext.sendBroadcastAsUser() calling method java.lang.reflect.Method.invoke()


    public static void sendBroadcastAsUser(android.content.Context p5, android.content.Intent p6, android.os.UserHandle p7)
    {
        try {
            int v2_3 = new Class[2];
            v2_3[0] = android.content.Intent;
            v2_3[1] = android.os.UserHandle;
            Exception v0_1 = android.content.Context.getMethod("sendBroadcastAsUser", v2_3);
            Object[] v1_2 = new Object[2];
            v1_2[0] = p6;
            v1_2[1] = p7;
            v0_1.invoke(p5, v1_2);
        } catch (Exception v0) {
        }
        return;
    }

Method com.here.odnp.util.OdnpContext.bindServiceAsUser() calling method java.lang.reflect.Method.invoke()


    public static boolean bindServiceAsUser(android.content.Context p6, android.content.Intent p7, android.content.ServiceConnection p8, int p9, android.os.UserHandle p10)
    {
        try {
            int v3_5 = new Class[4];
            v3_5[0] = android.content.Intent;
            v3_5[1] = android.content.ServiceConnection;
            v3_5[2] = Integer.TYPE;
            v3_5[3] = android.os.UserHandle;
            int v0_1 = android.content.Context.getMethod("bindServiceAsUser", v3_5);
            Object[] v2_2 = new Object[4];
            v2_2[0] = p7;
            v2_2[1] = p8;
            v2_2[2] = Integer.valueOf(p9);
            v2_2[3] = p10;
            int v0_4 = ((Boolean) v0_1.invoke(p6, v2_2)).booleanValue();
        } catch (int v0) {
            v0_4 = 0;
        }
        return v0_4;
    }

Method com.here.android.mpa.service.MapService$1.a() calling method java.lang.reflect.Method.invoke()


    public android.os.ParcelFileDescriptor a(int p8)
    {
        int v0_0 = 0;
        try {
            if (this.a.a != null) {
                if (this.c == null) {
                    String v4_3 = new Class[0];
                    this.c = android.os.MemoryFile.getDeclaredMethod("getFileDescriptor", v4_3);
                    com.here.android.mpa.service.MapService v2_8 = android.os.MemoryFile.getMethods();
                    android.os.MemoryFile v3_4 = v2_8.length;
                    while (v0_0 < v3_4) {
                        System.out.println(v2_8[v0_0].toString());
                        v0_0++;
                    }
                }
                if (this.a.d == null) {
                    String v4_5 = new Object[0];
                    this.a.d = ((java.io.FileDescriptor) this.c.invoke(this.a.a, v4_5));
                }
                int v0_8 = android.os.ParcelFileDescriptor.dup(this.a.d);
            } else {
                this.a.a = new android.os.MemoryFile("MapsChunk", p8);
                com.here.android.mpa.service.MapService v2_1 = new byte[1];
                v2_1[0] = 0;
                this.a.a.writeBytes(v2_1, 0, (p8 - 1), 1);
            }
        } catch (int v0_9) {
            v0_9.printStackTrace();
            v0_8 = 0;
        }
        return v0_8;
    }

Method com.google.gson.internal.UnsafeAllocator$3.newInstance() calling method java.lang.reflect.Method.invoke()


    public Object newInstance(Class p6)
    {
        com.google.gson.internal.UnsafeAllocator$3.assertInstantiable(p6);
        Object v0_0 = this.val$newInstance;
        Object[] v2_1 = new Object[2];
        v2_1[0] = p6;
        v2_1[1] = Object;
        return v0_0.invoke(0, v2_1);
    }

Method com.google.gson.internal.UnsafeAllocator$2.newInstance() calling method java.lang.reflect.Method.invoke()


    public Object newInstance(Class p6)
    {
        com.google.gson.internal.UnsafeAllocator$2.assertInstantiable(p6);
        Object v0_0 = this.val$newInstance;
        Object[] v2_1 = new Object[2];
        v2_1[0] = p6;
        v2_1[1] = Integer.valueOf(this.val$constructorId);
        return v0_0.invoke(0, v2_1);
    }

Method com.google.gson.internal.UnsafeAllocator$1.newInstance() calling method java.lang.reflect.Method.invoke()


    public Object newInstance(Class p5)
    {
        com.google.gson.internal.UnsafeAllocator$1.assertInstantiable(p5);
        Object v0_0 = this.val$allocateInstance;
        Object v1 = this.val$unsafe;
        Object[] v2_1 = new Object[1];
        v2_1[0] = p5;
        return v0_0.invoke(v1, v2_1);
    }

Method com.google.gson.internal.UnsafeAllocator.create() calling method java.lang.reflect.Method.invoke()


    public static com.google.gson.internal.UnsafeAllocator create()
    {
        try {
            Class v6 = Class.forName("sun.misc.Unsafe");
            reflect.Field v2 = v6.getDeclaredField("theUnsafe");
            v2.setAccessible(1);
            Object v5 = v2.get(0);
            String v8_1 = new Class[1];
            v8_1[0] = Class;
            com.google.gson.internal.UnsafeAllocator$4 v7_3 = new com.google.gson.internal.UnsafeAllocator$1(v6.getMethod("allocateInstance", v8_1), v5);
        } catch (com.google.gson.internal.UnsafeAllocator$4 v7) {
            try {
                Class[] v9_2 = new Class[1];
                v9_2[0] = Class;
                reflect.Method v3 = java.io.ObjectStreamClass.getDeclaredMethod("getConstructorId", v9_2);
                v3.setAccessible(1);
                String v8_4 = new Object[1];
                v8_4[0] = Object;
                int v1 = ((Integer) v3.invoke(0, v8_4)).intValue();
                Class[] v9_5 = new Class[2];
                v9_5[0] = Class;
                v9_5[1] = Integer.TYPE;
                reflect.Method v4_0 = java.io.ObjectStreamClass.getDeclaredMethod("newInstance", v9_5);
                v4_0.setAccessible(1);
                v7_3 = new com.google.gson.internal.UnsafeAllocator$2(v4_0, v1);
            } catch (com.google.gson.internal.UnsafeAllocator$4 v7) {
                try {
                    Class[] v9_7 = new Class[2];
                    v9_7[0] = Class;
                    v9_7[1] = Class;
                    reflect.Method v4_1 = java.io.ObjectInputStream.getDeclaredMethod("newInstance", v9_7);
                    v4_1.setAccessible(1);
                    v7_3 = new com.google.gson.internal.UnsafeAllocator$3(v4_1);
                } catch (com.google.gson.internal.UnsafeAllocator$4 v7) {
                    v7_3 = new com.google.gson.internal.UnsafeAllocator$4();
                }
            }
        }
        return v7_3;
    }

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.widget.PopupWindowCompat$BasePopupWindowImpl.setWindowLayoutType() calling method java.lang.reflect.Method.invoke()


    public void setWindowLayoutType(android.widget.PopupWindow p7, int p8)
    {
        if (!android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sSetWindowLayoutTypeMethodAttempted) {
            try {
                int v2_2 = new Class[1];
                v2_2[0] = Integer.TYPE;
                android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sSetWindowLayoutTypeMethod = android.widget.PopupWindow.getDeclaredMethod("setWindowLayoutType", v2_2);
                android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sSetWindowLayoutTypeMethod.setAccessible(1);
            } catch (Exception v0) {
            }
            android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sSetWindowLayoutTypeMethodAttempted = 1;
        }
        if (android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sSetWindowLayoutTypeMethod != null) {
            try {
                Object[] v1_2 = new Object[1];
                v1_2[0] = Integer.valueOf(p8);
                android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sSetWindowLayoutTypeMethod.invoke(p7, v1_2);
            } catch (Exception v0) {
            }
        }
        return;
    }

Method android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.getWindowLayoutType() calling method java.lang.reflect.Method.invoke()


    public int getWindowLayoutType(android.widget.PopupWindow p6)
    {
        if (!android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sGetWindowLayoutTypeMethodAttempted) {
            try {
                Class[] v3_1 = new Class[0];
                android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sGetWindowLayoutTypeMethod = android.widget.PopupWindow.getDeclaredMethod("getWindowLayoutType", v3_1);
                android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sGetWindowLayoutTypeMethod.setAccessible(1);
            } catch (Exception v0) {
            }
            android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sGetWindowLayoutTypeMethodAttempted = 1;
        }
        Exception v0_6;
        if (android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sGetWindowLayoutTypeMethod == null) {
            v0_6 = 0;
        } else {
            try {
                Object[] v2_2 = new Object[0];
                v0_6 = ((Integer) android.support.v4.widget.PopupWindowCompat$BasePopupWindowImpl.sGetWindowLayoutTypeMethod.invoke(p6, v2_2)).intValue();
            } catch (Exception v0) {
            }
        }
        return v0_6;
    }

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.ViewCompat$BaseViewCompatImpl.setChildrenDrawingOrderEnabled() calling method java.lang.reflect.Method.invoke()


    public void setChildrenDrawingOrderEnabled(android.view.ViewGroup p8, boolean p9)
    {
        if (android.support.v4.view.ViewCompat$BaseViewCompatImpl.sChildrenDrawingOrderMethod == null) {
            try {
                int v3_2 = new Class[1];
                v3_2[0] = Boolean.TYPE;
                android.support.v4.view.ViewCompat$BaseViewCompatImpl.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.ViewCompat$BaseViewCompatImpl.sChildrenDrawingOrderMethod.setAccessible(1);
        }
        try {
            String v2_2 = new Object[1];
            v2_2[0] = Boolean.valueOf(p9);
            android.support.v4.view.ViewCompat$BaseViewCompatImpl.sChildrenDrawingOrderMethod.invoke(p8, 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.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.text.ICUCompatIcs.getScript() calling method java.lang.reflect.Method.invoke()


    private 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()


    private static String addLikelySubtags(java.util.Locale p5)
    {
        String v2 = p5.toString();
        try {
            String v3_1;
            if (android.support.v4.text.ICUCompatIcs.sAddLikelySubtagsMethod == null) {
                v3_1 = v2;
            } else {
                Object[] v0 = new Object[1];
                v0[0] = v2;
                v3_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 v3_1;
    }

Method android.support.v4.text.ICUCompatApi23.maximizeAndGetScript() calling method java.lang.reflect.Method.invoke()


    public static String maximizeAndGetScript(java.util.Locale p4)
    {
        try {
            Object[] v0 = new Object[1];
            v0[0] = p4;
            String v2_1 = ((java.util.Locale) android.support.v4.text.ICUCompatApi23.sAddLikelySubtagsMethod.invoke(0, v0)).getScript();
        } catch (IllegalAccessException v1_1) {
            android.util.Log.w("ICUCompatIcs", v1_1);
            v2_1 = p4.getScript();
        } catch (IllegalAccessException v1_0) {
            android.util.Log.w("ICUCompatIcs", v1_0);
        }
        return v2_1;
    }

Method android.support.v4.media.session.MediaSessionCompatApi24.getCallingPackage() calling method java.lang.reflect.Method.invoke()


    public static String getCallingPackage(Object p6)
    {
        try {
            Class[] v5_1 = new Class[0];
            int v3_0 = new Object[0];
            int v3_2 = ((String) ((android.media.session.MediaSession) p6).getClass().getMethod("getCallingPackage", v5_1).invoke(((android.media.session.MediaSession) p6), v3_0));
        } catch (IllegalAccessException v0) {
            android.util.Log.e("MediaSessionCompatApi24", "Cannot execute MediaSession.getCallingPackage()", v0);
            v3_2 = 0;
        } catch (IllegalAccessException v0) {
        } catch (IllegalAccessException v0) {
        }
        return v3_2;
    }

Method android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.setLayoutDirection() calling method java.lang.reflect.Method.invoke()


    public static boolean setLayoutDirection(android.graphics.drawable.Drawable p8, int p9)
    {
        int v1_0 = 1;
        if (!android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sSetLayoutDirectionMethodFetched) {
            try {
                int v5_2 = new Class[1];
                v5_2[0] = Integer.TYPE;
                android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sSetLayoutDirectionMethod = android.graphics.drawable.Drawable.getDeclaredMethod("setLayoutDirection", v5_2);
                android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sSetLayoutDirectionMethod.setAccessible(1);
            } catch (Exception v0_0) {
                android.util.Log.i("DrawableCompatJellybeanMr1", "Failed to retrieve setLayoutDirection(int) method", v0_0);
            }
            android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sSetLayoutDirectionMethodFetched = 1;
        }
        if (android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sSetLayoutDirectionMethod == null) {
            v1_0 = 0;
        } else {
            try {
                Object[] v4_3 = new Object[1];
                v4_3[0] = Integer.valueOf(p9);
                android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sSetLayoutDirectionMethod.invoke(p8, v4_3);
            } catch (Exception v0_1) {
                android.util.Log.i("DrawableCompatJellybeanMr1", "Failed to invoke setLayoutDirection(int) via reflection", v0_1);
                android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sSetLayoutDirectionMethod = 0;
            }
        }
        return v1_0;
    }

Method android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.getLayoutDirection() calling method java.lang.reflect.Method.invoke()


    public static int getLayoutDirection(android.graphics.drawable.Drawable p5)
    {
        if (!android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sGetLayoutDirectionMethodFetched) {
            try {
                Class[] v3_1 = new Class[0];
                android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sGetLayoutDirectionMethod = android.graphics.drawable.Drawable.getDeclaredMethod("getLayoutDirection", v3_1);
                android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sGetLayoutDirectionMethod.setAccessible(1);
            } catch (Exception v0_0) {
                android.util.Log.i("DrawableCompatJellybeanMr1", "Failed to retrieve getLayoutDirection() method", v0_0);
            }
            android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sGetLayoutDirectionMethodFetched = 1;
        }
        int v1_7;
        if (android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sGetLayoutDirectionMethod == null) {
            v1_7 = -1;
        } else {
            try {
                String v2_3 = new Object[0];
                v1_7 = ((Integer) android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sGetLayoutDirectionMethod.invoke(p5, v2_3)).intValue();
            } catch (Exception v0_1) {
                android.util.Log.i("DrawableCompatJellybeanMr1", "Failed to invoke getLayoutDirection() via reflection", v0_1);
                android.support.v4.graphics.drawable.DrawableCompatJellybeanMr1.sGetLayoutDirectionMethod = 0;
            }
        }
        return v1_7;
    }

Method android.support.v4.app.NotificationManagerCompatKitKat.areNotificationsEnabled() calling method java.lang.reflect.Method.invoke()


    public static boolean areNotificationsEnabled(android.content.Context p15)
    {
        android.app.AppOpsManager v1_1 = ((android.app.AppOpsManager) p15.getSystemService("appops"));
        android.content.pm.ApplicationInfo v0 = p15.getApplicationInfo();
        String v6 = p15.getApplicationContext().getPackageName();
        int v7 = v0.uid;
        try {
            int v9_13;
            Class v2 = Class.forName(android.app.AppOpsManager.getName());
            int v12_1 = new Class[3];
            v12_1[0] = Integer.TYPE;
            v12_1[1] = Integer.TYPE;
            v12_1[2] = String;
            reflect.Method v3 = v2.getMethod("checkOpNoThrow", v12_1);
            int v9_9 = new Object[3];
            v9_9[0] = Integer.valueOf(((Integer) v2.getDeclaredField("OP_POST_NOTIFICATION").get(Integer)).intValue());
            v9_9[1] = Integer.valueOf(v7);
            v9_9[2] = v6;
        } catch (RuntimeException v4) {
            v9_13 = 1;
            return v9_13;
        } catch (RuntimeException v4) {
        } catch (RuntimeException v4) {
        } catch (RuntimeException v4) {
        } catch (RuntimeException v4) {
        } catch (RuntimeException v4) {
        }
        if (((Integer) v3.invoke(v1_1, v9_9)).intValue() != 0) {
            v9_13 = 0;
            return v9_13;
        } else {
            v9_13 = 1;
            return v9_13;
        }
    }

Method android.support.v4.app.NotificationCompatBase.add() calling method java.lang.reflect.Method.invoke()


    public static android.app.Notification add(android.app.Notification p6, android.content.Context p7, CharSequence p8, CharSequence p9, android.app.PendingIntent p10, android.app.PendingIntent p11)
    {
        if (android.support.v4.app.NotificationCompatBase.sSetLatestEventInfo == null) {
            try {
                int v3_5 = new Class[4];
                v3_5[0] = android.content.Context;
                v3_5[1] = CharSequence;
                v3_5[2] = CharSequence;
                v3_5[3] = android.app.PendingIntent;
                android.support.v4.app.NotificationCompatBase.sSetLatestEventInfo = android.app.Notification.getMethod("setLatestEventInfo", v3_5);
            } catch (reflect.InvocationTargetException v0_0) {
                throw new RuntimeException(v0_0);
            }
            Object[] v2_1 = new Object[4];
            v2_1[0] = p7;
            v2_1[1] = p8;
            v2_1[2] = p9;
            v2_1[3] = p10;
            android.support.v4.app.NotificationCompatBase.sSetLatestEventInfo.invoke(p6, v2_1);
            p6.fullScreenIntent = p11;
            return p6;
        }
        try {
            v2_1 = new Object[4];
            v2_1[0] = p7;
            v2_1[1] = p8;
            v2_1[2] = p9;
            v2_1[3] = p10;
            android.support.v4.app.NotificationCompatBase.sSetLatestEventInfo.invoke(p6, v2_1);
            p6.fullScreenIntent = p11;
            return p6;
        } catch (reflect.InvocationTargetException v0_1) {
            throw new RuntimeException(v0_1);
        } catch (reflect.InvocationTargetException v0_1) {
        }
    }

Method android.support.v4.app.BundleCompatGingerbread.putBinder() calling method java.lang.reflect.Method.invoke()


    public static void putBinder(android.os.Bundle p7, String p8, android.os.IBinder p9)
    {
        if (!android.support.v4.app.BundleCompatGingerbread.sPutIBinderMethodFetched) {
            try {
                int v3_3 = new Class[2];
                v3_3[0] = String;
                v3_3[1] = android.os.IBinder;
                android.support.v4.app.BundleCompatGingerbread.sPutIBinderMethod = android.os.Bundle.getMethod("putIBinder", v3_3);
                android.support.v4.app.BundleCompatGingerbread.sPutIBinderMethod.setAccessible(1);
            } catch (IllegalArgumentException v0_0) {
                android.util.Log.i("BundleCompatGingerbread", "Failed to retrieve putIBinder method", v0_0);
            }
            android.support.v4.app.BundleCompatGingerbread.sPutIBinderMethodFetched = 1;
        }
        if (android.support.v4.app.BundleCompatGingerbread.sPutIBinderMethod != null) {
            try {
                String v2_3 = new Object[2];
                v2_3[0] = p8;
                v2_3[1] = p9;
                android.support.v4.app.BundleCompatGingerbread.sPutIBinderMethod.invoke(p7, v2_3);
            } catch (IllegalArgumentException v0_1) {
                android.util.Log.i("BundleCompatGingerbread", "Failed to invoke putIBinder via reflection", v0_1);
                android.support.v4.app.BundleCompatGingerbread.sPutIBinderMethod = 0;
            } catch (IllegalArgumentException v0_1) {
            } catch (IllegalArgumentException v0_1) {
            }
        }
        return;
    }

Method android.support.v4.app.BundleCompatGingerbread.getBinder() calling method java.lang.reflect.Method.invoke()


    public static android.os.IBinder getBinder(android.os.Bundle p8, String p9)
    {
        if (!android.support.v4.app.BundleCompatGingerbread.sGetIBinderMethodFetched) {
            try {
                int v4_2 = new Class[1];
                v4_2[0] = String;
                android.support.v4.app.BundleCompatGingerbread.sGetIBinderMethod = android.os.Bundle.getMethod("getIBinder", v4_2);
                android.support.v4.app.BundleCompatGingerbread.sGetIBinderMethod.setAccessible(1);
            } catch (IllegalArgumentException v0_0) {
                android.util.Log.i("BundleCompatGingerbread", "Failed to retrieve getIBinder method", v0_0);
            }
            android.support.v4.app.BundleCompatGingerbread.sGetIBinderMethodFetched = 1;
        }
        String v1_7;
        if (android.support.v4.app.BundleCompatGingerbread.sGetIBinderMethod == null) {
            v1_7 = 0;
        } else {
            try {
                String v3_3 = new Object[1];
                v3_3[0] = p9;
                v1_7 = ((android.os.IBinder) android.support.v4.app.BundleCompatGingerbread.sGetIBinderMethod.invoke(p8, v3_3));
            } catch (IllegalArgumentException v0_1) {
                android.util.Log.i("BundleCompatGingerbread", "Failed to invoke getIBinder via reflection", v0_1);
                android.support.v4.app.BundleCompatGingerbread.sGetIBinderMethod = 0;
            } catch (IllegalArgumentException v0_1) {
            } catch (IllegalArgumentException v0_1) {
            }
        }
        return v1_7;
    }

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;
    }