mirror of
https://github.com/whitechi73/OpenShamrock.git
synced 2024-08-14 13:12:17 +08:00
fix: #350
This commit is contained in:
parent
cdc9ca1a72
commit
976526ab79
@ -146,6 +146,7 @@ public class TroopInfo {
|
|||||||
public byte[] troopInfoExtByte;
|
public byte[] troopInfoExtByte;
|
||||||
public String troopLevelMap;
|
public String troopLevelMap;
|
||||||
public String troopRemark;
|
public String troopRemark;
|
||||||
|
@Deprecated
|
||||||
public String troopcode;
|
public String troopcode;
|
||||||
public short troopface;
|
public short troopface;
|
||||||
public String troopmemo;
|
public String troopmemo;
|
||||||
@ -154,6 +155,7 @@ public class TroopInfo {
|
|||||||
public int trooptype;
|
public int trooptype;
|
||||||
public String troopuin;
|
public String troopuin;
|
||||||
public long udwCmdUinRingtoneID;
|
public long udwCmdUinRingtoneID;
|
||||||
|
@Deprecated
|
||||||
public String uin;
|
public String uin;
|
||||||
public int wClickBAFTipCount;
|
public int wClickBAFTipCount;
|
||||||
public int wInsertBAFTipCount;
|
public int wInsertBAFTipCount;
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
package com.tencent.qqnt.trooplist;
|
||||||
|
|
||||||
|
import androidx.lifecycle.LifecycleOwner;
|
||||||
|
|
||||||
|
import com.tencent.mobileqq.data.troop.TroopInfo;
|
||||||
|
import com.tencent.mobileqq.qroute.QRouteApi;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.jvm.functions.Function1;
|
||||||
|
|
||||||
|
public interface ITroopListRepoApi extends QRouteApi {
|
||||||
|
void fetchTroopLevelInfo(@NotNull String str, boolean z);
|
||||||
|
|
||||||
|
void fetchTroopList(boolean z);
|
||||||
|
|
||||||
|
//@NotNull
|
||||||
|
//a<Boolean> getFetchTroopListResultLiveData();
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
List<TroopInfo> getSortedValidTopTroopInfoFromCache();
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
List<TroopInfo> getSortedValidTroopInfoFromCache();
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
List<TroopInfo> getTopTroopListFromCache();
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
TroopInfo getTroopInfoFromCache(@NotNull String str);
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
List<TroopInfo> getTroopListFromCache();
|
||||||
|
|
||||||
|
//@Nullable
|
||||||
|
//a<List<TroopInfo>> getTroopListLiveData();
|
||||||
|
|
||||||
|
void preloadTroopList();
|
||||||
|
|
||||||
|
void requestSetTroopTop(@NotNull LifecycleOwner lifecycleOwner, @NotNull String str, boolean z, @NotNull Function1<? super Boolean, Unit> function1);
|
||||||
|
}
|
@ -19,6 +19,7 @@ import com.tencent.protofile.join_group_link.join_group_link
|
|||||||
import com.tencent.qphone.base.remote.ToServiceMsg
|
import com.tencent.qphone.base.remote.ToServiceMsg
|
||||||
import com.tencent.qqnt.kernel.nativeinterface.MemberInfo
|
import com.tencent.qqnt.kernel.nativeinterface.MemberInfo
|
||||||
import com.tencent.qqnt.kernel.nativeinterface.MsgConstant
|
import com.tencent.qqnt.kernel.nativeinterface.MsgConstant
|
||||||
|
import com.tencent.qqnt.trooplist.ITroopListRepoApi
|
||||||
import com.tencent.qqnt.troopmemberlist.ITroopMemberListRepoApi
|
import com.tencent.qqnt.troopmemberlist.ITroopMemberListRepoApi
|
||||||
import friendlist.stUinInfo
|
import friendlist.stUinInfo
|
||||||
import io.ktor.client.call.body
|
import io.ktor.client.call.body
|
||||||
@ -76,6 +77,7 @@ import moe.fuqiuluo.shamrock.tools.putBuf32Long
|
|||||||
import moe.fuqiuluo.shamrock.utils.FileUtils
|
import moe.fuqiuluo.shamrock.utils.FileUtils
|
||||||
import moe.fuqiuluo.shamrock.utils.PlatformUtils
|
import moe.fuqiuluo.shamrock.utils.PlatformUtils
|
||||||
import moe.fuqiuluo.shamrock.utils.PlatformUtils.QQ_9_0_71_VER
|
import moe.fuqiuluo.shamrock.utils.PlatformUtils.QQ_9_0_71_VER
|
||||||
|
import moe.fuqiuluo.shamrock.utils.PlatformUtils.QQ_9_0_80_VER
|
||||||
import moe.fuqiuluo.shamrock.utils.PlatformUtils.QQ_9_0_8_VER
|
import moe.fuqiuluo.shamrock.utils.PlatformUtils.QQ_9_0_8_VER
|
||||||
import moe.fuqiuluo.shamrock.xposed.helper.AppRuntimeFetcher
|
import moe.fuqiuluo.shamrock.xposed.helper.AppRuntimeFetcher
|
||||||
import moe.fuqiuluo.shamrock.xposed.helper.NTServiceFetcher
|
import moe.fuqiuluo.shamrock.xposed.helper.NTServiceFetcher
|
||||||
@ -228,6 +230,7 @@ internal object GroupSvc: QQInterfaces() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
suspend fun getGroupList(refresh: Boolean): Result<List<TroopInfo>> {
|
suspend fun getGroupList(refresh: Boolean): Result<List<TroopInfo>> {
|
||||||
|
if (PlatformUtils.getQQVersionCode() <= QQ_9_0_80_VER) {
|
||||||
val service = app.getRuntimeService(ITroopInfoService::class.java, "all")
|
val service = app.getRuntimeService(ITroopInfoService::class.java, "all")
|
||||||
|
|
||||||
var troopList = service.allTroopList
|
var troopList = service.allTroopList
|
||||||
@ -239,6 +242,15 @@ internal object GroupSvc: QQInterfaces() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Result.success(troopList)
|
return Result.success(troopList)
|
||||||
|
} else {
|
||||||
|
val service = QRoute.api(ITroopListRepoApi::class.java)
|
||||||
|
val troopList = service.troopListFromCache
|
||||||
|
if (troopList == null || troopList.isEmpty() || refresh) {
|
||||||
|
service.fetchTroopList(true)
|
||||||
|
return Result.success(service.troopListFromCache)
|
||||||
|
}
|
||||||
|
return Result.success(troopList)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun getNotJoinedGroupInfo(groupId: Long): Result<NotJoinedGroupInfo> {
|
suspend fun getNotJoinedGroupInfo(groupId: Long): Result<NotJoinedGroupInfo> {
|
||||||
|
@ -18,6 +18,7 @@ import kotlin.random.Random
|
|||||||
internal object PlatformUtils {
|
internal object PlatformUtils {
|
||||||
const val QQ_9_0_8_VER = 5540
|
const val QQ_9_0_8_VER = 5540
|
||||||
const val QQ_9_0_71_VER = 6702
|
const val QQ_9_0_71_VER = 6702
|
||||||
|
const val QQ_9_0_80_VER = 6869
|
||||||
|
|
||||||
fun getQUA(): String {
|
fun getQUA(): String {
|
||||||
return "V1_AND_SQ_${getQQVersion(MobileQQ.getContext())}_${getQQVersionCode()}_YYB_D"
|
return "V1_AND_SQ_${getQQVersion(MobileQQ.getContext())}_${getQQVersionCode()}_YYB_D"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user