package com.parse;

import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import p137.C2739;
import p137.C2742;
import p137.InterfaceC2741;

/* JADX INFO: loaded from: classes.dex */
public class CachedCurrentUserController implements ParseCurrentUserController {
    public ParseUser currentUser;
    public final ParseObjectStore<ParseUser> store;
    public final Object mutex = new Object();
    public final TaskQueue taskQueue = new TaskQueue();
    public boolean currentUserMatchesDisk = false;

    /* JADX INFO: renamed from: com.parse.CachedCurrentUserController$1, reason: invalid class name */
    public class AnonymousClass1 implements InterfaceC2741<Void, C2742<Void>> {
        public final /* synthetic */ ParseUser val$user;

        public AnonymousClass1(ParseUser parseUser) {
            this.val$user = parseUser;
        }

        @Override // p137.InterfaceC2741
        public C2742<Void> then(C2742<Void> c2742) {
            return c2742.m4815(new InterfaceC2741<Void, C2742<Void>>() { // from class: com.parse.CachedCurrentUserController.1.3
                @Override // p137.InterfaceC2741
                public C2742<Void> then(C2742<Void> c27422) {
                    ParseUser parseUser;
                    synchronized (CachedCurrentUserController.this.mutex) {
                        parseUser = CachedCurrentUserController.this.currentUser;
                    }
                    return (parseUser == null || parseUser == AnonymousClass1.this.val$user) ? c27422 : parseUser.logOutAsync(false).m4809((InterfaceC2741<Void, TContinuationResult>) new InterfaceC2741<Void, Void>(this) { // from class: com.parse.CachedCurrentUserController.1.3.1
                        @Override // p137.InterfaceC2741
                        public Void then(C2742<Void> c27423) {
                            return null;
                        }
                    }, C2742.f8455, (C2739) null);
                }
            }, C2742.f8455, null).m4817(new InterfaceC2741<Void, C2742<Void>>() { // from class: com.parse.CachedCurrentUserController.1.2
                @Override // p137.InterfaceC2741
                public C2742<Void> then(C2742<Void> c27422) {
                    AnonymousClass1.this.val$user.setIsCurrentUser(true);
                    return AnonymousClass1.this.val$user.synchronizeAllAuthDataAsync();
                }
            }, C2742.f8455).m4817(new InterfaceC2741<Void, C2742<Void>>() { // from class: com.parse.CachedCurrentUserController.1.1
                @Override // p137.InterfaceC2741
                public C2742<Void> then(C2742<Void> c27422) {
                    AnonymousClass1 anonymousClass1 = AnonymousClass1.this;
                    return CachedCurrentUserController.this.store.setAsync(anonymousClass1.val$user).m4809((InterfaceC2741<Void, TContinuationResult>) new InterfaceC2741<Void, Void>() { // from class: com.parse.CachedCurrentUserController.1.1.1
                        @Override // p137.InterfaceC2741
                        public /* bridge */ /* synthetic */ Void then(C2742<Void> c27423) {
                            then(c27423);
                            return null;
                        }

                        @Override // p137.InterfaceC2741
                        public Void then(C2742<Void> c27423) {
                            synchronized (CachedCurrentUserController.this.mutex) {
                                CachedCurrentUserController.this.currentUserMatchesDisk = !c27423.m4820();
                                CachedCurrentUserController.this.currentUser = AnonymousClass1.this.val$user;
                            }
                            return null;
                        }
                    }, C2742.f8455, (C2739) null);
                }
            }, C2742.f8455);
        }
    }

    /* JADX INFO: renamed from: com.parse.CachedCurrentUserController$4, reason: invalid class name */
    public class AnonymousClass4 implements InterfaceC2741<Void, C2742<Void>> {
        public AnonymousClass4() {
        }

