.class public final Lcom/discord/utilities/ShareUtils; .super Ljava/lang/Object; .source "ShareUtils.kt" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/discord/utilities/ShareUtils$SharedContent; } .end annotation # static fields .field public static final INSTANCE:Lcom/discord/utilities/ShareUtils; # direct methods .method public static constructor ()V .locals 1 new-instance v0, Lcom/discord/utilities/ShareUtils; invoke-direct {v0}, Lcom/discord/utilities/ShareUtils;->()V sput-object v0, Lcom/discord/utilities/ShareUtils;->INSTANCE:Lcom/discord/utilities/ShareUtils; return-void .end method .method public constructor ()V .locals 0 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static final synthetic access$toShortcutInfo(Lcom/discord/utilities/ShareUtils;Lcom/discord/models/domain/ModelChannel;Landroid/content/Context;Landroidx/core/graphics/drawable/IconCompat;I)Landroidx/core/content/pm/ShortcutInfoCompat; .locals 0 invoke-direct {p0, p1, p2, p3, p4}, Lcom/discord/utilities/ShareUtils;->toShortcutInfo(Lcom/discord/models/domain/ModelChannel;Landroid/content/Context;Landroidx/core/graphics/drawable/IconCompat;I)Landroidx/core/content/pm/ShortcutInfoCompat; move-result-object p0 return-object p0 .end method .method private final toShortcutInfo(Lcom/discord/models/domain/ModelChannel;Landroid/content/Context;Landroidx/core/graphics/drawable/IconCompat;I)Landroidx/core/content/pm/ShortcutInfoCompat; .locals 7 new-instance v0, Landroidx/core/content/pm/ShortcutInfoCompat$Builder; invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->getId()J move-result-wide v1 invoke-static {v1, v2}, Ljava/lang/String;->valueOf(J)Ljava/lang/String; move-result-object v1 invoke-direct {v0, p2, v1}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->(Landroid/content/Context;Ljava/lang/String;)V invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->getName()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->setShortLabel(Ljava/lang/CharSequence;)Landroidx/core/content/pm/ShortcutInfoCompat$Builder; move-result-object v0 invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->getName()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->setLongLabel(Ljava/lang/CharSequence;)Landroidx/core/content/pm/ShortcutInfoCompat$Builder; move-result-object v0 invoke-virtual {v0, p3}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->setIcon(Landroidx/core/graphics/drawable/IconCompat;)Landroidx/core/content/pm/ShortcutInfoCompat$Builder; move-result-object p3 invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->getId()J move-result-wide v0 const-wide/16 v2, 0x0 const/4 v4, 0x0 const/4 v5, 0x6 const/4 v6, 0x0 invoke-static/range {v0 .. v6}, Lcom/discord/utilities/intent/IntentUtils$RouteBuilders;->selectChannel$default(JJLjava/lang/Long;ILjava/lang/Object;)Landroid/content/Intent; move-result-object v0 invoke-virtual {p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object p2 invoke-virtual {v0, p2}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent; move-result-object p2 invoke-virtual {p3, p2}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->setIntent(Landroid/content/Intent;)Landroidx/core/content/pm/ShortcutInfoCompat$Builder; move-result-object p2 invoke-virtual {p2, p4}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->setRank(I)Landroidx/core/content/pm/ShortcutInfoCompat$Builder; move-result-object p2 const/4 p3, 0x1 invoke-virtual {p2, p3}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->setLongLived(Z)Landroidx/core/content/pm/ShortcutInfoCompat$Builder; move-result-object p2 sget-object p3, Lf/a/b/v0/a;->b:Lf/a/b/v0/a; sget-object p3, Lf/a/b/v0/a;->a:Ljava/util/Set; invoke-virtual {p2, p3}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->setCategories(Ljava/util/Set;)Landroidx/core/content/pm/ShortcutInfoCompat$Builder; move-result-object p2 invoke-virtual {p1}, Lcom/discord/models/domain/ModelChannel;->getRecipients()Ljava/util/List; move-result-object p1 const-string p3, "recipients" invoke-static {p1, p3}, Lk0/n/c/i;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V new-instance p3, Ljava/util/ArrayList; const/16 p4, 0xa invoke-static {p1, p4}, Lf/h/a/f/e/n/f;->collectionSizeOrDefault(Ljava/lang/Iterable;I)I move-result p4 invoke-direct {p3, p4}, Ljava/util/ArrayList;->(I)V invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result p4 if-eqz p4, :cond_0 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object p4 check-cast p4, Lcom/discord/models/domain/ModelUser; const-string v0, "it" invoke-static {p4, v0}, Lk0/n/c/i;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V invoke-static {p4}, Lcom/discord/models/ktx/ModelUserExtensionsKt;->toPerson(Lcom/discord/models/domain/ModelUser;)Landroidx/core/app/Person; move-result-object p4 invoke-interface {p3, p4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z goto :goto_0 :cond_0 const/4 p1, 0x0 new-array p1, p1, [Landroidx/core/app/Person; invoke-interface {p3, p1}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object p1 if-eqz p1, :cond_1 check-cast p1, [Landroidx/core/app/Person; invoke-virtual {p2, p1}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->setPersons([Landroidx/core/app/Person;)Landroidx/core/content/pm/ShortcutInfoCompat$Builder; move-result-object p1 invoke-virtual {p1}, Landroidx/core/content/pm/ShortcutInfoCompat$Builder;->build()Landroidx/core/content/pm/ShortcutInfoCompat; move-result-object p1 const-string p2, "ShortcutInfoCompat.Build\u2026ray())\n .build()" invoke-static {p1, p2}, Lk0/n/c/i;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V return-object p1 :cond_1 new-instance p1, Ljava/lang/NullPointerException; const-string p2, "null cannot be cast to non-null type kotlin.Array" invoke-direct {p1, p2}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw p1 .end method # virtual methods .method public final getSharedContent(Landroid/content/Intent;Z)Lcom/discord/utilities/ShareUtils$SharedContent; .locals 10 const-string v0, "intent" invoke-static {p1, v0}, Lk0/n/c/i;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "android.intent.extra.TEXT" invoke-virtual {p1, v0}, Landroid/content/Intent;->getCharSequenceExtra(Ljava/lang/String;)Ljava/lang/CharSequence; move-result-object v1 const-string v2, "android.intent.extra.SUBJECT" invoke-virtual {p1, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; move-result-object v3 const/4 v4, 0x0 const/4 v5, 0x1 if-eqz v1, :cond_1 invoke-static {v1}, Lk0/t/k;->isBlank(Ljava/lang/CharSequence;)Z move-result v6 if-eqz v6, :cond_0 goto :goto_0 :cond_0 const/4 v6, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v6, 0x1 :goto_1 const/4 v7, 0x0 if-nez v6, :cond_2 goto :goto_4 :cond_2 if-eqz v3, :cond_4 invoke-static {v3}, Lk0/t/k;->isBlank(Ljava/lang/CharSequence;)Z move-result v1 if-eqz v1, :cond_3 goto :goto_2 :cond_3 const/4 v1, 0x0 goto :goto_3 :cond_4 :goto_2 const/4 v1, 0x1 :goto_3 if-nez v1, :cond_5 move-object v1, v3 goto :goto_4 :cond_5 move-object v1, v7 :goto_4 invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String; move-result-object v3 const-string v6, "android.intent.extra.STREAM" if-nez v3, :cond_6 goto :goto_5 :cond_6 invoke-virtual {v3}, Ljava/lang/String;->hashCode()I move-result v8 const v9, -0x45ee9a33 if-eq v8, v9, :cond_8 const v4, -0x37c67be if-eq v8, v4, :cond_7 goto :goto_5 :cond_7 const-string v4, "android.intent.action.SEND_MULTIPLE" invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_9 invoke-virtual {p1, v6}, Landroid/content/Intent;->getParcelableArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList; move-result-object v7 goto :goto_5 :cond_8 const-string v8, "android.intent.action.SEND" invoke-virtual {v3, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_9 invoke-virtual {p1, v6}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable; move-result-object v3 check-cast v3, Landroid/net/Uri; if-eqz v3, :cond_9 new-array v5, v5, [Landroid/net/Uri; aput-object v3, v5, v4 invoke-static {v5}, Lf/h/a/f/e/n/f;->arrayListOf([Ljava/lang/Object;)Ljava/util/ArrayList; move-result-object v7 :cond_9 :goto_5 if-eqz p2, :cond_a invoke-virtual {p1, v0}, Landroid/content/Intent;->removeExtra(Ljava/lang/String;)V invoke-virtual {p1, v2}, Landroid/content/Intent;->removeExtra(Ljava/lang/String;)V invoke-virtual {p1, v6}, Landroid/content/Intent;->removeExtra(Ljava/lang/String;)V :cond_a new-instance p1, Lcom/discord/utilities/ShareUtils$SharedContent; invoke-direct {p1, v1, v7}, Lcom/discord/utilities/ShareUtils$SharedContent;->(Ljava/lang/CharSequence;Ljava/util/List;)V return-object p1 .end method .method public final updateDirectShareTargets(Landroid/content/Context;)V .locals 11 const-string v0, "context" invoke-static {p1, v0}, Lk0/n/c/i;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const/16 v0, 0x48 invoke-static {v0}, Lcom/discord/utilities/dimen/DimenUtils;->dpToPixels(I)I move-result v0 const/16 v1, 0x6c invoke-static {v1}, Lcom/discord/utilities/dimen/DimenUtils;->dpToPixels(I)I move-result v1 sget-object v2, Lcom/discord/stores/StoreStream;->Companion:Lcom/discord/stores/StoreStream$Companion; invoke-virtual {v2}, Lcom/discord/stores/StoreStream$Companion;->getChannels()Lcom/discord/stores/StoreChannels; move-result-object v2 invoke-virtual {v2, p1}, Lcom/discord/stores/StoreChannels;->getDirectShareCandidates(Landroid/content/Context;)Lrx/Observable; move-result-object v3 const-wide/16 v4, 0x0 const/4 v6, 0x0 const/4 v7, 0x1 const/4 v8, 0x0 invoke-static/range {v3 .. v8}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->takeSingleUntilTimeout$default(Lrx/Observable;JZILjava/lang/Object;)Lrx/Observable; move-result-object v2 sget-object v3, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$1;->INSTANCE:Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$1; invoke-virtual {v2, v3}, Lrx/Observable;->E(Lt0/k/b;)Lrx/Observable; move-result-object v2 sget-object v3, Lcom/discord/stores/StoreStream;->Companion:Lcom/discord/stores/StoreStream$Companion; invoke-virtual {v3}, Lcom/discord/stores/StoreStream$Companion;->getChannels()Lcom/discord/stores/StoreChannels; move-result-object v3 invoke-virtual {v3}, Lcom/discord/stores/StoreChannels;->get()Lrx/Observable; move-result-object v3 sget-object v4, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$2;->INSTANCE:Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$2; invoke-virtual {v3, v4}, Lrx/Observable;->w(Lt0/k/b;)Lrx/Observable; move-result-object v5 const-string v3, "StoreStream\n \u2026ilter { it.isNotEmpty() }" invoke-static {v5, v3}, Lk0/n/c/i;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V const-wide/16 v6, 0x0 const/4 v8, 0x0 const/4 v9, 0x1 const/4 v10, 0x0 invoke-static/range {v5 .. v10}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->takeSingleUntilTimeout$default(Lrx/Observable;JZILjava/lang/Object;)Lrx/Observable; move-result-object v3 new-instance v4, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$3; invoke-direct {v4, p1}, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$3;->(Landroid/content/Context;)V invoke-static {v2, v3, v4}, Lrx/Observable;->j(Lrx/Observable;Lrx/Observable;Lrx/functions/Func2;)Lrx/Observable; move-result-object v2 const-string v3, "Observable.combineLatest\u2026o to icon }\n }\n }" invoke-static {v2, v3}, Lk0/n/c/i;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V invoke-static {v2}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->computationLatest(Lrx/Observable;)Lrx/Observable; move-result-object v2 new-instance v3, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$4; invoke-direct {v3, v0, v1}, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$4;->(II)V invoke-virtual {v2, v3}, Lrx/Observable;->x(Lt0/k/b;)Lrx/Observable; move-result-object v0 const-string v1, "Observable.combineLatest\u2026riPairs to it }\n }" invoke-static {v0, v1}, Lk0/n/c/i;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V invoke-static {v0}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->ui(Lrx/Observable;)Lrx/Observable; move-result-object v2 const-class v3, Lcom/discord/utilities/ShareUtils; new-instance v8, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$5; invoke-direct {v8, p1}, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$5;->(Landroid/content/Context;)V const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 const/16 v9, 0x1c move-object v4, p1 invoke-static/range {v2 .. v10}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->appSubscribe$default(Lrx/Observable;Ljava/lang/Class;Landroid/content/Context;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x19 if-lt v0, v1, :cond_0 const-class v0, Landroid/content/pm/ShortcutManager; invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/content/pm/ShortcutManager; sget-object v1, Lcom/discord/stores/StoreStream;->Companion:Lcom/discord/stores/StoreStream$Companion; invoke-virtual {v1}, Lcom/discord/stores/StoreStream$Companion;->getChannels()Lcom/discord/stores/StoreChannels; move-result-object v1 invoke-virtual {v1}, Lcom/discord/stores/StoreChannels;->get()Lrx/Observable; move-result-object v1 sget-object v2, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$6;->INSTANCE:Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$6; invoke-virtual {v1, v2}, Lrx/Observable;->w(Lt0/k/b;)Lrx/Observable; move-result-object v3 const-string v1, "StoreStream.getChannels(\u2026ilter { it.isNotEmpty() }" invoke-static {v3, v1}, Lk0/n/c/i;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V const-wide/16 v4, 0x0 const/4 v6, 0x0 const/4 v7, 0x1 const/4 v8, 0x0 invoke-static/range {v3 .. v8}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->takeSingleUntilTimeout$default(Lrx/Observable;JZILjava/lang/Object;)Lrx/Observable; move-result-object v1 invoke-static {v1}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->ui(Lrx/Observable;)Lrx/Observable; move-result-object v2 const-class v3, Lcom/discord/utilities/ShareUtils; const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 new-instance v8, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$7; invoke-direct {v8, v0, p1}, Lcom/discord/utilities/ShareUtils$updateDirectShareTargets$7;->(Landroid/content/pm/ShortcutManager;Landroid/content/Context;)V const/16 v9, 0x1c const/4 v10, 0x0 move-object v4, p1 invoke-static/range {v2 .. v10}, Lcom/discord/utilities/rx/ObservableExtensionsKt;->appSubscribe$default(Lrx/Observable;Ljava/lang/Class;Landroid/content/Context;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V :cond_0 return-void .end method