package com.facebook; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.util.Log; import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.facebook.AccessToken; import com.facebook.GraphRequest; import com.facebook.GraphRequestBatch; import com.facebook.internal.Utility; import com.facebook.internal.Validate; import com.liulishuo.filedownloader.model.FileDownloadModel; import java.util.Date; import java.util.HashSet; import java.util.Locale; import java.util.concurrent.atomic.AtomicBoolean; import org.json.JSONArray; import org.json.JSONObject; /* loaded from: classes.dex */ final class AccessTokenManager { private static volatile AccessTokenManager f; private final LocalBroadcastManager a; private final AccessTokenCache b; private AccessToken c; private AtomicBoolean d = new AtomicBoolean(false); private Date e = new Date(0); private static class RefreshResult { public String a; public int b; private RefreshResult() { } } AccessTokenManager(LocalBroadcastManager localBroadcastManager, AccessTokenCache accessTokenCache) { Validate.a(localBroadcastManager, "localBroadcastManager"); Validate.a(accessTokenCache, "accessTokenCache"); this.a = localBroadcastManager; this.b = accessTokenCache; } static AccessTokenManager d() { if (f == null) { synchronized (AccessTokenManager.class) { if (f == null) { f = new AccessTokenManager(LocalBroadcastManager.a(FacebookSdk.b()), new AccessTokenCache()); } } } return f; } private boolean e() { if (this.c == null) { return false; } Long valueOf = Long.valueOf(new Date().getTime()); return this.c.getSource().canExtendToken() && valueOf.longValue() - this.e.getTime() > 3600000 && valueOf.longValue() - this.c.getLastRefresh().getTime() > 86400000; } AccessToken b() { return this.c; } boolean c() { AccessToken b = this.b.b(); if (b == null) { return false; } a(b, false); return true; } private static GraphRequest b(AccessToken accessToken, GraphRequest.Callback callback) { return new GraphRequest(accessToken, "me/permissions", new Bundle(), HttpMethod.GET, callback); } void a(AccessToken accessToken) { a(accessToken, true); } private void a(AccessToken accessToken, boolean z) { AccessToken accessToken2 = this.c; this.c = accessToken; this.d.set(false); this.e = new Date(0L); if (z) { if (accessToken != null) { this.b.a(accessToken); } else { this.b.a(); Utility.a(FacebookSdk.b()); } } if (Utility.a(accessToken2, accessToken)) { return; } a(accessToken2, accessToken); } /* JADX INFO: Access modifiers changed from: private */ public void b(final AccessToken.AccessTokenRefreshCallback accessTokenRefreshCallback) { final AccessToken accessToken = this.c; if (accessToken == null) { if (accessTokenRefreshCallback != null) { accessTokenRefreshCallback.a(new FacebookException("No current access token to refresh")); } } else { if (!this.d.compareAndSet(false, true)) { if (accessTokenRefreshCallback != null) { accessTokenRefreshCallback.a(new FacebookException("Refresh already in progress")); return; } return; } this.e = new Date(); final HashSet hashSet = new HashSet(); final HashSet hashSet2 = new HashSet(); final AtomicBoolean atomicBoolean = new AtomicBoolean(false); final RefreshResult refreshResult = new RefreshResult(); GraphRequestBatch graphRequestBatch = new GraphRequestBatch(b(accessToken, new GraphRequest.Callback(this) { // from class: com.facebook.AccessTokenManager.2 @Override // com.facebook.GraphRequest.Callback public void a(GraphResponse graphResponse) { JSONArray optJSONArray; JSONObject b = graphResponse.b(); if (b == null || (optJSONArray = b.optJSONArray("data")) == null) { return; } atomicBoolean.set(true); for (int i = 0; i < optJSONArray.length(); i++) { JSONObject optJSONObject = optJSONArray.optJSONObject(i); if (optJSONObject != null) { String optString = optJSONObject.optString("permission"); String optString2 = optJSONObject.optString(FileDownloadModel.STATUS); if (!Utility.c(optString) && !Utility.c(optString2)) { String lowerCase = optString2.toLowerCase(Locale.US); if (lowerCase.equals("granted")) { hashSet.add(optString); } else if (lowerCase.equals("declined")) { hashSet2.add(optString); } else { Log.w("AccessTokenManager", "Unexpected status: " + lowerCase); } } } } } }), a(accessToken, new GraphRequest.Callback(this) { // from class: com.facebook.AccessTokenManager.3 @Override // com.facebook.GraphRequest.Callback public void a(GraphResponse graphResponse) { JSONObject b = graphResponse.b(); if (b == null) { return; } refreshResult.a = b.optString(AccessToken.ACCESS_TOKEN_KEY); refreshResult.b = b.optInt("expires_at"); } })); graphRequestBatch.a(new GraphRequestBatch.Callback() { // from class: com.facebook.AccessTokenManager.4 @Override // com.facebook.GraphRequestBatch.Callback public void a(GraphRequestBatch graphRequestBatch2) { AccessToken accessToken2 = null; try { if (AccessTokenManager.d().b() != null && AccessTokenManager.d().b().getUserId() == accessToken.getUserId()) { if (!atomicBoolean.get() && refreshResult.a == null && refreshResult.b == 0) { if (accessTokenRefreshCallback != null) { accessTokenRefreshCallback.a(new FacebookException("Failed to refresh access token")); } AccessTokenManager.this.d.set(false); AccessToken.AccessTokenRefreshCallback accessTokenRefreshCallback2 = accessTokenRefreshCallback; return; } AccessToken accessToken3 = new AccessToken(refreshResult.a != null ? refreshResult.a : accessToken.getToken(), accessToken.getApplicationId(), accessToken.getUserId(), atomicBoolean.get() ? hashSet : accessToken.getPermissions(), atomicBoolean.get() ? hashSet2 : accessToken.getDeclinedPermissions(), accessToken.getSource(), refreshResult.b != 0 ? new Date(refreshResult.b * 1000) : accessToken.getExpires(), new Date()); try { AccessTokenManager.d().a(accessToken3); AccessTokenManager.this.d.set(false); AccessToken.AccessTokenRefreshCallback accessTokenRefreshCallback3 = accessTokenRefreshCallback; if (accessTokenRefreshCallback3 != null) { accessTokenRefreshCallback3.a(accessToken3); return; } return; } catch (Throwable th) { th = th; accessToken2 = accessToken3; AccessTokenManager.this.d.set(false); AccessToken.AccessTokenRefreshCallback accessTokenRefreshCallback4 = accessTokenRefreshCallback; if (accessTokenRefreshCallback4 != null && accessToken2 != null) { accessTokenRefreshCallback4.a(accessToken2); } throw th; } } if (accessTokenRefreshCallback != null) { accessTokenRefreshCallback.a(new FacebookException("No current access token to refresh")); } AccessTokenManager.this.d.set(false); AccessToken.AccessTokenRefreshCallback accessTokenRefreshCallback5 = accessTokenRefreshCallback; } catch (Throwable th2) { th = th2; } } }); graphRequestBatch.c(); } } private void a(AccessToken accessToken, AccessToken accessToken2) { Intent intent = new Intent("com.facebook.sdk.ACTION_CURRENT_ACCESS_TOKEN_CHANGED"); intent.putExtra("com.facebook.sdk.EXTRA_OLD_ACCESS_TOKEN", accessToken); intent.putExtra("com.facebook.sdk.EXTRA_NEW_ACCESS_TOKEN", accessToken2); this.a.a(intent); } void a() { if (e()) { a((AccessToken.AccessTokenRefreshCallback) null); } } private static GraphRequest a(AccessToken accessToken, GraphRequest.Callback callback) { Bundle bundle = new Bundle(); bundle.putString("grant_type", "fb_extend_sso_token"); return new GraphRequest(accessToken, "oauth/access_token", bundle, HttpMethod.GET, callback); } void a(final AccessToken.AccessTokenRefreshCallback accessTokenRefreshCallback) { if (Looper.getMainLooper().equals(Looper.myLooper())) { b(accessTokenRefreshCallback); } else { new Handler(Looper.getMainLooper()).post(new Runnable() { // from class: com.facebook.AccessTokenManager.1 @Override // java.lang.Runnable public void run() { AccessTokenManager.this.b(accessTokenRefreshCallback); } }); } } }