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 'google.messenger' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzs;', 'run', '()V'), ('Lcom/google/firebase/iid/zzr;', 'zza', '(Landroid/os/Bundle; Lcom/google/android/gms/tasks/TaskCompletionSource;)V'), ('Lcom/google/firebase/iid/zzat;', 'zzc', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value google.messenger to construct an Intent

Method com.google.firebase.iid.zzs.run():


    public final void run()
    {
        this.zzbk.zza(this.zzbl, this.zzbm);
        return;
    }

Method com.google.firebase.iid.zzr.zza():


    final synthetic void zza(android.os.Bundle p2, com.google.android.gms.tasks.TaskCompletionSource p3)
    {
        try {
            p3.setResult(this.zzbi.zzc(p2));
            return;
        } catch (java.io.IOException v2_2) {
            p3.setException(v2_2);
            return;
        }
    }

Method com.google.firebase.iid.zzat.zzc():


    final android.os.Bundle zzc(android.os.Bundle p6)
    {
        if (this.zzan.zzaf() < 12000000) {
            return this.zzd(p6);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(com.google.firebase.iid.zzab.zzc(this.zzx).zzb(1, p6)));
            } catch (int v0_5) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    String v2_1 = String.valueOf(v0_5);
                    StringBuilder v4_1 = new StringBuilder((String.valueOf(v2_1).length() + 22));
                    v4_1.append("Error making request: ");
                    v4_1.append(v2_1);
                    android.util.Log.d("FirebaseInstanceId", v4_1.toString());
                }
                if ((v0_5.getCause() instanceof com.google.firebase.iid.zzal)) {
                    if (((com.google.firebase.iid.zzal) v0_5.getCause()).getErrorCode() == 4) {
                        return this.zzd(p6);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

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

[TAINT] String 'com.google.firebase.MESSAGING_EVENT' ==>>> Sink '['Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzay;', 'run', '()V'), ('Lcom/google/firebase/iid/zzay;', 'zzan', '()Z'), ('Lcom/google/firebase/iid/zzav;', 'zzc', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V')]]

Use of a string value com.google.firebase.MESSAGING_EVENT to construct an Intent

Method com.google.firebase.iid.zzay.run():


    public final void run()
    {
        this.zzdi.acquire();
        try {
            this.zzdj.zza(1);
        } catch (com.google.firebase.iid.FirebaseInstanceId v0_9) {
            this.zzdi.release();
            throw v0_9;
        }
        if (this.zzdj.zzn()) {
            if (this.zzao()) {
                if ((!this.zzam()) || ((!this.zzan()) || (!this.zzaq.zzc(this.zzdj)))) {
                    this.zzdj.zza(this.zzdh);
                } else {
                    this.zzdj.zza(0);
                }
                this.zzdi.release();
                return;
            } else {
                new com.google.firebase.iid.zzaz(this).zzap();
                this.zzdi.release();
                return;
            }
        } else {
            this.zzdj.zza(0);
            this.zzdi.release();
            return;
        }
    }

Method com.google.firebase.iid.zzay.zzan():


    private final boolean zzan()
    {
        boolean v0_1 = this.zzdj.zzj();
        if ((!v0_1) || (v0_1.zzj(this.zzan.zzad()))) {
            try {
                android.content.Intent v3_1 = this.zzdj.zzk();
            } catch (boolean v0_6) {
                boolean v0_8 = String.valueOf(v0_6.getMessage());
                if (v0_8.length() == 0) {
                    boolean v0_10 = new String("Token retrieval failed: ");
                } else {
                    v0_10 = "Token retrieval failed: ".concat(v0_8);
                }
                android.util.Log.e("FirebaseInstanceId", v0_10);
                return 0;
            }
            if (v3_1 != null) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    android.util.Log.d("FirebaseInstanceId", "Token successfully retrieved");
                }
                if ((!v0_1) || ((v0_1) && (!v3_1.equals(v0_1.zzbq)))) {
                    boolean v0_4 = this.getContext();
                    String v4_4 = new android.content.Intent("com.google.firebase.messaging.NEW_TOKEN");
                    v4_4.putExtra("token", v3_1);
                    com.google.firebase.iid.zzav.zzc(v0_4, v4_4);
                    com.google.firebase.iid.zzav.zzb(v0_4, new android.content.Intent("com.google.firebase.iid.TOKEN_REFRESH"));
                }
                return 1;
            } else {
                android.util.Log.e("FirebaseInstanceId", "Token retrieval failed: null");
                return 0;
            }
        } else {
            return 1;
        }
    }

Method com.google.firebase.iid.zzav.zzc():


    public static void zzc(android.content.Context p1, android.content.Intent p2)
    {
        p1.sendBroadcast(com.google.firebase.iid.zzav.zza(p1, "com.google.firebase.MESSAGING_EVENT", p2));
        return;
    }

Method android.content.Context.sendBroadcast() not found.

[TAINT] String 'com.google.firebase.INSTANCE_ID_EVENT' ==>>> Sink '['Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzay;', 'run', '()V'), ('Lcom/google/firebase/iid/zzay;', 'zzan', '()Z'), ('Lcom/google/firebase/iid/zzav;', 'zzb', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V')]]

Use of a string value com.google.firebase.INSTANCE_ID_EVENT to construct an Intent

Method com.google.firebase.iid.zzay.run():


    public final void run()
    {
        this.zzdi.acquire();
        try {
            this.zzdj.zza(1);
        } catch (com.google.firebase.iid.FirebaseInstanceId v0_9) {
            this.zzdi.release();
            throw v0_9;
        }
        if (this.zzdj.zzn()) {
            if (this.zzao()) {
                if ((!this.zzam()) || ((!this.zzan()) || (!this.zzaq.zzc(this.zzdj)))) {
                    this.zzdj.zza(this.zzdh);
                } else {
                    this.zzdj.zza(0);
                }
                this.zzdi.release();
                return;
            } else {
                new com.google.firebase.iid.zzaz(this).zzap();
                this.zzdi.release();
                return;
            }
        } else {
            this.zzdj.zza(0);
            this.zzdi.release();
            return;
        }
    }

Method com.google.firebase.iid.zzay.zzan():


    private final boolean zzan()
    {
        boolean v0_1 = this.zzdj.zzj();
        if ((!v0_1) || (v0_1.zzj(this.zzan.zzad()))) {
            try {
                android.content.Intent v3_1 = this.zzdj.zzk();
            } catch (boolean v0_6) {
                boolean v0_8 = String.valueOf(v0_6.getMessage());
                if (v0_8.length() == 0) {
                    boolean v0_10 = new String("Token retrieval failed: ");
                } else {
                    v0_10 = "Token retrieval failed: ".concat(v0_8);
                }
                android.util.Log.e("FirebaseInstanceId", v0_10);
                return 0;
            }
            if (v3_1 != null) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    android.util.Log.d("FirebaseInstanceId", "Token successfully retrieved");
                }
                if ((!v0_1) || ((v0_1) && (!v3_1.equals(v0_1.zzbq)))) {
                    boolean v0_4 = this.getContext();
                    String v4_4 = new android.content.Intent("com.google.firebase.messaging.NEW_TOKEN");
                    v4_4.putExtra("token", v3_1);
                    com.google.firebase.iid.zzav.zzc(v0_4, v4_4);
                    com.google.firebase.iid.zzav.zzb(v0_4, new android.content.Intent("com.google.firebase.iid.TOKEN_REFRESH"));
                }
                return 1;
            } else {
                android.util.Log.e("FirebaseInstanceId", "Token retrieval failed: null");
                return 0;
            }
        } else {
            return 1;
        }
    }

Method com.google.firebase.iid.zzav.zzb():


    public static void zzb(android.content.Context p1, android.content.Intent p2)
    {
        p1.sendBroadcast(com.google.firebase.iid.zzav.zza(p1, "com.google.firebase.INSTANCE_ID_EVENT", p2));
        return;
    }

Method android.content.Context.sendBroadcast() not found.

[TAINT] String 'com.google.firebase.iid.TOKEN_REFRESH' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzay;', 'run', '()V'), ('Lcom/google/firebase/iid/zzay;', 'zzan', '()Z'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.firebase.iid.TOKEN_REFRESH to construct an Intent

Method com.google.firebase.iid.zzay.run():


    public final void run()
    {
        this.zzdi.acquire();
        try {
            this.zzdj.zza(1);
        } catch (com.google.firebase.iid.FirebaseInstanceId v0_9) {
            this.zzdi.release();
            throw v0_9;
        }
        if (this.zzdj.zzn()) {
            if (this.zzao()) {
                if ((!this.zzam()) || ((!this.zzan()) || (!this.zzaq.zzc(this.zzdj)))) {
                    this.zzdj.zza(this.zzdh);
                } else {
                    this.zzdj.zza(0);
                }
                this.zzdi.release();
                return;
            } else {
                new com.google.firebase.iid.zzaz(this).zzap();
                this.zzdi.release();
                return;
            }
        } else {
            this.zzdj.zza(0);
            this.zzdi.release();
            return;
        }
    }

Method com.google.firebase.iid.zzay.zzan():


    private final boolean zzan()
    {
        boolean v0_1 = this.zzdj.zzj();
        if ((!v0_1) || (v0_1.zzj(this.zzan.zzad()))) {
            try {
                android.content.Intent v3_1 = this.zzdj.zzk();
            } catch (boolean v0_6) {
                boolean v0_8 = String.valueOf(v0_6.getMessage());
                if (v0_8.length() == 0) {
                    boolean v0_10 = new String("Token retrieval failed: ");
                } else {
                    v0_10 = "Token retrieval failed: ".concat(v0_8);
                }
                android.util.Log.e("FirebaseInstanceId", v0_10);
                return 0;
            }
            if (v3_1 != null) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    android.util.Log.d("FirebaseInstanceId", "Token successfully retrieved");
                }
                if ((!v0_1) || ((v0_1) && (!v3_1.equals(v0_1.zzbq)))) {
                    boolean v0_4 = this.getContext();
                    String v4_4 = new android.content.Intent("com.google.firebase.messaging.NEW_TOKEN");
                    v4_4.putExtra("token", v3_1);
                    com.google.firebase.iid.zzav.zzc(v0_4, v4_4);
                    com.google.firebase.iid.zzav.zzb(v0_4, new android.content.Intent("com.google.firebase.iid.TOKEN_REFRESH"));
                }
                return 1;
            } else {
                android.util.Log.e("FirebaseInstanceId", "Token retrieval failed: null");
                return 0;
            }
        } else {
            return 1;
        }
    }

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

[TAINT] String 'com.google.firebase.messaging.NEW_TOKEN' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzay;', 'run', '()V'), ('Lcom/google/firebase/iid/zzay;', 'zzan', '()Z'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.firebase.messaging.NEW_TOKEN to construct an Intent

Method com.google.firebase.iid.zzay.run():


    public final void run()
    {
        this.zzdi.acquire();
        try {
            this.zzdj.zza(1);
        } catch (com.google.firebase.iid.FirebaseInstanceId v0_9) {
            this.zzdi.release();
            throw v0_9;
        }
        if (this.zzdj.zzn()) {
            if (this.zzao()) {
                if ((!this.zzam()) || ((!this.zzan()) || (!this.zzaq.zzc(this.zzdj)))) {
                    this.zzdj.zza(this.zzdh);
                } else {
                    this.zzdj.zza(0);
                }
                this.zzdi.release();
                return;
            } else {
                new com.google.firebase.iid.zzaz(this).zzap();
                this.zzdi.release();
                return;
            }
        } else {
            this.zzdj.zza(0);
            this.zzdi.release();
            return;
        }
    }

Method com.google.firebase.iid.zzay.zzan():


    private final boolean zzan()
    {
        boolean v0_1 = this.zzdj.zzj();
        if ((!v0_1) || (v0_1.zzj(this.zzan.zzad()))) {
            try {
                android.content.Intent v3_1 = this.zzdj.zzk();
            } catch (boolean v0_6) {
                boolean v0_8 = String.valueOf(v0_6.getMessage());
                if (v0_8.length() == 0) {
                    boolean v0_10 = new String("Token retrieval failed: ");
                } else {
                    v0_10 = "Token retrieval failed: ".concat(v0_8);
                }
                android.util.Log.e("FirebaseInstanceId", v0_10);
                return 0;
            }
            if (v3_1 != null) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    android.util.Log.d("FirebaseInstanceId", "Token successfully retrieved");
                }
                if ((!v0_1) || ((v0_1) && (!v3_1.equals(v0_1.zzbq)))) {
                    boolean v0_4 = this.getContext();
                    String v4_4 = new android.content.Intent("com.google.firebase.messaging.NEW_TOKEN");
                    v4_4.putExtra("token", v3_1);
                    com.google.firebase.iid.zzav.zzc(v0_4, v4_4);
                    com.google.firebase.iid.zzav.zzb(v0_4, new android.content.Intent("com.google.firebase.iid.TOKEN_REFRESH"));
                }
                return 1;
            } else {
                android.util.Log.e("FirebaseInstanceId", "Token retrieval failed: null");
                return 0;
            }
        } else {
            return 1;
        }
    }

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

[TAINT] String 'com.google.firebase.MESSAGING_EVENT' ==>>> Sink '['Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzay;', 'zzan', '()Z'), ('Lcom/google/firebase/iid/zzav;', 'zzc', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V')]]

Use of a string value com.google.firebase.MESSAGING_EVENT to construct an Intent

