package com.efs.sdk.base.core.c; import android.content.Context; import android.content.SharedPreferences; import android.os.Handler; import android.os.Message; import android.text.TextUtils; import com.efs.sdk.base.core.config.b; import com.efs.sdk.base.core.controller.ControllerCenter; import com.efs.sdk.base.core.f.f; import com.efs.sdk.base.core.util.Log; import com.efs.sdk.base.newsharedpreferences.SharedPreferencesUtils; import com.kuaishou.weapon.p0.c; import com.mbridge.msdk.playercommon.exoplayer2.upstream.cache.CacheDataSource; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; public class b extends Handler { private static final Map<String, Long> a = new HashMap<String, Long>() { /* class com.efs.sdk.base.core.c.b.AnonymousClass1 */ { put("flow_5min", 300000L); put("flow_hour", Long.valueOf((long) c.a)); put("flow_day", 86400000L); } }; private static final Map<String, Long> b = new HashMap<String, Long>() { /* class com.efs.sdk.base.core.c.b.AnonymousClass2 */ { put("flow_5min", 1048576L); put("flow_hour", 1048576L); put("flow_day", Long.valueOf((long) CacheDataSource.DEFAULT_MAX_CACHE_FILE_SIZE)); } }; private Map<String, AtomicInteger> c; private volatile SharedPreferences d; private volatile SharedPreferences.Editor e; private Context f; private String g; /* access modifiers changed from: package-private */ public static class a { private static final b a = new b((byte) 0); } /* synthetic */ b(byte b2) { this(); } private b() { super(com.efs.sdk.base.core.util.a.a.a.getLooper()); this.c = new ConcurrentHashMap(5); this.f = ControllerCenter.getGlobalEnvStruct().mAppContext; this.g = ControllerCenter.getGlobalEnvStruct().getAppid(); b(); File c2 = com.efs.sdk.base.core.util.a.c(ControllerCenter.getGlobalEnvStruct().mAppContext, ControllerCenter.getGlobalEnvStruct().getAppid()); if (c2.exists()) { com.efs.sdk.base.core.util.b.b(c2); } } public static b a() { return a.a; } public void handleMessage(Message message) { super.handleMessage(message); int i = message.what; if (i == 0) { b(); if (this.d == null) { Log.w("efs.flow", "sharedpreferences is null, cann't get last flow stat"); } else if (this.e == null) { Log.w("efs.flow", "sharedpreferences editor is null, cann't refresh flow stat"); } else { String valueOf = String.valueOf(message.obj); long j = (long) message.arg1; String a2 = b.a.a().a(); for (String str : a.keySet()) { String concat = "curr_time_".concat(String.valueOf(str)); if (!this.d.contains(concat)) { this.e.putLong(concat, System.currentTimeMillis()); } for (String str2 : a(str, valueOf, a2)) { this.e.putLong(str2, this.d.getLong(str2, 0) + j); } } this.e.apply(); } } else if (i != 1) { Log.w("efs.flow", "flow stat listener not support action '" + message.what + "'"); } else { String valueOf2 = String.valueOf(message.obj); long j2 = (long) message.arg1; b(); if (this.d == null) { Log.w("efs.flow", "sharedpreferences is null, cann't get last refresh timestamp"); } else if (this.e == null) { Log.w("efs.flow", "sharedpreferences editor is null, cann't refresh timestamp"); } else { String concat2 = "curr_time_".concat(String.valueOf(valueOf2)); if (Math.abs(System.currentTimeMillis() - this.d.getLong(concat2, System.currentTimeMillis())) >= j2) { for (String str3 : this.d.getAll().keySet()) { if (str3.startsWith(valueOf2)) { this.e.putLong(str3, 0); } } this.e.putLong(concat2, System.currentTimeMillis()); this.e.apply(); this.c.clear(); } } } } private void b() { try { c(); } catch (Throwable th) { Log.e("efs.flow", "init sharedpreferences error", th); } } private void c() { if (this.d == null) { synchronized (b.class) { if (this.d == null) { this.d = SharedPreferencesUtils.getSharedPreferences(this.f, this.g.toLowerCase() + "_flow"); } } } if (this.e == null) { synchronized (b.class) { if (this.e == null) { this.e = this.d.edit(); } } } } private boolean a(String str, long j, String str2, String str3, long j2) { b(); if (this.d == null) { Log.w("efs.flow", "sharedpreferences is null, cann't get last flow stat"); return false; } List<String> a2 = a(str, str2, str3); Map<String, String> c2 = com.efs.sdk.base.core.config.a.c.a().c(); for (String str4 : a2) { if (Math.abs(System.currentTimeMillis() - this.d.getLong("curr_time_".concat(String.valueOf(str)), System.currentTimeMillis())) > j) { Message obtain = Message.obtain(); obtain.what = 1; obtain.obj = str; obtain.arg1 = Long.valueOf(j).intValue(); sendMessage(obtain); } long a3 = a(c2, str, str4); long j3 = this.d.getLong(str4, 0); if (j3 + j2 > a3) { Log.i("efs.flow", "flow limit, key: " + str4 + ", max: " + a3 + ", now: " + j3 + ", size: " + j2); a(str4); return false; } } return true; } private void a(String str) { if (!this.c.containsKey(str) || this.c.get(str) == null || this.c.get(str).get() <= 10) { f.a.a.a(com.efs.sdk.base.core.config.a.c.a().d.a, str); if (str.equals("flow_day")) { f.a.a.a(com.efs.sdk.base.core.config.a.c.a().d.a); } if (!this.c.containsKey(str)) { this.c.put(str, new AtomicInteger()); } this.c.get(str).incrementAndGet(); } } private static long a(Map<String, String> map, String str, String str2) { long longValue = b.get(str).longValue(); if (map == null || !map.containsKey(str2) || TextUtils.isEmpty(map.get(str2))) { return longValue; } try { return Long.parseLong(map.get(str2)); } catch (Throwable th) { Log.w("efs.flow", "get max flow error", th); return longValue; } } private static List<String> a(String str, String str2, String str3) { ArrayList arrayList = new ArrayList(); arrayList.add(str); if (!TextUtils.isEmpty(str2)) { arrayList.add(str + "_" + str2); } if (!TextUtils.isEmpty(str3) && !"unknown".equalsIgnoreCase(str3)) { arrayList.add(str + "_" + str3); } if (!TextUtils.isEmpty(str2) && !TextUtils.isEmpty(str3)) { arrayList.add(str + "_" + str2 + "_" + str3); } return arrayList; } public final boolean a(String str, long j) { String a2 = b.a.a().a(); boolean z = true; for (Map.Entry<String, Long> entry : a.entrySet()) { z = a(entry.getKey(), entry.getValue().longValue(), str, a2, j); if (!z) { break; } } return z; } }