Potentially Intent Spoofing

Description

The application is vulnerable to intent spoofing which could result in the access and exploitation of unauthorized components.

Recommendation

It is recommended to apply proper input validation and parameter filtering on intent action.

Technical details
[TAINT] String 'androidx.browser.browseractions.browser_action_open' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', '<init>', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value androidx.browser.browseractions.browser_action_open to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.<init>():


    public BrowserActionsIntent$Builder(android.content.Context p4, android.net.Uri p5)
    {
        this.mIntent = new android.content.Intent("androidx.browser.browseractions.browser_action_open");
        this.mMenuItems = 0;
        this.mOnItemSelectedPendingIntent = 0;
        this.mContext = p4;
        this.mUri = p5;
        this.mType = 0;
        this.mMenuItems = new java.util.ArrayList();
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'androidx.browser.browseractions.extra.TYPE' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; I)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; I)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.extra.TYPE to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'androidx.browser.browseractions.APP_ID' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.APP_ID to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'androidx.browser.browseractions.browser_action_open' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', '<init>', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value androidx.browser.browseractions.browser_action_open to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.<init>():


    public BrowserActionsIntent$Builder(android.content.Context p4, android.net.Uri p5)
    {
        this.mIntent = new android.content.Intent("androidx.browser.browseractions.browser_action_open");
        this.mMenuItems = 0;
        this.mOnItemSelectedPendingIntent = 0;
        this.mContext = p4;
        this.mUri = p5;
        this.mType = 0;
        this.mMenuItems = new java.util.ArrayList();
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'https://www.example.com' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '1', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'getBrowserActionsIntentHandlers', '(Landroid/content/Context;)Ljava/util/List;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value https://www.example.com to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers():


    private static java.util.List getBrowserActionsIntentHandlers(android.content.Context p4)
    {
        return p4.getPackageManager().queryIntentActivities(new android.content.Intent("androidx.browser.browseractions.browser_action_open", android.net.Uri.parse("https://www.example.com")), 131072);
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'androidx.browser.browseractions.browser_action_open' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'getBrowserActionsIntentHandlers', '(Landroid/content/Context;)Ljava/util/List;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value androidx.browser.browseractions.browser_action_open to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers():


    private static java.util.List getBrowserActionsIntentHandlers(android.content.Context p4)
    {
        return p4.getPackageManager().queryIntentActivities(new android.content.Intent("androidx.browser.browseractions.browser_action_open", android.net.Uri.parse("https://www.example.com")), 131072);
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'https://www.example.com' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '1', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'launchIntent', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'getBrowserActionsIntentHandlers', '(Landroid/content/Context;)Ljava/util/List;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value https://www.example.com to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.launchIntent():


    public static void launchIntent(android.content.Context p1, android.content.Intent p2)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p1, p2, androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers(p1));
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers():


    private static java.util.List getBrowserActionsIntentHandlers(android.content.Context p4)
    {
        return p4.getPackageManager().queryIntentActivities(new android.content.Intent("androidx.browser.browseractions.browser_action_open", android.net.Uri.parse("https://www.example.com")), 131072);
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'androidx.browser.browseractions.browser_action_open' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'launchIntent', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'getBrowserActionsIntentHandlers', '(Landroid/content/Context;)Ljava/util/List;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value androidx.browser.browseractions.browser_action_open to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.launchIntent():


    public static void launchIntent(android.content.Context p1, android.content.Intent p2)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p1, p2, androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers(p1));
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers():


    private static java.util.List getBrowserActionsIntentHandlers(android.content.Context p4)
    {
        return p4.getPackageManager().queryIntentActivities(new android.content.Intent("androidx.browser.browseractions.browser_action_open", android.net.Uri.parse("https://www.example.com")), 131072);
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'https://www.example.com' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '1', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'launchIntent', '(Landroid/content/Context; Landroid/content/Intent; Ljava/util/List;)V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value https://www.example.com to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.launchIntent():


    static void launchIntent(android.content.Context p7, android.content.Intent p8, java.util.List p9)
    {
        if ((p9 != null) && (p9.size() != 0)) {
            if (p9.size() != 1) {
                android.content.pm.ResolveInfo v0 = p7.getPackageManager().resolveActivity(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("https://www.example.com")), 65536);
                if (v0 != null) {
                    String v1 = v0.activityInfo.packageName;
                    int v2 = 0;
                    while (v2 < p9.size()) {
                        if (!v1.equals(((android.content.pm.ResolveInfo) p9.get(v2)).activityInfo.packageName)) {
                            v2++;
                        } else {
                            p8.setPackage(v1);
                            break;
                        }
                    }
                }
            } else {
                p8.setPackage(((android.content.pm.ResolveInfo) p9.get(0)).activityInfo.packageName);
            }
            android.support.v4.content.ContextCompat.startActivity(p7, p8, 0);
        } else {
            androidx.browser.browseractions.BrowserActionsIntent.openFallbackBrowserActionsMenu(p7, p8);
        }
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'androidx.browser.browseractions.extra.TYPE' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; I)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; I)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.extra.TYPE to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'androidx.browser.browseractions.APP_ID' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.APP_ID to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'androidx.browser.browseractions.browser_action_open' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'launchIntent', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'getBrowserActionsIntentHandlers', '(Landroid/content/Context;)Ljava/util/List;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value androidx.browser.browseractions.browser_action_open to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.launchIntent():


    public static void launchIntent(android.content.Context p1, android.content.Intent p2)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p1, p2, androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers(p1));
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers():


    private static java.util.List getBrowserActionsIntentHandlers(android.content.Context p4)
    {
        return p4.getPackageManager().queryIntentActivities(new android.content.Intent("androidx.browser.browseractions.browser_action_open", android.net.Uri.parse("https://www.example.com")), 131072);
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'https://www.example.com' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '1', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'launchIntent', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'getBrowserActionsIntentHandlers', '(Landroid/content/Context;)Ljava/util/List;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value https://www.example.com to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.launchIntent():


    public static void launchIntent(android.content.Context p1, android.content.Intent p2)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p1, p2, androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers(p1));
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers():


    private static java.util.List getBrowserActionsIntentHandlers(android.content.Context p4)
    {
        return p4.getPackageManager().queryIntentActivities(new android.content.Intent("androidx.browser.browseractions.browser_action_open", android.net.Uri.parse("https://www.example.com")), 131072);
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'androidx.browser.browseractions.APP_ID' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri; I Ljava/util/ArrayList; Landroid/app/PendingIntent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.APP_ID to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3, int p4, java.util.ArrayList p5, android.app.PendingIntent p6)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).setUrlType(p4).setCustomItems(p5).setOnItemSelectedAction(p6).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'https://www.example.com' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '1', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri; I Ljava/util/ArrayList; Landroid/app/PendingIntent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'launchIntent', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'getBrowserActionsIntentHandlers', '(Landroid/content/Context;)Ljava/util/List;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value https://www.example.com to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3, int p4, java.util.ArrayList p5, android.app.PendingIntent p6)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).setUrlType(p4).setCustomItems(p5).setOnItemSelectedAction(p6).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.launchIntent():


    public static void launchIntent(android.content.Context p1, android.content.Intent p2)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p1, p2, androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers(p1));
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers():


    private static java.util.List getBrowserActionsIntentHandlers(android.content.Context p4)
    {
        return p4.getPackageManager().queryIntentActivities(new android.content.Intent("androidx.browser.browseractions.browser_action_open", android.net.Uri.parse("https://www.example.com")), 131072);
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'androidx.browser.browseractions.browser_action_open' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri; I Ljava/util/ArrayList; Landroid/app/PendingIntent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'launchIntent', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent;', 'getBrowserActionsIntentHandlers', '(Landroid/content/Context;)Ljava/util/List;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String; Landroid/net/Uri;)V')]]