Method com.google.firebase.iid.zzay.zzan():


    private final boolean zzan()
    {
        boolean v0_1 = this.zzdj.zzj();
        if ((!v0_1) || (v0_1.zzj(this.zzan.zzad()))) {
            try {
                android.content.Intent v3_1 = this.zzdj.zzk();
            } catch (boolean v0_6) {
                boolean v0_8 = String.valueOf(v0_6.getMessage());
                if (v0_8.length() == 0) {
                    boolean v0_10 = new String("Token retrieval failed: ");
                } else {
                    v0_10 = "Token retrieval failed: ".concat(v0_8);
                }
                android.util.Log.e("FirebaseInstanceId", v0_10);
                return 0;
            }
            if (v3_1 != null) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    android.util.Log.d("FirebaseInstanceId", "Token successfully retrieved");
                }
                if ((!v0_1) || ((v0_1) && (!v3_1.equals(v0_1.zzbq)))) {
                    boolean v0_4 = this.getContext();
                    String v4_4 = new android.content.Intent("com.google.firebase.messaging.NEW_TOKEN");
                    v4_4.putExtra("token", v3_1);
                    com.google.firebase.iid.zzav.zzc(v0_4, v4_4);
                    com.google.firebase.iid.zzav.zzb(v0_4, new android.content.Intent("com.google.firebase.iid.TOKEN_REFRESH"));
                }
                return 1;
            } else {
                android.util.Log.e("FirebaseInstanceId", "Token retrieval failed: null");
                return 0;
            }
        } else {
            return 1;
        }
    }

Method com.google.firebase.iid.zzav.zzc():


    public static void zzc(android.content.Context p1, android.content.Intent p2)
    {
        p1.sendBroadcast(com.google.firebase.iid.zzav.zza(p1, "com.google.firebase.MESSAGING_EVENT", p2));
        return;
    }

Method android.content.Context.sendBroadcast() not found.

[TAINT] String 'com.google.firebase.INSTANCE_ID_EVENT' ==>>> Sink '['Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzay;', 'zzan', '()Z'), ('Lcom/google/firebase/iid/zzav;', 'zzb', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V')]]

Use of a string value com.google.firebase.INSTANCE_ID_EVENT to construct an Intent

Method com.google.firebase.iid.zzay.zzan():


    private final boolean zzan()
    {
        boolean v0_1 = this.zzdj.zzj();
        if ((!v0_1) || (v0_1.zzj(this.zzan.zzad()))) {
            try {
                android.content.Intent v3_1 = this.zzdj.zzk();
            } catch (boolean v0_6) {
                boolean v0_8 = String.valueOf(v0_6.getMessage());
                if (v0_8.length() == 0) {
                    boolean v0_10 = new String("Token retrieval failed: ");
                } else {
                    v0_10 = "Token retrieval failed: ".concat(v0_8);
                }
                android.util.Log.e("FirebaseInstanceId", v0_10);
                return 0;
            }
            if (v3_1 != null) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    android.util.Log.d("FirebaseInstanceId", "Token successfully retrieved");
                }
                if ((!v0_1) || ((v0_1) && (!v3_1.equals(v0_1.zzbq)))) {
                    boolean v0_4 = this.getContext();
                    String v4_4 = new android.content.Intent("com.google.firebase.messaging.NEW_TOKEN");
                    v4_4.putExtra("token", v3_1);
                    com.google.firebase.iid.zzav.zzc(v0_4, v4_4);
                    com.google.firebase.iid.zzav.zzb(v0_4, new android.content.Intent("com.google.firebase.iid.TOKEN_REFRESH"));
                }
                return 1;
            } else {
                android.util.Log.e("FirebaseInstanceId", "Token retrieval failed: null");
                return 0;
            }
        } else {
            return 1;
        }
    }

Method com.google.firebase.iid.zzav.zzb():


    public static void zzb(android.content.Context p1, android.content.Intent p2)
    {
        p1.sendBroadcast(com.google.firebase.iid.zzav.zza(p1, "com.google.firebase.INSTANCE_ID_EVENT", p2));
        return;
    }

Method android.content.Context.sendBroadcast() not found.

[TAINT] String 'com.google.firebase.iid.TOKEN_REFRESH' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzay;', 'zzan', '()Z'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.firebase.iid.TOKEN_REFRESH to construct an Intent

Method com.google.firebase.iid.zzay.zzan():


    private final boolean zzan()
    {
        boolean v0_1 = this.zzdj.zzj();
        if ((!v0_1) || (v0_1.zzj(this.zzan.zzad()))) {
            try {
                android.content.Intent v3_1 = this.zzdj.zzk();
            } catch (boolean v0_6) {
                boolean v0_8 = String.valueOf(v0_6.getMessage());
                if (v0_8.length() == 0) {
                    boolean v0_10 = new String("Token retrieval failed: ");
                } else {
                    v0_10 = "Token retrieval failed: ".concat(v0_8);
                }
                android.util.Log.e("FirebaseInstanceId", v0_10);
                return 0;
            }
            if (v3_1 != null) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    android.util.Log.d("FirebaseInstanceId", "Token successfully retrieved");
                }
                if ((!v0_1) || ((v0_1) && (!v3_1.equals(v0_1.zzbq)))) {
                    boolean v0_4 = this.getContext();
                    String v4_4 = new android.content.Intent("com.google.firebase.messaging.NEW_TOKEN");
                    v4_4.putExtra("token", v3_1);
                    com.google.firebase.iid.zzav.zzc(v0_4, v4_4);
                    com.google.firebase.iid.zzav.zzb(v0_4, new android.content.Intent("com.google.firebase.iid.TOKEN_REFRESH"));
                }
                return 1;
            } else {
                android.util.Log.e("FirebaseInstanceId", "Token retrieval failed: null");
                return 0;
            }
        } else {
            return 1;
        }
    }

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

[TAINT] String 'com.google.firebase.messaging.NEW_TOKEN' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzay;', 'zzan', '()Z'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.firebase.messaging.NEW_TOKEN to construct an Intent

Method com.google.firebase.iid.zzay.zzan():


    private final boolean zzan()
    {
        boolean v0_1 = this.zzdj.zzj();
        if ((!v0_1) || (v0_1.zzj(this.zzan.zzad()))) {
            try {
                android.content.Intent v3_1 = this.zzdj.zzk();
            } catch (boolean v0_6) {
                boolean v0_8 = String.valueOf(v0_6.getMessage());
                if (v0_8.length() == 0) {
                    boolean v0_10 = new String("Token retrieval failed: ");
                } else {
                    v0_10 = "Token retrieval failed: ".concat(v0_8);
                }
                android.util.Log.e("FirebaseInstanceId", v0_10);
                return 0;
            }
            if (v3_1 != null) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    android.util.Log.d("FirebaseInstanceId", "Token successfully retrieved");
                }
                if ((!v0_1) || ((v0_1) && (!v3_1.equals(v0_1.zzbq)))) {
                    boolean v0_4 = this.getContext();
                    String v4_4 = new android.content.Intent("com.google.firebase.messaging.NEW_TOKEN");
                    v4_4.putExtra("token", v3_1);
                    com.google.firebase.iid.zzav.zzc(v0_4, v4_4);
                    com.google.firebase.iid.zzav.zzb(v0_4, new android.content.Intent("com.google.firebase.iid.TOKEN_REFRESH"));
                }
                return 1;
            } else {
                android.util.Log.e("FirebaseInstanceId", "Token retrieval failed: null");
                return 0;
            }
        } else {
            return 1;
        }
    }

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

[TAINT] String 'com.google.firebase.MESSAGING_EVENT' ==>>> Sink '['Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzav;', 'zzc', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V')]]

Use of a string value com.google.firebase.MESSAGING_EVENT to construct an Intent

Method com.google.firebase.iid.zzav.zzc():


    public static void zzc(android.content.Context p1, android.content.Intent p2)
    {
        p1.sendBroadcast(com.google.firebase.iid.zzav.zza(p1, "com.google.firebase.MESSAGING_EVENT", p2));
        return;
    }

Method android.content.Context.sendBroadcast() not found.

[TAINT] String 'com.google.firebase.INSTANCE_ID_EVENT' ==>>> Sink '['Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzav;', 'zzb', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Context;', 'sendBroadcast', '(Landroid/content/Intent;)V')]]

Use of a string value com.google.firebase.INSTANCE_ID_EVENT to construct an Intent

Method com.google.firebase.iid.zzav.zzb():


    public static void zzb(android.content.Context p1, android.content.Intent p2)
    {
        p1.sendBroadcast(com.google.firebase.iid.zzav.zza(p1, "com.google.firebase.INSTANCE_ID_EVENT", p2));
        return;
    }

Method android.content.Context.sendBroadcast() not found.

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zzc', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzan;', 'zzac', '()I'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method com.google.firebase.iid.zzat.zzc():


    final android.os.Bundle zzc(android.os.Bundle p6)
    {
        if (this.zzan.zzaf() < 12000000) {
            return this.zzd(p6);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(com.google.firebase.iid.zzab.zzc(this.zzx).zzb(1, p6)));
            } catch (int v0_5) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    String v2_1 = String.valueOf(v0_5);
                    StringBuilder v4_1 = new StringBuilder((String.valueOf(v2_1).length() + 22));
                    v4_1.append("Error making request: ");
                    v4_1.append(v2_1);
                    android.util.Log.d("FirebaseInstanceId", v4_1.toString());
                }
                if ((v0_5.getCause() instanceof com.google.firebase.iid.zzal)) {
                    if (((com.google.firebase.iid.zzal) v0_5.getCause()).getErrorCode() == 4) {
                        return this.zzd(p6);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

Method com.google.firebase.iid.zzan.zzac():


    public final declared_synchronized int zzac()
    {
        try {
            if (this.zzcl == 0) {
                int v0_5 = this.zzx.getPackageManager();
                if (v0_5.checkPermission("com.google.android.c2dm.permission.SEND", "com.google.android.gms") != -1) {
                    if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                        int v1_2 = new android.content.Intent("com.google.android.c2dm.intent.REGISTER");
                        v1_2.setPackage("com.google.android.gms");
                        int v1_3 = v0_5.queryIntentServices(v1_2, 0);
                        if ((v1_3 != 0) && (v1_3.size() > 0)) {
                            this.zzcl = 1;
                            return this.zzcl;
                        }
                    }
                    int v1_6 = new android.content.Intent("com.google.iid.TOKEN_REQUEST");
                    v1_6.setPackage("com.google.android.gms");
                    int v0_2 = v0_5.queryBroadcastReceivers(v1_6, 0);
                    if ((v0_2 == 0) || (v0_2.size() <= 0)) {
                        android.util.Log.w("FirebaseInstanceId", "Failed to resolve IID implementation package, falling back");
                        if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                            this.zzcl = 1;
                        } else {
                            this.zzcl = 2;
                        }
                        return this.zzcl;
                    } else {
                        this.zzcl = 2;
                        return this.zzcl;
                    }
                } else {
                    android.util.Log.e("FirebaseInstanceId", "Google Play services missing or without correct permission.");
                    return 0;
                }
            } else {
                return this.zzcl;
            }
        } catch (int v0_7) {
            throw v0_7;
        }
    }

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

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zzc', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zza', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method com.google.firebase.iid.zzat.zzc():


    final android.os.Bundle zzc(android.os.Bundle p6)
    {
        if (this.zzan.zzaf() < 12000000) {
            return this.zzd(p6);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(com.google.firebase.iid.zzab.zzc(this.zzx).zzb(1, p6)));
            } catch (int v0_5) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    String v2_1 = String.valueOf(v0_5);
                    StringBuilder v4_1 = new StringBuilder((String.valueOf(v2_1).length() + 22));
                    v4_1.append("Error making request: ");
                    v4_1.append(v2_1);
                    android.util.Log.d("FirebaseInstanceId", v4_1.toString());
                }
                if ((v0_5.getCause() instanceof com.google.firebase.iid.zzal)) {
                    if (((com.google.firebase.iid.zzal) v0_5.getCause()).getErrorCode() == 4) {
                        return this.zzd(p6);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

Method com.google.firebase.iid.zzat.zza():


    private static declared_synchronized void zza(android.content.Context p3, android.content.Intent p4)
    {
        try {
            if (com.google.firebase.iid.zzat.zzcr == null) {
                android.app.PendingIntent v1_3 = new android.content.Intent();
                v1_3.setPackage("com.google.example.invalidpackage");
                com.google.firebase.iid.zzat.zzcr = android.app.PendingIntent.getBroadcast(p3, 0, v1_3, 0);
            }
        } catch (String v3_1) {
            throw v3_1;
        }
        p4.putExtra("app", com.google.firebase.iid.zzat.zzcr);
        return;
    }

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

[TAINT] String 'google.messenger' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zzc', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value google.messenger to construct an Intent

Method com.google.firebase.iid.zzat.zzc():


    final android.os.Bundle zzc(android.os.Bundle p6)
    {
        if (this.zzan.zzaf() < 12000000) {
            return this.zzd(p6);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(com.google.firebase.iid.zzab.zzc(this.zzx).zzb(1, p6)));
            } catch (int v0_5) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    String v2_1 = String.valueOf(v0_5);
                    StringBuilder v4_1 = new StringBuilder((String.valueOf(v2_1).length() + 22));
                    v4_1.append("Error making request: ");
                    v4_1.append(v2_1);
                    android.util.Log.d("FirebaseInstanceId", v4_1.toString());
                }
                if ((v0_5.getCause() instanceof com.google.firebase.iid.zzal)) {
                    if (((com.google.firebase.iid.zzal) v0_5.getCause()).getErrorCode() == 4) {
                        return this.zzd(p6);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

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

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zza', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

Method com.google.firebase.iid.zzat.zza():


    private static declared_synchronized void zza(android.content.Context p3, android.content.Intent p4)
    {
        try {
            if (com.google.firebase.iid.zzat.zzcr == null) {
                android.app.PendingIntent v1_3 = new android.content.Intent();
                v1_3.setPackage("com.google.example.invalidpackage");
                com.google.firebase.iid.zzat.zzcr = android.app.PendingIntent.getBroadcast(p3, 0, v1_3, 0);
            }
        } catch (String v3_1) {
            throw v3_1;
        }
        p4.putExtra("app", com.google.firebase.iid.zzat.zzcr);
        return;
    }

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

[TAINT] String 'google.messenger' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value google.messenger to construct an Intent

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

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

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzan;', 'zzac', '()I'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

Method com.google.firebase.iid.zzan.zzac():


    public final declared_synchronized int zzac()
    {
        try {
            if (this.zzcl == 0) {
                int v0_5 = this.zzx.getPackageManager();
                if (v0_5.checkPermission("com.google.android.c2dm.permission.SEND", "com.google.android.gms") != -1) {
                    if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                        int v1_2 = new android.content.Intent("com.google.android.c2dm.intent.REGISTER");
                        v1_2.setPackage("com.google.android.gms");
                        int v1_3 = v0_5.queryIntentServices(v1_2, 0);
                        if ((v1_3 != 0) && (v1_3.size() > 0)) {
                            this.zzcl = 1;
                            return this.zzcl;
                        }
                    }
                    int v1_6 = new android.content.Intent("com.google.iid.TOKEN_REQUEST");
                    v1_6.setPackage("com.google.android.gms");
                    int v0_2 = v0_5.queryBroadcastReceivers(v1_6, 0);
                    if ((v0_2 == 0) || (v0_2.size() <= 0)) {
                        android.util.Log.w("FirebaseInstanceId", "Failed to resolve IID implementation package, falling back");
                        if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                            this.zzcl = 1;
                        } else {
                            this.zzcl = 2;
                        }
                        return this.zzcl;
                    } else {
                        this.zzcl = 2;
                        return this.zzcl;
                    }
                } else {
                    android.util.Log.e("FirebaseInstanceId", "Google Play services missing or without correct permission.");
                    return 0;
                }
            } else {
                return this.zzcl;
            }
        } catch (int v0_7) {
            throw v0_7;
        }
    }

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

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzan;', 'zzac', '()I'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

Method com.google.firebase.iid.zzan.zzac():


    public final declared_synchronized int zzac()
    {
        try {
            if (this.zzcl == 0) {
                int v0_5 = this.zzx.getPackageManager();
                if (v0_5.checkPermission("com.google.android.c2dm.permission.SEND", "com.google.android.gms") != -1) {
                    if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                        int v1_2 = new android.content.Intent("com.google.android.c2dm.intent.REGISTER");
                        v1_2.setPackage("com.google.android.gms");
                        int v1_3 = v0_5.queryIntentServices(v1_2, 0);
                        if ((v1_3 != 0) && (v1_3.size() > 0)) {
                            this.zzcl = 1;
                            return this.zzcl;
                        }
                    }
                    int v1_6 = new android.content.Intent("com.google.iid.TOKEN_REQUEST");
                    v1_6.setPackage("com.google.android.gms");
                    int v0_2 = v0_5.queryBroadcastReceivers(v1_6, 0);
                    if ((v0_2 == 0) || (v0_2.size() <= 0)) {
                        android.util.Log.w("FirebaseInstanceId", "Failed to resolve IID implementation package, falling back");
                        if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                            this.zzcl = 1;
                        } else {
                            this.zzcl = 2;
                        }
                        return this.zzcl;
                    } else {
                        this.zzcl = 2;
                        return this.zzcl;
                    }
                } else {
                    android.util.Log.e("FirebaseInstanceId", "Google Play services missing or without correct permission.");
                    return 0;
                }
            } else {
                return this.zzcl;
            }
        } catch (int v0_7) {
            throw v0_7;
        }
    }

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

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zza', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