        @Override // p137.InterfaceC2741
        public C2742<Void> then(C2742<Void> c2742) {
            final C2742<ParseUser> async = CachedCurrentUserController.this.getAsync(false);
            return C2742.m4801((Collection<? extends C2742<?>>) Arrays.asList(async, c2742)).m4815(new InterfaceC2741<Void, C2742<Void>>() { // from class: com.parse.CachedCurrentUserController.4.1
                @Override // p137.InterfaceC2741
                public C2742<Void> then(C2742<Void> c27422) {
                    return C2742.m4801((Collection<? extends C2742<?>>) Arrays.asList(async.m4817(new InterfaceC2741<ParseUser, C2742<Void>>(this) { // from class: com.parse.CachedCurrentUserController.4.1.1
                        /* JADX WARN: Multi-variable type inference failed */
                        @Override // p137.InterfaceC2741
                        public C2742<Void> then(C2742<ParseUser> c27423) {
                            ParseUser parseUser = (ParseUser) c27423.m4812();
                            return parseUser == null ? c27423 : parseUser.logOutAsync(true);
                        }
                    }, C2742.f8455), CachedCurrentUserController.this.store.deleteAsync().m4809((InterfaceC2741<Void, TContinuationResult>) new InterfaceC2741<Void, Void>() { // from class: com.parse.CachedCurrentUserController.4.1.2
                        @Override // p137.InterfaceC2741
                        public /* bridge */ /* synthetic */ Void then(C2742<Void> c27423) {
                            then(c27423);
                            return null;
                        }

                        @Override // p137.InterfaceC2741
                        public Void then(C2742<Void> c27423) {
                            boolean z = !c27423.m4820();
                            synchronized (CachedCurrentUserController.this.mutex) {
                                CachedCurrentUserController.this.currentUserMatchesDisk = z;
                                CachedCurrentUserController.this.currentUser = null;
                            }
                            return null;
                        }
                    }, C2742.f8455, (C2739) null)));
                }
            }, C2742.f8455, null);
        }
    }

    /* JADX INFO: renamed from: com.parse.CachedCurrentUserController$5, reason: invalid class name */
    public class AnonymousClass5 implements InterfaceC2741<Void, C2742<ParseUser>> {
        public final /* synthetic */ boolean val$shouldAutoCreateUser;

        public AnonymousClass5(boolean z) {
            this.val$shouldAutoCreateUser = z;
        }

        @Override // p137.InterfaceC2741
        public C2742<ParseUser> then(C2742<Void> c2742) {
            return c2742.m4815(new InterfaceC2741<Void, C2742<ParseUser>>() { // from class: com.parse.CachedCurrentUserController.5.1
                @Override // p137.InterfaceC2741
                public /* bridge */ /* synthetic */ C2742<ParseUser> then(C2742<Void> c27422) {
                    return then();
                }

                public C2742 then() {
                    ParseUser parseUser;
                    boolean z;
                    synchronized (CachedCurrentUserController.this.mutex) {
                        parseUser = CachedCurrentUserController.this.currentUser;
                        z = CachedCurrentUserController.this.currentUserMatchesDisk;
                    }
                    if (parseUser != null) {
                        return C2742.m4805(parseUser);
                    }
                    if (!z) {
                        return CachedCurrentUserController.this.store.getAsync().m4809(new InterfaceC2741<ParseUser, ParseUser>() { // from class: com.parse.CachedCurrentUserController.5.1.1
                            /* JADX WARN: Can't rename method to resolve collision */
                            @Override // p137.InterfaceC2741
                            public ParseUser then(C2742<ParseUser> c27422) {
                                ParseUser parseUserM4812 = c27422.m4812();
                                boolean z2 = !c27422.m4820();
                                synchronized (CachedCurrentUserController.this.mutex) {
                                    CachedCurrentUserController.this.currentUser = parseUserM4812;
                                    CachedCurrentUserController.this.currentUserMatchesDisk = z2;
                                }
                                if (parseUserM4812 != null) {
                                    synchronized (parseUserM4812.mutex) {
                                        parseUserM4812.setIsCurrentUser(true);
                                    }
                                    return parseUserM4812;
                                }
                                AnonymousClass5 anonymousClass5 = AnonymousClass5.this;
                                if (anonymousClass5.val$shouldAutoCreateUser) {
                                    return CachedCurrentUserController.access$200(CachedCurrentUserController.this);
                                }
                                return null;
                            }
                        }, C2742.f8455, (C2739) null);
                    }
                    AnonymousClass5 anonymousClass5 = AnonymousClass5.this;
                    if (anonymousClass5.val$shouldAutoCreateUser) {
                        return C2742.m4805(CachedCurrentUserController.access$200(CachedCurrentUserController.this));
                    }
                    return null;
                }
            }, C2742.f8455, null);
        }
    }

