Keep intent longer

This commit is contained in:
Thomas 2024-01-12 11:05:42 +01:00
parent 504e30c44a
commit e589e2549d
2 changed files with 27 additions and 3 deletions

View file

@ -321,7 +321,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
args2.putSerializable(Helper.ARG_STATUS, statusSent); args2.putSerializable(Helper.ARG_STATUS, statusSent);
new CachedBundle(BaseMainActivity.this).insertBundle(args2, currentAccount, bundleId2 -> { new CachedBundle(BaseMainActivity.this).insertBundle(args2, currentAccount, bundleId2 -> {
Bundle bundle2 = new Bundle(); Bundle bundle2 = new Bundle();
bundle.putLong(Helper.ARG_INTENT_ID, bundleId2); bundle2.putLong(Helper.ARG_INTENT_ID, bundleId2);
intentContext.putExtras(bundle2); intentContext.putExtras(bundle2);
intentContext.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intentContext.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intentContext); startActivity(intentContext);
@ -348,7 +348,6 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
} }
} }
}); });
} }
} }
}; };
@ -378,6 +377,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
//Delete cache older than 7 days //Delete cache older than 7 days
new StatusCache(activity).deleteForAllAccountAfter7Days(); new StatusCache(activity).deleteForAllAccountAfter7Days();
new TimelineCacheLogs(activity).deleteForAllAccountAfter7Days(); new TimelineCacheLogs(activity).deleteForAllAccountAfter7Days();
new CachedBundle(activity).deleteOldIntent();
} catch (DBException e) { } catch (DBException e) {
e.printStackTrace(); e.printStackTrace();
} }

View file

@ -30,6 +30,7 @@ import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.zip.GZIPInputStream; import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream; import java.util.zip.GZIPOutputStream;
@ -142,9 +143,11 @@ public class CachedBundle {
} }
} }
} }
removeIntent(String.valueOf(id));
} catch (DBException ignored) { } catch (DBException ignored) {
} }
if( bundle == null) {
bundle = new Bundle();
}
Handler mainHandler = new Handler(Looper.getMainLooper()); Handler mainHandler = new Handler(Looper.getMainLooper());
Bundle finalBundle = bundle; Bundle finalBundle = bundle;
Runnable myRunnable = () -> callback.get(finalBundle); Runnable myRunnable = () -> callback.get(finalBundle);
@ -253,6 +256,27 @@ public class CachedBundle {
db.delete(Sqlite.TABLE_INTENT, Sqlite.COL_ID + " = '" + id + "'", null); db.delete(Sqlite.TABLE_INTENT, Sqlite.COL_ID + " = '" + id + "'", null);
} }
/**
* Remove a bundle from db
*
*/
public long deleteOldIntent() throws DBException {
if (db == null) {
throw new DBException("db is null. Wrong initialization.");
}
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DATE, -1);
Date date = cal.getTime();
String dateStr = Helper.dateToString(date);
try {
return db.delete(Sqlite.TABLE_INTENT, Sqlite.COL_CREATED_AT + " < ?", new String[]{dateStr});
}catch (Exception e) {
e.printStackTrace();
return -1;
}
}
/** /**
* Remove a bundle from db * Remove a bundle from db
*/ */