Method com.google.firebase.iid.zzat.zza():


    private static declared_synchronized void zza(android.content.Context p3, android.content.Intent p4)
    {
        try {
            if (com.google.firebase.iid.zzat.zzcr == null) {
                android.app.PendingIntent v1_3 = new android.content.Intent();
                v1_3.setPackage("com.google.example.invalidpackage");
                com.google.firebase.iid.zzat.zzcr = android.app.PendingIntent.getBroadcast(p3, 0, v1_3, 0);
            }
        } catch (String v3_1) {
            throw v3_1;
        }
        p4.putExtra("app", com.google.firebase.iid.zzat.zzcr);
        return;
    }

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

[TAINT] String 'google.messenger' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value google.messenger to construct an Intent

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

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

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzat;', 'zza', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method com.google.firebase.iid.zzat.zza():


    private static declared_synchronized void zza(android.content.Context p3, android.content.Intent p4)
    {
        try {
            if (com.google.firebase.iid.zzat.zzcr == null) {
                android.app.PendingIntent v1_3 = new android.content.Intent();
                v1_3.setPackage("com.google.example.invalidpackage");
                com.google.firebase.iid.zzat.zzcr = android.app.PendingIntent.getBroadcast(p3, 0, v1_3, 0);
            }
        } catch (String v3_1) {
            throw v3_1;
        }
        p4.putExtra("app", com.google.firebase.iid.zzat.zzcr);
        return;
    }

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

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzan;', 'zzac', '()I'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method com.google.firebase.iid.zzan.zzac():


    public final declared_synchronized int zzac()
    {
        try {
            if (this.zzcl == 0) {
                int v0_5 = this.zzx.getPackageManager();
                if (v0_5.checkPermission("com.google.android.c2dm.permission.SEND", "com.google.android.gms") != -1) {
                    if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                        int v1_2 = new android.content.Intent("com.google.android.c2dm.intent.REGISTER");
                        v1_2.setPackage("com.google.android.gms");
                        int v1_3 = v0_5.queryIntentServices(v1_2, 0);
                        if ((v1_3 != 0) && (v1_3.size() > 0)) {
                            this.zzcl = 1;
                            return this.zzcl;
                        }
                    }
                    int v1_6 = new android.content.Intent("com.google.iid.TOKEN_REQUEST");
                    v1_6.setPackage("com.google.android.gms");
                    int v0_2 = v0_5.queryBroadcastReceivers(v1_6, 0);
                    if ((v0_2 == 0) || (v0_2.size() <= 0)) {
                        android.util.Log.w("FirebaseInstanceId", "Failed to resolve IID implementation package, falling back");
                        if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                            this.zzcl = 1;
                        } else {
                            this.zzcl = 2;
                        }
                        return this.zzcl;
                    } else {
                        this.zzcl = 2;
                        return this.zzcl;
                    }
                } else {
                    android.util.Log.e("FirebaseInstanceId", "Google Play services missing or without correct permission.");
                    return 0;
                }
            } else {
                return this.zzcl;
            }
        } catch (int v0_7) {
            throw v0_7;
        }
    }

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

[TAINT] String 'google.messenger' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/InstanceID;', 'getToken', '(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/InstanceID;', 'zze', '(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzd', '(Landroid/os/Bundle; Ljava/security/KeyPair;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzj', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzk', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value google.messenger to construct an Intent

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected varargs String doInBackground(Object[] p4)
    {
        try {
            String v4_5 = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.val$mContext);
            StringBuilder v0_5 = new String[1];
            v0_5[0] = com.dimelo.purpleshop.application.Constant.SENDER_ID;
            this.mGcmRegistrationId = v4_5.register(v0_5);
            String v4_2 = new StringBuilder();
            v4_2.append("Device registered, registration ID=");
            v4_2.append(this.mGcmRegistrationId);
            String v4_3 = v4_2.toString();
        } catch (String v4_4) {
            StringBuilder v0_3 = new StringBuilder();
            v0_3.append("Error :");
            v0_3.append(v4_4.getMessage());
            v4_3 = v0_3.toString();
        }
        return v4_3;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v2_2) {
            throw v2_2;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p5, String[] p6)
    {
        try {
            String v0_1 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v5_15) {
            throw v5_15;
        }
        if (v0_1 == null) {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            if ((p6 == null) || (p6.length == 0)) {
                throw new IllegalArgumentException("No senderIds");
            } else {
                android.os.Bundle v1_1 = new StringBuilder(p6[0]);
                String v2_2 = 1;
                while (v2_2 < p6.length) {
                    v1_1.append(44);
                    v1_1.append(p6[v2_2]);
                    v2_2++;
                }
                String v6_2 = v1_1.toString();
                android.os.Bundle v1_3 = new android.os.Bundle();
                if (!v0_1.contains(".gsf")) {
                    v1_3.putString("sender", v6_2);
                    java.io.IOException v5_3 = this.zzd(v1_3, p5);
                    if (v5_3 == null) {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    } else {
                        String v6_5 = v5_3.getStringExtra("registration_id");
                        if (v6_5 == null) {
                            java.io.IOException v5_7 = v5_3.getStringExtra("error");
                            if (v5_7 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v5_7);
                            }
                        } else {
                            return v6_5;
                        }
                    }
                } else {
                    v1_3.putString("legacy.sender", v6_2);
                    return com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v6_2, "GCM", v1_3);
                }
            }
        }
    }

Method com.google.android.gms.iid.InstanceID.getToken():


    public String getToken(String p8, String p9, android.os.Bundle p10)
    {
        if (android.os.Looper.getMainLooper() == android.os.Looper.myLooper()) {
            throw new java.io.IOException("MAIN_THREAD");
        } else {
            com.google.android.gms.iid.zzak v0_2 = 0;
            String v1_1 = com.google.android.gms.iid.InstanceID.zzbs.get("appVersion");
            java.io.IOException v2_1 = 1;
            if ((v1_1 != null) && (v1_1.equals(com.google.android.gms.iid.InstanceID.zzbu))) {
                String v1_4 = com.google.android.gms.iid.InstanceID.zzbs.get("lastToken");
                if ((v1_4 != null) && (((System.currentTimeMillis() / 1000) - Long.valueOf(Long.parseLong(v1_4)).longValue()) <= com.google.android.gms.iid.InstanceID.zzbr)) {
                    v2_1 = 0;
                }
            }
            if (v2_1 == null) {
                v0_2 = com.google.android.gms.iid.InstanceID.zzbs.zze(this.zzbv, p8, p9);
            }
            String v10_1;
            if (v0_2 != null) {
                v10_1 = v0_2;
            } else {
                if (p10 == null) {
                    p10 = new android.os.Bundle();
                }
                v10_1 = this.zze(p8, p9, p10);
                if (v10_1 != null) {
                    com.google.android.gms.iid.InstanceID.zzbs.zzd(this.zzbv, p8, p9, v10_1, com.google.android.gms.iid.InstanceID.zzbu);
                }
            }
            return v10_1;
        }
    }

Method com.google.android.gms.iid.InstanceID.zze():


    public final String zze(String p2, String p3, android.os.Bundle p4)
    {
        if (p3 != null) {
            p4.putString("scope", p3);
        }
        String v3_1;
        p4.putString("sender", p2);
        if (!"".equals(this.zzbv)) {
            v3_1 = this.zzbv;
        } else {
            v3_1 = p2;
        }
        if (!p4.containsKey("legacy.register")) {
            p4.putString("subscription", p2);
            p4.putString("subtype", v3_1);
            p4.putString("X-subscription", p2);
            p4.putString("X-subtype", v3_1);
        }
        java.io.IOException v2_4 = com.google.android.gms.iid.zzaf.zzi(com.google.android.gms.iid.InstanceID.zzbt.zzd(p4, this.getKeyPair()));
        if (("RST".equals(v2_4)) || (v2_4.startsWith("RST|"))) {
            com.google.android.gms.iid.InstanceIDListenerService.zzd(this.zzk, com.google.android.gms.iid.InstanceID.zzbs);
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            return v2_4;
        }
    }