    public CachedCurrentUserController(ParseObjectStore<ParseUser> parseObjectStore) {
        this.store = parseObjectStore;
    }

    public static /* synthetic */ ParseUser access$200(CachedCurrentUserController cachedCurrentUserController) {
        if (cachedCurrentUserController == null) {
            throw null;
        }
        HashMap map = new HashMap();
        map.put("id", UUID.randomUUID().toString());
        return cachedCurrentUserController.lazyLogIn("anonymous", map);
    }

    @Override // com.parse.ParseObjectCurrentController
    public void clearFromMemory() {
        synchronized (this.mutex) {
            this.currentUser = null;
            this.currentUserMatchesDisk = false;
        }
    }

    @Override // com.parse.ParseObjectCurrentController
    public C2742<ParseUser> getAsync() {
        ParseUser.isAutomaticUserEnabled();
        return getAsync(false);
    }

    @Override // com.parse.ParseCurrentUserController
    public C2742<ParseUser> getAsync(boolean z) {
        synchronized (this.mutex) {
            if (this.currentUser == null) {
                return this.taskQueue.enqueue(new AnonymousClass5(z));
            }
            return C2742.m4805(this.currentUser);
        }
    }

    @Override // com.parse.ParseCurrentUserController
    public C2742<String> getCurrentSessionTokenAsync() {
        return getAsync(false).m4816(new InterfaceC2741<ParseUser, String>(this) { // from class: com.parse.CachedCurrentUserController.3
            @Override // p137.InterfaceC2741
            public String then(C2742<ParseUser> c2742) {
                ParseUser parseUserM4812 = c2742.m4812();
                if (parseUserM4812 != null) {
                    return parseUserM4812.getSessionToken();
                }
                return null;
            }
        });
    }

    @Override // com.parse.ParseObjectCurrentController
    public boolean isCurrent(ParseUser parseUser) {
        boolean z;
        synchronized (this.mutex) {
            z = this.currentUser == parseUser;
        }
        return z;
    }

    public ParseUser lazyLogIn(String str, Map<String, String> map) {
        ParseUser parseUser = (ParseUser) ParseObject.create(ParseUser.class);
        synchronized (parseUser.mutex) {
            parseUser.setIsCurrentUser(true);
            parseUser.putAuthData(str, map);
        }
        synchronized (this.mutex) {
            this.currentUserMatchesDisk = false;
            this.currentUser = parseUser;
        }
        return parseUser;
    }

    @Override // com.parse.ParseCurrentUserController
    public C2742<Void> logOutAsync() {
        return this.taskQueue.enqueue(new AnonymousClass4());
    }

    @Override // com.parse.ParseObjectCurrentController
    public C2742 setAsync(ParseObject parseObject) {
        return this.taskQueue.enqueue(new AnonymousClass1((ParseUser) parseObject));
    }

    @Override // com.parse.ParseCurrentUserController
    public C2742<Void> setIfNeededAsync(ParseUser parseUser) {
        synchronized (this.mutex) {
            if (parseUser.isCurrentUser() && !this.currentUserMatchesDisk) {
                return this.taskQueue.enqueue(new AnonymousClass1(parseUser));
            }
            return C2742.m4805((Object) null);
        }
    }
}
