Guest User

Untitled

a guest
Jan 19th, 2019
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.19 KB | None | 0 0
  1. package com.fonbet.sdk;
  2.  
  3. import android.annotation.SuppressLint;
  4. import android.support.annotation.Nullable;
  5. import android.support.p001v4.util.Pair;
  6. import android.text.TextUtils;
  7. import com.fonbet.core.util.NetworkUtils;
  8. import com.fonbet.sdk.AuthModule.Callback;
  9. import com.fonbet.sdk.auth.request.SignInDefaultBlueRequestBody;
  10. import com.fonbet.sdk.auth.request.SignInDefaultRedRequestBody;
  11. import com.fonbet.sdk.auth.response.AuthInfo;
  12. import com.fonbet.sdk.auth.response.ProfileInfo;
  13. import com.fonbet.sdk.auth.response.UserSettingsInfo;
  14. import com.fonbet.sdk.core.request.BaseJsAgentRequestBody;
  15. import com.fonbet.sdk.core.request.BaseSignedRequestBody;
  16. import com.fonbet.sdk.util.Signer;
  17. import java.util.concurrent.Callable;
  18. import p013io.reactivex.Single;
  19. import p013io.reactivex.SingleEmitter;
  20. import p013io.reactivex.SingleOnSubscribe;
  21. import p013io.reactivex.android.schedulers.AndroidSchedulers;
  22. import p013io.reactivex.annotations.NonNull;
  23. import p013io.reactivex.functions.Consumer;
  24. import p013io.reactivex.functions.Function;
  25. import p013io.reactivex.schedulers.Schedulers;
  26. import retrofit2.Retrofit;
  27. import retrofit2.Retrofit.Builder;
  28. import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
  29. import retrofit2.http.Body;
  30. import retrofit2.http.POST;
  31. import retrofit2.http.Url;
  32.  
  33. public class AuthHandle extends ApiHandle {
  34.  
  35.     /* renamed from: com.fonbet.sdk.AuthHandle$10 */
  36.     class C162110 implements SingleOnSubscribe<AuthInfo> {
  37.         C162110() {
  38.         }
  39.  
  40.         public void subscribe(SingleEmitter<AuthInfo> singleEmitter) throws Exception {
  41.             SessionInfo sessionInfoOrFail = AuthHandle.this.api.local.sessionInfoOrFail();
  42.             AuthHandle.this.api.local.saveAuth(null);
  43.             AuthHandle.this.api.authModule.callback.onSignedOut();
  44.             final BaseSignedRequestBody sign = AuthHandle.this.api.authModule.createUnsignedBody(String.valueOf(sessionInfoOrFail.getClientId()), AuthHandle.this.api.local.passwordOrFail(), sessionInfoOrFail).sign();
  45.             AuthHandle.this.api.authModule.signOut(sign).subscribe(new UrlExhaustingSingleEmitter(AuthHandle.this, new Callable<Single<AuthInfo>>() {
  46.                 public Single<AuthInfo> call() throws Exception {
  47.                     return AuthHandle.this.api.authModule.signOut(sign);
  48.                 }
  49.             }, singleEmitter));
  50.         }
  51.     }
  52.  
  53.     /* renamed from: com.fonbet.sdk.AuthHandle$1 */
  54.     class C16221 implements Function<Pair<AuthInfo, Boolean>, AuthInfo> {
  55.         C16221() {
  56.         }
  57.  
  58.         public AuthInfo apply(Pair<AuthInfo, Boolean> pair) throws Exception {
  59.             return (AuthInfo) pair.first;
  60.         }
  61.     }
  62.  
  63.     /* renamed from: com.fonbet.sdk.AuthHandle$4 */
  64.     class C16254 implements Function<AuthInfo, Pair<AuthInfo, Boolean>> {
  65.         C16254() {
  66.         }
  67.  
  68.         public Pair<AuthInfo, Boolean> apply(AuthInfo authInfo) throws Exception {
  69.             boolean z = authInfo.isSessionCreated() && !authInfo.requiresRulesConfirmation();
  70.             return new Pair(authInfo, Boolean.valueOf(z));
  71.         }
  72.     }
  73.  
  74.     /* renamed from: com.fonbet.sdk.AuthHandle$6 */
  75.     class C16276 implements Consumer<AuthInfo> {
  76.         C16276() {
  77.         }
  78.  
  79.         public void accept(@NonNull AuthInfo authInfo) throws Exception {
  80.             AuthHandle.this.api.local.saveSessionInfo(new SessionInfoImpl(AuthHandle.this.api.local.sessionInfo(), authInfo));
  81.         }
  82.     }
  83.  
  84.     /* renamed from: com.fonbet.sdk.AuthHandle$7 */
  85.     class C16287 implements SingleOnSubscribe<AuthInfo> {
  86.         C16287() {
  87.         }
  88.  
  89.         public void subscribe(SingleEmitter<AuthInfo> singleEmitter) throws Exception {
  90.             SessionInfo sessionInfoOrFail = AuthHandle.this.api.local.sessionInfoOrFail();
  91.             final BaseSignedRequestBody sign = AuthHandle.this.api.authModule.createUnsignedBody(String.valueOf(sessionInfoOrFail.getClientId()), AuthHandle.this.api.local.passwordOrFail(), sessionInfoOrFail).sign();
  92.             AuthHandle.this.api.authModule.sessionInfo(sign).subscribe(new UrlExhaustingSingleEmitter(AuthHandle.this, new Callable<Single<AuthInfo>>() {
  93.                 public Single<AuthInfo> call() throws Exception {
  94.                     return AuthHandle.this.api.authModule.sessionInfo(sign);
  95.                 }
  96.             }, singleEmitter));
  97.         }
  98.     }
  99.  
  100.     /* renamed from: com.fonbet.sdk.AuthHandle$8 */
  101.     class C16298 implements SingleOnSubscribe<ProfileInfo> {
  102.  
  103.         /* renamed from: com.fonbet.sdk.AuthHandle$8$2 */
  104.         class C10832 implements Callable<Single<ProfileInfo>> {
  105.             C10832() {
  106.             }
  107.  
  108.             public Single<ProfileInfo> call() throws Exception {
  109.                 return AuthHandle.this.profile();
  110.             }
  111.         }
  112.  
  113.         C16298() {
  114.         }
  115.  
  116.         public void subscribe(SingleEmitter<ProfileInfo> singleEmitter) throws Exception {
  117.             AuthHandle.this.api.authModule.profile(new BaseJsAgentRequestBody(AuthHandle.this.api.local.sessionInfoOrFail().getClientId(), AuthHandle.this.api.local.sessionInfoOrFail().getFsid(), AuthHandle.this.api.deviceInfoModule) {
  118.                 public BaseSignedRequestBody sign() {
  119.                     return (BaseSignedRequestBody) Signer.sign(this, AuthHandle.this.api.signModule.transformKey(AuthHandle.this.api.local.passwordOrFail()));
  120.                 }
  121.             }).subscribe(new UrlExhaustingSingleEmitter(AuthHandle.this, new C10832(), singleEmitter));
  122.         }
  123.     }
  124.  
  125.     /* renamed from: com.fonbet.sdk.AuthHandle$9 */
  126.     class C16319 implements SingleOnSubscribe<UserSettingsInfo> {
  127.  
  128.         /* renamed from: com.fonbet.sdk.AuthHandle$9$2 */
  129.         class C10842 implements Callable<Single<UserSettingsInfo>> {
  130.             C10842() {
  131.             }
  132.  
  133.             public Single call() throws Exception {
  134.                 return AuthHandle.this.userSettings();
  135.             }
  136.         }
  137.  
  138.         C16319() {
  139.         }
  140.  
  141.         public void subscribe(SingleEmitter<UserSettingsInfo> singleEmitter) throws Exception {
  142.             AuthHandle.this.api.authModule.userSettings(new BaseJsAgentRequestBody(AuthHandle.this.api.local.sessionInfoOrFail().getClientId(), AuthHandle.this.api.local.sessionInfoOrFail().getFsid(), AuthHandle.this.api.deviceInfoModule) {
  143.                 public BaseSignedRequestBody sign() {
  144.                     return (BaseSignedRequestBody) Signer.sign(this, AuthHandle.this.api.signModule.transformKey(AuthHandle.this.api.local.passwordOrFail()));
  145.                 }
  146.             }).subscribe(new UrlExhaustingSingleEmitter(AuthHandle.this, new C10842(), singleEmitter));
  147.         }
  148.     }
  149.  
  150.     public static class BlueDefault extends AuthModule<SignInDefaultBlueRequestBody> {
  151.         private BlueApi service;
  152.  
  153.         private interface BlueApi {
  154.             @POST
  155.             Single<ProfileInfo> profile(@Url String str, @Body BaseJsAgentRequestBody baseJsAgentRequestBody);
  156.  
  157.             @POST
  158.             Single<AuthInfo> sessionInfo(@Url String str, @Body SignInDefaultBlueRequestBody signInDefaultBlueRequestBody);
  159.  
  160.             @POST
  161.             Single<AuthInfo> signIn(@Url String str, @Body SignInDefaultBlueRequestBody signInDefaultBlueRequestBody);
  162.  
  163.             @POST
  164.             Single<AuthInfo> signOut(@Url String str, @Body SignInDefaultBlueRequestBody signInDefaultBlueRequestBody);
  165.  
  166.             @POST
  167.             Single<UserSettingsInfo> userSettings(@Url String str, @Body BaseJsAgentRequestBody baseJsAgentRequestBody);
  168.         }
  169.  
  170.         @android.support.annotation.NonNull
  171.         public String serverName() {
  172.             return "js";
  173.         }
  174.  
  175.         public BlueDefault(Callback callback) {
  176.             super(callback);
  177.         }
  178.  
  179.         @android.support.annotation.NonNull
  180.         public SignInDefaultBlueRequestBody createUnsignedBody(String str, @android.support.annotation.NonNull String str2, @Nullable SessionInfo sessionInfo) {
  181.             return new SignInDefaultBlueRequestBody(str, str2, this.userInfo, sessionInfo, this.signModule);
  182.         }
  183.  
  184.         public void createService(Retrofit retrofit) {
  185.             this.service = (BlueApi) retrofit.create(BlueApi.class);
  186.         }
  187.  
  188.         @android.support.annotation.NonNull
  189.         public Single<AuthInfo> signIn(@android.support.annotation.NonNull SignInDefaultBlueRequestBody signInDefaultBlueRequestBody) {
  190.             return this.service.signIn(this.apiHandle.fullUrl("session/login"), signInDefaultBlueRequestBody);
  191.         }
  192.  
  193.         @android.support.annotation.NonNull
  194.         public Single<AuthInfo> sessionInfo(@android.support.annotation.NonNull SignInDefaultBlueRequestBody signInDefaultBlueRequestBody) {
  195.             return this.service.sessionInfo(this.apiHandle.fullUrl("session/info"), signInDefaultBlueRequestBody);
  196.         }
  197.  
  198.         @android.support.annotation.NonNull
  199.         public Single<AuthInfo> signOut(@android.support.annotation.NonNull SignInDefaultBlueRequestBody signInDefaultBlueRequestBody) {
  200.             return this.service.signOut(this.apiHandle.fullUrl("session/logout"), signInDefaultBlueRequestBody);
  201.         }
  202.  
  203.         @android.support.annotation.NonNull
  204.         public Single<ProfileInfo> profile(@android.support.annotation.NonNull BaseJsAgentRequestBody baseJsAgentRequestBody) {
  205.             return this.service.profile(this.apiHandle.fullUrl("account/api/v3/profile/load"), baseJsAgentRequestBody);
  206.         }
  207.  
  208.         @android.support.annotation.NonNull
  209.         public Single<UserSettingsInfo> userSettings(@android.support.annotation.NonNull BaseJsAgentRequestBody baseJsAgentRequestBody) {
  210.             return this.service.userSettings(this.apiHandle.fullUrl("client/clientProfile"), baseJsAgentRequestBody);
  211.         }
  212.     }
  213.  
  214.     public static class RedDefault extends AuthModule<SignInDefaultRedRequestBody> {
  215.         private RedApi service;
  216.  
  217.         private interface RedApi {
  218.             @POST
  219.             Single<ProfileInfo> profile(@Url String str, @Body BaseJsAgentRequestBody baseJsAgentRequestBody);
  220.  
  221.             @POST
  222.             Single<AuthInfo> sessionInfo(@Url String str, @Body SignInDefaultRedRequestBody signInDefaultRedRequestBody);
  223.  
  224.             @POST
  225.             Single<AuthInfo> signInById(@Url String str, @Body SignInDefaultRedRequestBody signInDefaultRedRequestBody);
  226.  
  227.             @POST
  228.             Single<AuthInfo> signInByMail(@Url String str, @Body SignInDefaultRedRequestBody signInDefaultRedRequestBody);
  229.  
  230.             @POST
  231.             Single<AuthInfo> signInByPhone(@Url String str, @Body SignInDefaultRedRequestBody signInDefaultRedRequestBody);
  232.  
  233.             @POST
  234.             Single<AuthInfo> signOut(@Url String str, @Body SignInDefaultRedRequestBody signInDefaultRedRequestBody);
  235.  
  236.             @POST
  237.             Single<UserSettingsInfo> userSettings(@Url String str, @Body BaseJsAgentRequestBody baseJsAgentRequestBody);
  238.         }
  239.  
  240.         @android.support.annotation.NonNull
  241.         public String serverName() {
  242.             return "reg_tsupis";
  243.         }
  244.  
  245.         public RedDefault(Callback callback) {
  246.             super(callback);
  247.         }
  248.  
  249.         @android.support.annotation.NonNull
  250.         public SignInDefaultRedRequestBody createUnsignedBody(String str, @android.support.annotation.NonNull String str2, @Nullable SessionInfo sessionInfo) {
  251.             return new SignInDefaultRedRequestBody(str, str2, this.userInfo, sessionInfo, this.signModule);
  252.         }
  253.  
  254.         public void createService(Retrofit retrofit) {
  255.             this.service = (RedApi) retrofit.create(RedApi.class);
  256.         }
  257.  
  258.         @SuppressLint({"WrongConstant"})
  259.         @android.support.annotation.NonNull
  260.         public Single<AuthInfo> signIn(@android.support.annotation.NonNull SignInDefaultRedRequestBody signInDefaultRedRequestBody) {
  261.             switch (signInDefaultRedRequestBody.getType()) {
  262.                 case 1:
  263.                     return this.service.signInById(this.apiHandle.fullUrl("session/loginById"), signInDefaultRedRequestBody);
  264.                 case 2:
  265.                     return this.service.signInByPhone(this.apiHandle.fullUrl("session/loginByPhone"), signInDefaultRedRequestBody);
  266.                 case 3:
  267.                     return this.service.signInByMail(this.apiHandle.fullUrl("session/loginByMail"), signInDefaultRedRequestBody);
  268.                 default:
  269.                     StringBuilder stringBuilder = new StringBuilder();
  270.                     stringBuilder.append("Unknown auth type: ");
  271.                     stringBuilder.append(signInDefaultRedRequestBody.getType());
  272.                     throw new IllegalStateException(stringBuilder.toString());
  273.             }
  274.         }
  275.  
  276.         @android.support.annotation.NonNull
  277.         public Single<AuthInfo> sessionInfo(@android.support.annotation.NonNull SignInDefaultRedRequestBody signInDefaultRedRequestBody) {
  278.             return this.service.sessionInfo(this.apiHandle.fullUrl("session/info"), signInDefaultRedRequestBody);
  279.         }
  280.  
  281.         @android.support.annotation.NonNull
  282.         public Single<AuthInfo> signOut(@android.support.annotation.NonNull SignInDefaultRedRequestBody signInDefaultRedRequestBody) {
  283.             return this.service.signOut(this.apiHandle.fullUrl("session/logout"), signInDefaultRedRequestBody);
  284.         }
  285.  
  286.         @android.support.annotation.NonNull
  287.         public Single<ProfileInfo> profile(@android.support.annotation.NonNull BaseJsAgentRequestBody baseJsAgentRequestBody) {
  288.             return this.service.profile(this.apiHandle.fullUrl("account/api/v3/profile/load"), baseJsAgentRequestBody);
  289.         }
  290.  
  291.         @android.support.annotation.NonNull
  292.         public Single<UserSettingsInfo> userSettings(@android.support.annotation.NonNull BaseJsAgentRequestBody baseJsAgentRequestBody) {
  293.             return this.service.userSettings(this.apiHandle.fullUrl("client/clientProfile"), baseJsAgentRequestBody);
  294.         }
  295.     }
  296.  
  297.     protected String contextName() {
  298.         return this.api.authModule.serverName();
  299.     }
  300.  
  301.     AuthHandle(FonProvider fonProvider) {
  302.         super(fonProvider);
  303.         fonProvider.authModule.createService(new Builder().baseUrl(baseUrl()).client(NetworkUtils.createClient(fonProvider.httpClientBuilder(), contextName(), fonProvider.configWrapper().getConfig(), fonProvider.logger)).addConverterFactory(NetworkUtils.createGsonConverterFactory()).addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.m200io())).build());
  304.         fonProvider.authModule.setApiHandle(this);
  305.         fonProvider.authModule.setUserInfo(fonProvider.deviceInfoModule);
  306.         fonProvider.authModule.setSignModule(fonProvider.signModule);
  307.     }
  308.  
  309.     public boolean isSignedIn() {
  310.         SessionInfo sessionInfo = this.api.local.sessionInfo();
  311.         return (sessionInfo == null || TextUtils.isEmpty(sessionInfo.getFsid())) ? false : true;
  312.     }
  313.  
  314.     @android.support.annotation.NonNull
  315.     public Single<AuthInfo> signIn(final String str, @android.support.annotation.NonNull final String str2) {
  316.         return Single.create(new SingleOnSubscribe<AuthInfo>() {
  317.             public void subscribe(SingleEmitter<AuthInfo> singleEmitter) throws Exception {
  318.                 final BaseSignedRequestBody sign = AuthHandle.this.api.authModule.createUnsignedBody(str, str2, null).sign();
  319.                 AuthHandle.this.api.authModule.signIn(sign).subscribe(new UrlExhaustingSingleEmitter(AuthHandle.this, new Callable<Single<AuthInfo>>() {
  320.                     public Single<AuthInfo> call() throws Exception {
  321.                         return AuthHandle.this.api.authModule.signIn(sign);
  322.                     }
  323.                 }, singleEmitter));
  324.             }
  325.         }).observeOn(Schedulers.m200io()).map(new C16254()).doOnSuccess(new Consumer<Pair<AuthInfo, Boolean>>() {
  326.             public void accept(Pair<AuthInfo, Boolean> pair) throws Exception {
  327.                 if (((Boolean) pair.second).booleanValue()) {
  328.                     AuthInfo authInfo = (AuthInfo) pair.first;
  329.                     AuthHandle.this.api.local.saveAuth(authInfo.getClientId(), str2, authInfo);
  330.                     AuthHandle.this.api.local.saveLastSignInTimestamp(AuthHandle.this.api.local.currentTimeMillis());
  331.                 }
  332.             }
  333.         }).observeOn(AndroidSchedulers.mainThread()).doOnSuccess(new Consumer<Pair<AuthInfo, Boolean>>() {
  334.             public void accept(Pair<AuthInfo, Boolean> pair) throws Exception {
  335.                 AuthInfo authInfo = (AuthInfo) pair.first;
  336.                 boolean booleanValue = ((Boolean) pair.second).booleanValue();
  337.                 if (authInfo.isSessionCreated()) {
  338.                     AuthHandle.this.api.authModule.callback.onSignedIn(authInfo, authInfo.getClientId(), str2, booleanValue);
  339.                 }
  340.             }
  341.         }).map(new C16221());
  342.     }
  343.  
  344.     @android.support.annotation.NonNull
  345.     public Single<AuthInfo> sessionInfo() {
  346.         return Single.create(new C16287()).observeOn(Schedulers.m200io()).doOnSuccess(new C16276());
  347.     }
  348.  
  349.     @android.support.annotation.NonNull
  350.     public Single<ProfileInfo> profile() {
  351.         return Single.create(new C16298());
  352.     }
  353.  
  354.     @android.support.annotation.NonNull
  355.     public Single<UserSettingsInfo> userSettings() {
  356.         return Single.create(new C16319());
  357.     }
  358.  
  359.     @android.support.annotation.NonNull
  360.     public Single<AuthInfo> signOut() {
  361.         return Single.create(new C162110());
  362.     }
  363. }
Advertisement
Add Comment
Please, Sign In to add comment