Method com.google.android.gms.iid.zzaf.zzd():


    final android.os.Bundle zzd(android.os.Bundle p5, java.security.KeyPair p6)
    {
        int v0_1 = com.google.android.gms.iid.zzaf.zzm(this.zzk);
        p5.putString("gmsv", Integer.toString(v0_1));
        p5.putString("osv", Integer.toString(android.os.Build$VERSION.SDK_INT));
        p5.putString("app_ver", Integer.toString(com.google.android.gms.iid.InstanceID.zzg(this.zzk)));
        p5.putString("app_ver_name", com.google.android.gms.iid.InstanceID.zzh(this.zzk));
        p5.putString("cliv", "iid-12451000");
        p5.putString("appid", com.google.android.gms.iid.InstanceID.zzd(p6));
        if ((v0_1 < 12000000) || (!((Boolean) com.google.android.gms.iid.zzaf.zzco.get()).booleanValue())) {
            return this.zzj(p5);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(new com.google.android.gms.iid.zzr(this.zzk).zzd(1, p5)));
            } catch (int v6_12) {
                if (android.util.Log.isLoggable("InstanceID", 3)) {
                    String v1_6 = String.valueOf(v6_12);
                    StringBuilder v3_1 = new StringBuilder((String.valueOf(v1_6).length() + 22));
                    v3_1.append("Error making request: ");
                    v3_1.append(v1_6);
                    android.util.Log.d("InstanceID", v3_1.toString());
                }
                if ((v6_12.getCause() instanceof com.google.android.gms.iid.zzaa)) {
                    if (((com.google.android.gms.iid.zzaa) v6_12.getCause()).getErrorCode() == 4) {
                        return this.zzj(p5);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.android.gms.iid.zzaf.zzj():


    private final android.os.Bundle zzj(android.os.Bundle p3)
    {
        int v0 = this.zzk(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zzk(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.android.gms.iid.zzaf.zzk():


    private final android.os.Bundle zzk(android.os.Bundle p9)
    {
        java.io.IOException v0_1 = new android.os.ConditionVariable();
        String v1_6 = com.google.android.gms.iid.zzaf.zzv();
        this.getClass();
        this.zzcu.put(v1_6, v0_1);
        if (this.zzah == null) {
            com.google.android.gms.iid.zzaf.zzl(this.zzk);
            this.zzah = new android.os.Messenger(new com.google.android.gms.iid.zzag(this, android.os.Looper.getMainLooper()));
        }
        if (com.google.android.gms.iid.zzaf.zzcp == null) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            String v3_20;
            if (!com.google.android.gms.iid.zzaf.zzcq) {
                v3_20 = "com.google.android.c2dm.intent.REGISTER";
            } else {
                v3_20 = "com.google.iid.TOKEN_REQUEST";
            }
            String v2_10 = new android.content.Intent(v3_20);
            v2_10.setPackage(com.google.android.gms.iid.zzaf.zzcp);
            v2_10.putExtras(p9);
            this.zzg(v2_10);
            android.content.BroadcastReceiver v4_3 = new StringBuilder((String.valueOf(v1_6).length() + 5));
            v4_3.append("|ID|");
            v4_3.append(v1_6);
            v4_3.append("|");
            v2_10.putExtra("kid", v4_3.toString());
            android.content.BroadcastReceiver v4_5 = new StringBuilder((String.valueOf(v1_6).length() + 5));
            v4_5.append("|ID|");
            v4_5.append(v1_6);
            v4_5.append("|");
            v2_10.putExtra("X-kid", v4_5.toString());
            String v9_26 = "com.google.android.gsf".equals(com.google.android.gms.iid.zzaf.zzcp);
            String v3_37 = v2_10.getStringExtra("useGsf");
            if (v3_37 != null) {
                v9_26 = "1".equals(v3_37);
            }
            if (android.util.Log.isLoggable("InstanceID", 3)) {
                String v5_6 = String.valueOf(v2_10.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_6).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_6);
                android.util.Log.d("InstanceID", v7_1.toString());
            }
            if (this.zzcv == null) {
                if (v9_26 == null) {
                    v2_10.putExtra("google.messenger", this.zzah);
                    v2_10.putExtra("messenger2", "1");
                    if (this.zzcw != null) {
                        String v9_5 = android.os.Message.obtain();
                        v9_5.obj = v2_10;
                        try {
                            this.zzcw.send(v9_5);
                        } catch (android.os.RemoteException) {
                            if (android.util.Log.isLoggable("InstanceID", 3)) {
                                android.util.Log.d("InstanceID", "Messenger failed, fallback to startService");
                            }
                        }
                        v0_1.block(30000);
                        this.getClass();
                        try {
                            java.io.IOException v0_3 = this.zzcu.remove(v1_6);
                        } catch (java.io.IOException v0_10) {
                            throw v0_10;
                        }
                        if (!(v0_3 instanceof android.os.Bundle)) {
                            if (!(v0_3 instanceof String)) {
                                java.io.IOException v0_4 = String.valueOf(v0_3);
                                String v3_18 = new StringBuilder((String.valueOf(v0_4).length() + 12));
                                v3_18.append("No response ");
                                v3_18.append(v0_4);
                                android.util.Log.w("InstanceID", v3_18.toString());
                                throw new java.io.IOException("TIMEOUT");
                            } else {
                                throw new java.io.IOException(((String) v0_3));
                            }
                        } else {
                            return ((android.os.Bundle) v0_3);
                        }
                    }
                    if (!com.google.android.gms.iid.zzaf.zzcq) {
                        this.zzk.startService(v2_10);
                    }
                } else {
                    try {
                        if (com.google.android.gms.iid.zzaf.zzct == null) {
                            com.google.android.gms.iid.zzaf.zzct = new com.google.android.gms.iid.zzah(this);
                            if (android.util.Log.isLoggable("InstanceID", 3)) {
                                android.util.Log.d("InstanceID", "Registered GSF callback receiver");
                            }
                            String v9_18 = new android.content.IntentFilter("com.google.android.c2dm.intent.REGISTRATION");
                            v9_18.addCategory(this.zzk.getPackageName());
                            this.zzk.registerReceiver(com.google.android.gms.iid.zzaf.zzct, v9_18, "com.google.android.c2dm.permission.SEND", 0);
                        }
                    } catch (String v9_19) {
                        throw v9_19;
                    }
                }
                this.zzk.sendBroadcast(v2_10);
            } else {
                v2_10.putExtra("google.messenger", this.zzah);
                String v3_2 = android.os.Message.obtain();
                v3_2.obj = v2_10;
                try {
                    this.zzcv.send(v3_2);
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("InstanceID", 3)) {
                    } else {
                        android.util.Log.d("InstanceID", "Messenger failed, fallback to startService");
                    }
                }
            }
        }
    }

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

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzk', '(Landroid/content/Context;)Z'), ('Lcom/google/android/gms/iid/zzaf;', 'zzl', '(Landroid/content/Context;)Ljava/lang/String;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected varargs String doInBackground(Object[] p4)
    {
        try {
            String v4_5 = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.val$mContext);
            StringBuilder v0_5 = new String[1];
            v0_5[0] = com.dimelo.purpleshop.application.Constant.SENDER_ID;
            this.mGcmRegistrationId = v4_5.register(v0_5);
            String v4_2 = new StringBuilder();
            v4_2.append("Device registered, registration ID=");
            v4_2.append(this.mGcmRegistrationId);
            String v4_3 = v4_2.toString();
        } catch (String v4_4) {
            StringBuilder v0_3 = new StringBuilder();
            v0_3.append("Error :");
            v0_3.append(v4_4.getMessage());
            v4_3 = v0_3.toString();
        }
        return v4_3;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v2_2) {
            throw v2_2;
        }
    }

Method com.google.android.gms.iid.zzaf.zzk():


    public static boolean zzk(android.content.Context p1)
    {
        if (com.google.android.gms.iid.zzaf.zzcp != null) {
            com.google.android.gms.iid.zzaf.zzl(p1);
        }
        return com.google.android.gms.iid.zzaf.zzcq;
    }

Method com.google.android.gms.iid.zzaf.zzl():


    public static String zzl(android.content.Context p5)
    {
        if (com.google.android.gms.iid.zzaf.zzcp == null) {
            com.google.android.gms.iid.zzaf.zzcr = android.os.Process.myUid();
            String v5_1 = p5.getPackageManager();
            String v1_0 = 1;
            if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                String v0_4 = v5_1.queryIntentServices(new android.content.Intent("com.google.android.c2dm.intent.REGISTER"), 0).iterator();
                while (v0_4.hasNext()) {
                    if (com.google.android.gms.iid.zzaf.zzd(v5_1, ((android.content.pm.ResolveInfo) v0_4.next()).serviceInfo.packageName, "com.google.android.c2dm.intent.REGISTER")) {
                        com.google.android.gms.iid.zzaf.zzcq = 0;
                        String v0_5 = 1;
                    }
                    if (v0_5 != null) {
                        return com.google.android.gms.iid.zzaf.zzcp;
                    }
                }
                v0_5 = 0;
            }
            String v0_10 = v5_1.queryBroadcastReceivers(new android.content.Intent("com.google.iid.TOKEN_REQUEST"), 0).iterator();
            while (v0_10.hasNext()) {
                if (com.google.android.gms.iid.zzaf.zzd(v5_1, ((android.content.pm.ResolveInfo) v0_10.next()).activityInfo.packageName, "com.google.iid.TOKEN_REQUEST")) {
                    com.google.android.gms.iid.zzaf.zzcq = 1;
                }
                if (v1_0 == null) {
                    android.util.Log.w("InstanceID", "Failed to resolve IID implementation package, falling back");
                    if (!com.google.android.gms.iid.zzaf.zzd(v5_1, "com.google.android.gms")) {
                        if ((com.google.android.gms.common.util.PlatformVersion.isAtLeastLollipop()) || (!com.google.android.gms.iid.zzaf.zzd(v5_1, "com.google.android.gsf"))) {
                            android.util.Log.w("InstanceID", "Google Play services is missing, unable to get tokens");
                            return 0;
                        } else {
                            com.google.android.gms.iid.zzaf.zzcq = 0;
                            return com.google.android.gms.iid.zzaf.zzcp;
                        }
                    } else {
                        com.google.android.gms.iid.zzaf.zzcq = com.google.android.gms.common.util.PlatformVersion.isAtLeastO();
                        return com.google.android.gms.iid.zzaf.zzcp;
                    }
                } else {
                    return com.google.android.gms.iid.zzaf.zzcp;
                }
            }
            v1_0 = 0;
        } else {
            return com.google.android.gms.iid.zzaf.zzcp;
        }
    }

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

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/InstanceID;', 'getToken', '(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/InstanceID;', 'zze', '(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzd', '(Landroid/os/Bundle; Ljava/security/KeyPair;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzj', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzk', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzg', '(Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected varargs String doInBackground(Object[] p4)
    {
        try {
            String v4_5 = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.val$mContext);
            StringBuilder v0_5 = new String[1];
            v0_5[0] = com.dimelo.purpleshop.application.Constant.SENDER_ID;
            this.mGcmRegistrationId = v4_5.register(v0_5);
            String v4_2 = new StringBuilder();
            v4_2.append("Device registered, registration ID=");
            v4_2.append(this.mGcmRegistrationId);
            String v4_3 = v4_2.toString();
        } catch (String v4_4) {
            StringBuilder v0_3 = new StringBuilder();
            v0_3.append("Error :");
            v0_3.append(v4_4.getMessage());
            v4_3 = v0_3.toString();
        }
        return v4_3;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v2_2) {
            throw v2_2;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p5, String[] p6)
    {
        try {
            String v0_1 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v5_15) {
            throw v5_15;
        }
        if (v0_1 == null) {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            if ((p6 == null) || (p6.length == 0)) {
                throw new IllegalArgumentException("No senderIds");
            } else {
                android.os.Bundle v1_1 = new StringBuilder(p6[0]);
                String v2_2 = 1;
                while (v2_2 < p6.length) {
                    v1_1.append(44);
                    v1_1.append(p6[v2_2]);
                    v2_2++;
                }
                String v6_2 = v1_1.toString();
                android.os.Bundle v1_3 = new android.os.Bundle();
                if (!v0_1.contains(".gsf")) {
                    v1_3.putString("sender", v6_2);
                    java.io.IOException v5_3 = this.zzd(v1_3, p5);
                    if (v5_3 == null) {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    } else {
                        String v6_5 = v5_3.getStringExtra("registration_id");
                        if (v6_5 == null) {
                            java.io.IOException v5_7 = v5_3.getStringExtra("error");
                            if (v5_7 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v5_7);
                            }
                        } else {
                            return v6_5;
                        }
                    }
                } else {
                    v1_3.putString("legacy.sender", v6_2);
                    return com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v6_2, "GCM", v1_3);
                }
            }
        }
    }

Method com.google.android.gms.iid.InstanceID.getToken():


    public String getToken(String p8, String p9, android.os.Bundle p10)
    {
        if (android.os.Looper.getMainLooper() == android.os.Looper.myLooper()) {
            throw new java.io.IOException("MAIN_THREAD");
        } else {
            com.google.android.gms.iid.zzak v0_2 = 0;
            String v1_1 = com.google.android.gms.iid.InstanceID.zzbs.get("appVersion");
            java.io.IOException v2_1 = 1;
            if ((v1_1 != null) && (v1_1.equals(com.google.android.gms.iid.InstanceID.zzbu))) {
                String v1_4 = com.google.android.gms.iid.InstanceID.zzbs.get("lastToken");
                if ((v1_4 != null) && (((System.currentTimeMillis() / 1000) - Long.valueOf(Long.parseLong(v1_4)).longValue()) <= com.google.android.gms.iid.InstanceID.zzbr)) {
                    v2_1 = 0;
                }
            }
            if (v2_1 == null) {
                v0_2 = com.google.android.gms.iid.InstanceID.zzbs.zze(this.zzbv, p8, p9);
            }
            String v10_1;
            if (v0_2 != null) {
                v10_1 = v0_2;
            } else {
                if (p10 == null) {
                    p10 = new android.os.Bundle();
                }
                v10_1 = this.zze(p8, p9, p10);
                if (v10_1 != null) {
                    com.google.android.gms.iid.InstanceID.zzbs.zzd(this.zzbv, p8, p9, v10_1, com.google.android.gms.iid.InstanceID.zzbu);
                }
            }
            return v10_1;
        }
    }

Method com.google.android.gms.iid.InstanceID.zze():


    public final String zze(String p2, String p3, android.os.Bundle p4)
    {
        if (p3 != null) {
            p4.putString("scope", p3);
        }
        String v3_1;
        p4.putString("sender", p2);
        if (!"".equals(this.zzbv)) {
            v3_1 = this.zzbv;
        } else {
            v3_1 = p2;
        }
        if (!p4.containsKey("legacy.register")) {
            p4.putString("subscription", p2);
            p4.putString("subtype", v3_1);
            p4.putString("X-subscription", p2);
            p4.putString("X-subtype", v3_1);
        }
        java.io.IOException v2_4 = com.google.android.gms.iid.zzaf.zzi(com.google.android.gms.iid.InstanceID.zzbt.zzd(p4, this.getKeyPair()));
        if (("RST".equals(v2_4)) || (v2_4.startsWith("RST|"))) {
            com.google.android.gms.iid.InstanceIDListenerService.zzd(this.zzk, com.google.android.gms.iid.InstanceID.zzbs);
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            return v2_4;
        }
    }

Method com.google.android.gms.iid.zzaf.zzd():


    final android.os.Bundle zzd(android.os.Bundle p5, java.security.KeyPair p6)
    {
        int v0_1 = com.google.android.gms.iid.zzaf.zzm(this.zzk);
        p5.putString("gmsv", Integer.toString(v0_1));
        p5.putString("osv", Integer.toString(android.os.Build$VERSION.SDK_INT));
        p5.putString("app_ver", Integer.toString(com.google.android.gms.iid.InstanceID.zzg(this.zzk)));
        p5.putString("app_ver_name", com.google.android.gms.iid.InstanceID.zzh(this.zzk));
        p5.putString("cliv", "iid-12451000");
        p5.putString("appid", com.google.android.gms.iid.InstanceID.zzd(p6));
        if ((v0_1 < 12000000) || (!((Boolean) com.google.android.gms.iid.zzaf.zzco.get()).booleanValue())) {
            return this.zzj(p5);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(new com.google.android.gms.iid.zzr(this.zzk).zzd(1, p5)));
            } catch (int v6_12) {
                if (android.util.Log.isLoggable("InstanceID", 3)) {
                    String v1_6 = String.valueOf(v6_12);
                    StringBuilder v3_1 = new StringBuilder((String.valueOf(v1_6).length() + 22));
                    v3_1.append("Error making request: ");
                    v3_1.append(v1_6);
                    android.util.Log.d("InstanceID", v3_1.toString());
                }
                if ((v6_12.getCause() instanceof com.google.android.gms.iid.zzaa)) {
                    if (((com.google.android.gms.iid.zzaa) v6_12.getCause()).getErrorCode() == 4) {
                        return this.zzj(p5);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.android.gms.iid.zzaf.zzj():


    private final android.os.Bundle zzj(android.os.Bundle p3)
    {
        int v0 = this.zzk(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zzk(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.android.gms.iid.zzaf.zzk():


    private final android.os.Bundle zzk(android.os.Bundle p9)
    {
        java.io.IOException v0_1 = new android.os.ConditionVariable();
        String v1_6 = com.google.android.gms.iid.zzaf.zzv();
        this.getClass();
        this.zzcu.put(v1_6, v0_1);
        if (this.zzah == null) {
            com.google.android.gms.iid.zzaf.zzl(this.zzk);
            this.zzah = new android.os.Messenger(new com.google.android.gms.iid.zzag(this, android.os.Looper.getMainLooper()));
        }
        if (com.google.android.gms.iid.zzaf.zzcp == null) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            String v3_20;
            if (!com.google.android.gms.iid.zzaf.zzcq) {
                v3_20 = "com.google.android.c2dm.intent.REGISTER";
            } else {
                v3_20 = "com.google.iid.TOKEN_REQUEST";
            }
            String v2_10 = new android.content.Intent(v3_20);
            v2_10.setPackage(com.google.android.gms.iid.zzaf.zzcp);
            v2_10.putExtras(p9);
            this.zzg(v2_10);
            android.content.BroadcastReceiver v4_3 = new StringBuilder((String.valueOf(v1_6).length() + 5));
            v4_3.append("|ID|");
            v4_3.append(v1_6);
            v4_3.append("|");
            v2_10.putExtra("kid", v4_3.toString());
            android.content.BroadcastReceiver v4_5 = new StringBuilder((String.valueOf(v1_6).length() + 5));
            v4_5.append("|ID|");
            v4_5.append(v1_6);
            v4_5.append("|");
            v2_10.putExtra("X-kid", v4_5.toString());
            String v9_26 = "com.google.android.gsf".equals(com.google.android.gms.iid.zzaf.zzcp);
            String v3_37 = v2_10.getStringExtra("useGsf");
            if (v3_37 != null) {
                v9_26 = "1".equals(v3_37);
            }
            if (android.util.Log.isLoggable("InstanceID", 3)) {
                String v5_6 = String.valueOf(v2_10.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_6).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_6);
                android.util.Log.d("InstanceID", v7_1.toString());
            }
            if (this.zzcv == null) {
                if (v9_26 == null) {
                    v2_10.putExtra("google.messenger", this.zzah);
                    v2_10.putExtra("messenger2", "1");
                    if (this.zzcw != null) {
                        String v9_5 = android.os.Message.obtain();
                        v9_5.obj = v2_10;
                        try {
                            this.zzcw.send(v9_5);
                        } catch (android.os.RemoteException) {
                            if (android.util.Log.isLoggable("InstanceID", 3)) {
                                android.util.Log.d("InstanceID", "Messenger failed, fallback to startService");
                            }
                        }
                        v0_1.block(30000);
                        this.getClass();
                        try {
                            java.io.IOException v0_3 = this.zzcu.remove(v1_6);
                        } catch (java.io.IOException v0_10) {
                            throw v0_10;
                        }
                        if (!(v0_3 instanceof android.os.Bundle)) {
                            if (!(v0_3 instanceof String)) {
                                java.io.IOException v0_4 = String.valueOf(v0_3);
                                String v3_18 = new StringBuilder((String.valueOf(v0_4).length() + 12));
                                v3_18.append("No response ");
                                v3_18.append(v0_4);
                                android.util.Log.w("InstanceID", v3_18.toString());
                                throw new java.io.IOException("TIMEOUT");
                            } else {
                                throw new java.io.IOException(((String) v0_3));
                            }
                        } else {
                            return ((android.os.Bundle) v0_3);
                        }
                    }
                    if (!com.google.android.gms.iid.zzaf.zzcq) {
                        this.zzk.startService(v2_10);
                    }
                } else {
                    try {
                        if (com.google.android.gms.iid.zzaf.zzct == null) {
                            com.google.android.gms.iid.zzaf.zzct = new com.google.android.gms.iid.zzah(this);
                            if (android.util.Log.isLoggable("InstanceID", 3)) {
                                android.util.Log.d("InstanceID", "Registered GSF callback receiver");
                            }
                            String v9_18 = new android.content.IntentFilter("com.google.android.c2dm.intent.REGISTRATION");
                            v9_18.addCategory(this.zzk.getPackageName());
                            this.zzk.registerReceiver(com.google.android.gms.iid.zzaf.zzct, v9_18, "com.google.android.c2dm.permission.SEND", 0);
                        }
                    } catch (String v9_19) {
                        throw v9_19;
                    }
                }
                this.zzk.sendBroadcast(v2_10);
            } else {
                v2_10.putExtra("google.messenger", this.zzah);
                String v3_2 = android.os.Message.obtain();
                v3_2.obj = v2_10;
                try {
                    this.zzcv.send(v3_2);
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("InstanceID", 3)) {
                    } else {
                        android.util.Log.d("InstanceID", "Messenger failed, fallback to startService");
                    }
                }
            }
        }
    }

Method com.google.android.gms.iid.zzaf.zzg():


    private final declared_synchronized void zzg(android.content.Intent p4)
    {
        try {
            if (this.zzad == null) {
                String v0_3 = new android.content.Intent();
                v0_3.setPackage("com.google.example.invalidpackage");
                this.zzad = android.app.PendingIntent.getBroadcast(this.zzk, 0, v0_3, 0);
            }
        } catch (Throwable v4_1) {
            throw v4_1;
        }
        p4.putExtra("app", this.zzad);
        return;
    }

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

[TAINT] String 'google.message_id' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value google.message_id to construct an Intent

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected varargs String doInBackground(Object[] p4)
    {
        try {
            String v4_5 = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.val$mContext);
            StringBuilder v0_5 = new String[1];
            v0_5[0] = com.dimelo.purpleshop.application.Constant.SENDER_ID;
            this.mGcmRegistrationId = v4_5.register(v0_5);
            String v4_2 = new StringBuilder();
            v4_2.append("Device registered, registration ID=");
            v4_2.append(this.mGcmRegistrationId);
            String v4_3 = v4_2.toString();
        } catch (String v4_4) {
            StringBuilder v0_3 = new StringBuilder();
            v0_3.append("Error :");
            v0_3.append(v4_4.getMessage());
            v4_3 = v0_3.toString();
        }
        return v4_3;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v2_2) {
            throw v2_2;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p5, String[] p6)
    {
        try {
            String v0_1 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v5_15) {
            throw v5_15;
        }
        if (v0_1 == null) {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            if ((p6 == null) || (p6.length == 0)) {
                throw new IllegalArgumentException("No senderIds");
            } else {
                android.os.Bundle v1_1 = new StringBuilder(p6[0]);
                String v2_2 = 1;
                while (v2_2 < p6.length) {
                    v1_1.append(44);
                    v1_1.append(p6[v2_2]);
                    v2_2++;
                }
                String v6_2 = v1_1.toString();
                android.os.Bundle v1_3 = new android.os.Bundle();
                if (!v0_1.contains(".gsf")) {
                    v1_3.putString("sender", v6_2);
                    java.io.IOException v5_3 = this.zzd(v1_3, p5);
                    if (v5_3 == null) {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    } else {
                        String v6_5 = v5_3.getStringExtra("registration_id");
                        if (v6_5 == null) {
                            java.io.IOException v5_7 = v5_3.getStringExtra("error");
                            if (v5_7 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v5_7);
                            }
                        } else {
                            return v6_5;
                        }
                    }
                } else {
                    v1_3.putString("legacy.sender", v6_2);
                    return com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v6_2, "GCM", v1_3);
                }
            }
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() == android.os.Looper.myLooper()) {
            throw new java.io.IOException("MAIN_THREAD");
        } else {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) < 0) {
                throw new java.io.IOException("Google Play Services missing");
            } else {
                android.os.Messenger v1_0;
                if (p6 == null) {
                    v1_0 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v1_0 = "com.google.iid.TOKEN_REQUEST";
                }
                long v0_3 = new android.content.Intent(v1_0);
                v0_3.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v0_3);
                android.os.Messenger v1_4 = com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement();
                StringBuilder v3_1 = new StringBuilder(21);
                v3_1.append("google.rpc");
                v3_1.append(v1_4);
                v0_3.putExtra("google.message_id", v3_1.toString());
                v0_3.putExtras(p5);
                v0_3.putExtra("google.messenger", this.zzah);
                if (p6 == null) {
                    this.zzk.startService(v0_3);
                } else {
                    this.zzk.sendBroadcast(v0_3);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v5_10) {
                    throw new java.io.IOException(v5_10.getMessage());
                }
            }
        }
    }

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

