Skip to content

Commit

Permalink
Merge pull request #75 from ArcticFoxPro/master
Browse files Browse the repository at this point in the history
新增 TIM 版本列表,新增“基于 QQNT 技术架构”标识
  • Loading branch information
klxiaoniu authored Sep 15, 2024
2 parents 1a394ec + 354e8f4 commit 4a2bb3e
Show file tree
Hide file tree
Showing 110 changed files with 3,277 additions and 1,226 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ QQ 版本列表实用工具 for Android 是一个使用 Material 3 组件库构

在进入 QQ 版本列表实用工具时,您首先会看到一系列显示“x.y.z”“xxx MB”的卡片,这些卡片组成的列表即为 Android QQ 的版本列表,卡片列表展示了已经或即将发布的 Android QQ 版本。版本信息来源:https://im.qq.com/rainbow/androidQQVersionList

从右向左滑动版本列表,可切换到 TIM 版本列表。TIM 版本信息来源:https://im.qq.com/rainbow/TIMDownload

通过点击卡片右侧箭头按钮,可展开卡片以查阅到更为详尽的信息。

默认情况下,长按卡片文字会弹出展示卡片原始 JSON 字符串的对话框,长按对话框文字可选择复制字符串内容。可在设置中关闭此功能。
Expand Down Expand Up @@ -194,7 +196,7 @@ QQ 版本列表实用工具不能实现“检测到新版本自动提醒您”
> QQ 版本列表实用工具始终坚守法律底线,秉持尊重与保护所有用户及第三方合法权益的原则。我们深切认识到任何可能存在的权益侵犯行为都会对权益方造成潜在影响,对此,我们表示由衷歉意,并承诺,一旦接到权益方的权益受到侵犯的通知,我们将立即依法启动核查程序,并在确认侵权事实后,迅速采取有效措施,以最大程度地消除不良影响,恢复并保障权益方的合法权益。敬请相关权益方在发现 QQ 版本列表实用工具存在任何侵权内容时,及时与我们取得联系,我们将竭诚为权益方提供必要的协助与支持。
> [!NOTE]
> “腾讯”“QQ”“腾讯 QQ”“微信”“WeChat”“微信输入法”“WeType”是深圳市腾讯计算机系统有限公司和/或其关联公司的商标。本应用对“腾讯”“QQ”“腾讯 QQ”“微信”“WeChat”“微信输入法”“WeType”的使用旨在注明和指向对应主体,并非表示对“腾讯”“QQ”“腾讯 QQ”“微信”“WeChat”“微信输入法”“WeType”商标的注册和拥有。
> “腾讯”“QQ”“腾讯 QQ”“微信”“WeChat”“微信输入法”“WeType”是深圳市腾讯计算机系统有限公司和/或其关联公司的商标。本项目对“腾讯”“QQ”“腾讯 QQ”“微信”“WeChat”“微信输入法”“WeType”的使用旨在注明和指向对应主体,并非表示对“腾讯”“QQ”“腾讯 QQ”“微信”“WeChat”“微信输入法”“WeType”商标的注册和拥有。
> [!NOTE]
> Android™ 是 Google LLC 的商标。
Expand Down
6 changes: 4 additions & 2 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ android {
minSdk = 24
targetSdk = 35
versionCode = gitCommitCount
versionName = "1.3.7-$gitCommitHash"
versionName = "1.3.8-$gitCommitHash"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
Expand Down Expand Up @@ -92,7 +92,7 @@ android {

dependencies {
implementation("androidx.core:core-ktx:1.13.1")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.4")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.5")
implementation("androidx.appcompat:appcompat:1.7.0")
implementation("androidx.core:core-splashscreen:1.1.0-rc01")
implementation("com.google.android.material:material:1.12.0")
Expand All @@ -109,4 +109,6 @@ dependencies {
implementation("com.airbnb.android:paris:2.0.2")
implementation("org.apache.maven:maven-artifact:3.9.9")
implementation("androidx.recyclerview:recyclerview:1.3.2")
implementation("androidx.viewpager2:viewpager2:1.1.0")
implementation("androidx.fragment:fragment-ktx:1.8.3")
}
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
</queries>

<application
android:name=".TipTimeApplication"
android:name=".QVTApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:enableOnBackInvokedCallback="true"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,40 +1,43 @@
/*
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

import android.app.Application
import com.google.android.material.color.DynamicColors

class TipTimeApplication : Application() {
companion object {
lateinit var instance: TipTimeApplication

const val SHIPLY_DEFAULT_APPID = "537230561"
const val SHIPLY_DEFAULT_SDK_VERSION = "1.3.36-RC01"

const val EARLIEST_ACCESSIBILITY_VERSION = false
}

override fun onCreate() {
// Android 12+ 动态颜色
DynamicColors.applyToActivitiesIfAvailable(this)
instance = this
super.onCreate()
}
/*
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

import android.app.Application
import com.google.android.material.color.DynamicColors

class QVTApplication : Application() {
companion object {
lateinit var instance: com.xiaoniu.qqversionlist.QVTApplication

const val SHIPLY_DEFAULT_APPID = "537230561"
const val SHIPLY_DEFAULT_SDK_VERSION = "1.3.36-RC01"

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 = false
}

override fun onCreate() {
// Android 12+ 动态颜色
DynamicColors.applyToActivitiesIfAvailable(this)
instance = this
super.onCreate()
}
}
16 changes: 14 additions & 2 deletions app/src/main/java/com/xiaoniu/qqversionlist/data/QQVersionBean.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,18 @@ package com.xiaoniu.qqversionlist.data

import kotlinx.serialization.Serializable


/**
* @param versions QQ 版本代码
* @param versionNumber QQ 版本号
* @param size QQ 版本额定大小
* @param featureTitle QQ 版本特性标题
* @param imgs QQ 应用宣传图片列表
* @param summary QQ 版本特性描述列表
* @param jsonString 该 QQ 版本 JSON 字符串详情
* @param displayType 卡片展示类型,0 为收起态,1 为展开态
* @param displayInstall 展示是否安装到本机的标签
* @param isQQNTFramework 该版本是否基于 QQNT 技术架构
*/
@Serializable
data class QQVersionBean(
val versions: String,
Expand All @@ -33,5 +44,6 @@ data class QQVersionBean(
var jsonString: String = "",
var displayType: Int = 0, // 0为收起
var displayInstall: Boolean = false, // false 为不展示
var isAccessibility: Boolean = false
var isAccessibility: Boolean = false,
var isQQNTFramework: Boolean = false
)
45 changes: 45 additions & 0 deletions app/src/main/java/com/xiaoniu/qqversionlist/data/TIMVersionBean.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
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.data

import kotlinx.serialization.Serializable

/**
* @param version TIM 版本号
* @param datetime TIM 版本发布日期
* @param fix TIM 版本特性描述
* @param new 未知,目前获取到的 `new` 全是空
* @param jsonString 该 TIM 版本 JSON 字符串详情
* @param displayType 卡片展示类型,0 为收起态,1 为展开态
* @param displayInstall 展示是否安装到本机的标签
* @param isQQNTFramework 该版本是否基于 QQNT 技术架构
*/
@Serializable
data class TIMVersionBean(
val version: String,
val datetime: String,
val fix: String,
val new: String,

var jsonString: String = "",
var displayType: Int = 0, // 0为收起
var displayInstall: Boolean = false, // false 为不展示
var isAccessibility: Boolean = false,
var isQQNTFramework: Boolean = false
)
Loading

0 comments on commit 4a2bb3e

Please sign in to comment.