121 lines
4.0 KiB
Java
121 lines
4.0 KiB
Java
package com.ubtrobot.analytics;
|
|
|
|
import android.content.Context;
|
|
import android.database.Cursor;
|
|
import android.util.Log;
|
|
import com.ubt.jimu.controller.data.widget.JockstickDataConverter;
|
|
import com.ubtrobot.analytics.EventScheme;
|
|
import java.io.IOException;
|
|
import java.util.Collections;
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class DiskEventStorage implements EventStorage {
|
|
private int a = -1;
|
|
private AnalyticsDBHelper b;
|
|
|
|
public DiskEventStorage(Context context) {
|
|
this.b = AnalyticsDBHelper.a(context);
|
|
}
|
|
|
|
@Override // com.ubtrobot.analytics.EventStorage
|
|
public void a(Event event) throws IOException {
|
|
synchronized (this) {
|
|
b(Collections.singletonList(event));
|
|
}
|
|
}
|
|
|
|
@Override // com.ubtrobot.analytics.EventStorage
|
|
public void b(List<Event> list) throws IOException {
|
|
synchronized (this) {
|
|
this.b.b(EventScheme.Converters.a(list));
|
|
this.a = -1;
|
|
}
|
|
}
|
|
|
|
@Override // com.ubtrobot.analytics.EventStorage
|
|
public int a() throws IOException {
|
|
int i;
|
|
synchronized (this) {
|
|
this.a = this.a > 0 ? this.a : this.b.c("event");
|
|
i = this.a;
|
|
}
|
|
return i;
|
|
}
|
|
|
|
@Override // com.ubtrobot.analytics.EventStorage
|
|
public void b(int i) throws IOException {
|
|
synchronized (this) {
|
|
this.b.a("event", String.format("%s IN (SELECT %s FROM %s LIMIT %s)", JockstickDataConverter.ID, JockstickDataConverter.ID, "event", Integer.valueOf(i)), null);
|
|
this.a = -1;
|
|
}
|
|
}
|
|
|
|
@Override // com.ubtrobot.analytics.EventStorage
|
|
public List<Event> a(int i) throws IOException {
|
|
synchronized (this) {
|
|
LinkedList linkedList = new LinkedList();
|
|
int i2 = i / 5;
|
|
int i3 = 0;
|
|
while (true) {
|
|
if (i3 > i) {
|
|
break;
|
|
}
|
|
i3 += i2;
|
|
Cursor d = this.b.d(String.format("SELECT * FROM %s ORDER BY %s ASC LIMIT %s, %s", "event", JockstickDataConverter.ID, Integer.valueOf(i3), Integer.valueOf(i3)));
|
|
if (d == null) {
|
|
return Collections.emptyList();
|
|
}
|
|
try {
|
|
if (d.getCount() == 0) {
|
|
break;
|
|
}
|
|
while (d.moveToNext()) {
|
|
linkedList.add(EventScheme.Converters.a(d));
|
|
}
|
|
d.close();
|
|
} finally {
|
|
d.close();
|
|
}
|
|
}
|
|
return linkedList;
|
|
}
|
|
}
|
|
|
|
@Override // com.ubtrobot.analytics.EventStorage
|
|
public void a(List<Event> list) throws IOException {
|
|
synchronized (this) {
|
|
LinkedList linkedList = new LinkedList();
|
|
for (Event event : list) {
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.append("DELETE FROM ");
|
|
sb.append("event");
|
|
sb.append(" WHERE ");
|
|
sb.append(JockstickDataConverter.ID);
|
|
sb.append(" IN(SELECT ");
|
|
sb.append(JockstickDataConverter.ID);
|
|
sb.append(" FROM ");
|
|
sb.append("event");
|
|
sb.append(" WHERE ");
|
|
sb.append("event_id");
|
|
sb.append(" = '");
|
|
sb.append(event.getEventId());
|
|
sb.append("' AND ");
|
|
sb.append("category");
|
|
sb.append(" = '");
|
|
sb.append(event.getCategory());
|
|
sb.append("' AND ");
|
|
sb.append("recorded_at");
|
|
sb.append(" = '");
|
|
sb.append(event.getRecordedAt());
|
|
sb.append("'");
|
|
sb.append(")");
|
|
linkedList.add(sb.toString());
|
|
Log.i("Analytics", "Remove event sql: " + sb.toString());
|
|
}
|
|
this.b.a(linkedList);
|
|
}
|
|
}
|
|
}
|