[TAINT] String 'google.message_id' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value google.message_id to construct an Intent

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p1)
    {
        return this.doInBackground(p1);
    }

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected varargs String doInBackground(Object[] p4)
    {
        try {
            String v4_5 = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.val$mContext);
            StringBuilder v0_5 = new String[1];
            v0_5[0] = com.dimelo.purpleshop.application.Constant.SENDER_ID;
            this.mGcmRegistrationId = v4_5.register(v0_5);
            String v4_2 = new StringBuilder();
            v4_2.append("Device registered, registration ID=");
            v4_2.append(this.mGcmRegistrationId);
            String v4_3 = v4_2.toString();
        } catch (String v4_4) {
            StringBuilder v0_3 = new StringBuilder();
            v0_3.append("Error :");
            v0_3.append(v4_4.getMessage());
            v4_3 = v0_3.toString();
        }
        return v4_3;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v2_2) {
            throw v2_2;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p5, String[] p6)
    {
        try {
            String v0_1 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v5_15) {
            throw v5_15;
        }
        if (v0_1 == null) {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            if ((p6 == null) || (p6.length == 0)) {
                throw new IllegalArgumentException("No senderIds");
            } else {
                android.os.Bundle v1_1 = new StringBuilder(p6[0]);
                String v2_2 = 1;
                while (v2_2 < p6.length) {
                    v1_1.append(44);
                    v1_1.append(p6[v2_2]);
                    v2_2++;
                }
                String v6_2 = v1_1.toString();
                android.os.Bundle v1_3 = new android.os.Bundle();
                if (!v0_1.contains(".gsf")) {
                    v1_3.putString("sender", v6_2);
                    java.io.IOException v5_3 = this.zzd(v1_3, p5);
                    if (v5_3 == null) {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    } else {
                        String v6_5 = v5_3.getStringExtra("registration_id");
                        if (v6_5 == null) {
                            java.io.IOException v5_7 = v5_3.getStringExtra("error");
                            if (v5_7 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v5_7);
                            }
                        } else {
                            return v6_5;
                        }
                    }
                } else {
                    v1_3.putString("legacy.sender", v6_2);
                    return com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v6_2, "GCM", v1_3);
                }
            }
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() == android.os.Looper.myLooper()) {
            throw new java.io.IOException("MAIN_THREAD");
        } else {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) < 0) {
                throw new java.io.IOException("Google Play Services missing");
            } else {
                android.os.Messenger v1_0;
                if (p6 == null) {
                    v1_0 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v1_0 = "com.google.iid.TOKEN_REQUEST";
                }
                long v0_3 = new android.content.Intent(v1_0);
                v0_3.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v0_3);
                android.os.Messenger v1_4 = com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement();
                StringBuilder v3_1 = new StringBuilder(21);
                v3_1.append("google.rpc");
                v3_1.append(v1_4);
                v0_3.putExtra("google.message_id", v3_1.toString());
                v0_3.putExtras(p5);
                v0_3.putExtra("google.messenger", this.zzah);
                if (p6 == null) {
                    this.zzk.startService(v0_3);
                } else {
                    this.zzk.sendBroadcast(v0_3);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v5_10) {
                    throw new java.io.IOException(v5_10.getMessage());
                }
            }
        }
    }

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

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/InstanceID;', 'getToken', '(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/InstanceID;', 'zze', '(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzd', '(Landroid/os/Bundle; Ljava/security/KeyPair;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzj', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzk', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzg', '(Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p1)
    {
        return this.doInBackground(p1);
    }

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected varargs String doInBackground(Object[] p4)
    {
        try {
            String v4_5 = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.val$mContext);
            StringBuilder v0_5 = new String[1];
            v0_5[0] = com.dimelo.purpleshop.application.Constant.SENDER_ID;
            this.mGcmRegistrationId = v4_5.register(v0_5);
            String v4_2 = new StringBuilder();
            v4_2.append("Device registered, registration ID=");
            v4_2.append(this.mGcmRegistrationId);
            String v4_3 = v4_2.toString();
        } catch (String v4_4) {
            StringBuilder v0_3 = new StringBuilder();
            v0_3.append("Error :");
            v0_3.append(v4_4.getMessage());
            v4_3 = v0_3.toString();
        }
        return v4_3;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v2_2) {
            throw v2_2;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p5, String[] p6)
    {
        try {
            String v0_1 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v5_15) {
            throw v5_15;
        }
        if (v0_1 == null) {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            if ((p6 == null) || (p6.length == 0)) {
                throw new IllegalArgumentException("No senderIds");
            } else {
                android.os.Bundle v1_1 = new StringBuilder(p6[0]);
                String v2_2 = 1;
                while (v2_2 < p6.length) {
                    v1_1.append(44);
                    v1_1.append(p6[v2_2]);
                    v2_2++;
                }
                String v6_2 = v1_1.toString();
                android.os.Bundle v1_3 = new android.os.Bundle();
                if (!v0_1.contains(".gsf")) {
                    v1_3.putString("sender", v6_2);
                    java.io.IOException v5_3 = this.zzd(v1_3, p5);
                    if (v5_3 == null) {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    } else {
                        String v6_5 = v5_3.getStringExtra("registration_id");
                        if (v6_5 == null) {
                            java.io.IOException v5_7 = v5_3.getStringExtra("error");
                            if (v5_7 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v5_7);
                            }
                        } else {
                            return v6_5;
                        }
                    }
                } else {
                    v1_3.putString("legacy.sender", v6_2);
                    return com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v6_2, "GCM", v1_3);
                }
            }
        }
    }

