fix(composer): first created username
Signed-off-by: rhunk <101876869+rhunk@users.noreply.github.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { Config, FriendInfo } from "./types";
|
||||
import { Config } from "./types";
|
||||
|
||||
declare var _getImportsFunctionName: string;
|
||||
declare var _runtimeName: boolean;
|
||||
@@ -17,8 +17,6 @@ export const getConfig = () => callRemoteFunction("getConfig") as Config;
|
||||
|
||||
export const downloadLastOperaMedia = (isLongPress: boolean) => callRemoteFunction("downloadLastOperaMedia", isLongPress);
|
||||
|
||||
export function getFriendInfoByUsername(username: string): FriendInfo | null {
|
||||
const friendInfo = callRemoteFunction("getFriendInfoByUsername", username);
|
||||
if (!friendInfo) return null;
|
||||
return JSON.parse(friendInfo);
|
||||
export function getFriendOriginalUsername(username: string): string | null {
|
||||
return callRemoteFunction("getFriendOriginalUsername", username);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { defineModule } from "../types";
|
||||
import { getFriendInfoByUsername } from "../imports";
|
||||
import { getFriendOriginalUsername } from "../imports";
|
||||
import { interceptComponent } from "../utils";
|
||||
|
||||
export default defineModule({
|
||||
@@ -12,9 +12,8 @@ export default defineModule({
|
||||
{
|
||||
onRender: (component: any, _args: any[], render: () => void) => {
|
||||
if (component.viewModel) {
|
||||
let userInfo = getFriendInfoByUsername(component.viewModel.username);
|
||||
if (userInfo) {
|
||||
let firstCreatedUsername = userInfo.username.split("|")[0];
|
||||
let firstCreatedUsername = getFriendOriginalUsername(component.viewModel.username);
|
||||
if (firstCreatedUsername) {
|
||||
if (firstCreatedUsername != component.viewModel.username) {
|
||||
component.viewModel.username += " (" + firstCreatedUsername + ")";
|
||||
}
|
||||
|
||||
@@ -6,12 +6,7 @@ import android.database.sqlite.SQLiteDatabase
|
||||
import android.database.sqlite.SQLiteDatabase.OpenParams
|
||||
import android.database.sqlite.SQLiteDatabaseCorruptException
|
||||
import me.rhunk.snapenhance.common.database.DatabaseObject
|
||||
import me.rhunk.snapenhance.common.database.impl.ConversationMessage
|
||||
import me.rhunk.snapenhance.common.database.impl.FriendFeedEntry
|
||||
import me.rhunk.snapenhance.common.database.impl.FriendInfo
|
||||
import me.rhunk.snapenhance.common.database.impl.StoryEntry
|
||||
import me.rhunk.snapenhance.common.database.impl.StorySnapEntry
|
||||
import me.rhunk.snapenhance.common.database.impl.UserConversationLink
|
||||
import me.rhunk.snapenhance.common.database.impl.*
|
||||
import me.rhunk.snapenhance.common.util.ktx.getBlobOrNull
|
||||
import me.rhunk.snapenhance.common.util.ktx.getIntOrNull
|
||||
import me.rhunk.snapenhance.common.util.ktx.getInteger
|
||||
@@ -198,6 +193,20 @@ class DatabaseAccess(
|
||||
}
|
||||
}
|
||||
|
||||
fun getFriendOriginalUsername(mutableUsername: String): String? {
|
||||
return useDatabase(DatabaseType.MAIN)?.performOperation {
|
||||
safeRawQuery(
|
||||
"SELECT originalUsername FROM CombinedUsername WHERE mutableUsername = ?",
|
||||
arrayOf(mutableUsername)
|
||||
)?.use { query ->
|
||||
if (!query.moveToFirst()) {
|
||||
return@performOperation null
|
||||
}
|
||||
query.getStringOrNull("originalUsername")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getFriendInfoByUsername(username: String): FriendInfo? {
|
||||
return useDatabase(DatabaseType.MAIN)?.performOperation {
|
||||
readDatabaseObject(
|
||||
|
||||
@@ -133,13 +133,12 @@ class ComposerHooks: Feature("ComposerHooks") {
|
||||
context.feature(MediaDownloader::class).downloadLastOperaMediaAsync(getUntyped(0) == true)
|
||||
}
|
||||
|
||||
composerFunction("getFriendInfoByUsername") {
|
||||
composerFunction("getFriendOriginalUsername") {
|
||||
if (getSize() < 1) return@composerFunction
|
||||
val username = getUntyped(0) as? String ?: return@composerFunction
|
||||
|
||||
runCatching {
|
||||
pushUntyped(context.database.getFriendInfoByUsername(username)?.let {
|
||||
context.gson.toJson(it)
|
||||
})
|
||||
pushUntyped(context.database.getFriendOriginalUsername(username))
|
||||
}.onFailure {
|
||||
pushUntyped(null)
|
||||
}
|
||||
|
||||
@@ -98,6 +98,7 @@ class FriendFeedInfoMenu : AbstractMenu() {
|
||||
}
|
||||
val finalIcon = icon
|
||||
val translation = context.translation.getCategory("profile_info")
|
||||
val firstCreatedUsername = context.database.getFriendOriginalUsername(profile.mutableUsername.toString()) ?: profile.firstCreatedUsername
|
||||
|
||||
context.runOnUiThread {
|
||||
val addedTimestamp: Long = profile.addedTimestamp.coerceAtLeast(profile.reverseAddedTimestamp)
|
||||
@@ -109,7 +110,7 @@ class FriendFeedInfoMenu : AbstractMenu() {
|
||||
birthday[Calendar.MONTH] = (profile.birthday shr 32).toInt() - 1
|
||||
|
||||
builder.setMessage(mapOf(
|
||||
translation["first_created_username"] to profile.firstCreatedUsername,
|
||||
translation["first_created_username"] to firstCreatedUsername,
|
||||
translation["mutable_username"] to profile.mutableUsername,
|
||||
translation["display_name"] to profile.displayName,
|
||||
translation["added_date"] to formatDate(addedTimestamp).takeIf { addedTimestamp > 0 },
|
||||
|
||||
Reference in New Issue
Block a user