package com.stardust.scriptdroid.statics; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.text.format.DateUtils; import com.flurry.android.FlurryAgent; import com.stardust.autojs.script.ScriptSource; import com.stardust.scriptdroid.BuildConfig; /** * Created by Stardust on 2017/5/5. */ public class ScriptStatics { private static final String KEY_MILLIS = "Sorry, I should have left"; private static ScriptStaticsStorage storage; private static SharedPreferences preferences; public static void init(Context context) { storage = new SQLiteStaticsStorage(context); new FlurryAgent.Builder() .withLogEnabled(BuildConfig.DEBUG) .build(context, "D42MH48ZN4PJC5TKNYZD"); preferences = PreferenceManager.getDefaultSharedPreferences(context); } public static void recordScript(ScriptSource source) { storage.record(source); sendStaticsIfNeeded(); } private static void sendStaticsIfNeeded() { long millis = preferences.getLong(KEY_MILLIS, 0); if (!DateUtils.isToday(millis)) { preferences.edit().putLong(KEY_MILLIS, System.currentTimeMillis()).apply(); FlurryAgent.logEvent("ScriptStatics", storage.getMax(10)); } } @Override protected void finalize() throws Throwable { super.finalize(); storage.close(); } }