Method com.google.android.gms.iid.InstanceID.getToken():


    public String getToken(String p8, String p9, android.os.Bundle p10)
    {
        if (android.os.Looper.getMainLooper() == android.os.Looper.myLooper()) {
            throw new java.io.IOException("MAIN_THREAD");
        } else {
            com.google.android.gms.iid.zzak v0_2 = 0;
            String v1_1 = com.google.android.gms.iid.InstanceID.zzbs.get("appVersion");
            java.io.IOException v2_1 = 1;
            if ((v1_1 != null) && (v1_1.equals(com.google.android.gms.iid.InstanceID.zzbu))) {
                String v1_4 = com.google.android.gms.iid.InstanceID.zzbs.get("lastToken");
                if ((v1_4 != null) && (((System.currentTimeMillis() / 1000) - Long.valueOf(Long.parseLong(v1_4)).longValue()) <= com.google.android.gms.iid.InstanceID.zzbr)) {
                    v2_1 = 0;
                }
            }
            if (v2_1 == null) {
                v0_2 = com.google.android.gms.iid.InstanceID.zzbs.zze(this.zzbv, p8, p9);
            }
            String v10_1;
            if (v0_2 != null) {
                v10_1 = v0_2;
            } else {
                if (p10 == null) {
                    p10 = new android.os.Bundle();
                }
                v10_1 = this.zze(p8, p9, p10);
                if (v10_1 != null) {
                    com.google.android.gms.iid.InstanceID.zzbs.zzd(this.zzbv, p8, p9, v10_1, com.google.android.gms.iid.InstanceID.zzbu);
                }
            }
            return v10_1;
        }
    }

Method com.google.android.gms.iid.InstanceID.zze():


    public final String zze(String p2, String p3, android.os.Bundle p4)
    {
        if (p3 != null) {
            p4.putString("scope", p3);
        }
        String v3_1;
        p4.putString("sender", p2);
        if (!"".equals(this.zzbv)) {
            v3_1 = this.zzbv;
        } else {
            v3_1 = p2;
        }
        if (!p4.containsKey("legacy.register")) {
            p4.putString("subscription", p2);
            p4.putString("subtype", v3_1);
            p4.putString("X-subscription", p2);
            p4.putString("X-subtype", v3_1);
        }
        java.io.IOException v2_4 = com.google.android.gms.iid.zzaf.zzi(com.google.android.gms.iid.InstanceID.zzbt.zzd(p4, this.getKeyPair()));
        if (("RST".equals(v2_4)) || (v2_4.startsWith("RST|"))) {
            com.google.android.gms.iid.InstanceIDListenerService.zzd(this.zzk, com.google.android.gms.iid.InstanceID.zzbs);
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            return v2_4;
        }
    }