Use of a string value androidx.browser.browseractions.browser_action_open to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3, int p4, java.util.ArrayList p5, android.app.PendingIntent p6)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).setUrlType(p4).setCustomItems(p5).setOnItemSelectedAction(p6).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.launchIntent():


    public static void launchIntent(android.content.Context p1, android.content.Intent p2)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p1, p2, androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers(p1));
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent.getBrowserActionsIntentHandlers():


    private static java.util.List getBrowserActionsIntentHandlers(android.content.Context p4)
    {
        return p4.getPackageManager().queryIntentActivities(new android.content.Intent("androidx.browser.browseractions.browser_action_open", android.net.Uri.parse("https://www.example.com")), 131072);
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri; I Ljava/util/ArrayList; Landroid/app/PendingIntent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3, int p4, java.util.ArrayList p5, android.app.PendingIntent p6)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).setUrlType(p4).setCustomItems(p5).setOnItemSelectedAction(p6).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'androidx.browser.browseractions.browser_action_open' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri; I Ljava/util/ArrayList; Landroid/app/PendingIntent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', '<init>', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value androidx.browser.browseractions.browser_action_open to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3, int p4, java.util.ArrayList p5, android.app.PendingIntent p6)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).setUrlType(p4).setCustomItems(p5).setOnItemSelectedAction(p6).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.<init>():


    public BrowserActionsIntent$Builder(android.content.Context p4, android.net.Uri p5)
    {
        this.mIntent = new android.content.Intent("androidx.browser.browseractions.browser_action_open");
        this.mMenuItems = 0;
        this.mOnItemSelectedPendingIntent = 0;
        this.mContext = p4;
        this.mUri = p5;
        this.mType = 0;
        this.mMenuItems = new java.util.ArrayList();
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'androidx.browser.browseractions.extra.TYPE' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; I)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Landroidx/browser/browseractions/BrowserActionsIntent;', 'openBrowserAction', '(Landroid/content/Context; Landroid/net/Uri; I Ljava/util/ArrayList; Landroid/app/PendingIntent;)V'), ('Landroidx/browser/browseractions/BrowserActionsIntent$Builder;', 'build', '()Landroidx/browser/browseractions/BrowserActionsIntent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; I)Landroid/content/Intent;')]]

Use of a string value androidx.browser.browseractions.extra.TYPE to construct an Intent

Method androidx.browser.browseractions.BrowserActionsIntent.openBrowserAction():


    public static void openBrowserAction(android.content.Context p2, android.net.Uri p3, int p4, java.util.ArrayList p5, android.app.PendingIntent p6)
    {
        androidx.browser.browseractions.BrowserActionsIntent.launchIntent(p2, new androidx.browser.browseractions.BrowserActionsIntent$Builder(p2, p3).setUrlType(p4).setCustomItems(p5).setOnItemSelectedAction(p6).build().getIntent());
        return;
    }

