686 lines
33 KiB
Java
686 lines
33 KiB
Java
package com.discord.widgets.auth;
|
|
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.net.Uri;
|
|
import android.text.format.DateUtils;
|
|
import android.view.View;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.TextView;
|
|
import androidx.activity.result.ActivityResultLauncher;
|
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.fragment.app.FragmentViewModelLazyKt;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import c.a.d.j0;
|
|
import c.a.d.l;
|
|
import c.a.d.o;
|
|
import c.a.l.b;
|
|
import c.d.b.a.a;
|
|
import com.discord.api.application.Application;
|
|
import com.discord.api.auth.OAuthScope;
|
|
import com.discord.api.auth.OAuthScopeTypeAdapter;
|
|
import com.discord.api.user.User;
|
|
import com.discord.app.AppActivity;
|
|
import com.discord.app.AppFragment;
|
|
import com.discord.app.AppLog;
|
|
import com.discord.app.AppViewModel;
|
|
import com.discord.databinding.OauthTokenPermissionDetailedListItemBinding;
|
|
import com.discord.databinding.WidgetOauthAuthorizeBinding;
|
|
import com.discord.nullserializable.NullSerializable;
|
|
import com.discord.restapi.RestAPIParams;
|
|
import com.discord.stores.StoreNotices;
|
|
import com.discord.stores.StoreStream;
|
|
import com.discord.utilities.analytics.AnalyticsTracker;
|
|
import com.discord.utilities.icon.IconUtils;
|
|
import com.discord.utilities.images.MGImages;
|
|
import com.discord.utilities.logging.Logger;
|
|
import com.discord.utilities.rest.RestAPI;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.time.TimeUtils;
|
|
import com.discord.utilities.view.validators.ValidationManager;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegate;
|
|
import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt;
|
|
import com.discord.utilities.views.SimpleRecyclerAdapter;
|
|
import com.discord.views.OAuthPermissionViews;
|
|
import com.facebook.drawee.view.SimpleDraweeView;
|
|
import com.google.android.material.button.MaterialButton;
|
|
import d0.c0.c;
|
|
import d0.g;
|
|
import d0.g0.t;
|
|
import d0.g0.w;
|
|
import d0.t.g0;
|
|
import d0.t.h0;
|
|
import d0.t.n;
|
|
import d0.t.u;
|
|
import d0.z.d.a0;
|
|
import d0.z.d.m;
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import kotlin.Lazy;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.reflect.KProperty;
|
|
import rx.Observable;
|
|
/* compiled from: WidgetOauth2Authorize.kt */
|
|
public class WidgetOauth2Authorize extends AppFragment {
|
|
public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.W(WidgetOauth2Authorize.class, "binding", "getBinding()Lcom/discord/databinding/WidgetOauthAuthorizeBinding;", 0)};
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final String INTENT_PARAM_URI = "REQ_URI";
|
|
private static final String QUERY_INTERNAL_REFERRER = "internal_referrer";
|
|
private static final String QUERY_PARAM_CLIENT_ID = "client_id";
|
|
private static final String QUERY_PARAM_CODE_CHALLENGE = "code_challenge";
|
|
private static final String QUERY_PARAM_CODE_CHALLENGE_METHOD = "code_challenge_method";
|
|
private static final String QUERY_PARAM_PERMISSIONS = "permissions";
|
|
private static final String QUERY_PARAM_REDIRECT = "redirect_uri";
|
|
private static final String QUERY_PARAM_RESPONSE_TYPE = "response_type";
|
|
private static final String QUERY_PARAM_SCOPE = "scope";
|
|
private static final String QUERY_PARAM_STATE = "state";
|
|
private static final String ROOT_ERROR_KEY = "_root";
|
|
private final SimpleRecyclerAdapter<PermissionModel, OAuthPermissionViewHolder> adapter;
|
|
private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetOauth2Authorize$binding$2.INSTANCE, null, 2, null);
|
|
private final ActivityResultLauncher<Intent> captchaLauncher = WidgetAuthCaptcha.Companion.registerForResult(this, new WidgetOauth2Authorize$captchaLauncher$1(this));
|
|
private final Lazy oauth2ViewModel$delegate;
|
|
private final Lazy validationManager$delegate;
|
|
|
|
/* compiled from: WidgetOauth2Authorize.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public static final /* synthetic */ OAuth2Authorize access$createOauthAuthorize(Companion companion, Uri uri) {
|
|
return companion.createOauthAuthorize(uri);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$handleError(Companion companion, Context context, Exception exc, Function0 function0) {
|
|
companion.handleError(context, exc, function0);
|
|
}
|
|
|
|
private final Intent createLaunchIntent(Uri uri, OAuth2Authorize oAuth2Authorize) {
|
|
Intent intent = new Intent("android.intent.action.VIEW");
|
|
intent.putExtra("REQ_URI", uri);
|
|
String internalReferrer = oAuth2Authorize.getInternalReferrer();
|
|
if ((internalReferrer == null || !Boolean.parseBoolean(internalReferrer)) && !oAuth2Authorize.isUnsupported()) {
|
|
intent.addFlags(268468224);
|
|
}
|
|
return intent;
|
|
}
|
|
|
|
private final OAuth2Authorize createOauthAuthorize(Uri uri) {
|
|
WidgetOauth2Authorize$Companion$createOauthAuthorize$1 widgetOauth2Authorize$Companion$createOauthAuthorize$1 = WidgetOauth2Authorize$Companion$createOauthAuthorize$1.INSTANCE;
|
|
long parseLong = Long.parseLong(widgetOauth2Authorize$Companion$createOauthAuthorize$1.invoke(uri, "client_id"));
|
|
String queryParameter = uri.getQueryParameter("redirect_uri");
|
|
return new OAuth2Authorize(parseLong, uri.getQueryParameter("state"), uri.getQueryParameter("response_type"), queryParameter, null, widgetOauth2Authorize$Companion$createOauthAuthorize$1.invoke(uri, "scope"), uri.getQueryParameter("permissions"), uri.getQueryParameter("code_challenge"), uri.getQueryParameter("code_challenge_method"), uri.getQueryParameter("internal_referrer"), 16, null);
|
|
}
|
|
|
|
private final void handleError(Context context, Exception exc, Function0<Unit> function0) {
|
|
String obj = b.g(context, 2131891801, new Object[]{exc.getMessage()}, null, 4).toString();
|
|
AppLog.g.w(obj, exc);
|
|
o.h(context, obj, 1, null, 8);
|
|
function0.mo1invoke();
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.widgets.auth.WidgetOauth2Authorize$Companion */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public static /* synthetic */ void handleError$default(Companion companion, Context context, Exception exc, Function0 function0, int i, Object obj) {
|
|
if ((i & 4) != 0) {
|
|
function0 = WidgetOauth2Authorize$Companion$handleError$1.INSTANCE;
|
|
}
|
|
companion.handleError(context, exc, function0);
|
|
}
|
|
|
|
public final String getNoticeName(long j) {
|
|
return a.p("OAUTH_REQUEST:", j);
|
|
}
|
|
|
|
/* JADX WARNING: Code restructure failed: missing block: B:14:0x0047, code lost:
|
|
if ((android.os.Build.VERSION.SDK_INT >= 28 && d0.g0.t.equals(android.os.Build.MANUFACTURER, "samsung", true)) != false) goto L_0x004b;
|
|
*/
|
|
public final void launch(Context context, Uri uri) {
|
|
OAuth2Authorize oAuth2Authorize;
|
|
m.checkNotNullParameter(context, "context");
|
|
m.checkNotNullParameter(uri, "requestUri");
|
|
try {
|
|
oAuth2Authorize = createOauthAuthorize(uri);
|
|
} catch (Exception e) {
|
|
handleError$default(this, context, e, null, 4, null);
|
|
oAuth2Authorize = null;
|
|
}
|
|
if (oAuth2Authorize != null) {
|
|
long clientId = oAuth2Authorize.getClientId();
|
|
AnalyticsTracker.INSTANCE.oauth2AuthorizedViewed(clientId);
|
|
boolean z2 = true;
|
|
if (m.areEqual(String.valueOf(clientId), "591317049637339146")) {
|
|
}
|
|
z2 = false;
|
|
l.d(context, z2 ? WidgetOauth2AuthorizeSamsung.class : WidgetOauth2Authorize.class, createLaunchIntent(uri, oAuth2Authorize));
|
|
}
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetOauth2Authorize.kt */
|
|
public static final class OAuth2Authorize {
|
|
private final long clientId;
|
|
private final String codeChallenge;
|
|
private final String codeChallengeMethod;
|
|
private final String internalReferrer;
|
|
private final String permissions;
|
|
private final String prompt;
|
|
private final String redirectUrl;
|
|
private final String responseType;
|
|
private final String scope;
|
|
private final String state;
|
|
|
|
public OAuth2Authorize(long j, String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, String str9) {
|
|
m.checkNotNullParameter(str4, "prompt");
|
|
m.checkNotNullParameter(str5, "scope");
|
|
this.clientId = j;
|
|
this.state = str;
|
|
this.responseType = str2;
|
|
this.redirectUrl = str3;
|
|
this.prompt = str4;
|
|
this.scope = str5;
|
|
this.permissions = str6;
|
|
this.codeChallenge = str7;
|
|
this.codeChallengeMethod = str8;
|
|
this.internalReferrer = str9;
|
|
}
|
|
|
|
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
|
|
public /* synthetic */ OAuth2Authorize(long j, String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, String str9, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this(j, (i & 2) != 0 ? null : str, (i & 4) != 0 ? null : str2, (i & 8) != 0 ? null : str3, (i & 16) != 0 ? "consent" : str4, str5, (i & 64) != 0 ? null : str6, (i & 128) != 0 ? null : str7, (i & 256) != 0 ? null : str8, (i & 512) != 0 ? null : str9);
|
|
}
|
|
|
|
public static /* synthetic */ OAuth2Authorize copy$default(OAuth2Authorize oAuth2Authorize, long j, String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, String str9, int i, Object obj) {
|
|
return oAuth2Authorize.copy((i & 1) != 0 ? oAuth2Authorize.clientId : j, (i & 2) != 0 ? oAuth2Authorize.state : str, (i & 4) != 0 ? oAuth2Authorize.responseType : str2, (i & 8) != 0 ? oAuth2Authorize.redirectUrl : str3, (i & 16) != 0 ? oAuth2Authorize.prompt : str4, (i & 32) != 0 ? oAuth2Authorize.scope : str5, (i & 64) != 0 ? oAuth2Authorize.permissions : str6, (i & 128) != 0 ? oAuth2Authorize.codeChallenge : str7, (i & 256) != 0 ? oAuth2Authorize.codeChallengeMethod : str8, (i & 512) != 0 ? oAuth2Authorize.internalReferrer : str9);
|
|
}
|
|
|
|
private final boolean getHasBotPermission() {
|
|
boolean z2;
|
|
List<String> split$default = w.split$default((CharSequence) this.scope, new String[]{" "}, false, 0, 6, (Object) null);
|
|
if ((split$default instanceof Collection) && split$default.isEmpty()) {
|
|
return false;
|
|
}
|
|
for (String str : split$default) {
|
|
if (t.equals(str, OAuthScope.Bot.INSTANCE.a(), true) || t.equals(str, OAuthScope.WebhookIncoming.INSTANCE.a(), true)) {
|
|
z2 = true;
|
|
continue;
|
|
} else {
|
|
z2 = false;
|
|
continue;
|
|
}
|
|
if (z2) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static /* synthetic */ Observable post$default(OAuth2Authorize oAuth2Authorize, String str, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
str = null;
|
|
}
|
|
return oAuth2Authorize.post(str);
|
|
}
|
|
|
|
public final long component1() {
|
|
return this.clientId;
|
|
}
|
|
|
|
public final String component10() {
|
|
return this.internalReferrer;
|
|
}
|
|
|
|
public final String component2() {
|
|
return this.state;
|
|
}
|
|
|
|
public final String component3() {
|
|
return this.responseType;
|
|
}
|
|
|
|
public final String component4() {
|
|
return this.redirectUrl;
|
|
}
|
|
|
|
public final String component5() {
|
|
return this.prompt;
|
|
}
|
|
|
|
public final String component6() {
|
|
return this.scope;
|
|
}
|
|
|
|
public final String component7() {
|
|
return this.permissions;
|
|
}
|
|
|
|
public final String component8() {
|
|
return this.codeChallenge;
|
|
}
|
|
|
|
public final String component9() {
|
|
return this.codeChallengeMethod;
|
|
}
|
|
|
|
public final OAuth2Authorize copy(long j, String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8, String str9) {
|
|
m.checkNotNullParameter(str4, "prompt");
|
|
m.checkNotNullParameter(str5, "scope");
|
|
return new OAuth2Authorize(j, str, str2, str3, str4, str5, str6, str7, str8, str9);
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof OAuth2Authorize)) {
|
|
return false;
|
|
}
|
|
OAuth2Authorize oAuth2Authorize = (OAuth2Authorize) obj;
|
|
return this.clientId == oAuth2Authorize.clientId && m.areEqual(this.state, oAuth2Authorize.state) && m.areEqual(this.responseType, oAuth2Authorize.responseType) && m.areEqual(this.redirectUrl, oAuth2Authorize.redirectUrl) && m.areEqual(this.prompt, oAuth2Authorize.prompt) && m.areEqual(this.scope, oAuth2Authorize.scope) && m.areEqual(this.permissions, oAuth2Authorize.permissions) && m.areEqual(this.codeChallenge, oAuth2Authorize.codeChallenge) && m.areEqual(this.codeChallengeMethod, oAuth2Authorize.codeChallengeMethod) && m.areEqual(this.internalReferrer, oAuth2Authorize.internalReferrer);
|
|
}
|
|
|
|
public final Observable<RestAPIParams.OAuth2Authorize.ResponseGet> get() {
|
|
return RestAPI.Companion.getApi().getOauth2Authorize(String.valueOf(this.clientId), this.state, this.responseType, this.redirectUrl, this.prompt, this.scope, this.permissions);
|
|
}
|
|
|
|
public final long getClientId() {
|
|
return this.clientId;
|
|
}
|
|
|
|
public final String getCodeChallenge() {
|
|
return this.codeChallenge;
|
|
}
|
|
|
|
public final String getCodeChallengeMethod() {
|
|
return this.codeChallengeMethod;
|
|
}
|
|
|
|
public final String getInternalReferrer() {
|
|
return this.internalReferrer;
|
|
}
|
|
|
|
public final String getPermissions() {
|
|
return this.permissions;
|
|
}
|
|
|
|
public final String getPrompt() {
|
|
return this.prompt;
|
|
}
|
|
|
|
public final String getRedirectUrl() {
|
|
return this.redirectUrl;
|
|
}
|
|
|
|
public final String getResponseType() {
|
|
return this.responseType;
|
|
}
|
|
|
|
public final String getScope() {
|
|
return this.scope;
|
|
}
|
|
|
|
public final String getState() {
|
|
return this.state;
|
|
}
|
|
|
|
public int hashCode() {
|
|
int a = a0.a.a.b.a(this.clientId) * 31;
|
|
String str = this.state;
|
|
int i = 0;
|
|
int hashCode = (a + (str != null ? str.hashCode() : 0)) * 31;
|
|
String str2 = this.responseType;
|
|
int hashCode2 = (hashCode + (str2 != null ? str2.hashCode() : 0)) * 31;
|
|
String str3 = this.redirectUrl;
|
|
int hashCode3 = (hashCode2 + (str3 != null ? str3.hashCode() : 0)) * 31;
|
|
String str4 = this.prompt;
|
|
int hashCode4 = (hashCode3 + (str4 != null ? str4.hashCode() : 0)) * 31;
|
|
String str5 = this.scope;
|
|
int hashCode5 = (hashCode4 + (str5 != null ? str5.hashCode() : 0)) * 31;
|
|
String str6 = this.permissions;
|
|
int hashCode6 = (hashCode5 + (str6 != null ? str6.hashCode() : 0)) * 31;
|
|
String str7 = this.codeChallenge;
|
|
int hashCode7 = (hashCode6 + (str7 != null ? str7.hashCode() : 0)) * 31;
|
|
String str8 = this.codeChallengeMethod;
|
|
int hashCode8 = (hashCode7 + (str8 != null ? str8.hashCode() : 0)) * 31;
|
|
String str9 = this.internalReferrer;
|
|
if (str9 != null) {
|
|
i = str9.hashCode();
|
|
}
|
|
return hashCode8 + i;
|
|
}
|
|
|
|
public final boolean isUnsupported() {
|
|
return getHasBotPermission();
|
|
}
|
|
|
|
public final Observable<RestAPIParams.OAuth2Authorize.ResponsePost> post(String str) {
|
|
return RestAPI.Companion.getApi().postOauth2Authorize(String.valueOf(this.clientId), this.state, this.responseType, this.redirectUrl, this.prompt, this.scope, this.permissions, this.codeChallenge, this.codeChallengeMethod, h0.plus(g0.mapOf(d0.o.to("authorize", "true")), str != null ? g0.mapOf(d0.o.to("captcha_key", str)) : h0.emptyMap()));
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder L = a.L("OAuth2Authorize(clientId=");
|
|
L.append(this.clientId);
|
|
L.append(", state=");
|
|
L.append(this.state);
|
|
L.append(", responseType=");
|
|
L.append(this.responseType);
|
|
L.append(", redirectUrl=");
|
|
L.append(this.redirectUrl);
|
|
L.append(", prompt=");
|
|
L.append(this.prompt);
|
|
L.append(", scope=");
|
|
L.append(this.scope);
|
|
L.append(", permissions=");
|
|
L.append(this.permissions);
|
|
L.append(", codeChallenge=");
|
|
L.append(this.codeChallenge);
|
|
L.append(", codeChallengeMethod=");
|
|
L.append(this.codeChallengeMethod);
|
|
L.append(", internalReferrer=");
|
|
return a.D(L, this.internalReferrer, ")");
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetOauth2Authorize.kt */
|
|
public static final class OAuth2ViewModel extends AppViewModel<Unit> {
|
|
public OAuth2Authorize oauthAuthorize;
|
|
private RestAPIParams.OAuth2Authorize.ResponseGet oauthGetResponse;
|
|
|
|
public OAuth2ViewModel() {
|
|
super(null, 1, null);
|
|
}
|
|
|
|
public final OAuth2Authorize getOauthAuthorize() {
|
|
OAuth2Authorize oAuth2Authorize = this.oauthAuthorize;
|
|
if (oAuth2Authorize == null) {
|
|
m.throwUninitializedPropertyAccessException("oauthAuthorize");
|
|
}
|
|
return oAuth2Authorize;
|
|
}
|
|
|
|
public final RestAPIParams.OAuth2Authorize.ResponseGet getOauthGetResponse() {
|
|
return this.oauthGetResponse;
|
|
}
|
|
|
|
public final void setOauthAuthorize(OAuth2Authorize oAuth2Authorize) {
|
|
m.checkNotNullParameter(oAuth2Authorize, "<set-?>");
|
|
this.oauthAuthorize = oAuth2Authorize;
|
|
}
|
|
|
|
public final void setOauthGetResponse(RestAPIParams.OAuth2Authorize.ResponseGet responseGet) {
|
|
this.oauthGetResponse = responseGet;
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetOauth2Authorize.kt */
|
|
public static final class OAuthPermissionViewHolder extends SimpleRecyclerAdapter.ViewHolder<PermissionModel> {
|
|
private final OauthTokenPermissionDetailedListItemBinding binding;
|
|
|
|
/* JADX WARNING: Illegal instructions before constructor call */
|
|
public OAuthPermissionViewHolder(OauthTokenPermissionDetailedListItemBinding oauthTokenPermissionDetailedListItemBinding) {
|
|
super(r0);
|
|
m.checkNotNullParameter(oauthTokenPermissionDetailedListItemBinding, "binding");
|
|
ConstraintLayout constraintLayout = oauthTokenPermissionDetailedListItemBinding.a;
|
|
m.checkNotNullExpressionValue(constraintLayout, "binding.root");
|
|
this.binding = oauthTokenPermissionDetailedListItemBinding;
|
|
}
|
|
|
|
public void bind(PermissionModel permissionModel) {
|
|
m.checkNotNullParameter(permissionModel, "data");
|
|
if (permissionModel.getScope() != null) {
|
|
this.binding.b.setImageResource(2131231516);
|
|
TextView textView = this.binding.f1619c;
|
|
m.checkNotNullExpressionValue(textView, "binding.oauthTokenPermissionDetailedName");
|
|
OAuthPermissionViews.a(textView, permissionModel.getScope());
|
|
} else if (permissionModel.getFakeText() != null) {
|
|
this.binding.b.setImageResource(2131231535);
|
|
this.binding.f1619c.setText(permissionModel.getFakeText().intValue());
|
|
}
|
|
}
|
|
}
|
|
|
|
/* compiled from: WidgetOauth2Authorize.kt */
|
|
public static final class PermissionModel {
|
|
private final Integer fakeText;
|
|
private final OAuthScope scope;
|
|
|
|
public PermissionModel(OAuthScope oAuthScope, Integer num) {
|
|
this.scope = oAuthScope;
|
|
this.fakeText = num;
|
|
}
|
|
|
|
public final Integer getFakeText() {
|
|
return this.fakeText;
|
|
}
|
|
|
|
public final OAuthScope getScope() {
|
|
return this.scope;
|
|
}
|
|
}
|
|
|
|
public WidgetOauth2Authorize() {
|
|
super(2131559124);
|
|
WidgetOauth2Authorize$oauth2ViewModel$2 widgetOauth2Authorize$oauth2ViewModel$2 = WidgetOauth2Authorize$oauth2ViewModel$2.INSTANCE;
|
|
c.a.d.h0 h0Var = new c.a.d.h0(this);
|
|
this.oauth2ViewModel$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(OAuth2ViewModel.class), new WidgetOauth2Authorize$appViewModels$$inlined$viewModels$1(h0Var), new j0(widgetOauth2Authorize$oauth2ViewModel$2));
|
|
this.validationManager$delegate = g.lazy(new WidgetOauth2Authorize$validationManager$2(this));
|
|
this.adapter = new SimpleRecyclerAdapter<>(null, WidgetOauth2Authorize$adapter$1.INSTANCE, 1, null);
|
|
}
|
|
|
|
public static final /* synthetic */ void access$authorizeApplication(WidgetOauth2Authorize widgetOauth2Authorize, String str) {
|
|
widgetOauth2Authorize.authorizeApplication(str);
|
|
}
|
|
|
|
public static final /* synthetic */ ValidationManager access$getValidationManager$p(WidgetOauth2Authorize widgetOauth2Authorize) {
|
|
return widgetOauth2Authorize.getValidationManager();
|
|
}
|
|
|
|
private final void authorizeApplication(String str) {
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(getOauth2ViewModel().getOauthAuthorize().post(str), false, 1, null), this, null, 2, null), getClass(), (Context) null, (Function1) null, new WidgetOauth2Authorize$authorizeApplication$1(this), (Function0) null, (Function0) null, new WidgetOauth2Authorize$authorizeApplication$2(this), 54, (Object) null);
|
|
}
|
|
|
|
private final void configureAgeNoticeUI(long j) {
|
|
long parseSnowflake = TimeUtils.parseSnowflake(Long.valueOf(j));
|
|
TextView textView = getBinding().b;
|
|
m.checkNotNullExpressionValue(textView, "binding.oauthAuthorizeAgeNotice");
|
|
b.m(textView, 2131891778, new Object[]{DateUtils.formatDateTime(requireContext(), parseSnowflake, 65536)}, null, 4);
|
|
}
|
|
|
|
private final void configureNotSupportedUI(Uri uri) {
|
|
LinearLayout linearLayout = getBinding().j;
|
|
m.checkNotNullExpressionValue(linearLayout, "binding.oauthAuthorizeNotSupported");
|
|
linearLayout.setVisibility(0);
|
|
LinearLayout linearLayout2 = getBinding().h;
|
|
m.checkNotNullExpressionValue(linearLayout2, "binding.oauthAuthorizeLoading");
|
|
linearLayout2.setVisibility(8);
|
|
LinearLayout linearLayout3 = getBinding().e;
|
|
m.checkNotNullExpressionValue(linearLayout3, "binding.oauthAuthorizeContent");
|
|
linearLayout3.setVisibility(8);
|
|
getBinding().n.setOnClickListener(new WidgetOauth2Authorize$configureNotSupportedUI$1(this, uri));
|
|
}
|
|
|
|
private final void configureSecurityNoticeUI(List<String> list) {
|
|
int i = list.contains(OAuthScope.MessagesRead.INSTANCE.a()) ? 2131891774 : 2131891775;
|
|
TextView textView = getBinding().m;
|
|
m.checkNotNullExpressionValue(textView, "binding.oauthAuthorizeSecurityNotice");
|
|
b.l(textView, i, new Object[0], new WidgetOauth2Authorize$configureSecurityNoticeUI$1(this));
|
|
}
|
|
|
|
public static /* synthetic */ void getCaptchaLauncher$annotations() {
|
|
}
|
|
|
|
private final int getRandomFakeScopeText() {
|
|
switch (c.b.nextInt(8)) {
|
|
case 0:
|
|
return 2131891790;
|
|
case 1:
|
|
return 2131891791;
|
|
case 2:
|
|
return 2131891792;
|
|
case 3:
|
|
return 2131891793;
|
|
case 4:
|
|
return 2131891794;
|
|
case 5:
|
|
return 2131891795;
|
|
case 6:
|
|
return 2131891796;
|
|
default:
|
|
return 2131891797;
|
|
}
|
|
}
|
|
|
|
private final ValidationManager getValidationManager() {
|
|
return (ValidationManager) this.validationManager$delegate.getValue();
|
|
}
|
|
|
|
private final void onUnknownScope(OAuthPermissionViews.InvalidScopeException invalidScopeException) {
|
|
AppLog appLog = AppLog.g;
|
|
StringBuilder L = a.L("invalid scope ");
|
|
L.append(invalidScopeException.a());
|
|
L.append(" in ");
|
|
L.append(getClass().getSimpleName());
|
|
Logger.e$default(appLog, L.toString(), invalidScopeException, null, 4, null);
|
|
o.h(requireContext(), b.g(requireContext(), 2131891800, new Object[]{invalidScopeException.a()}, null, 4), 1, null, 8);
|
|
AppActivity appActivity = getAppActivity();
|
|
if (appActivity != null) {
|
|
appActivity.setResult(0);
|
|
appActivity.finish();
|
|
}
|
|
}
|
|
|
|
public void configureUI(RestAPIParams.OAuth2Authorize.ResponseGet responseGet) {
|
|
m.checkNotNullParameter(responseGet, "data");
|
|
LinearLayout linearLayout = getBinding().j;
|
|
m.checkNotNullExpressionValue(linearLayout, "binding.oauthAuthorizeNotSupported");
|
|
linearLayout.setVisibility(8);
|
|
LinearLayout linearLayout2 = getBinding().h;
|
|
m.checkNotNullExpressionValue(linearLayout2, "binding.oauthAuthorizeLoading");
|
|
linearLayout2.setVisibility(8);
|
|
LinearLayout linearLayout3 = getBinding().e;
|
|
m.checkNotNullExpressionValue(linearLayout3, "binding.oauthAuthorizeContent");
|
|
linearLayout3.setVisibility(0);
|
|
User user = responseGet.getUser();
|
|
SimpleDraweeView simpleDraweeView = getBinding().p;
|
|
m.checkNotNullExpressionValue(simpleDraweeView, "binding.oauthAuthorizeUserIcon");
|
|
Long valueOf = Long.valueOf(user.i());
|
|
NullSerializable<String> a = user.a();
|
|
MGImages.setImage$default(simpleDraweeView, IconUtils.getForUser$default(valueOf, a != null ? a.a() : null, null, false, null, 28, null), 0, 0, false, null, null, 124, null);
|
|
Application application = responseGet.getApplication();
|
|
TextView textView = getBinding().d;
|
|
m.checkNotNullExpressionValue(textView, "binding.oauthAuthorizeApplicationName");
|
|
textView.setText(application.g());
|
|
TextView textView2 = getBinding().k;
|
|
m.checkNotNullExpressionValue(textView2, "binding.oauthAuthorizePermissionsLabelTv");
|
|
b.m(textView2, 2131891803, new Object[]{application.g()}, null, 4);
|
|
SimpleDraweeView simpleDraweeView2 = getBinding().f1855c;
|
|
m.checkNotNullExpressionValue(simpleDraweeView2, "binding.oauthAuthorizeApplicationIcon");
|
|
String e = application.e();
|
|
MGImages.setImage$default(simpleDraweeView2, e != null ? IconUtils.getApplicationIcon$default(application.f(), e, 0, 4, null) : null, 0, 0, false, null, null, 124, null);
|
|
try {
|
|
List split$default = w.split$default((CharSequence) getOauth2ViewModel().getOauthAuthorize().getScope(), new String[]{" "}, false, 0, 6, (Object) null);
|
|
ArrayList<String> arrayList = new ArrayList();
|
|
for (Object obj : split$default) {
|
|
if (((String) obj).length() > 0) {
|
|
arrayList.add(obj);
|
|
}
|
|
}
|
|
ArrayList arrayList2 = new ArrayList(d0.t.o.collectionSizeOrDefault(arrayList, 10));
|
|
for (String str : arrayList) {
|
|
Objects.requireNonNull(OAuthScopeTypeAdapter.Companion);
|
|
arrayList2.add(new PermissionModel((OAuthScope) OAuthScopeTypeAdapter.a().get(str), null));
|
|
}
|
|
List mutableList = u.toMutableList((Collection) arrayList2);
|
|
this.adapter.setData(u.plus((Collection) mutableList, (Iterable) (mutableList.isEmpty() ^ true ? d0.t.m.listOf(new PermissionModel(null, Integer.valueOf(getRandomFakeScopeText()))) : n.emptyList())));
|
|
getBinding().g.setOnClickListener(new WidgetOauth2Authorize$configureUI$3(this));
|
|
} catch (OAuthPermissionViews.InvalidScopeException e2) {
|
|
onUnknownScope(e2);
|
|
}
|
|
}
|
|
|
|
public OAuth2Authorize createOauthAuthorize(Uri uri) {
|
|
m.checkNotNullParameter(uri, "requestUrl");
|
|
return Companion.access$createOauthAuthorize(Companion, uri);
|
|
}
|
|
|
|
public final WidgetOauthAuthorizeBinding getBinding() {
|
|
return (WidgetOauthAuthorizeBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]);
|
|
}
|
|
|
|
public ActivityResultLauncher<Intent> getCaptchaLauncher() {
|
|
return this.captchaLauncher;
|
|
}
|
|
|
|
public final OAuth2ViewModel getOauth2ViewModel() {
|
|
return (OAuth2ViewModel) this.oauth2ViewModel$delegate.getValue();
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBound(View view) {
|
|
m.checkNotNullParameter(view, "view");
|
|
super.onViewBound(view);
|
|
RecyclerView recyclerView = getBinding().l;
|
|
m.checkNotNullExpressionValue(recyclerView, "binding.oauthAuthorizePermissionsList");
|
|
recyclerView.setAdapter(this.adapter);
|
|
Uri uri = (Uri) getMostRecentIntent().getParcelableExtra("REQ_URI");
|
|
if (uri == null) {
|
|
uri = Uri.EMPTY;
|
|
}
|
|
try {
|
|
OAuth2ViewModel oauth2ViewModel = getOauth2ViewModel();
|
|
m.checkNotNullExpressionValue(uri, "requestUrl");
|
|
oauth2ViewModel.setOauthAuthorize(createOauthAuthorize(uri));
|
|
for (MaterialButton materialButton : n.listOf((Object[]) new MaterialButton[]{getBinding().f, getBinding().i, getBinding().o})) {
|
|
materialButton.setOnClickListener(new WidgetOauth2Authorize$onViewBound$$inlined$forEach$lambda$1(this));
|
|
}
|
|
AppFragment.setOnBackPressed$default(this, new WidgetOauth2Authorize$onViewBound$3(this), 0, 2, null);
|
|
configureAgeNoticeUI(getOauth2ViewModel().getOauthAuthorize().getClientId());
|
|
configureSecurityNoticeUI(w.split$default((CharSequence) getOauth2ViewModel().getOauthAuthorize().getScope(), new String[]{" "}, false, 0, 6, (Object) null));
|
|
StoreNotices.markSeen$default(StoreStream.Companion.getNotices(), Companion.getNoticeName(getOauth2ViewModel().getOauthAuthorize().getClientId()), 0, 2, null);
|
|
} catch (IllegalArgumentException e) {
|
|
Companion.access$handleError(Companion, requireContext(), e, new WidgetOauth2Authorize$onViewBound$1(this));
|
|
}
|
|
}
|
|
|
|
@Override // com.discord.app.AppFragment
|
|
public void onViewBoundOrOnResume() {
|
|
super.onViewBoundOrOnResume();
|
|
AppActivity appActivity = getAppActivity();
|
|
if (appActivity != null && appActivity.isFinishing()) {
|
|
return;
|
|
}
|
|
if (getOauth2ViewModel().getOauthAuthorize().isUnsupported()) {
|
|
Uri uri = (Uri) getMostRecentIntent().getParcelableExtra("REQ_URI");
|
|
if (uri == null) {
|
|
uri = Uri.EMPTY;
|
|
}
|
|
m.checkNotNullExpressionValue(uri, "requestUrl");
|
|
configureNotSupportedUI(uri);
|
|
return;
|
|
}
|
|
RestAPIParams.OAuth2Authorize.ResponseGet oauthGetResponse = getOauth2ViewModel().getOauthGetResponse();
|
|
if (oauthGetResponse == null) {
|
|
LinearLayout linearLayout = getBinding().j;
|
|
m.checkNotNullExpressionValue(linearLayout, "binding.oauthAuthorizeNotSupported");
|
|
linearLayout.setVisibility(8);
|
|
LinearLayout linearLayout2 = getBinding().e;
|
|
m.checkNotNullExpressionValue(linearLayout2, "binding.oauthAuthorizeContent");
|
|
linearLayout2.setVisibility(8);
|
|
LinearLayout linearLayout3 = getBinding().h;
|
|
m.checkNotNullExpressionValue(linearLayout3, "binding.oauthAuthorizeLoading");
|
|
linearLayout3.setVisibility(0);
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(getOauth2ViewModel().getOauthAuthorize().get(), false, 1, null), this, null, 2, null), getClass(), requireContext(), (Function1) null, new WidgetOauth2Authorize$onViewBoundOrOnResume$1(this), (Function0) null, (Function0) null, new WidgetOauth2Authorize$onViewBoundOrOnResume$2(this), 52, (Object) null);
|
|
return;
|
|
}
|
|
configureUI(oauthGetResponse);
|
|
}
|
|
}
|