Method com.google.android.gms.iid.zzaf.zzd():


    final android.os.Bundle zzd(android.os.Bundle p5, java.security.KeyPair p6)
    {
        int v0_1 = com.google.android.gms.iid.zzaf.zzm(this.zzk);
        p5.putString("gmsv", Integer.toString(v0_1));
        p5.putString("osv", Integer.toString(android.os.Build$VERSION.SDK_INT));
        p5.putString("app_ver", Integer.toString(com.google.android.gms.iid.InstanceID.zzg(this.zzk)));
        p5.putString("app_ver_name", com.google.android.gms.iid.InstanceID.zzh(this.zzk));
        p5.putString("cliv", "iid-12451000");
        p5.putString("appid", com.google.android.gms.iid.InstanceID.zzd(p6));
        if ((v0_1 < 12000000) || (!((Boolean) com.google.android.gms.iid.zzaf.zzco.get()).booleanValue())) {
            return this.zzj(p5);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(new com.google.android.gms.iid.zzr(this.zzk).zzd(1, p5)));
            } catch (int v6_12) {
                if (android.util.Log.isLoggable("InstanceID", 3)) {
                    String v1_6 = String.valueOf(v6_12);
                    StringBuilder v3_1 = new StringBuilder((String.valueOf(v1_6).length() + 22));
                    v3_1.append("Error making request: ");
                    v3_1.append(v1_6);
                    android.util.Log.d("InstanceID", v3_1.toString());
                }
                if ((v6_12.getCause() instanceof com.google.android.gms.iid.zzaa)) {
                    if (((com.google.android.gms.iid.zzaa) v6_12.getCause()).getErrorCode() == 4) {
                        return this.zzj(p5);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.android.gms.iid.zzaf.zzj():


    private final android.os.Bundle zzj(android.os.Bundle p3)
    {
        int v0 = this.zzk(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zzk(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.android.gms.iid.zzaf.zzk():


    private final android.os.Bundle zzk(android.os.Bundle p9)
    {
        java.io.IOException v0_1 = new android.os.ConditionVariable();
        String v1_6 = com.google.android.gms.iid.zzaf.zzv();
        this.getClass();
        this.zzcu.put(v1_6, v0_1);
        if (this.zzah == null) {
            com.google.android.gms.iid.zzaf.zzl(this.zzk);
            this.zzah = new android.os.Messenger(new com.google.android.gms.iid.zzag(this, android.os.Looper.getMainLooper()));
        }
        if (com.google.android.gms.iid.zzaf.zzcp == null) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            String v3_20;
            if (!com.google.android.gms.iid.zzaf.zzcq) {
                v3_20 = "com.google.android.c2dm.intent.REGISTER";
            } else {
                v3_20 = "com.google.iid.TOKEN_REQUEST";
            }
            String v2_10 = new android.content.Intent(v3_20);
            v2_10.setPackage(com.google.android.gms.iid.zzaf.zzcp);
            v2_10.putExtras(p9);
            this.zzg(v2_10);
            android.content.BroadcastReceiver v4_3 = new StringBuilder((String.valueOf(v1_6).length() + 5));
            v4_3.append("|ID|");
            v4_3.append(v1_6);
            v4_3.append("|");
            v2_10.putExtra("kid", v4_3.toString());
            android.content.BroadcastReceiver v4_5 = new StringBuilder((String.valueOf(v1_6).length() + 5));
            v4_5.append("|ID|");
            v4_5.append(v1_6);
            v4_5.append("|");
            v2_10.putExtra("X-kid", v4_5.toString());
            String v9_26 = "com.google.android.gsf".equals(com.google.android.gms.iid.zzaf.zzcp);
            String v3_37 = v2_10.getStringExtra("useGsf");
            if (v3_37 != null) {
                v9_26 = "1".equals(v3_37);
            }
            if (android.util.Log.isLoggable("InstanceID", 3)) {
                String v5_6 = String.valueOf(v2_10.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_6).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_6);
                android.util.Log.d("InstanceID", v7_1.toString());
            }
            if (this.zzcv == null) {
                if (v9_26 == null) {
                    v2_10.putExtra("google.messenger", this.zzah);
                    v2_10.putExtra("messenger2", "1");
                    if (this.zzcw != null) {
                        String v9_5 = android.os.Message.obtain();
                        v9_5.obj = v2_10;
                        try {
                            this.zzcw.send(v9_5);
                        } catch (android.os.RemoteException) {
                            if (android.util.Log.isLoggable("InstanceID", 3)) {
                                android.util.Log.d("InstanceID", "Messenger failed, fallback to startService");
                            }
                        }
                        v0_1.block(30000);
                        this.getClass();
                        try {
                            java.io.IOException v0_3 = this.zzcu.remove(v1_6);
                        } catch (java.io.IOException v0_10) {
                            throw v0_10;
                        }
                        if (!(v0_3 instanceof android.os.Bundle)) {
                            if (!(v0_3 instanceof String)) {
                                java.io.IOException v0_4 = String.valueOf(v0_3);
                                String v3_18 = new StringBuilder((String.valueOf(v0_4).length() + 12));
                                v3_18.append("No response ");
                                v3_18.append(v0_4);
                                android.util.Log.w("InstanceID", v3_18.toString());
                                throw new java.io.IOException("TIMEOUT");
                            } else {
                                throw new java.io.IOException(((String) v0_3));
                            }
                        } else {
                            return ((android.os.Bundle) v0_3);
                        }
                    }
                    if (!com.google.android.gms.iid.zzaf.zzcq) {
                        this.zzk.startService(v2_10);
                    }
                } else {
                    try {
                        if (com.google.android.gms.iid.zzaf.zzct == null) {
                            com.google.android.gms.iid.zzaf.zzct = new com.google.android.gms.iid.zzah(this);
                            if (android.util.Log.isLoggable("InstanceID", 3)) {
                                android.util.Log.d("InstanceID", "Registered GSF callback receiver");
                            }
                            String v9_18 = new android.content.IntentFilter("com.google.android.c2dm.intent.REGISTRATION");
                            v9_18.addCategory(this.zzk.getPackageName());
                            this.zzk.registerReceiver(com.google.android.gms.iid.zzaf.zzct, v9_18, "com.google.android.c2dm.permission.SEND", 0);
                        }
                    } catch (String v9_19) {
                        throw v9_19;
                    }
                }
                this.zzk.sendBroadcast(v2_10);
            } else {
                v2_10.putExtra("google.messenger", this.zzah);
                String v3_2 = android.os.Message.obtain();
                v3_2.obj = v2_10;
                try {
                    this.zzcv.send(v3_2);
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("InstanceID", 3)) {
                    } else {
                        android.util.Log.d("InstanceID", "Messenger failed, fallback to startService");
                    }
                }
            }
        }
    }

Method com.google.android.gms.iid.zzaf.zzg():


    private final declared_synchronized void zzg(android.content.Intent p4)
    {
        try {
            if (this.zzad == null) {
                String v0_3 = new android.content.Intent();
                v0_3.setPackage("com.google.example.invalidpackage");
                this.zzad = android.app.PendingIntent.getBroadcast(this.zzk, 0, v0_3, 0);
            }
        } catch (Throwable v4_1) {
            throw v4_1;
        }
        p4.putExtra("app", this.zzad);
        return;
    }

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

[TAINT] String 'google.messenger' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/InstanceID;', 'getToken', '(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/InstanceID;', 'zze', '(Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzd', '(Landroid/os/Bundle; Ljava/security/KeyPair;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzj', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzk', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value google.messenger to construct an Intent

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p1)
    {
        return this.doInBackground(p1);
    }

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected varargs String doInBackground(Object[] p4)
    {
        try {
            String v4_5 = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.val$mContext);
            StringBuilder v0_5 = new String[1];
            v0_5[0] = com.dimelo.purpleshop.application.Constant.SENDER_ID;
            this.mGcmRegistrationId = v4_5.register(v0_5);
            String v4_2 = new StringBuilder();
            v4_2.append("Device registered, registration ID=");
            v4_2.append(this.mGcmRegistrationId);
            String v4_3 = v4_2.toString();
        } catch (String v4_4) {
            StringBuilder v0_3 = new StringBuilder();
            v0_3.append("Error :");
            v0_3.append(v4_4.getMessage());
            v4_3 = v0_3.toString();
        }
        return v4_3;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v2_2) {
            throw v2_2;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p5, String[] p6)
    {
        try {
            String v0_1 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v5_15) {
            throw v5_15;
        }
        if (v0_1 == null) {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            if ((p6 == null) || (p6.length == 0)) {
                throw new IllegalArgumentException("No senderIds");
            } else {
                android.os.Bundle v1_1 = new StringBuilder(p6[0]);
                String v2_2 = 1;
                while (v2_2 < p6.length) {
                    v1_1.append(44);
                    v1_1.append(p6[v2_2]);
                    v2_2++;
                }
                String v6_2 = v1_1.toString();
                android.os.Bundle v1_3 = new android.os.Bundle();
                if (!v0_1.contains(".gsf")) {
                    v1_3.putString("sender", v6_2);
                    java.io.IOException v5_3 = this.zzd(v1_3, p5);
                    if (v5_3 == null) {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    } else {
                        String v6_5 = v5_3.getStringExtra("registration_id");
                        if (v6_5 == null) {
                            java.io.IOException v5_7 = v5_3.getStringExtra("error");
                            if (v5_7 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v5_7);
                            }
                        } else {
                            return v6_5;
                        }
                    }
                } else {
                    v1_3.putString("legacy.sender", v6_2);
                    return com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v6_2, "GCM", v1_3);
                }
            }
        }
    }

Method com.google.android.gms.iid.InstanceID.getToken():


    public String getToken(String p8, String p9, android.os.Bundle p10)
    {
        if (android.os.Looper.getMainLooper() == android.os.Looper.myLooper()) {
            throw new java.io.IOException("MAIN_THREAD");
        } else {
            com.google.android.gms.iid.zzak v0_2 = 0;
            String v1_1 = com.google.android.gms.iid.InstanceID.zzbs.get("appVersion");
            java.io.IOException v2_1 = 1;
            if ((v1_1 != null) && (v1_1.equals(com.google.android.gms.iid.InstanceID.zzbu))) {
                String v1_4 = com.google.android.gms.iid.InstanceID.zzbs.get("lastToken");
                if ((v1_4 != null) && (((System.currentTimeMillis() / 1000) - Long.valueOf(Long.parseLong(v1_4)).longValue()) <= com.google.android.gms.iid.InstanceID.zzbr)) {
                    v2_1 = 0;
                }
            }
            if (v2_1 == null) {
                v0_2 = com.google.android.gms.iid.InstanceID.zzbs.zze(this.zzbv, p8, p9);
            }
            String v10_1;
            if (v0_2 != null) {
                v10_1 = v0_2;
            } else {
                if (p10 == null) {
                    p10 = new android.os.Bundle();
                }
                v10_1 = this.zze(p8, p9, p10);
                if (v10_1 != null) {
                    com.google.android.gms.iid.InstanceID.zzbs.zzd(this.zzbv, p8, p9, v10_1, com.google.android.gms.iid.InstanceID.zzbu);
                }
            }
            return v10_1;
        }
    }

Method com.google.android.gms.iid.InstanceID.zze():


    public final String zze(String p2, String p3, android.os.Bundle p4)
    {
        if (p3 != null) {
            p4.putString("scope", p3);
        }
        String v3_1;
        p4.putString("sender", p2);
        if (!"".equals(this.zzbv)) {
            v3_1 = this.zzbv;
        } else {
            v3_1 = p2;
        }
        if (!p4.containsKey("legacy.register")) {
            p4.putString("subscription", p2);
            p4.putString("subtype", v3_1);
            p4.putString("X-subscription", p2);
            p4.putString("X-subtype", v3_1);
        }
        java.io.IOException v2_4 = com.google.android.gms.iid.zzaf.zzi(com.google.android.gms.iid.InstanceID.zzbt.zzd(p4, this.getKeyPair()));
        if (("RST".equals(v2_4)) || (v2_4.startsWith("RST|"))) {
            com.google.android.gms.iid.InstanceIDListenerService.zzd(this.zzk, com.google.android.gms.iid.InstanceID.zzbs);
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        } else {
            return v2_4;
        }
    }

Method com.google.android.gms.iid.zzaf.zzd():


    final android.os.Bundle zzd(android.os.Bundle p5, java.security.KeyPair p6)
    {
        int v0_1 = com.google.android.gms.iid.zzaf.zzm(this.zzk);
        p5.putString("gmsv", Integer.toString(v0_1));
        p5.putString("osv", Integer.toString(android.os.Build$VERSION.SDK_INT));
        p5.putString("app_ver", Integer.toString(com.google.android.gms.iid.InstanceID.zzg(this.zzk)));
        p5.putString("app_ver_name", com.google.android.gms.iid.InstanceID.zzh(this.zzk));
        p5.putString("cliv", "iid-12451000");
        p5.putString("appid", com.google.android.gms.iid.InstanceID.zzd(p6));
        if ((v0_1 < 12000000) || (!((Boolean) com.google.android.gms.iid.zzaf.zzco.get()).booleanValue())) {
            return this.zzj(p5);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(new com.google.android.gms.iid.zzr(this.zzk).zzd(1, p5)));
            } catch (int v6_12) {
                if (android.util.Log.isLoggable("InstanceID", 3)) {
                    String v1_6 = String.valueOf(v6_12);
                    StringBuilder v3_1 = new StringBuilder((String.valueOf(v1_6).length() + 22));
                    v3_1.append("Error making request: ");
                    v3_1.append(v1_6);
                    android.util.Log.d("InstanceID", v3_1.toString());
                }
                if ((v6_12.getCause() instanceof com.google.android.gms.iid.zzaa)) {
                    if (((com.google.android.gms.iid.zzaa) v6_12.getCause()).getErrorCode() == 4) {
                        return this.zzj(p5);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.android.gms.iid.zzaf.zzj():


    private final android.os.Bundle zzj(android.os.Bundle p3)
    {
        int v0 = this.zzk(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zzk(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.android.gms.iid.zzaf.zzk():


    private final android.os.Bundle zzk(android.os.Bundle p9)
    {
        java.io.IOException v0_1 = new android.os.ConditionVariable();
        String v1_6 = com.google.android.gms.iid.zzaf.zzv();
        this.getClass();
        this.zzcu.put(v1_6, v0_1);
        if (this.zzah == null) {
            com.google.android.gms.iid.zzaf.zzl(this.zzk);
            this.zzah = new android.os.Messenger(new com.google.android.gms.iid.zzag(this, android.os.Looper.getMainLooper()));
        }
        if (com.google.android.gms.iid.zzaf.zzcp == null) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            String v3_20;
            if (!com.google.android.gms.iid.zzaf.zzcq) {
                v3_20 = "com.google.android.c2dm.intent.REGISTER";
            } else {
                v3_20 = "com.google.iid.TOKEN_REQUEST";
            }
            String v2_10 = new android.content.Intent(v3_20);
            v2_10.setPackage(com.google.android.gms.iid.zzaf.zzcp);
            v2_10.putExtras(p9);
            this.zzg(v2_10);
            android.content.BroadcastReceiver v4_3 = new StringBuilder((String.valueOf(v1_6).length() + 5));
            v4_3.append("|ID|");
            v4_3.append(v1_6);
            v4_3.append("|");
            v2_10.putExtra("kid", v4_3.toString());
            android.content.BroadcastReceiver v4_5 = new StringBuilder((String.valueOf(v1_6).length() + 5));
            v4_5.append("|ID|");
            v4_5.append(v1_6);
            v4_5.append("|");
            v2_10.putExtra("X-kid", v4_5.toString());
            String v9_26 = "com.google.android.gsf".equals(com.google.android.gms.iid.zzaf.zzcp);
            String v3_37 = v2_10.getStringExtra("useGsf");
            if (v3_37 != null) {
                v9_26 = "1".equals(v3_37);
            }
            if (android.util.Log.isLoggable("InstanceID", 3)) {
                String v5_6 = String.valueOf(v2_10.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_6).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_6);
                android.util.Log.d("InstanceID", v7_1.toString());
            }
            if (this.zzcv == null) {
                if (v9_26 == null) {
                    v2_10.putExtra("google.messenger", this.zzah);
                    v2_10.putExtra("messenger2", "1");
                    if (this.zzcw != null) {
                        String v9_5 = android.os.Message.obtain();
                        v9_5.obj = v2_10;
                        try {
                            this.zzcw.send(v9_5);
                        } catch (android.os.RemoteException) {
                            if (android.util.Log.isLoggable("InstanceID", 3)) {
                                android.util.Log.d("InstanceID", "Messenger failed, fallback to startService");
                            }
                        }
                        v0_1.block(30000);
                        this.getClass();
                        try {
                            java.io.IOException v0_3 = this.zzcu.remove(v1_6);
                        } catch (java.io.IOException v0_10) {
                            throw v0_10;
                        }
                        if (!(v0_3 instanceof android.os.Bundle)) {
                            if (!(v0_3 instanceof String)) {
                                java.io.IOException v0_4 = String.valueOf(v0_3);
                                String v3_18 = new StringBuilder((String.valueOf(v0_4).length() + 12));
                                v3_18.append("No response ");
                                v3_18.append(v0_4);
                                android.util.Log.w("InstanceID", v3_18.toString());
                                throw new java.io.IOException("TIMEOUT");
                            } else {
                                throw new java.io.IOException(((String) v0_3));
                            }
                        } else {
                            return ((android.os.Bundle) v0_3);
                        }
                    }
                    if (!com.google.android.gms.iid.zzaf.zzcq) {
                        this.zzk.startService(v2_10);
                    }
                } else {
                    try {
                        if (com.google.android.gms.iid.zzaf.zzct == null) {
                            com.google.android.gms.iid.zzaf.zzct = new com.google.android.gms.iid.zzah(this);
                            if (android.util.Log.isLoggable("InstanceID", 3)) {
                                android.util.Log.d("InstanceID", "Registered GSF callback receiver");
                            }
                            String v9_18 = new android.content.IntentFilter("com.google.android.c2dm.intent.REGISTRATION");
                            v9_18.addCategory(this.zzk.getPackageName());
                            this.zzk.registerReceiver(com.google.android.gms.iid.zzaf.zzct, v9_18, "com.google.android.c2dm.permission.SEND", 0);
                        }
                    } catch (String v9_19) {
                        throw v9_19;
                    }
                }
                this.zzk.sendBroadcast(v2_10);
            } else {
                v2_10.putExtra("google.messenger", this.zzah);
                String v3_2 = android.os.Message.obtain();
                v3_2.obj = v2_10;
                try {
                    this.zzcv.send(v3_2);
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("InstanceID", 3)) {
                    } else {
                        android.util.Log.d("InstanceID", "Messenger failed, fallback to startService");
                    }
                }
            }
        }
    }

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

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lcom/dimelo/purpleshop/activities/MainActivity$8;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzk', '(Landroid/content/Context;)Z'), ('Lcom/google/android/gms/iid/zzaf;', 'zzl', '(Landroid/content/Context;)Ljava/lang/String;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p1)
    {
        return this.doInBackground(p1);
    }

Method com.dimelo.purpleshop.activities.MainActivity$8.doInBackground():


    protected varargs String doInBackground(Object[] p4)
    {
        try {
            String v4_5 = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.val$mContext);
            StringBuilder v0_5 = new String[1];
            v0_5[0] = com.dimelo.purpleshop.application.Constant.SENDER_ID;
            this.mGcmRegistrationId = v4_5.register(v0_5);
            String v4_2 = new StringBuilder();
            v4_2.append("Device registered, registration ID=");
            v4_2.append(this.mGcmRegistrationId);
            String v4_3 = v4_2.toString();
        } catch (String v4_4) {
            StringBuilder v0_3 = new StringBuilder();
            v0_3.append("Error :");
            v0_3.append(v4_4.getMessage());
            v4_3 = v0_3.toString();
        }
        return v4_3;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v2_2) {
            throw v2_2;
        }
    }

Method com.google.android.gms.iid.zzaf.zzk():


    public static boolean zzk(android.content.Context p1)
    {
        if (com.google.android.gms.iid.zzaf.zzcp != null) {
            com.google.android.gms.iid.zzaf.zzl(p1);
        }
        return com.google.android.gms.iid.zzaf.zzcq;
    }

Method com.google.android.gms.iid.zzaf.zzl():


    public static String zzl(android.content.Context p5)
    {
        if (com.google.android.gms.iid.zzaf.zzcp == null) {
            com.google.android.gms.iid.zzaf.zzcr = android.os.Process.myUid();
            String v5_1 = p5.getPackageManager();
            String v1_0 = 1;
            if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                String v0_4 = v5_1.queryIntentServices(new android.content.Intent("com.google.android.c2dm.intent.REGISTER"), 0).iterator();
                while (v0_4.hasNext()) {
                    if (com.google.android.gms.iid.zzaf.zzd(v5_1, ((android.content.pm.ResolveInfo) v0_4.next()).serviceInfo.packageName, "com.google.android.c2dm.intent.REGISTER")) {
                        com.google.android.gms.iid.zzaf.zzcq = 0;
                        String v0_5 = 1;
                    }
                    if (v0_5 != null) {
                        return com.google.android.gms.iid.zzaf.zzcp;
                    }
                }
                v0_5 = 0;
            }
            String v0_10 = v5_1.queryBroadcastReceivers(new android.content.Intent("com.google.iid.TOKEN_REQUEST"), 0).iterator();
            while (v0_10.hasNext()) {
                if (com.google.android.gms.iid.zzaf.zzd(v5_1, ((android.content.pm.ResolveInfo) v0_10.next()).activityInfo.packageName, "com.google.iid.TOKEN_REQUEST")) {
                    com.google.android.gms.iid.zzaf.zzcq = 1;
                }
                if (v1_0 == null) {
                    android.util.Log.w("InstanceID", "Failed to resolve IID implementation package, falling back");
                    if (!com.google.android.gms.iid.zzaf.zzd(v5_1, "com.google.android.gms")) {
                        if ((com.google.android.gms.common.util.PlatformVersion.isAtLeastLollipop()) || (!com.google.android.gms.iid.zzaf.zzd(v5_1, "com.google.android.gsf"))) {
                            android.util.Log.w("InstanceID", "Google Play services is missing, unable to get tokens");
                            return 0;
                        } else {
                            com.google.android.gms.iid.zzaf.zzcq = 0;
                            return com.google.android.gms.iid.zzaf.zzcp;
                        }
                    } else {
                        com.google.android.gms.iid.zzaf.zzcq = com.google.android.gms.common.util.PlatformVersion.isAtLeastO();
                        return com.google.android.gms.iid.zzaf.zzcp;
                    }
                } else {
                    return com.google.android.gms.iid.zzaf.zzcp;
                }
            }
            v1_0 = 0;
        } else {
            return com.google.android.gms.iid.zzaf.zzcp;
        }
    }

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

[TAINT] String '.dimelo.fileprovider' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '1', 'IPC_SINK']' [[('Lcom/dimelo/dimelosdk/utilities/CameraIntentHelper;', 'dispatchTakePictureAndSaveIntent', '(Landroid/support/v4/app/Fragment; I)V'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value .dimelo.fileprovider to construct an Intent

Method com.dimelo.dimelosdk.utilities.CameraIntentHelper.dispatchTakePictureAndSaveIntent():


    public static void dispatchTakePictureAndSaveIntent(android.support.v4.app.Fragment p4, int p5)
    {
        android.content.Intent v0_1 = new android.content.Intent("android.media.action.IMAGE_CAPTURE");
        if ((p4.getActivity() != null) && (v0_1.resolveActivity(p4.getActivity().getPackageManager()) != null)) {
            try {
                android.support.v4.app.Fragment v1_2 = com.dimelo.dimelosdk.utilities.CameraIntentHelper.createImageFile();
            } catch (String v2_1) {
                v2_1.printStackTrace();
            }
            if (v1_2 != null) {
                v0_1.putExtra("output", com.dimelo.dimelosdk.utilities.CameraIntentHelper.getFileUri(v1_2, p4.getActivity()));
                if (p4.getParentFragment() == null) {
                    p4.startActivityForResult(v0_1, p5);
                } else {
                    p4.getParentFragment().startActivityForResult(v0_1, p5);
                }
            }
        }
        return;
    }

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