Method androidx.browser.browseractions.BrowserActionsIntent$Builder.build():


    public androidx.browser.browseractions.BrowserActionsIntent build()
    {
        this.mIntent.setData(this.mUri);
        this.mIntent.putExtra("androidx.browser.browseractions.extra.TYPE", this.mType);
        this.mIntent.putParcelableArrayListExtra("androidx.browser.browseractions.extra.MENU_ITEMS", this.mMenuItems);
        this.mIntent.putExtra("androidx.browser.browseractions.APP_ID", android.app.PendingIntent.getActivity(this.mContext, 0, new android.content.Intent(), 0));
        if (this.mOnItemSelectedPendingIntent != null) {
            this.mIntent.putExtra("androidx.browser.browseractions.extra.SELECTED_ACTION_PENDING_INTENT", this.mOnItemSelectedPendingIntent);
        }
        return new androidx.browser.browseractions.BrowserActionsIntent(this.mIntent, 0);
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'com.parse.bolts.measurement_event' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lbolts/AppLinkNavigation;', 'navigate', '(Landroid/content/Context; Lbolts/AppLink;)Lbolts/AppLinkNavigation$NavigationResult;'), ('Lbolts/AppLinkNavigation;', 'navigate', '(Landroid/content/Context;)Lbolts/AppLinkNavigation$NavigationResult;'), ('Lbolts/AppLinkNavigation;', 'sendAppLinkNavigateEventBroadcast', '(Landroid/content/Context; Landroid/content/Intent; Lbolts/AppLinkNavigation$NavigationResult; Lorg/json/JSONException;)V'), ('Lbolts/MeasurementEvent;', 'sendBroadcastEvent', '(Landroid/content/Context; Ljava/lang/String; Landroid/content/Intent; Ljava/util/Map;)V'), ('Lbolts/MeasurementEvent;', 'sendBroadcast', '()V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.parse.bolts.measurement_event to construct an Intent

Method bolts.AppLinkNavigation.navigate():


    public static bolts.AppLinkNavigation$NavigationResult navigate(android.content.Context p2, bolts.AppLink p3)
    {
        return new bolts.AppLinkNavigation(p3, 0, 0).navigate(p2);
    }

Method bolts.AppLinkNavigation.navigate():


    public bolts.AppLinkNavigation$NavigationResult navigate(android.content.Context p18)
    {
        android.content.pm.PackageManager v8 = p18.getPackageManager();
        android.os.Bundle v5 = this.buildAppLinkDataForNavigation(p18);
        android.content.Intent v4 = 0;
        java.util.Iterator v6 = this.getAppLink().getTargets().iterator();
        while (v6.hasNext()) {
            bolts.AppLink$Target v11_1 = ((bolts.AppLink$Target) v6.next());
            android.content.Intent v12_1 = new android.content.Intent("android.intent.action.VIEW");
            if (v11_1.getUrl() == null) {
                v12_1.setData(this.appLink.getSourceUrl());
            } else {
                v12_1.setData(v11_1.getUrl());
            }
            v12_1.setPackage(v11_1.getPackageName());
            if (v11_1.getClassName() != null) {
                v12_1.setClassName(v11_1.getPackageName(), v11_1.getClassName());
            }
            v12_1.putExtra("al_applink_data", v5);
            if (v8.resolveActivity(v12_1, 65536) != null) {
                v4 = v12_1;
                break;
            }
        }
        android.content.Intent v7_0 = 0;
        bolts.AppLinkNavigation$NavigationResult v10 = bolts.AppLinkNavigation$NavigationResult.FAILED;
        if (v4 == null) {
            android.net.Uri v13_0 = this.getAppLink().getWebUrl();
            if (v13_0 != null) {
                try {
                    v7_0 = new android.content.Intent("android.intent.action.VIEW", v13_0.buildUpon().appendQueryParameter("al_applink_data", this.getJSONForBundle(v5).toString()).build());
                    v10 = bolts.AppLinkNavigation$NavigationResult.WEB;
                } catch (org.json.JSONException v3) {
                    this.sendAppLinkNavigateEventBroadcast(p18, v4, bolts.AppLinkNavigation$NavigationResult.FAILED, v3);
                    throw new RuntimeException(v3);
                }
            }
        } else {
            v7_0 = v4;
            v10 = bolts.AppLinkNavigation$NavigationResult.APP;
        }
        this.sendAppLinkNavigateEventBroadcast(p18, v7_0, v10, 0);
        if (v7_0 != null) {
            p18.startActivity(v7_0);
        }
        return v10;
    }

Method bolts.AppLinkNavigation.sendAppLinkNavigateEventBroadcast():


    private void sendAppLinkNavigateEventBroadcast(android.content.Context p4, android.content.Intent p5, bolts.AppLinkNavigation$NavigationResult p6, org.json.JSONException p7)
    {
        java.util.HashMap v0_1 = new java.util.HashMap();
        if (p7 != null) {
            v0_1.put("error", p7.getLocalizedMessage());
        }
        String v1_0;
        if (!p6.isSucceeded()) {
            v1_0 = "0";
        } else {
            v1_0 = "1";
        }
        v0_1.put("success", v1_0);
        v0_1.put("type", p6.getCode());
        bolts.MeasurementEvent.sendBroadcastEvent(p4, "al_nav_out", p5, v0_1);
        return;
    }

Method bolts.MeasurementEvent.sendBroadcastEvent():


    static void sendBroadcastEvent(android.content.Context p11, String p12, android.content.Intent p13, java.util.Map p14)
    {
        android.os.Bundle v6_1 = new android.os.Bundle();
        if (p13 != null) {
            android.os.Bundle v0 = bolts.AppLinks.getAppLinkData(p13);
            if (v0 == null) {
                android.net.Uri v4 = p13.getData();
                if (v4 != null) {
                    v6_1.putString("intentData", v4.toString());
                }
                android.os.Bundle v3 = p13.getExtras();
                if (v3 != null) {
                    java.util.Iterator v2_0 = v3.keySet().iterator();
                    while (v2_0.hasNext()) {
                        String v5_1 = ((String) v2_0.next());
                        v6_1.putString(v5_1, bolts.MeasurementEvent.objectToJSONString(v3.get(v5_1)));
                    }
                }
            } else {
                v6_1 = bolts.MeasurementEvent.getApplinkLogData(p11, p12, v0, p13);
            }
        }
        if (p14 != null) {
            java.util.Iterator v2_1 = p14.keySet().iterator();
            while (v2_1.hasNext()) {
                String v5_3 = ((String) v2_1.next());
                v6_1.putString(v5_3, ((String) p14.get(v5_3)));
            }
        }
        new bolts.MeasurementEvent(p11, p12, v6_1).sendBroadcast();
        return;
    }

Method bolts.MeasurementEvent.sendBroadcast():


    private void sendBroadcast()
    {
        if (this.name == null) {
            android.util.Log.d(this.getClass().getName(), "Event name is required");
        }
        try {
            Class v0 = Class.forName("android.support.v4.content.LocalBroadcastManager");
            String v7_1 = new Class[1];
            v7_1[0] = android.content.Context;
            reflect.Method v4 = v0.getMethod("getInstance", v7_1);
            String v7_3 = new Class[1];
            v7_3[0] = android.content.Intent;
            reflect.Method v5 = v0.getMethod("sendBroadcast", v7_3);
            String v7_5 = new Object[1];
            v7_5[0] = this.appContext;
            Object v3 = v4.invoke(0, v7_5);
            android.content.Intent v2_1 = new android.content.Intent("com.parse.bolts.measurement_event");
            v2_1.putExtra("event_name", this.name);
            v2_1.putExtra("event_args", this.args);
            String v6_9 = new Object[1];
            v6_9[0] = v2_1;
            v5.invoke(v3, v6_9);
        } catch (Exception v1) {
            android.util.Log.d(this.getClass().getName(), "LocalBroadcastManager in android support library is required to raise bolts event.");
        }
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'com.parse.bolts.measurement_event' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lbolts/AppLinkNavigation;', 'sendAppLinkNavigateEventBroadcast', '(Landroid/content/Context; Landroid/content/Intent; Lbolts/AppLinkNavigation$NavigationResult; Lorg/json/JSONException;)V'), ('Lbolts/MeasurementEvent;', 'sendBroadcastEvent', '(Landroid/content/Context; Ljava/lang/String; Landroid/content/Intent; Ljava/util/Map;)V'), ('Lbolts/MeasurementEvent;', 'sendBroadcast', '()V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.parse.bolts.measurement_event to construct an Intent

Method bolts.AppLinkNavigation.sendAppLinkNavigateEventBroadcast():


    private void sendAppLinkNavigateEventBroadcast(android.content.Context p4, android.content.Intent p5, bolts.AppLinkNavigation$NavigationResult p6, org.json.JSONException p7)
    {
        java.util.HashMap v0_1 = new java.util.HashMap();
        if (p7 != null) {
            v0_1.put("error", p7.getLocalizedMessage());
        }
        String v1_0;
        if (!p6.isSucceeded()) {
            v1_0 = "0";
        } else {
            v1_0 = "1";
        }
        v0_1.put("success", v1_0);
        v0_1.put("type", p6.getCode());
        bolts.MeasurementEvent.sendBroadcastEvent(p4, "al_nav_out", p5, v0_1);
        return;
    }

Method bolts.MeasurementEvent.sendBroadcastEvent():


    static void sendBroadcastEvent(android.content.Context p11, String p12, android.content.Intent p13, java.util.Map p14)
    {
        android.os.Bundle v6_1 = new android.os.Bundle();
        if (p13 != null) {
            android.os.Bundle v0 = bolts.AppLinks.getAppLinkData(p13);
            if (v0 == null) {
                android.net.Uri v4 = p13.getData();
                if (v4 != null) {
                    v6_1.putString("intentData", v4.toString());
                }
                android.os.Bundle v3 = p13.getExtras();
                if (v3 != null) {
                    java.util.Iterator v2_0 = v3.keySet().iterator();
                    while (v2_0.hasNext()) {
                        String v5_1 = ((String) v2_0.next());
                        v6_1.putString(v5_1, bolts.MeasurementEvent.objectToJSONString(v3.get(v5_1)));
                    }
                }
            } else {
                v6_1 = bolts.MeasurementEvent.getApplinkLogData(p11, p12, v0, p13);
            }
        }
        if (p14 != null) {
            java.util.Iterator v2_1 = p14.keySet().iterator();
            while (v2_1.hasNext()) {
                String v5_3 = ((String) v2_1.next());
                v6_1.putString(v5_3, ((String) p14.get(v5_3)));
            }
        }
        new bolts.MeasurementEvent(p11, p12, v6_1).sendBroadcast();
        return;
    }

Method bolts.MeasurementEvent.sendBroadcast():


    private void sendBroadcast()
    {
        if (this.name == null) {
            android.util.Log.d(this.getClass().getName(), "Event name is required");
        }
        try {
            Class v0 = Class.forName("android.support.v4.content.LocalBroadcastManager");
            String v7_1 = new Class[1];
            v7_1[0] = android.content.Context;
            reflect.Method v4 = v0.getMethod("getInstance", v7_1);
            String v7_3 = new Class[1];
            v7_3[0] = android.content.Intent;
            reflect.Method v5 = v0.getMethod("sendBroadcast", v7_3);
            String v7_5 = new Object[1];
            v7_5[0] = this.appContext;
            Object v3 = v4.invoke(0, v7_5);
            android.content.Intent v2_1 = new android.content.Intent("com.parse.bolts.measurement_event");
            v2_1.putExtra("event_name", this.name);
            v2_1.putExtra("event_args", this.args);
            String v6_9 = new Object[1];
            v6_9[0] = v2_1;
            v5.invoke(v3, v6_9);
        } catch (Exception v1) {
            android.util.Log.d(this.getClass().getName(), "LocalBroadcastManager in android support library is required to raise bolts event.");
        }
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'com.parse.bolts.measurement_event' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lbolts/AppLinkNavigation;', 'navigate', '(Landroid/content/Context;)Lbolts/AppLinkNavigation$NavigationResult;'), ('Lbolts/AppLinkNavigation;', 'sendAppLinkNavigateEventBroadcast', '(Landroid/content/Context; Landroid/content/Intent; Lbolts/AppLinkNavigation$NavigationResult; Lorg/json/JSONException;)V'), ('Lbolts/MeasurementEvent;', 'sendBroadcastEvent', '(Landroid/content/Context; Ljava/lang/String; Landroid/content/Intent; Ljava/util/Map;)V'), ('Lbolts/MeasurementEvent;', 'sendBroadcast', '()V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.parse.bolts.measurement_event to construct an Intent

Method bolts.AppLinkNavigation.navigate():


    public bolts.AppLinkNavigation$NavigationResult navigate(android.content.Context p18)
    {
        android.content.pm.PackageManager v8 = p18.getPackageManager();
        android.os.Bundle v5 = this.buildAppLinkDataForNavigation(p18);
        android.content.Intent v4 = 0;
        java.util.Iterator v6 = this.getAppLink().getTargets().iterator();
        while (v6.hasNext()) {
            bolts.AppLink$Target v11_1 = ((bolts.AppLink$Target) v6.next());
            android.content.Intent v12_1 = new android.content.Intent("android.intent.action.VIEW");
            if (v11_1.getUrl() == null) {
                v12_1.setData(this.appLink.getSourceUrl());
            } else {
                v12_1.setData(v11_1.getUrl());
            }
            v12_1.setPackage(v11_1.getPackageName());
            if (v11_1.getClassName() != null) {
                v12_1.setClassName(v11_1.getPackageName(), v11_1.getClassName());
            }
            v12_1.putExtra("al_applink_data", v5);
            if (v8.resolveActivity(v12_1, 65536) != null) {
                v4 = v12_1;
                break;
            }
        }
        android.content.Intent v7_0 = 0;
        bolts.AppLinkNavigation$NavigationResult v10 = bolts.AppLinkNavigation$NavigationResult.FAILED;
        if (v4 == null) {
            android.net.Uri v13_0 = this.getAppLink().getWebUrl();
            if (v13_0 != null) {
                try {
                    v7_0 = new android.content.Intent("android.intent.action.VIEW", v13_0.buildUpon().appendQueryParameter("al_applink_data", this.getJSONForBundle(v5).toString()).build());
                    v10 = bolts.AppLinkNavigation$NavigationResult.WEB;
                } catch (org.json.JSONException v3) {
                    this.sendAppLinkNavigateEventBroadcast(p18, v4, bolts.AppLinkNavigation$NavigationResult.FAILED, v3);
                    throw new RuntimeException(v3);
                }
            }
        } else {
            v7_0 = v4;
            v10 = bolts.AppLinkNavigation$NavigationResult.APP;
        }
        this.sendAppLinkNavigateEventBroadcast(p18, v7_0, v10, 0);
        if (v7_0 != null) {
            p18.startActivity(v7_0);
        }
        return v10;
    }

Method bolts.AppLinkNavigation.sendAppLinkNavigateEventBroadcast():


    private void sendAppLinkNavigateEventBroadcast(android.content.Context p4, android.content.Intent p5, bolts.AppLinkNavigation$NavigationResult p6, org.json.JSONException p7)
    {
        java.util.HashMap v0_1 = new java.util.HashMap();
        if (p7 != null) {
            v0_1.put("error", p7.getLocalizedMessage());
        }
        String v1_0;
        if (!p6.isSucceeded()) {
            v1_0 = "0";
        } else {
            v1_0 = "1";
        }
        v0_1.put("success", v1_0);
        v0_1.put("type", p6.getCode());
        bolts.MeasurementEvent.sendBroadcastEvent(p4, "al_nav_out", p5, v0_1);
        return;
    }

Method bolts.MeasurementEvent.sendBroadcastEvent():


    static void sendBroadcastEvent(android.content.Context p11, String p12, android.content.Intent p13, java.util.Map p14)
    {
        android.os.Bundle v6_1 = new android.os.Bundle();
        if (p13 != null) {
            android.os.Bundle v0 = bolts.AppLinks.getAppLinkData(p13);
            if (v0 == null) {
                android.net.Uri v4 = p13.getData();
                if (v4 != null) {
                    v6_1.putString("intentData", v4.toString());
                }
                android.os.Bundle v3 = p13.getExtras();
                if (v3 != null) {
                    java.util.Iterator v2_0 = v3.keySet().iterator();
                    while (v2_0.hasNext()) {
                        String v5_1 = ((String) v2_0.next());
                        v6_1.putString(v5_1, bolts.MeasurementEvent.objectToJSONString(v3.get(v5_1)));
                    }
                }
            } else {
                v6_1 = bolts.MeasurementEvent.getApplinkLogData(p11, p12, v0, p13);
            }
        }
        if (p14 != null) {
            java.util.Iterator v2_1 = p14.keySet().iterator();
            while (v2_1.hasNext()) {
                String v5_3 = ((String) v2_1.next());
                v6_1.putString(v5_3, ((String) p14.get(v5_3)));
            }
        }
        new bolts.MeasurementEvent(p11, p12, v6_1).sendBroadcast();
        return;
    }

Method bolts.MeasurementEvent.sendBroadcast():


    private void sendBroadcast()
    {
        if (this.name == null) {
            android.util.Log.d(this.getClass().getName(), "Event name is required");
        }
        try {
            Class v0 = Class.forName("android.support.v4.content.LocalBroadcastManager");
            String v7_1 = new Class[1];
            v7_1[0] = android.content.Context;
            reflect.Method v4 = v0.getMethod("getInstance", v7_1);
            String v7_3 = new Class[1];
            v7_3[0] = android.content.Intent;
            reflect.Method v5 = v0.getMethod("sendBroadcast", v7_3);
            String v7_5 = new Object[1];
            v7_5[0] = this.appContext;
            Object v3 = v4.invoke(0, v7_5);
            android.content.Intent v2_1 = new android.content.Intent("com.parse.bolts.measurement_event");
            v2_1.putExtra("event_name", this.name);
            v2_1.putExtra("event_args", this.args);
            String v6_9 = new Object[1];
            v6_9[0] = v2_1;
            v5.invoke(v3, v6_9);
        } catch (Exception v1) {
            android.util.Log.d(this.getClass().getName(), "LocalBroadcastManager in android support library is required to raise bolts event.");
        }
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'com.parse.bolts.measurement_event' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lbolts/AppLinks;', 'getTargetUrlFromInboundIntent', '(Landroid/content/Context; Landroid/content/Intent;)Landroid/net/Uri;'), ('Lbolts/MeasurementEvent;', 'sendBroadcastEvent', '(Landroid/content/Context; Ljava/lang/String; Landroid/content/Intent; Ljava/util/Map;)V'), ('Lbolts/MeasurementEvent;', 'sendBroadcast', '()V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.parse.bolts.measurement_event to construct an Intent

Method bolts.AppLinks.getTargetUrlFromInboundIntent():


    public static android.net.Uri getTargetUrlFromInboundIntent(android.content.Context p4, android.content.Intent p5)
    {
        android.net.Uri v2 = 0;
        android.os.Bundle v0 = bolts.AppLinks.getAppLinkData(p5);
        if (v0 != null) {
            String v1 = v0.getString("target_url");
            if (v1 != null) {
                bolts.MeasurementEvent.sendBroadcastEvent(p4, "al_nav_in", p5, 0);
                v2 = android.net.Uri.parse(v1);
            }
        }
        return v2;
    }

Method bolts.MeasurementEvent.sendBroadcastEvent():


    static void sendBroadcastEvent(android.content.Context p11, String p12, android.content.Intent p13, java.util.Map p14)
    {
        android.os.Bundle v6_1 = new android.os.Bundle();
        if (p13 != null) {
            android.os.Bundle v0 = bolts.AppLinks.getAppLinkData(p13);
            if (v0 == null) {
                android.net.Uri v4 = p13.getData();
                if (v4 != null) {
                    v6_1.putString("intentData", v4.toString());
                }
                android.os.Bundle v3 = p13.getExtras();
                if (v3 != null) {
                    java.util.Iterator v2_0 = v3.keySet().iterator();
                    while (v2_0.hasNext()) {
                        String v5_1 = ((String) v2_0.next());
                        v6_1.putString(v5_1, bolts.MeasurementEvent.objectToJSONString(v3.get(v5_1)));
                    }
                }
            } else {
                v6_1 = bolts.MeasurementEvent.getApplinkLogData(p11, p12, v0, p13);
            }
        }
        if (p14 != null) {
            java.util.Iterator v2_1 = p14.keySet().iterator();
            while (v2_1.hasNext()) {
                String v5_3 = ((String) v2_1.next());
                v6_1.putString(v5_3, ((String) p14.get(v5_3)));
            }
        }
        new bolts.MeasurementEvent(p11, p12, v6_1).sendBroadcast();
        return;
    }

Method bolts.MeasurementEvent.sendBroadcast():


    private void sendBroadcast()
    {
        if (this.name == null) {
            android.util.Log.d(this.getClass().getName(), "Event name is required");
        }
        try {
            Class v0 = Class.forName("android.support.v4.content.LocalBroadcastManager");
            String v7_1 = new Class[1];
            v7_1[0] = android.content.Context;
            reflect.Method v4 = v0.getMethod("getInstance", v7_1);
            String v7_3 = new Class[1];
            v7_3[0] = android.content.Intent;
            reflect.Method v5 = v0.getMethod("sendBroadcast", v7_3);
            String v7_5 = new Object[1];
            v7_5[0] = this.appContext;
            Object v3 = v4.invoke(0, v7_5);
            android.content.Intent v2_1 = new android.content.Intent("com.parse.bolts.measurement_event");
            v2_1.putExtra("event_name", this.name);
            v2_1.putExtra("event_args", this.args);
            String v6_9 = new Object[1];
            v6_9[0] = v2_1;
            v5.invoke(v3, v6_9);
        } catch (Exception v1) {
            android.util.Log.d(this.getClass().getName(), "LocalBroadcastManager in android support library is required to raise bolts event.");
        }
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'com.parse.bolts.measurement_event' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lbolts/MeasurementEvent;', 'sendBroadcast', '()V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.parse.bolts.measurement_event to construct an Intent

Method bolts.MeasurementEvent.sendBroadcast():


    private void sendBroadcast()
    {
        if (this.name == null) {
            android.util.Log.d(this.getClass().getName(), "Event name is required");
        }
        try {
            Class v0 = Class.forName("android.support.v4.content.LocalBroadcastManager");
            String v7_1 = new Class[1];
            v7_1[0] = android.content.Context;
            reflect.Method v4 = v0.getMethod("getInstance", v7_1);
            String v7_3 = new Class[1];
            v7_3[0] = android.content.Intent;
            reflect.Method v5 = v0.getMethod("sendBroadcast", v7_3);
            String v7_5 = new Object[1];
            v7_5[0] = this.appContext;
            Object v3 = v4.invoke(0, v7_5);
            android.content.Intent v2_1 = new android.content.Intent("com.parse.bolts.measurement_event");
            v2_1.putExtra("event_name", this.name);
            v2_1.putExtra("event_args", this.args);
            String v6_9 = new Object[1];
            v6_9[0] = v2_1;
            v5.invoke(v3, v6_9);
        } catch (Exception v1) {
            android.util.Log.d(this.getClass().getName(), "LocalBroadcastManager in android support library is required to raise bolts event.");
        }
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'com.parse.bolts.measurement_event' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lbolts/MeasurementEvent;', 'sendBroadcastEvent', '(Landroid/content/Context; Ljava/lang/String; Landroid/content/Intent; Ljava/util/Map;)V'), ('Lbolts/MeasurementEvent;', 'sendBroadcast', '()V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.parse.bolts.measurement_event to construct an Intent

Method bolts.MeasurementEvent.sendBroadcastEvent():


    static void sendBroadcastEvent(android.content.Context p11, String p12, android.content.Intent p13, java.util.Map p14)
    {
        android.os.Bundle v6_1 = new android.os.Bundle();
        if (p13 != null) {
            android.os.Bundle v0 = bolts.AppLinks.getAppLinkData(p13);
            if (v0 == null) {
                android.net.Uri v4 = p13.getData();
                if (v4 != null) {
                    v6_1.putString("intentData", v4.toString());
                }
                android.os.Bundle v3 = p13.getExtras();
                if (v3 != null) {
                    java.util.Iterator v2_0 = v3.keySet().iterator();
                    while (v2_0.hasNext()) {
                        String v5_1 = ((String) v2_0.next());
                        v6_1.putString(v5_1, bolts.MeasurementEvent.objectToJSONString(v3.get(v5_1)));
                    }
                }
            } else {
                v6_1 = bolts.MeasurementEvent.getApplinkLogData(p11, p12, v0, p13);
            }
        }
        if (p14 != null) {
            java.util.Iterator v2_1 = p14.keySet().iterator();
            while (v2_1.hasNext()) {
                String v5_3 = ((String) v2_1.next());
                v6_1.putString(v5_3, ((String) p14.get(v5_3)));
            }
        }
        new bolts.MeasurementEvent(p11, p12, v6_1).sendBroadcast();
        return;
    }

Method bolts.MeasurementEvent.sendBroadcast():


    private void sendBroadcast()
    {
        if (this.name == null) {
            android.util.Log.d(this.getClass().getName(), "Event name is required");
        }
        try {
            Class v0 = Class.forName("android.support.v4.content.LocalBroadcastManager");
            String v7_1 = new Class[1];
            v7_1[0] = android.content.Context;
            reflect.Method v4 = v0.getMethod("getInstance", v7_1);
            String v7_3 = new Class[1];
            v7_3[0] = android.content.Intent;
            reflect.Method v5 = v0.getMethod("sendBroadcast", v7_3);
            String v7_5 = new Object[1];
            v7_5[0] = this.appContext;
            Object v3 = v4.invoke(0, v7_5);
            android.content.Intent v2_1 = new android.content.Intent("com.parse.bolts.measurement_event");
            v2_1.putExtra("event_name", this.name);
            v2_1.putExtra("event_args", this.args);
            String v6_9 = new Object[1];
            v6_9[0] = v2_1;
            v5.invoke(v3, v6_9);
        } catch (Exception v1) {
            android.util.Log.d(this.getClass().getName(), "LocalBroadcastManager in android support library is required to raise bolts event.");
        }
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'com.facebook.sdk.EXTRA_NEW_ACCESS_TOKEN' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/facebook/AccessToken;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken;)V'), ('Lcom/facebook/AccessTokenManager;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken;)V'), ('Lcom/facebook/AccessTokenManager;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken; Z)V'), ('Lcom/facebook/AccessTokenManager;', 'sendCurrentAccessTokenChangedBroadcast', '(Lcom/facebook/AccessToken; Lcom/facebook/AccessToken;)V'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value com.facebook.sdk.EXTRA_NEW_ACCESS_TOKEN to construct an Intent

Method com.facebook.AccessToken.setCurrentAccessToken():


    public static void setCurrentAccessToken(com.facebook.AccessToken p1)
    {
        com.facebook.AccessTokenManager.getInstance().setCurrentAccessToken(p1);
        return;
    }

Method com.facebook.AccessTokenManager.setCurrentAccessToken():


    void setCurrentAccessToken(com.facebook.AccessToken p2)
    {
        this.setCurrentAccessToken(p2, 1);
        return;
    }

Method com.facebook.AccessTokenManager.setCurrentAccessToken():


    private void setCurrentAccessToken(com.facebook.AccessToken p5, boolean p6)
    {
        com.facebook.AccessToken v0 = this.currentAccessToken;
        this.currentAccessToken = p5;
        this.tokenRefreshInProgress.set(0);
        this.lastAttemptedTokenExtendDate = new java.util.Date(0);
        if (p6) {
            if (p5 == null) {
                this.accessTokenCache.clear();
                com.facebook.internal.Utility.clearFacebookCookies(com.facebook.FacebookSdk.getApplicationContext());
            } else {
                this.accessTokenCache.save(p5);
            }
        }
        if (!com.facebook.internal.Utility.areObjectsEqual(v0, p5)) {
            this.sendCurrentAccessTokenChangedBroadcast(v0, p5);
        }
        return;
    }

Method com.facebook.AccessTokenManager.sendCurrentAccessTokenChangedBroadcast():


    private void sendCurrentAccessTokenChangedBroadcast(com.facebook.AccessToken p3, com.facebook.AccessToken p4)
    {
        android.content.Intent v0_1 = new android.content.Intent("com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED");
        v0_1.putExtra("com.facebook.sdk.EXTRA_OLD_ACCESS_TOKEN", p3);
        v0_1.putExtra("com.facebook.sdk.EXTRA_NEW_ACCESS_TOKEN", p4);
        this.localBroadcastManager.sendBroadcast(v0_1);
        return;
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/facebook/AccessToken;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken;)V'), ('Lcom/facebook/AccessTokenManager;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken;)V'), ('Lcom/facebook/AccessTokenManager;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken; Z)V'), ('Lcom/facebook/AccessTokenManager;', 'sendCurrentAccessTokenChangedBroadcast', '(Lcom/facebook/AccessToken; Lcom/facebook/AccessToken;)V'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED to construct an Intent

Method com.facebook.AccessToken.setCurrentAccessToken():


    public static void setCurrentAccessToken(com.facebook.AccessToken p1)
    {
        com.facebook.AccessTokenManager.getInstance().setCurrentAccessToken(p1);
        return;
    }

Method com.facebook.AccessTokenManager.setCurrentAccessToken():


    void setCurrentAccessToken(com.facebook.AccessToken p2)
    {
        this.setCurrentAccessToken(p2, 1);
        return;
    }

Method com.facebook.AccessTokenManager.setCurrentAccessToken():


    private void setCurrentAccessToken(com.facebook.AccessToken p5, boolean p6)
    {
        com.facebook.AccessToken v0 = this.currentAccessToken;
        this.currentAccessToken = p5;
        this.tokenRefreshInProgress.set(0);
        this.lastAttemptedTokenExtendDate = new java.util.Date(0);
        if (p6) {
            if (p5 == null) {
                this.accessTokenCache.clear();
                com.facebook.internal.Utility.clearFacebookCookies(com.facebook.FacebookSdk.getApplicationContext());
            } else {
                this.accessTokenCache.save(p5);
            }
        }
        if (!com.facebook.internal.Utility.areObjectsEqual(v0, p5)) {
            this.sendCurrentAccessTokenChangedBroadcast(v0, p5);
        }
        return;
    }

Method com.facebook.AccessTokenManager.sendCurrentAccessTokenChangedBroadcast():


    private void sendCurrentAccessTokenChangedBroadcast(com.facebook.AccessToken p3, com.facebook.AccessToken p4)
    {
        android.content.Intent v0_1 = new android.content.Intent("com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED");
        v0_1.putExtra("com.facebook.sdk.EXTRA_OLD_ACCESS_TOKEN", p3);
        v0_1.putExtra("com.facebook.sdk.EXTRA_NEW_ACCESS_TOKEN", p4);
        this.localBroadcastManager.sendBroadcast(v0_1);
        return;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'com.facebook.sdk.EXTRA_OLD_ACCESS_TOKEN' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/facebook/AccessToken;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken;)V'), ('Lcom/facebook/AccessTokenManager;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken;)V'), ('Lcom/facebook/AccessTokenManager;', 'setCurrentAccessToken', '(Lcom/facebook/AccessToken; Z)V'), ('Lcom/facebook/AccessTokenManager;', 'sendCurrentAccessTokenChangedBroadcast', '(Lcom/facebook/AccessToken; Lcom/facebook/AccessToken;)V'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value com.facebook.sdk.EXTRA_OLD_ACCESS_TOKEN to construct an Intent

Method com.facebook.AccessToken.setCurrentAccessToken():


    public static void setCurrentAccessToken(com.facebook.AccessToken p1)
    {
        com.facebook.AccessTokenManager.getInstance().setCurrentAccessToken(p1);
        return;
    }

Method com.facebook.AccessTokenManager.setCurrentAccessToken():


    void setCurrentAccessToken(com.facebook.AccessToken p2)
    {
        this.setCurrentAccessToken(p2, 1);
        return;
    }

Method com.facebook.AccessTokenManager.setCurrentAccessToken():


    private void setCurrentAccessToken(com.facebook.AccessToken p5, boolean p6)
    {
        com.facebook.AccessToken v0 = this.currentAccessToken;
        this.currentAccessToken = p5;
        this.tokenRefreshInProgress.set(0);
        this.lastAttemptedTokenExtendDate = new java.util.Date(0);
        if (p6) {
            if (p5 == null) {
                this.accessTokenCache.clear();
                com.facebook.internal.Utility.clearFacebookCookies(com.facebook.FacebookSdk.getApplicationContext());
            } else {
                this.accessTokenCache.save(p5);
            }
        }
        if (!com.facebook.internal.Utility.areObjectsEqual(v0, p5)) {
            this.sendCurrentAccessTokenChangedBroadcast(v0, p5);
        }
        return;
    }

Method com.facebook.AccessTokenManager.sendCurrentAccessTokenChangedBroadcast():


    private void sendCurrentAccessTokenChangedBroadcast(com.facebook.AccessToken p3, com.facebook.AccessToken p4)
    {
        android.content.Intent v0_1 = new android.content.Intent("com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED");
        v0_1.putExtra("com.facebook.sdk.EXTRA_OLD_ACCESS_TOKEN", p3);
        v0_1.putExtra("com.facebook.sdk.EXTRA_NEW_ACCESS_TOKEN", p4);
        this.localBroadcastManager.sendBroadcast(v0_1);
        return;
    }

Method android.content.Intent.putExtra() not found.