Fix sticker backup import/export.
This commit is contained in:
parent
ba1e8b6c14
commit
40ca94a7dd
2 changed files with 30 additions and 8 deletions
|
@ -7,10 +7,13 @@ package org.thoughtcrime.securesms.backup.v2.processor
|
||||||
|
|
||||||
import okio.ByteString.Companion.toByteString
|
import okio.ByteString.Companion.toByteString
|
||||||
import org.signal.core.util.Hex
|
import org.signal.core.util.Hex
|
||||||
|
import org.signal.core.util.insertInto
|
||||||
import org.thoughtcrime.securesms.backup.v2.proto.Frame
|
import org.thoughtcrime.securesms.backup.v2.proto.Frame
|
||||||
import org.thoughtcrime.securesms.backup.v2.proto.StickerPack
|
import org.thoughtcrime.securesms.backup.v2.proto.StickerPack
|
||||||
import org.thoughtcrime.securesms.backup.v2.stream.BackupFrameEmitter
|
import org.thoughtcrime.securesms.backup.v2.stream.BackupFrameEmitter
|
||||||
|
import org.thoughtcrime.securesms.database.SQLiteDatabase
|
||||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||||
|
import org.thoughtcrime.securesms.database.StickerTable
|
||||||
import org.thoughtcrime.securesms.database.StickerTable.StickerPackRecordReader
|
import org.thoughtcrime.securesms.database.StickerTable.StickerPackRecordReader
|
||||||
import org.thoughtcrime.securesms.database.model.StickerPackRecord
|
import org.thoughtcrime.securesms.database.model.StickerPackRecord
|
||||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||||
|
@ -31,8 +34,27 @@ object StickerBackupProcessor {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun import(stickerPack: StickerPack) {
|
fun import(stickerPack: StickerPack) {
|
||||||
|
SignalDatabase.rawDatabase
|
||||||
|
.insertInto(StickerTable.TABLE_NAME)
|
||||||
|
.values(
|
||||||
|
StickerTable.PACK_ID to Hex.toStringCondensed(stickerPack.packId.toByteArray()),
|
||||||
|
StickerTable.PACK_KEY to Hex.toStringCondensed(stickerPack.packKey.toByteArray()),
|
||||||
|
StickerTable.PACK_TITLE to "",
|
||||||
|
StickerTable.PACK_AUTHOR to "",
|
||||||
|
StickerTable.INSTALLED to 1,
|
||||||
|
StickerTable.COVER to 1,
|
||||||
|
StickerTable.EMOJI to "",
|
||||||
|
StickerTable.CONTENT_TYPE to "",
|
||||||
|
StickerTable.FILE_PATH to ""
|
||||||
|
)
|
||||||
|
.run(SQLiteDatabase.CONFLICT_IGNORE)
|
||||||
|
|
||||||
AppDependencies.jobManager.add(
|
AppDependencies.jobManager.add(
|
||||||
StickerPackDownloadJob.forInstall(Hex.toStringCondensed(stickerPack.packId.toByteArray()), Hex.toStringCondensed(stickerPack.packKey.toByteArray()), false)
|
StickerPackDownloadJob.forInstall(
|
||||||
|
Hex.toStringCondensed(stickerPack.packId.toByteArray()),
|
||||||
|
Hex.toStringCondensed(stickerPack.packKey.toByteArray()),
|
||||||
|
false
|
||||||
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,16 +39,16 @@ public class StickerTable extends DatabaseTable {
|
||||||
|
|
||||||
public static final String TABLE_NAME = "sticker";
|
public static final String TABLE_NAME = "sticker";
|
||||||
public static final String _ID = "_id";
|
public static final String _ID = "_id";
|
||||||
static final String PACK_ID = "pack_id";
|
public static final String PACK_ID = "pack_id";
|
||||||
private static final String PACK_KEY = "pack_key";
|
public static final String PACK_KEY = "pack_key";
|
||||||
private static final String PACK_TITLE = "pack_title";
|
public static final String PACK_TITLE = "pack_title";
|
||||||
private static final String PACK_AUTHOR = "pack_author";
|
public static final String PACK_AUTHOR = "pack_author";
|
||||||
private static final String STICKER_ID = "sticker_id";
|
private static final String STICKER_ID = "sticker_id";
|
||||||
private static final String EMOJI = "emoji";
|
public static final String EMOJI = "emoji";
|
||||||
public static final String CONTENT_TYPE = "content_type";
|
public static final String CONTENT_TYPE = "content_type";
|
||||||
private static final String COVER = "cover";
|
public static final String COVER = "cover";
|
||||||
private static final String PACK_ORDER = "pack_order";
|
private static final String PACK_ORDER = "pack_order";
|
||||||
private static final String INSTALLED = "installed";
|
public static final String INSTALLED = "installed";
|
||||||
private static final String LAST_USED = "last_used";
|
private static final String LAST_USED = "last_used";
|
||||||
public static final String FILE_PATH = "file_path";
|
public static final String FILE_PATH = "file_path";
|
||||||
public static final String FILE_LENGTH = "file_length";
|
public static final String FILE_LENGTH = "file_length";
|
||||||
|
|
Loading…
Add table
Reference in a new issue