[TAINT] String '.jpg' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '1', 'IPC_SINK']' [[('Lcom/dimelo/dimelosdk/utilities/CameraIntentHelper;', 'dispatchTakePictureAndSaveIntent', '(Landroid/support/v4/app/Fragment; I)V'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value .jpg to construct an Intent

Method com.dimelo.dimelosdk.utilities.CameraIntentHelper.dispatchTakePictureAndSaveIntent():


    public static void dispatchTakePictureAndSaveIntent(android.support.v4.app.Fragment p4, int p5)
    {
        android.content.Intent v0_1 = new android.content.Intent("android.media.action.IMAGE_CAPTURE");
        if ((p4.getActivity() != null) && (v0_1.resolveActivity(p4.getActivity().getPackageManager()) != null)) {
            try {
                android.support.v4.app.Fragment v1_2 = com.dimelo.dimelosdk.utilities.CameraIntentHelper.createImageFile();
            } catch (String v2_1) {
                v2_1.printStackTrace();
            }
            if (v1_2 != null) {
                v0_1.putExtra("output", com.dimelo.dimelosdk.utilities.CameraIntentHelper.getFileUri(v1_2, p4.getActivity()));
                if (p4.getParentFragment() == null) {
                    p4.startActivityForResult(v0_1, p5);
                } else {
                    p4.getParentFragment().startActivityForResult(v0_1, p5);
                }
            }
        }
        return;
    }

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

[TAINT] String '.dimelo.fileprovider' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '1', 'IPC_SINK']' [[('Lcom/dimelo/dimelosdk/utilities/CameraIntentHelper;', 'dispatchTakePictureAndSaveIntent', '(Landroid/app/Activity; I)V'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value .dimelo.fileprovider to construct an Intent

Method com.dimelo.dimelosdk.utilities.CameraIntentHelper.dispatchTakePictureAndSaveIntent():


    public static void dispatchTakePictureAndSaveIntent(android.app.Activity p3, int p4)
    {
        android.content.Intent v0_1 = new android.content.Intent("android.media.action.IMAGE_CAPTURE");
        if ((p3 != null) && (v0_1.resolveActivity(p3.getPackageManager()) != null)) {
            try {
                android.net.Uri v1_1 = com.dimelo.dimelosdk.utilities.CameraIntentHelper.createImageFile();
            } catch (String v2_1) {
                v2_1.printStackTrace();
            }
            if (v1_1 != null) {
                v0_1.putExtra("output", com.dimelo.dimelosdk.utilities.CameraIntentHelper.getFileUri(v1_1, p3));
                p3.startActivityForResult(v0_1, p4);
            }
        }
        return;
    }

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

[TAINT] String '.jpg' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '1', 'IPC_SINK']' [[('Lcom/dimelo/dimelosdk/utilities/CameraIntentHelper;', 'dispatchTakePictureAndSaveIntent', '(Landroid/app/Activity; I)V'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value .jpg to construct an Intent

Method com.dimelo.dimelosdk.utilities.CameraIntentHelper.dispatchTakePictureAndSaveIntent():


    public static void dispatchTakePictureAndSaveIntent(android.app.Activity p3, int p4)
    {
        android.content.Intent v0_1 = new android.content.Intent("android.media.action.IMAGE_CAPTURE");
        if ((p3 != null) && (v0_1.resolveActivity(p3.getPackageManager()) != null)) {
            try {
                android.net.Uri v1_1 = com.dimelo.dimelosdk.utilities.CameraIntentHelper.createImageFile();
            } catch (String v2_1) {
                v2_1.printStackTrace();
            }
            if (v1_1 != null) {
                v0_1.putExtra("output", com.dimelo.dimelosdk.utilities.CameraIntentHelper.getFileUri(v1_1, p3));
                p3.startActivityForResult(v0_1, p4);
            }
        }
        return;
    }

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

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/messaging/FirebaseMessaging;', 'send', '(Lcom/google/firebase/messaging/RemoteMessage;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method com.google.firebase.messaging.FirebaseMessaging.send():


    public void send(com.google.firebase.messaging.RemoteMessage p6)
    {
        if (android.text.TextUtils.isEmpty(p6.getTo())) {
            throw new IllegalArgumentException("Missing \'to\'");
        } else {
            String v0_2 = com.google.firebase.FirebaseApp.getInstance().getApplicationContext();
            android.content.Intent v1_1 = new android.content.Intent("com.google.android.gcm.intent.SEND");
            String v2_2 = new android.content.Intent();
            v2_2.setPackage("com.google.example.invalidpackage");
            v1_1.putExtra("app", android.app.PendingIntent.getBroadcast(v0_2, 0, v2_2, 0));
            v1_1.setPackage("com.google.android.gms");
            v1_1.putExtras(p6.zzds);
            v0_2.sendOrderedBroadcast(v1_1, "com.google.android.gtalkservice.permission.GTALK_SERVICE");
            return;
        }
    }

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

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzs;', 'run', '()V'), ('Lcom/google/firebase/iid/zzr;', 'zza', '(Landroid/os/Bundle; Lcom/google/android/gms/tasks/TaskCompletionSource;)V'), ('Lcom/google/firebase/iid/zzat;', 'zzc', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzan;', 'zzac', '()I'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method com.google.firebase.iid.zzs.run():


    public final void run()
    {
        this.zzbk.zza(this.zzbl, this.zzbm);
        return;
    }

Method com.google.firebase.iid.zzr.zza():


    final synthetic void zza(android.os.Bundle p2, com.google.android.gms.tasks.TaskCompletionSource p3)
    {
        try {
            p3.setResult(this.zzbi.zzc(p2));
            return;
        } catch (java.io.IOException v2_2) {
            p3.setException(v2_2);
            return;
        }
    }

Method com.google.firebase.iid.zzat.zzc():


    final android.os.Bundle zzc(android.os.Bundle p6)
    {
        if (this.zzan.zzaf() < 12000000) {
            return this.zzd(p6);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(com.google.firebase.iid.zzab.zzc(this.zzx).zzb(1, p6)));
            } catch (int v0_5) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    String v2_1 = String.valueOf(v0_5);
                    StringBuilder v4_1 = new StringBuilder((String.valueOf(v2_1).length() + 22));
                    v4_1.append("Error making request: ");
                    v4_1.append(v2_1);
                    android.util.Log.d("FirebaseInstanceId", v4_1.toString());
                }
                if ((v0_5.getCause() instanceof com.google.firebase.iid.zzal)) {
                    if (((com.google.firebase.iid.zzal) v0_5.getCause()).getErrorCode() == 4) {
                        return this.zzd(p6);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

Method com.google.firebase.iid.zzan.zzac():


    public final declared_synchronized int zzac()
    {
        try {
            if (this.zzcl == 0) {
                int v0_5 = this.zzx.getPackageManager();
                if (v0_5.checkPermission("com.google.android.c2dm.permission.SEND", "com.google.android.gms") != -1) {
                    if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                        int v1_2 = new android.content.Intent("com.google.android.c2dm.intent.REGISTER");
                        v1_2.setPackage("com.google.android.gms");
                        int v1_3 = v0_5.queryIntentServices(v1_2, 0);
                        if ((v1_3 != 0) && (v1_3.size() > 0)) {
                            this.zzcl = 1;
                            return this.zzcl;
                        }
                    }
                    int v1_6 = new android.content.Intent("com.google.iid.TOKEN_REQUEST");
                    v1_6.setPackage("com.google.android.gms");
                    int v0_2 = v0_5.queryBroadcastReceivers(v1_6, 0);
                    if ((v0_2 == 0) || (v0_2.size() <= 0)) {
                        android.util.Log.w("FirebaseInstanceId", "Failed to resolve IID implementation package, falling back");
                        if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                            this.zzcl = 1;
                        } else {
                            this.zzcl = 2;
                        }
                        return this.zzcl;
                    } else {
                        this.zzcl = 2;
                        return this.zzcl;
                    }
                } else {
                    android.util.Log.e("FirebaseInstanceId", "Google Play services missing or without correct permission.");
                    return 0;
                }
            } else {
                return this.zzcl;
            }
        } catch (int v0_7) {
            throw v0_7;
        }
    }

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

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/google/firebase/iid/zzs;', 'run', '()V'), ('Lcom/google/firebase/iid/zzr;', 'zza', '(Landroid/os/Bundle; Lcom/google/android/gms/tasks/TaskCompletionSource;)V'), ('Lcom/google/firebase/iid/zzat;', 'zzc', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zzd', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zze', '(Landroid/os/Bundle;)Landroid/os/Bundle;'), ('Lcom/google/firebase/iid/zzat;', 'zza', '(Landroid/content/Context; Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method com.google.firebase.iid.zzs.run():


    public final void run()
    {
        this.zzbk.zza(this.zzbl, this.zzbm);
        return;
    }

Method com.google.firebase.iid.zzr.zza():


    final synthetic void zza(android.os.Bundle p2, com.google.android.gms.tasks.TaskCompletionSource p3)
    {
        try {
            p3.setResult(this.zzbi.zzc(p2));
            return;
        } catch (java.io.IOException v2_2) {
            p3.setException(v2_2);
            return;
        }
    }

Method com.google.firebase.iid.zzat.zzc():


    final android.os.Bundle zzc(android.os.Bundle p6)
    {
        if (this.zzan.zzaf() < 12000000) {
            return this.zzd(p6);
        } else {
            try {
                return ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(com.google.firebase.iid.zzab.zzc(this.zzx).zzb(1, p6)));
            } catch (int v0_5) {
                if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    String v2_1 = String.valueOf(v0_5);
                    StringBuilder v4_1 = new StringBuilder((String.valueOf(v2_1).length() + 22));
                    v4_1.append("Error making request: ");
                    v4_1.append(v2_1);
                    android.util.Log.d("FirebaseInstanceId", v4_1.toString());
                }
                if ((v0_5.getCause() instanceof com.google.firebase.iid.zzal)) {
                    if (((com.google.firebase.iid.zzal) v0_5.getCause()).getErrorCode() == 4) {
                        return this.zzd(p6);
                    }
                }
                return 0;
            }
        }
    }

Method com.google.firebase.iid.zzat.zzd():


    private final android.os.Bundle zzd(android.os.Bundle p3)
    {
        int v0 = this.zze(p3);
        if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
            v0 = this.zze(p3);
            if ((v0 != 0) && (v0.containsKey("google.messenger"))) {
                v0 = 0;
            }
        }
        return v0;
    }

Method com.google.firebase.iid.zzat.zze():


    private final android.os.Bundle zze(android.os.Bundle p9)
    {
        String v0_0 = com.google.firebase.iid.zzat.zzah();
        java.io.IOException v1_6 = new com.google.android.gms.tasks.TaskCompletionSource();
        this.zzcs.put(v0_0, v1_6);
        if (this.zzan.zzac() == 0) {
            throw new java.io.IOException("MISSING_INSTANCEID_SERVICE");
        } else {
            android.support.v4.util.SimpleArrayMap v2_3 = new android.content.Intent();
            v2_3.setPackage("com.google.android.gms");
            if (this.zzan.zzac() != 2) {
                v2_3.setAction("com.google.android.c2dm.intent.REGISTER");
            } else {
                v2_3.setAction("com.google.iid.TOKEN_REQUEST");
            }
            v2_3.putExtras(p9);
            com.google.firebase.iid.zzat.zza(this.zzx, v2_3);
            com.google.firebase.iid.zzl v5_1 = new StringBuilder((String.valueOf(v0_0).length() + 5));
            v5_1.append("|ID|");
            v5_1.append(v0_0);
            v5_1.append("|");
            v2_3.putExtra("kid", v5_1.toString());
            if (android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                com.google.firebase.iid.zzl v5_3 = String.valueOf(v2_3.getExtras());
                StringBuilder v7_1 = new StringBuilder((String.valueOf(v5_3).length() + 8));
                v7_1.append("Sending ");
                v7_1.append(v5_3);
                android.util.Log.d("FirebaseInstanceId", v7_1.toString());
            }
            v2_3.putExtra("google.messenger", this.zzct);
            if ((this.zzcu == null) && (this.zzcv == null)) {
                if (this.zzan.zzac() != 2) {
                    this.zzx.startService(v2_3);
                } else {
                    this.zzx.sendBroadcast(v2_3);
                }
            } else {
                Throwable v9_23 = android.os.Message.obtain();
                v9_23.obj = v2_3;
                try {
                    if (this.zzcu == null) {
                        this.zzcv.send(v9_23);
                    } else {
                        this.zzcu.send(v9_23);
                    }
                } catch (android.os.RemoteException) {
                    if (!android.util.Log.isLoggable("FirebaseInstanceId", 3)) {
                    } else {
                        android.util.Log.d("FirebaseInstanceId", "Messenger failed, fallback to startService");
                    }
                }
                Throwable v9_4 = ((android.os.Bundle) com.google.android.gms.tasks.Tasks.await(v1_6.getTask(), 30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                try {
                    this.zzcs.remove(v0_0);
                    return v9_4;
                } catch (Throwable v9_13) {
                    throw v9_13;
                }
            }
            try {
            } catch (Throwable v9_10) {
                this.zzcs.remove(v0_0);
                throw v9_10;
            } catch (Throwable v9_6) {
                throw new java.io.IOException(v9_6);
            }
            this.zzcs.remove(v0_0);
            return v9_4;
        }
    }

Method com.google.firebase.iid.zzat.zza():


    private static declared_synchronized void zza(android.content.Context p3, android.content.Intent p4)
    {
        try {
            if (com.google.firebase.iid.zzat.zzcr == null) {
                android.app.PendingIntent v1_3 = new android.content.Intent();
                v1_3.setPackage("com.google.example.invalidpackage");
                com.google.firebase.iid.zzat.zzcr = android.app.PendingIntent.getBroadcast(p3, 0, v1_3, 0);
            }
        } catch (String v3_1) {
            throw v3_1;
        }
        p4.putExtra("app", com.google.firebase.iid.zzat.zzcr);
        return;
    }

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