Commit 2b300cea authored by Thomas's avatar Thomas
Browse files

record cache work

parent 6e4bb95d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -233,6 +233,10 @@ public class HashTagActivity extends BaseActivity {
                        tagTimeline.any.add(stripTag.trim());
                        pinnedTimeline.tagTimeline = tagTimeline;
                        pinned.pinnedTimelines.add(pinnedTimeline);
                        if (pinned.instance == null || pinned.user_id == null) {
                            pinned.instance = MainActivity.currentInstance;
                            pinned.user_id = MainActivity.currentUserID;
                        }
                        if (update) {
                            new Pinned(HashTagActivity.this).updatePinned(pinned);
                        } else {
+4 −0
Original line number Diff line number Diff line
@@ -836,6 +836,10 @@ public class ProfileActivity extends BaseActivity {
                pinnedTimeline.type = Timeline.TimeLineEnum.REMOTE;
                pinnedTimeline.position = pinned.pinnedTimelines.size();
                pinned.pinnedTimelines.add(pinnedTimeline);
                if (pinned.instance == null || pinned.user_id == null) {
                    pinned.instance = MainActivity.currentInstance;
                    pinned.user_id = MainActivity.currentUserID;
                }
                Pinned finalPinned = pinned;
                boolean finalPresent = present;
                new Thread(() -> {
+5 −1
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import java.util.ArrayList;
import java.util.concurrent.TimeUnit;

import app.fedilab.android.R;
import app.fedilab.android.activities.MainActivity;
import app.fedilab.android.databinding.ActivityReorderTabsBinding;
import app.fedilab.android.databinding.PopupSearchInstanceBinding;
import app.fedilab.android.mastodon.client.entities.app.BottomMenu;
@@ -261,7 +262,10 @@ public class ReorderTimelinesActivity extends BaseBarActivity implements OnStart
                                    pinnedTimeline.type = Timeline.TimeLineEnum.REMOTE;
                                    pinnedTimeline.position = pinned.pinnedTimelines.size();
                                    pinned.pinnedTimelines.add(pinnedTimeline);

                                    if (pinned.user_id == null || pinned.instance == null) {
                                        pinned.user_id = MainActivity.currentUserID;
                                        pinned.instance = MainActivity.currentInstance;
                                    }
                                    if (update) {
                                        try {
                                            new Pinned(ReorderTimelinesActivity.this).updatePinned(pinned);
+2 −2
Original line number Diff line number Diff line
@@ -166,8 +166,8 @@ public class BottomMenu implements Serializable {
            throw new DBException("db is null. Wrong initialization.");
        }
        ContentValues values = new ContentValues();
        values.put(Sqlite.COL_INSTANCE, BaseMainActivity.currentInstance);
        values.put(Sqlite.COL_USER_ID, BaseMainActivity.currentUserID);
        values.put(Sqlite.COL_INSTANCE, bottomMenu.instance);
        values.put(Sqlite.COL_USER_ID, bottomMenu.user_id);
        values.put(Sqlite.COL_BOTTOM_MENU, menuItemListToStringStorage(bottomMenu.bottom_menu));
        //Inserts bottom
        try {
+86 −0
Original line number Diff line number Diff line
package app.fedilab.android.mastodon.client.entities.app;
/* Copyright 2023 Thomas Schneider
 *
 * This file is a part of Fedilab
 *
 * This program is free software; you can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software Foundation; either version 3 of the
 * License, or (at your option) any later version.
 *
 * Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
 * Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with Fedilab; if not,
 * see <http://www.gnu.org/licenses>. */

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

import com.google.gson.annotations.SerializedName;

import java.io.Serializable;
import java.util.Date;

import app.fedilab.android.mastodon.exception.DBException;
import app.fedilab.android.mastodon.helper.Helper;
import app.fedilab.android.sqlite.Sqlite;

public class HomeFetchLog implements Serializable {

    private final SQLiteDatabase db;
    @SerializedName("id")
    public long id = -1;
    @SerializedName("instance")
    public String instance;
    @SerializedName("user_id")
    public String user_id;
    @SerializedName("fetched_count")
    public int fetched_count;
    @SerializedName("inserted")
    public int inserted;
    @SerializedName("updated")
    public int updated;
    @SerializedName("failed")
    public int failed;
    @SerializedName("frequency")
    public int frequency;
    @SerializedName("created_at")
    public Date created_ad;
    private Context context;

    public HomeFetchLog() {
        db = null;
    }

    public HomeFetchLog(Context context) {
        //Creation of the DB with tables
        this.context = context;
        this.db = Sqlite.getInstance(context.getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
    }

    public long insert(HomeFetchLog homeFetchLog) throws DBException {
        if (db == null) {
            throw new DBException("db is null. Wrong initialization.");
        }
        ContentValues values = new ContentValues();
        values.put(Sqlite.COL_INSTANCE, homeFetchLog.instance);
        values.put(Sqlite.COL_USER_ID, homeFetchLog.user_id);
        values.put(Sqlite.COL_FETCHED_COUNT, homeFetchLog.fetched_count);
        values.put(Sqlite.COL_FAILED, homeFetchLog.failed);
        values.put(Sqlite.COL_INSERTED, homeFetchLog.inserted);
        values.put(Sqlite.COL_UPDATED, homeFetchLog.updated);
        values.put(Sqlite.COL_FREQUENCY, homeFetchLog.frequency);
        values.put(Sqlite.COL_CREATED_AT, Helper.dateToString(new Date()));

        //Inserts logs
        try {
            return db.insertOrThrow(Sqlite.TABLE_HOME_FETCH_LOGS, null, values);
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
    }

}
Loading