Skip to content

Commit

Permalink
Merge pull request #88 from ArcticFoxPro/master
Browse files Browse the repository at this point in the history
新增可查看本机 TIM 的 QQ 底包版本,新增关于界面可查看开放源代码许可,本机 QQ、TIM 版本详情新增 QUA 项,腾讯应用宝更新获取新增腾讯企点,更改桌面图标为特定图标
  • Loading branch information
klxiaoniu authored Nov 4, 2024
2 parents b35eee0 + 652b3a5 commit de27d9e
Showing 60 changed files with 604 additions and 326 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -254,7 +254,7 @@ QQ 版本列表实用工具不能实现“检测到新测试版本下载直链
> QQ 版本列表实用工具始终坚守法律底线,秉持尊重与保护所有用户及第三方合法权益的原则。我们深切认识到任何可能存在的权益侵犯行为都会对权益方造成潜在影响,对此,我们表示由衷歉意,并承诺,一旦接到权益方的权益受到侵犯的通知,我们将立即依法启动核查程序,并在确认侵权事实后,迅速采取有效措施,以最大程度地消除不良影响,恢复并保障权益方的合法权益。敬请相关权益方在发现 QQ 版本列表实用工具存在任何侵权内容时,及时与我们取得联系,我们将竭诚为权益方提供必要的协助与支持。
> [!NOTE]
> “腾讯”“QQ”“腾讯 QQ”“腾讯 TIM”“微信”“WeChat”“Weixin”“腾讯微信”“企业微信”“WeCom”“微信输入法”“WeType”“应用宝”“腾讯应用宝”等是深圳市腾讯计算机系统有限公司和/或其关联公司的商标。本项目对“腾讯”“QQ”“腾讯 QQ”“腾讯 TIM”“微信”“WeChat”“Weixin”“腾讯微信”“企业微信”“WeCom”“微信输入法”“WeType”“应用宝”“腾讯应用宝”等的使用旨在注明和指向对应主体,并非表示对“腾讯”“QQ”“腾讯 QQ”“腾讯 TIM”“微信”“WeChat”“Weixin”“腾讯微信”“企业微信”“WeCom”“微信输入法”“WeType”“应用宝”“腾讯应用宝”等商标的注册和拥有。
> “腾讯”“QQ”“腾讯 QQ”“腾讯 TIM”“微信”“WeChat”“Weixin”“腾讯微信”“企业微信”“WeCom”“微信输入法”“WeType”“应用宝”“腾讯应用宝”“腾讯企点”等是深圳市腾讯计算机系统有限公司和/或其关联公司的商标。本项目对“腾讯”“QQ”“腾讯 QQ”“腾讯 TIM”“微信”“WeChat”“Weixin”“腾讯微信”“企业微信”“WeCom”“微信输入法”“WeType”“应用宝”“腾讯应用宝”“腾讯企点”等的使用旨在注明和指向对应主体,并非表示对“腾讯”“QQ”“腾讯 QQ”“腾讯 TIM”“微信”“WeChat”“Weixin”“腾讯微信”“企业微信”“WeCom”“微信输入法”“WeType”“应用宝”“腾讯应用宝”“腾讯企点”等商标的注册和拥有。
>
> Android™ 是 Google LLC 的商标。
>
@@ -285,7 +285,7 @@ QQ 版本列表实用工具的诞生离不开以下开源项目,感谢以下
- [Kotlin Serialization](https://github.com/Kotlin/kotlinx.serialization),Licensed under [Apache License Version 2.0](https://github.com/Kotlin/kotlinx.serialization/blob/master/LICENSE.txt)
- [Get QQ Update Link(owo233)](https://github.com/callng/GQUL),Licensed under [The Unlicense](https://github.com/callng/GQUL/blob/master/LICENSE)
- [Paris(Airbnb)](https://github.com/airbnb/paris),Licensed under [Apache License Version 2.0](https://github.com/airbnb/paris/blob/master/LICENSE)
- [Apache Maven](https://maven.apache.org/),Licensed under [Apache License Version 2.0](https://github.com/apache/maven/blob/master/LICENSE)
- [Apache Maven](https://maven.apache.org/),Licensed under [Apache License Version 2.0](https://github.com/apache/maven/blob/master/LICENSE)
- [Gradle](https://gradle.org/),Licensed under [Apache License Version 2.0](https://github.com/gradle/gradle/blob/master/LICENSE)
- [Material Symbols / Material Icons(Google)](https://fonts.google.com/icons),Licensed under [Apache License Version 2.0](https://github.com/google/material-design-icons/blob/master/LICENSE)
- [Obtainium(Imran)](https://github.com/ImranR98/Obtainium),Licensed under [GNU General Public License Version 3](https://github.com/ImranR98/Obtainium/blob/main/LICENSE.md)
@@ -294,6 +294,7 @@ QQ 版本列表实用工具的诞生离不开以下开源项目,感谢以下
- [AndroidFastScroll(张海)](https://github.com/zhanghai/AndroidFastScroll),Licensed under [Apache License Version 2.0](https://github.com/zhanghai/AndroidFastScroll/blob/master/LICENSE)
- [Kotlin Coroutines on Android](https://github.com/Kotlin/kotlinx.coroutines),Licensed under [Apache License Version 2.0](https://github.com/Kotlin/kotlinx.coroutines/blob/master/LICENSE.txt)
- [Google Play services Plugins](https://github.com/google/play-services-plugins),Licensed under [Apache License Version 2.0](https://github.com/google/play-services-plugins/blob/main/LICENSE)
- [Apache Commons™](https://commons.apache.org/),Licensed under [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)

## 商业服务鸣谢

5 changes: 4 additions & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -24,6 +24,7 @@ plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
id("com.google.gms.google-services")
kotlin("plugin.serialization") version "2.0.21"
id("com.google.android.gms.oss-licenses-plugin")
}

fun String.execute(currentWorkingDir: File = file("./")): String {
@@ -48,7 +49,7 @@ android {
minSdk = 24
targetSdk = 35
versionCode = gitCommitCount
versionName = "1.4.1-$gitCommitHash"
versionName = "1.4.2-$gitCommitHash"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
@@ -120,4 +121,6 @@ dependencies {
implementation(libs.kotlinx.coroutines.android)
implementation(libs.library)
implementation(libs.androidx.browser)
implementation(libs.play.services.oss.licenses)
implementation(libs.commons.compress)
}
10 changes: 8 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -34,9 +34,9 @@
android:enableOnBackInvokedCallback="true"
android:fullBackupContent="@xml/backup_rules"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:icon="@mipmap/ic_launcher_special"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:roundIcon="@mipmap/ic_launcher_special_round"
android:supportsRtl="true"
android:theme="@style/Theme.QQVersionList"
android:usesCleartextTraffic="true"
@@ -54,6 +54,12 @@
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>
<activity
android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
android:theme="@style/Theme.OssLicensesMenuActivity" />
<activity
android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
android:theme="@style/Theme.OssLicensesMenuActivity" />
<!-- Set custom default icon. This is used when no icon is set for incoming notification messages.
See README(https://goo.gl/l4GJaQ) for more. -->
<meta-data
Binary file added app/src/main/ic_launcher_special-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -31,7 +31,7 @@ class QVTApplication : Application() {
const val EARLIEST_ACCESSIBILITY_QQ_VERSION = false
const val EARLIEST_ACCESSIBILITY_TIM_VERSION = false
const val EARLIEST_QQNT_FRAMEWORK_QQ_VERSION_STABLE = "8.9.63"
const val EARLIEST_QQNT_FRAMEWORK_TIM_VERSION_STABLE = false
const val EARLIEST_QQNT_FRAMEWORK_TIM_VERSION_STABLE = "4.0.0"
const val EARLIEST_UNREAL_ENGINE_QQ_VERSION_STABLE = "8.8.55"
}

Original file line number Diff line number Diff line change
@@ -1,8 +1,25 @@
/*
QQ Versions Tool for Android™
Copyright (C) 2023 klxiaoniu
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/


package com.xiaoniu.qqversionlist.service

import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Intent
import androidx.core.app.NotificationCompat
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
14 changes: 9 additions & 5 deletions app/src/main/java/com/xiaoniu/qqversionlist/ui/LocalQQAdapter.kt
Original file line number Diff line number Diff line change
@@ -20,7 +20,6 @@ package com.xiaoniu.qqversionlist.ui

import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import android.widget.Toast
@@ -54,11 +53,9 @@ class LocalQQAdapter : RecyclerView.Adapter<LocalQQAdapter.LocalQQViewHolder>()
holder.apply {
if (QQVersionInstall2 != "") {
itemQqInstallText.text =
if (QQChannelInstall != "") itemView.context.getString(R.string.localQQVersion) + DataStoreUtil.getStringKV(
itemView.context.getString(R.string.localQQVersion) + DataStoreUtil.getStringKV(
"QQVersionInstall", ""
) + QQRdmUUIDInstall + (if (QQVersionCodeInstall2 != "") " (${QQVersionCodeInstall2})" else "") + " - $QQChannelInstall" else itemView.context.getString(
R.string.localQQVersion
) + DataStoreUtil.getStringKV("QQVersionInstall", "")
) + QQRdmUUIDInstall + (if (QQVersionCodeInstall2 != "") " (${QQVersionCodeInstall2})" else "") + (if (QQChannelInstall != "") " - $QQChannelInstall" else "")
itemQqInstallCard.isVisible = true

// 无障碍标记
@@ -144,6 +141,13 @@ class LocalQQAdapter : RecyclerView.Adapter<LocalQQAdapter.LocalQQViewHolder>()
DataStoreUtil.getStringKV(
"QQAppSettingParamsPadInstall", ""
)
}" else "") + (if (DataStoreUtil.getStringKV(
"QQQua", ""
) != ""
) "<br><b>QUA</b>: ${
DataStoreUtil.getStringKV(
"QQQua", ""
)
}" else ""), HtmlCompat.FROM_HTML_MODE_LEGACY
)
setTextIsSelectable(true)
31 changes: 26 additions & 5 deletions app/src/main/java/com/xiaoniu/qqversionlist/ui/LocalTIMAdapter.kt
Original file line number Diff line number Diff line change
@@ -20,7 +20,6 @@ package com.xiaoniu.qqversionlist.ui

import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import android.widget.Toast
@@ -44,22 +43,28 @@ class LocalTIMAdapter : RecyclerView.Adapter<LocalTIMAdapter.LocalTIMViewHolder>
val TIMVersionInstall2 = DataStoreUtil.getStringKV("TIMVersionInstall", "")
val TIMVersionCodeInstall2 = DataStoreUtil.getStringKV("TIMVersionCodeInstall", "")
val TIMAppSettingParamsInstall = DataStoreUtil.getStringKV("TIMAppSettingParamsInstall", "")
val TIMQua = DataStoreUtil.getStringKV("TIMQua", "")
val TIMRdmUUIDInstall = if (DataStoreUtil.getStringKV(
"TIMRdmUUIDInstall", ""
) != ""
) ".${DataStoreUtil.getStringKV("TIMRdmUUIDInstall", "").split("_")[0]}" else ""
val TIMChannelInstall = if (TIMAppSettingParamsInstall != "") DataStoreUtil.getStringKV(
"TIMAppSettingParamsInstall", ""
).split("#")[3] else ""
val TIMBasedOnQQVer =
if (TIMQua != "") DataStoreUtil.getStringKV("TIMQua", "").split("_")[3] else ""
holder.apply {
if (TIMVersionInstall2 != "") {
itemTimInstallText.text =
if (TIMChannelInstall != "") itemView.context.getString(R.string.localTIMVersion) + DataStoreUtil.getStringKV(
itemView.context.getString(R.string.localTIMVersion) + DataStoreUtil.getStringKV(
"TIMVersionInstall", ""
) + TIMRdmUUIDInstall + (if (TIMVersionCodeInstall2 != "") " (${TIMVersionCodeInstall2})" else "") + " - $TIMChannelInstall" else itemView.context.getString(
R.string.localTIMVersion
) + DataStoreUtil.getStringKV("TIMVersionInstall", "")
) + TIMRdmUUIDInstall + (if (TIMVersionCodeInstall2 != "") " (${TIMVersionCodeInstall2})" else "") + (if (TIMChannelInstall != "") " - $TIMChannelInstall" else "")
itemTimInstallCard.isVisible = true
itemTimInstallBasedOn.text = if (TIMBasedOnQQVer != "") itemView.context.getString(
R.string.basedOnQQVer, TIMBasedOnQQVer
) else ""
itemTimInstallBasedOn.isVisible = TIMBasedOnQQVer != ""
itemTimInstallBasedOnCard.isVisible = TIMBasedOnQQVer != ""
itemTimInstallCard.setOnLongClickListener {
if (DataStoreUtil.getBooleanKV("longPressCard", true)) {
val tv = TextView(itemView.context).apply {
@@ -110,6 +115,20 @@ class LocalTIMAdapter : RecyclerView.Adapter<LocalTIMAdapter.LocalTIMViewHolder>
DataStoreUtil.getStringKV(
"TIMAppSettingParamsInstall", ""
)
}" else "") + (if (DataStoreUtil.getStringKV(
"TIMAppSettingParamsPadInstall", ""
) != ""
) "<br><b>AppSetting_params_pad</b>: ${
DataStoreUtil.getStringKV(
"TIMAppSettingParamsPadInstall", ""
)
}" else "") + (if (DataStoreUtil.getStringKV(
"TIMQua", ""
) != ""
) "<br><b>QUA</b>: ${
DataStoreUtil.getStringKV(
"TIMQua", ""
)
}" else ""), HtmlCompat.FROM_HTML_MODE_LEGACY
)
setTextIsSelectable(true)
@@ -143,6 +162,8 @@ class LocalTIMAdapter : RecyclerView.Adapter<LocalTIMAdapter.LocalTIMViewHolder>
RecyclerView.ViewHolder(binding.root) {
val itemTimInstallCard = binding.itemTimInstallCard
val itemTimInstallText = binding.itemTimInstallText
val itemTimInstallBasedOn = binding.itemTimInstallBasedOn
val itemTimInstallBasedOnCard = binding.itemTimInstallBasedOnCard
}
}

Loading
Oops, something went wrong.

0 comments on commit de27d9e

Please sign in to comment.