├── .github
├── ISSUE_TEMPLATE
│ ├── bug.yml
│ └── fr.yml
└── workflows
│ └── build.yml
├── .gitignore
├── CMakeLists.txt
├── HISTORY.md
├── Makefile
├── README.md
├── app
├── .gitignore
├── CMakeLists.txt
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── cpp
│ ├── arm64-v8a
│ │ ├── libcrypto.a
│ │ ├── libcrypto.so
│ │ ├── libnative.so
│ │ ├── libssl.a
│ │ └── libssl.so
│ ├── armeabi-v7a
│ │ ├── libcrypto.a
│ │ ├── libcrypto.so
│ │ ├── libnative.so
│ │ ├── libssl.a
│ │ └── libssl.so
│ ├── include
│ │ └── openssl
│ │ │ ├── aes.h
│ │ │ ├── asn1.h
│ │ │ ├── asn1_mac.h
│ │ │ ├── asn1err.h
│ │ │ ├── asn1t.h
│ │ │ ├── async.h
│ │ │ ├── asyncerr.h
│ │ │ ├── bio.h
│ │ │ ├── bioerr.h
│ │ │ ├── blowfish.h
│ │ │ ├── bn.h
│ │ │ ├── bnerr.h
│ │ │ ├── buffer.h
│ │ │ ├── buffererr.h
│ │ │ ├── camellia.h
│ │ │ ├── cast.h
│ │ │ ├── cmac.h
│ │ │ ├── cmp.h
│ │ │ ├── cmp_util.h
│ │ │ ├── cmperr.h
│ │ │ ├── cms.h
│ │ │ ├── cmserr.h
│ │ │ ├── comp.h
│ │ │ ├── comperr.h
│ │ │ ├── conf.h
│ │ │ ├── conf_api.h
│ │ │ ├── conferr.h
│ │ │ ├── configuration.h
│ │ │ ├── conftypes.h
│ │ │ ├── core.h
│ │ │ ├── core_dispatch.h
│ │ │ ├── core_names.h
│ │ │ ├── core_object.h
│ │ │ ├── crmf.h
│ │ │ ├── crmferr.h
│ │ │ ├── crypto.h
│ │ │ ├── cryptoerr.h
│ │ │ ├── cryptoerr_legacy.h
│ │ │ ├── ct.h
│ │ │ ├── cterr.h
│ │ │ ├── decoder.h
│ │ │ ├── decodererr.h
│ │ │ ├── des.h
│ │ │ ├── dh.h
│ │ │ ├── dherr.h
│ │ │ ├── dsa.h
│ │ │ ├── dsaerr.h
│ │ │ ├── dtls1.h
│ │ │ ├── e_os2.h
│ │ │ ├── e_ostime.h
│ │ │ ├── ebcdic.h
│ │ │ ├── ec.h
│ │ │ ├── ecdh.h
│ │ │ ├── ecdsa.h
│ │ │ ├── ecerr.h
│ │ │ ├── encoder.h
│ │ │ ├── encodererr.h
│ │ │ ├── engine.h
│ │ │ ├── engineerr.h
│ │ │ ├── err.h
│ │ │ ├── ess.h
│ │ │ ├── esserr.h
│ │ │ ├── evp.h
│ │ │ ├── evperr.h
│ │ │ ├── fips_names.h
│ │ │ ├── fipskey.h
│ │ │ ├── hmac.h
│ │ │ ├── hpke.h
│ │ │ ├── http.h
│ │ │ ├── httperr.h
│ │ │ ├── idea.h
│ │ │ ├── kdf.h
│ │ │ ├── kdferr.h
│ │ │ ├── lhash.h
│ │ │ ├── macros.h
│ │ │ ├── md2.h
│ │ │ ├── md4.h
│ │ │ ├── md5.h
│ │ │ ├── mdc2.h
│ │ │ ├── modes.h
│ │ │ ├── obj_mac.h
│ │ │ ├── objects.h
│ │ │ ├── objectserr.h
│ │ │ ├── ocsp.h
│ │ │ ├── ocsperr.h
│ │ │ ├── opensslconf.h
│ │ │ ├── opensslv.h
│ │ │ ├── ossl_typ.h
│ │ │ ├── param_build.h
│ │ │ ├── params.h
│ │ │ ├── pem.h
│ │ │ ├── pem2.h
│ │ │ ├── pemerr.h
│ │ │ ├── pkcs12.h
│ │ │ ├── pkcs12err.h
│ │ │ ├── pkcs7.h
│ │ │ ├── pkcs7err.h
│ │ │ ├── prov_ssl.h
│ │ │ ├── proverr.h
│ │ │ ├── provider.h
│ │ │ ├── quic.h
│ │ │ ├── rand.h
│ │ │ ├── randerr.h
│ │ │ ├── rc2.h
│ │ │ ├── rc4.h
│ │ │ ├── rc5.h
│ │ │ ├── ripemd.h
│ │ │ ├── rsa.h
│ │ │ ├── rsaerr.h
│ │ │ ├── safestack.h
│ │ │ ├── seed.h
│ │ │ ├── self_test.h
│ │ │ ├── sha.h
│ │ │ ├── srp.h
│ │ │ ├── srtp.h
│ │ │ ├── ssl.h
│ │ │ ├── ssl2.h
│ │ │ ├── ssl3.h
│ │ │ ├── sslerr.h
│ │ │ ├── sslerr_legacy.h
│ │ │ ├── stack.h
│ │ │ ├── store.h
│ │ │ ├── storeerr.h
│ │ │ ├── symhacks.h
│ │ │ ├── thread.h
│ │ │ ├── tls1.h
│ │ │ ├── trace.h
│ │ │ ├── ts.h
│ │ │ ├── tserr.h
│ │ │ ├── txt_db.h
│ │ │ ├── types.h
│ │ │ ├── ui.h
│ │ │ ├── uierr.h
│ │ │ ├── whrlpool.h
│ │ │ ├── x509.h
│ │ │ ├── x509_vfy.h
│ │ │ ├── x509err.h
│ │ │ ├── x509v3.h
│ │ │ └── x509v3err.h
│ └── nothing.c
│ ├── java
│ └── com
│ │ ├── lizongying
│ │ └── mytv
│ │ │ ├── BootReceiver.kt
│ │ │ ├── CardPresenter.kt
│ │ │ ├── ChannelFragment.kt
│ │ │ ├── ConfirmationFragment.kt
│ │ │ ├── Encryptor.kt
│ │ │ ├── ErrorFragment.kt
│ │ │ ├── Ext.kt
│ │ │ ├── InfoFragment.kt
│ │ │ ├── InitializerProvider.kt
│ │ │ ├── MainActivity.kt
│ │ │ ├── MainFragment.kt
│ │ │ ├── MyApplication.kt
│ │ │ ├── NetworkChangeReceiver.kt
│ │ │ ├── PlayerFragment.kt
│ │ │ ├── Request.kt
│ │ │ ├── SP.kt
│ │ │ ├── SettingFragment.kt
│ │ │ ├── TV.kt
│ │ │ ├── TVList.kt
│ │ │ ├── TimeFragment.kt
│ │ │ ├── UpdateManager.kt
│ │ │ ├── Utils.kt
│ │ │ ├── api
│ │ │ ├── ApiClient.kt
│ │ │ ├── Auth.kt
│ │ │ ├── DnsCache.kt
│ │ │ ├── FAuth.kt
│ │ │ ├── FAuthService.kt
│ │ │ ├── FEPG.kt
│ │ │ ├── Info.kt
│ │ │ ├── KvcollectRequest.kt
│ │ │ ├── LiveInfo.kt
│ │ │ ├── ReleaseService.kt
│ │ │ ├── Tls12SocketFactory.kt
│ │ │ ├── YSP.kt
│ │ │ ├── YSPApiService.kt
│ │ │ ├── YSPBtraceService.kt
│ │ │ ├── YSPJceService.kt
│ │ │ ├── YSPProtoService.kt
│ │ │ └── YSPTokenService.kt
│ │ │ ├── jce
│ │ │ ├── CompressUtils.java
│ │ │ ├── JceConverterFactory.java
│ │ │ ├── JceRequestBodyConverter.java
│ │ │ ├── JceResponseBodyConverter.java
│ │ │ ├── a.java
│ │ │ └── b.java
│ │ │ ├── models
│ │ │ ├── EPG.kt
│ │ │ ├── ProgramType.kt
│ │ │ ├── TVListViewModel.kt
│ │ │ └── TVViewModel.kt
│ │ │ ├── proto
│ │ │ ├── Ysp.java
│ │ │ ├── YspKt.kt
│ │ │ └── cnKt.kt
│ │ │ └── requests
│ │ │ └── MyRequest.kt
│ │ ├── qq
│ │ └── taf
│ │ │ └── jce
│ │ │ ├── HexUtil.java
│ │ │ ├── JceDecodeException.java
│ │ │ ├── JceEncodeException.java
│ │ │ ├── JceInputStream.java
│ │ │ ├── JceOutputStream.java
│ │ │ ├── JceStruct.java
│ │ │ └── OnIllegalArgumentException.java
│ │ └── tencent
│ │ └── videolite
│ │ └── android
│ │ └── datamodel
│ │ └── cctvjce
│ │ ├── Action.java
│ │ ├── BucketConfig.java
│ │ ├── BusinessExtent.java
│ │ ├── BusinessHead.java
│ │ ├── Coordinates.java
│ │ ├── ExtentAccount.java
│ │ ├── ExtentData.java
│ │ ├── LogReport.java
│ │ ├── LoginToken.java
│ │ ├── QQVideoJCECmd.java
│ │ ├── QUA.java
│ │ ├── RequestCommand.java
│ │ ├── RequestHead.java
│ │ ├── ResponseCommand.java
│ │ ├── ResponseHead.java
│ │ ├── SafeInfo.java
│ │ ├── TVProgram.java
│ │ ├── TVTimeShiftProgramRequest.java
│ │ ├── TVTimeShiftProgramResponse.java
│ │ └── TextInnerLayoutInfo.java
│ └── res
│ ├── drawable
│ ├── appreciate.jpg
│ ├── banner.png
│ ├── bingtuan.png
│ ├── cctv8k.png
│ ├── cetv1.png
│ ├── chongqing.png
│ ├── logo.png
│ ├── rounded_background.xml
│ ├── rounded_background2.xml
│ ├── tianjin.png
│ └── xinjiang.png
│ ├── layout
│ ├── activity_main.xml
│ ├── channel.xml
│ ├── info.xml
│ ├── player.xml
│ ├── setting.xml
│ └── time.xml
│ ├── mipmap-anydpi-v26
│ ├── ic_launcher.xml
│ └── ic_launcher_round.xml
│ ├── mipmap-hdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_foreground.webp
│ └── ic_launcher_round.webp
│ ├── mipmap-mdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_foreground.webp
│ └── ic_launcher_round.webp
│ ├── mipmap-xhdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_foreground.webp
│ └── ic_launcher_round.webp
│ ├── mipmap-xxhdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_foreground.webp
│ └── ic_launcher_round.webp
│ ├── mipmap-xxxhdpi
│ ├── ic_launcher.webp
│ ├── ic_launcher_foreground.webp
│ └── ic_launcher_round.webp
│ ├── values
│ ├── attrs.xml
│ ├── colors.xml
│ ├── ids.xml
│ ├── strings.xml
│ ├── styles.xml
│ └── themes.xml
│ └── xml
│ └── network.xml
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── history.sh
├── screenshots
├── appreciate.jpeg
├── control.jpg
├── img_1.png
├── img_2.png
├── img_3.png
└── zfb.jpg
├── settings.gradle
└── version.json
/.github/ISSUE_TEMPLATE/bug.yml:
--------------------------------------------------------------------------------
1 | name: Bug 反馈
2 | description: 反馈一个 Bug
3 | labels: [ "bug" ]
4 | title: "[BUG] "
5 | body:
6 | - type: checkboxes
7 | id: checklist
8 | attributes:
9 | label: 检查清单
10 | description: 确保我们的错误报告表单适合您。
11 | options:
12 | - label: 之前没有人提交过类似或相同的 bug report。
13 | required: true
14 | - label: 我正在使用本软件的最新版本。
15 | required: true
16 | - type: dropdown
17 | id: version
18 | attributes:
19 | label: my-ty 版本
20 | description: 请选择正在使用的版本
21 | options:
22 | - 通用版
23 | - 专用版
24 | validations:
25 | required: true
26 | - type: textarea
27 | id: bug
28 | attributes:
29 | label: Bug 描述
30 | description: 请描述 bug 详情
31 | placeholder: |
32 | e.g. Crashed when generating snapshot.
33 | validations:
34 | required: true
35 | - type: textarea
36 | id: expected
37 | attributes:
38 | label: 预期行为
39 | description: 你预期会发生什么?
40 | placeholder: |
41 | e.g. A New snapshot!
42 | validations:
43 | required: true
44 | - type: textarea
45 | id: actual
46 | attributes:
47 | label: 实际行为
48 | description: 反而发生了什么?
49 | placeholder: |
50 | e.g. Crashed.
51 | validations:
52 | required: true
53 | - type: textarea
54 | id: steps
55 | attributes:
56 | label: 复现步骤
57 | description: 如何复现这个 bug。
58 | placeholder: |
59 | 1. Open the app
60 | 2. Crashed
61 |
62 | What an app.
63 | - type: input
64 | id: ui
65 | attributes:
66 | label: UI / OS
67 | description: 你的电视系统 UI 或 OS 或 品牌
68 | placeholder: TCL / XIAOMI / PHONE / etc.
69 | validations:
70 | required: true
71 | - type: input
72 | id: android
73 | attributes:
74 | label: Android 版本
75 | description: 你的 Android 版本
76 | placeholder: "12"
77 | validations:
78 | required: true
79 | - type: textarea
80 | id: additional
81 | attributes:
82 | label: 额外信息
83 | description: 任何你觉得值得说的。
84 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/fr.yml:
--------------------------------------------------------------------------------
1 | name: 功能(新频道)请求
2 | description: 提出一个建议
3 | labels: [ "enhancement" ]
4 | title: "[FR] "
5 | body:
6 | - type: checkboxes
7 | id: checklist
8 | attributes:
9 | label: 检查清单
10 | description: 确保我们的错误报告表单适合您。
11 | options:
12 | - label: 之前没有人提交过类似或相同的功能请求。
13 | required: true
14 | - label: 这个建议不会背离 my-tv 的初衷。
15 | required: true
16 | - type: textarea
17 | id: propose
18 | attributes:
19 | label: 改进目的
20 | description: 改进有什么用
21 | placeholder: |
22 | Show your idea here.
23 | validations:
24 | required: true
25 | - type: textarea
26 | id: solution
27 | attributes:
28 | label: 解决方案
29 | description: 你会怎么完成这个改进?
30 | placeholder: |
31 | How to do it on your opinion? Or left this blank
32 | - type: textarea
33 | id: addition
34 | attributes:
35 | label: 额外信息
36 | description: 任何你觉得值得说的。
37 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: build
2 |
3 | on:
4 | push:
5 | tags:
6 | - 'v*'
7 |
8 | permissions:
9 | contents: write
10 |
11 | jobs:
12 | build:
13 | runs-on: ubuntu-latest
14 | steps:
15 | - name: Checkout code
16 | uses: actions/checkout@v4
17 |
18 | - name: set up JDK 17
19 | uses: actions/setup-java@v4
20 | with:
21 | java-version: '17'
22 | distribution: 'temurin'
23 |
24 | - name: Run build with Gradle wrapper
25 | run: ./gradlew assembleRelease -PIS_SO_BUILD=false
26 |
27 | - name: Sign app APK
28 | id: sign_app
29 | uses: r0adkll/sign-android-release@v1
30 | with:
31 | releaseDirectory: app/build/outputs/apk/release
32 | alias: ${{ secrets.ALIAS }}
33 | signingKeyBase64: ${{ secrets.KEYSTORE }}
34 | keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
35 | keyPassword: ${{ secrets.ALIAS_PASSWORD }}
36 | env:
37 | # override default build-tools version (29.0.3) -- optional
38 | BUILD_TOOLS_VERSION: "34.0.0"
39 |
40 | - name: Get History
41 | id: get_history
42 | run: |
43 | chmod +x history.sh
44 | output=$(./history.sh)
45 | echo "$output" > history.md
46 |
47 | - name: Create Release
48 | id: create_release
49 | uses: actions/create-release@v1
50 | env:
51 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52 | with:
53 | tag_name: ${{ github.ref }}
54 | release_name: Release ${{ github.ref }}
55 | draft: false
56 | prerelease: false
57 | body_path: history.md
58 |
59 | - name: Upload Release Asset
60 | uses: actions/upload-release-asset@v1
61 | env:
62 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
63 | with:
64 | upload_url: ${{ steps.create_release.outputs.upload_url }}
65 | asset_path: ${{ steps.sign_app.outputs.signedReleaseFile }}
66 | asset_name: my-tv-${{ github.ref_name }}.apk
67 | asset_content_type: application/vnd.android.package-archive
68 |
69 | - name: Gitee Create Release
70 | run: |
71 | latest_commit=$(git rev-parse HEAD)
72 | history=$(cat history.md)
73 | curl -v POST https://gitee.com/api/v5/repos/${{ github.repository }}/releases \
74 | -H "Content-Type: application/json" \
75 | -d '{
76 | "access_token": "${{ secrets.GITEE_ACCESS_TOKEN}}",
77 | "tag_name": "${{ github.ref_name }}",
78 | "name": "Release ${{ github.ref_name }}",
79 | "body": "'"$history"'",
80 | "prerelease": false,
81 | "target_commitish": "'"$latest_commit"'"
82 | }'
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | .idea
4 | /local.properties
5 | /.idea/caches
6 | /.idea/libraries
7 | /.idea/modules.xml
8 | /.idea/workspace.xml
9 | /.idea/navEditor.xml
10 | /.idea/assetWizardSettings.xml
11 | .DS_Store
12 | /build
13 | /captures
14 | .externalNativeBuild
15 | .cxx
16 | local.properties
17 | /path/
18 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Sets the minimum version of CMake required to build your native library.
2 | # This ensures that a certain set of CMake features is available to
3 | # your build.
4 |
5 | cmake_minimum_required(VERSION 3.21.1)
6 |
7 | add_subdirectory(app)
8 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | .PHONY: all
2 |
3 | all: info gen-version
4 |
5 | branch := $(shell git rev-parse --abbrev-ref HEAD)
6 | commit := $(shell git rev-parse --short HEAD)
7 |
8 | info:
9 | @echo 'SHELL='$(SHELL)
10 | @echo 'branch='$(branch)
11 | @echo 'commit='$(commit)
12 |
13 | gen-version:
14 | git describe --tags --always
15 | git describe --tags --always | sed 's/v/ /g' | sed 's/\./ /g' | sed 's/-/ /g' | awk '{print ($$1*16777216)+($$2*65536)+($$3*256)+$$4}'
16 |
17 | #make gen v=v2.0.0
18 | gen:
19 | echo $(v) | sed 's/v/ /g' | sed 's/\./ /g' | sed 's/-/ /g' | awk '{print "{\"version_code\": " ($$1*16777216)+($$2*65536)+($$3*256)+$$4 ", \"version_name\": \"" "v$(v)" "\"}"}' > version.json
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 我的电视
2 |
3 | 电视直播软件,安装即可使用
4 |
5 | ## 使用
6 |
7 | 1. 下载
8 | * [github](https://github.com/lizongying/my-tv/releases/)
9 | * [gitee](https://gitee.com/lizongying/my-tv/releases/)
10 | 2. 安裝
11 | * U盘安装
12 | * 小米电视可以使用小米电视助手进行安装
13 | * 如电视可以启用ADB,也可以通过ADB进行安装
14 | ```shell
15 | adb install my-tv.apk
16 | ```
17 |
18 | 
19 | 
20 | 
21 |
22 | ## 更新日志
23 |
24 | [更新日志](./HISTORY.md)
25 |
26 | ## TODO
27 |
28 | * 音量不同
29 | * 大湾区卫视、广东4k超高清、广东珠江、三沙卫视
30 | * CHC高清三个电影频道
31 | * 地方频道
32 | * 收藏夹
33 | * 海外
34 | * 隐藏频道
35 | * 亮度调节
36 | * 音量调节
37 | * 軟解
38 | * 自動更新
39 |
40 | 無法自啟的設備:
41 | 斐讯N1盒子,[Phicomm] Phicomm p230 (Android 7.1.2)
42 |
43 | 閃退:
44 | 中国移动盒子(新魔百和M302A) 4.4.2
45 |
46 | ## 版权说明
47 |
48 | [LICENSE](./LICENSE)
49 |
50 | 本项目仅供学习研究,禁止用于商业用途,请于下载二十四小时内删除。
51 |
52 | 本项目可能随时终止,请大家谨慎使用,建议使用官方渠道进行观看。
53 |
54 | 本项目使用的部分代码、图片、文字等资源来源于网络,如有侵权,请联系删除。
55 |
56 | ## 赞赏
57 |
58 | 
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | /release
3 | /cmake_install.cmake
4 | /CMakeFiles/
5 | /Makefile
6 | /src/main/cpp/native.c
7 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
44 |
45 |
46 |
47 |
48 |
49 |
52 |
53 |
54 |
55 |
56 |
57 |
61 |
62 |
--------------------------------------------------------------------------------
/app/src/main/cpp/arm64-v8a/libcrypto.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/arm64-v8a/libcrypto.a
--------------------------------------------------------------------------------
/app/src/main/cpp/arm64-v8a/libcrypto.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/arm64-v8a/libcrypto.so
--------------------------------------------------------------------------------
/app/src/main/cpp/arm64-v8a/libnative.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/arm64-v8a/libnative.so
--------------------------------------------------------------------------------
/app/src/main/cpp/arm64-v8a/libssl.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/arm64-v8a/libssl.a
--------------------------------------------------------------------------------
/app/src/main/cpp/arm64-v8a/libssl.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/arm64-v8a/libssl.so
--------------------------------------------------------------------------------
/app/src/main/cpp/armeabi-v7a/libcrypto.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/armeabi-v7a/libcrypto.a
--------------------------------------------------------------------------------
/app/src/main/cpp/armeabi-v7a/libcrypto.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/armeabi-v7a/libcrypto.so
--------------------------------------------------------------------------------
/app/src/main/cpp/armeabi-v7a/libnative.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/armeabi-v7a/libnative.so
--------------------------------------------------------------------------------
/app/src/main/cpp/armeabi-v7a/libssl.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/armeabi-v7a/libssl.a
--------------------------------------------------------------------------------
/app/src/main/cpp/armeabi-v7a/libssl.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/armeabi-v7a/libssl.so
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/asn1_mac.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #error "This file is obsolete; please update your software."
11 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/asyncerr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_ASYNCERR_H
12 | # define OPENSSL_ASYNCERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * ASYNC reason codes.
23 | */
24 | # define ASYNC_R_FAILED_TO_SET_POOL 101
25 | # define ASYNC_R_FAILED_TO_SWAP_CONTEXT 102
26 | # define ASYNC_R_INIT_FAILED 105
27 | # define ASYNC_R_INVALID_POOL_SIZE 103
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/blowfish.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_BLOWFISH_H
11 | # define OPENSSL_BLOWFISH_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_BLOWFISH_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_BF
22 | # include
23 | # ifdef __cplusplus
24 | extern "C" {
25 | # endif
26 |
27 | # define BF_BLOCK 8
28 |
29 | # ifndef OPENSSL_NO_DEPRECATED_3_0
30 |
31 | # define BF_ENCRYPT 1
32 | # define BF_DECRYPT 0
33 |
34 | /*-
35 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
36 | * ! BF_LONG has to be at least 32 bits wide. !
37 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
38 | */
39 | # define BF_LONG unsigned int
40 |
41 | # define BF_ROUNDS 16
42 |
43 | typedef struct bf_key_st {
44 | BF_LONG P[BF_ROUNDS + 2];
45 | BF_LONG S[4 * 256];
46 | } BF_KEY;
47 |
48 | # endif /* OPENSSL_NO_DEPRECATED_3_0 */
49 | # ifndef OPENSSL_NO_DEPRECATED_3_0
50 | OSSL_DEPRECATEDIN_3_0 void BF_set_key(BF_KEY *key, int len,
51 | const unsigned char *data);
52 | OSSL_DEPRECATEDIN_3_0 void BF_encrypt(BF_LONG *data, const BF_KEY *key);
53 | OSSL_DEPRECATEDIN_3_0 void BF_decrypt(BF_LONG *data, const BF_KEY *key);
54 | OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,
55 | unsigned char *out, const BF_KEY *key,
56 | int enc);
57 | OSSL_DEPRECATEDIN_3_0 void BF_cbc_encrypt(const unsigned char *in,
58 | unsigned char *out, long length,
59 | const BF_KEY *schedule,
60 | unsigned char *ivec, int enc);
61 | OSSL_DEPRECATEDIN_3_0 void BF_cfb64_encrypt(const unsigned char *in,
62 | unsigned char *out,
63 | long length, const BF_KEY *schedule,
64 | unsigned char *ivec, int *num,
65 | int enc);
66 | OSSL_DEPRECATEDIN_3_0 void BF_ofb64_encrypt(const unsigned char *in,
67 | unsigned char *out,
68 | long length, const BF_KEY *schedule,
69 | unsigned char *ivec, int *num);
70 | OSSL_DEPRECATEDIN_3_0 const char *BF_options(void);
71 | # endif
72 |
73 | # ifdef __cplusplus
74 | }
75 | # endif
76 | # endif
77 |
78 | #endif
79 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/bnerr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_BNERR_H
12 | # define OPENSSL_BNERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * BN reason codes.
23 | */
24 | # define BN_R_ARG2_LT_ARG3 100
25 | # define BN_R_BAD_RECIPROCAL 101
26 | # define BN_R_BIGNUM_TOO_LONG 114
27 | # define BN_R_BITS_TOO_SMALL 118
28 | # define BN_R_CALLED_WITH_EVEN_MODULUS 102
29 | # define BN_R_DIV_BY_ZERO 103
30 | # define BN_R_ENCODING_ERROR 104
31 | # define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105
32 | # define BN_R_INPUT_NOT_REDUCED 110
33 | # define BN_R_INVALID_LENGTH 106
34 | # define BN_R_INVALID_RANGE 115
35 | # define BN_R_INVALID_SHIFT 119
36 | # define BN_R_NOT_A_SQUARE 111
37 | # define BN_R_NOT_INITIALIZED 107
38 | # define BN_R_NO_INVERSE 108
39 | # define BN_R_NO_PRIME_CANDIDATE 121
40 | # define BN_R_NO_SOLUTION 116
41 | # define BN_R_NO_SUITABLE_DIGEST 120
42 | # define BN_R_PRIVATE_KEY_TOO_LARGE 117
43 | # define BN_R_P_IS_NOT_PRIME 112
44 | # define BN_R_TOO_MANY_ITERATIONS 113
45 | # define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109
46 |
47 | #endif
48 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/buffer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_BUFFER_H
11 | # define OPENSSL_BUFFER_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_BUFFER_H
17 | # endif
18 |
19 | # include
20 | # ifndef OPENSSL_CRYPTO_H
21 | # include
22 | # endif
23 | # include
24 |
25 |
26 | #ifdef __cplusplus
27 | extern "C" {
28 | #endif
29 |
30 | # include
31 | # include
32 |
33 | # ifndef OPENSSL_NO_DEPRECATED_3_0
34 | # define BUF_strdup(s) OPENSSL_strdup(s)
35 | # define BUF_strndup(s, size) OPENSSL_strndup(s, size)
36 | # define BUF_memdup(data, size) OPENSSL_memdup(data, size)
37 | # define BUF_strlcpy(dst, src, size) OPENSSL_strlcpy(dst, src, size)
38 | # define BUF_strlcat(dst, src, size) OPENSSL_strlcat(dst, src, size)
39 | # define BUF_strnlen(str, maxlen) OPENSSL_strnlen(str, maxlen)
40 | # endif
41 |
42 | struct buf_mem_st {
43 | size_t length; /* current number of bytes */
44 | char *data;
45 | size_t max; /* size of buffer */
46 | unsigned long flags;
47 | };
48 |
49 | # define BUF_MEM_FLAG_SECURE 0x01
50 |
51 | BUF_MEM *BUF_MEM_new(void);
52 | BUF_MEM *BUF_MEM_new_ex(unsigned long flags);
53 | void BUF_MEM_free(BUF_MEM *a);
54 | size_t BUF_MEM_grow(BUF_MEM *str, size_t len);
55 | size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len);
56 | void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz);
57 |
58 |
59 | # ifdef __cplusplus
60 | }
61 | # endif
62 | #endif
63 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/buffererr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_BUFFERERR_H
12 | # define OPENSSL_BUFFERERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * BUF reason codes.
23 | */
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/cast.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_CAST_H
11 | # define OPENSSL_CAST_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_CAST_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_CAST
22 | # ifdef __cplusplus
23 | extern "C" {
24 | # endif
25 |
26 | # define CAST_BLOCK 8
27 | # define CAST_KEY_LENGTH 16
28 |
29 | # ifndef OPENSSL_NO_DEPRECATED_3_0
30 |
31 | # define CAST_ENCRYPT 1
32 | # define CAST_DECRYPT 0
33 |
34 | # define CAST_LONG unsigned int
35 |
36 | typedef struct cast_key_st {
37 | CAST_LONG data[32];
38 | int short_key; /* Use reduced rounds for short key */
39 | } CAST_KEY;
40 |
41 | # endif /* OPENSSL_NO_DEPRECATED_3_0 */
42 | # ifndef OPENSSL_NO_DEPRECATED_3_0
43 | OSSL_DEPRECATEDIN_3_0
44 | void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data);
45 | OSSL_DEPRECATEDIN_3_0
46 | void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out,
47 | const CAST_KEY *key, int enc);
48 | OSSL_DEPRECATEDIN_3_0
49 | void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key);
50 | OSSL_DEPRECATEDIN_3_0
51 | void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key);
52 | OSSL_DEPRECATEDIN_3_0
53 | void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out,
54 | long length, const CAST_KEY *ks, unsigned char *iv,
55 | int enc);
56 | OSSL_DEPRECATEDIN_3_0
57 | void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out,
58 | long length, const CAST_KEY *schedule,
59 | unsigned char *ivec, int *num, int enc);
60 | OSSL_DEPRECATEDIN_3_0
61 | void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out,
62 | long length, const CAST_KEY *schedule,
63 | unsigned char *ivec, int *num);
64 | # endif
65 |
66 | # ifdef __cplusplus
67 | }
68 | # endif
69 | # endif
70 |
71 | #endif
72 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/cmac.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2010-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_CMAC_H
11 | # define OPENSSL_CMAC_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_CMAC_H
17 | # endif
18 |
19 | # ifndef OPENSSL_NO_CMAC
20 |
21 | # ifdef __cplusplus
22 | extern "C" {
23 | # endif
24 |
25 | # include
26 |
27 | # ifndef OPENSSL_NO_DEPRECATED_3_0
28 | /* Opaque */
29 | typedef struct CMAC_CTX_st CMAC_CTX;
30 | # endif
31 | # ifndef OPENSSL_NO_DEPRECATED_3_0
32 | OSSL_DEPRECATEDIN_3_0 CMAC_CTX *CMAC_CTX_new(void);
33 | OSSL_DEPRECATEDIN_3_0 void CMAC_CTX_cleanup(CMAC_CTX *ctx);
34 | OSSL_DEPRECATEDIN_3_0 void CMAC_CTX_free(CMAC_CTX *ctx);
35 | OSSL_DEPRECATEDIN_3_0 EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx);
36 | OSSL_DEPRECATEDIN_3_0 int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in);
37 | OSSL_DEPRECATEDIN_3_0 int CMAC_Init(CMAC_CTX *ctx,
38 | const void *key, size_t keylen,
39 | const EVP_CIPHER *cipher, ENGINE *impl);
40 | OSSL_DEPRECATEDIN_3_0 int CMAC_Update(CMAC_CTX *ctx,
41 | const void *data, size_t dlen);
42 | OSSL_DEPRECATEDIN_3_0 int CMAC_Final(CMAC_CTX *ctx,
43 | unsigned char *out, size_t *poutlen);
44 | OSSL_DEPRECATEDIN_3_0 int CMAC_resume(CMAC_CTX *ctx);
45 | # endif
46 |
47 | # ifdef __cplusplus
48 | }
49 | # endif
50 |
51 | # endif
52 | #endif
53 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/cmp_util.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | * Copyright Nokia 2007-2019
4 | * Copyright Siemens AG 2015-2019
5 | *
6 | * Licensed under the Apache License 2.0 (the "License"). You may not use
7 | * this file except in compliance with the License. You can obtain a copy
8 | * in the file LICENSE in the source distribution or at
9 | * https://www.openssl.org/source/license.html
10 | */
11 |
12 | #ifndef OPENSSL_CMP_UTIL_H
13 | # define OPENSSL_CMP_UTIL_H
14 | # pragma once
15 |
16 | # include
17 | # ifndef OPENSSL_NO_CMP
18 |
19 | # include
20 | # include
21 |
22 | # ifdef __cplusplus
23 | extern "C" {
24 | # endif
25 |
26 | int OSSL_CMP_log_open(void);
27 | void OSSL_CMP_log_close(void);
28 | # define OSSL_CMP_LOG_PREFIX "CMP "
29 |
30 | /*
31 | * generalized logging/error callback mirroring the severity levels of syslog.h
32 | */
33 | typedef int OSSL_CMP_severity;
34 | # define OSSL_CMP_LOG_EMERG 0
35 | # define OSSL_CMP_LOG_ALERT 1
36 | # define OSSL_CMP_LOG_CRIT 2
37 | # define OSSL_CMP_LOG_ERR 3
38 | # define OSSL_CMP_LOG_WARNING 4
39 | # define OSSL_CMP_LOG_NOTICE 5
40 | # define OSSL_CMP_LOG_INFO 6
41 | # define OSSL_CMP_LOG_DEBUG 7
42 | # define OSSL_CMP_LOG_TRACE 8
43 | # define OSSL_CMP_LOG_MAX OSSL_CMP_LOG_TRACE
44 | typedef int (*OSSL_CMP_log_cb_t)(const char *func, const char *file, int line,
45 | OSSL_CMP_severity level, const char *msg);
46 |
47 | int OSSL_CMP_print_to_bio(BIO *bio, const char *component, const char *file,
48 | int line, OSSL_CMP_severity level, const char *msg);
49 | /* use of the logging callback for outputting error queue */
50 | void OSSL_CMP_print_errors_cb(OSSL_CMP_log_cb_t log_fn);
51 |
52 | # ifdef __cplusplus
53 | }
54 | # endif
55 | # endif /* !defined(OPENSSL_NO_CMP) */
56 | #endif /* !defined(OPENSSL_CMP_UTIL_H) */
57 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/comp.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_COMP_H
11 | # define OPENSSL_COMP_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_COMP_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_COMP
22 | # include
23 | # include
24 | # ifdef __cplusplus
25 | extern "C" {
26 | # endif
27 |
28 |
29 |
30 | COMP_CTX *COMP_CTX_new(COMP_METHOD *meth);
31 | const COMP_METHOD *COMP_CTX_get_method(const COMP_CTX *ctx);
32 | int COMP_CTX_get_type(const COMP_CTX* comp);
33 | int COMP_get_type(const COMP_METHOD *meth);
34 | const char *COMP_get_name(const COMP_METHOD *meth);
35 | void COMP_CTX_free(COMP_CTX *ctx);
36 |
37 | int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen,
38 | unsigned char *in, int ilen);
39 | int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen,
40 | unsigned char *in, int ilen);
41 |
42 | COMP_METHOD *COMP_zlib(void);
43 |
44 | #ifndef OPENSSL_NO_DEPRECATED_1_1_0
45 | # define COMP_zlib_cleanup() while(0) continue
46 | #endif
47 |
48 | # ifdef OPENSSL_BIO_H
49 | # ifdef ZLIB
50 | const BIO_METHOD *BIO_f_zlib(void);
51 | # endif
52 | # endif
53 |
54 |
55 | # ifdef __cplusplus
56 | }
57 | # endif
58 | # endif
59 | #endif
60 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/comperr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_COMPERR_H
12 | # define OPENSSL_COMPERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 | # ifndef OPENSSL_NO_COMP
21 |
22 |
23 | /*
24 | * COMP reason codes.
25 | */
26 | # define COMP_R_ZLIB_DEFLATE_ERROR 99
27 | # define COMP_R_ZLIB_INFLATE_ERROR 100
28 | # define COMP_R_ZLIB_NOT_SUPPORTED 101
29 |
30 | # endif
31 | #endif
32 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/conf_api.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_CONF_API_H
11 | # define OPENSSL_CONF_API_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_CONF_API_H
17 | # endif
18 |
19 | # include
20 | # include
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Up until OpenSSL 0.9.5a, this was new_section */
27 | CONF_VALUE *_CONF_new_section(CONF *conf, const char *section);
28 | /* Up until OpenSSL 0.9.5a, this was get_section */
29 | CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section);
30 | /* Up until OpenSSL 0.9.5a, this was CONF_get_section */
31 | STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf,
32 | const char *section);
33 |
34 | int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value);
35 | char *_CONF_get_string(const CONF *conf, const char *section,
36 | const char *name);
37 | long _CONF_get_number(const CONF *conf, const char *section,
38 | const char *name);
39 |
40 | int _CONF_new_data(CONF *conf);
41 | void _CONF_free_data(CONF *conf);
42 |
43 | #ifdef __cplusplus
44 | }
45 | #endif
46 | #endif
47 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/conferr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_CONFERR_H
12 | # define OPENSSL_CONFERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * CONF reason codes.
23 | */
24 | # define CONF_R_ERROR_LOADING_DSO 110
25 | # define CONF_R_INVALID_PRAGMA 122
26 | # define CONF_R_LIST_CANNOT_BE_NULL 115
27 | # define CONF_R_MANDATORY_BRACES_IN_VARIABLE_EXPANSION 123
28 | # define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100
29 | # define CONF_R_MISSING_EQUAL_SIGN 101
30 | # define CONF_R_MISSING_INIT_FUNCTION 112
31 | # define CONF_R_MODULE_INITIALIZATION_ERROR 109
32 | # define CONF_R_NO_CLOSE_BRACE 102
33 | # define CONF_R_NO_CONF 105
34 | # define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106
35 | # define CONF_R_NO_SECTION 107
36 | # define CONF_R_NO_SUCH_FILE 114
37 | # define CONF_R_NO_VALUE 108
38 | # define CONF_R_NUMBER_TOO_LARGE 121
39 | # define CONF_R_OPENSSL_CONF_REFERENCES_MISSING_SECTION 124
40 | # define CONF_R_RECURSIVE_DIRECTORY_INCLUDE 111
41 | # define CONF_R_RELATIVE_PATH 125
42 | # define CONF_R_SSL_COMMAND_SECTION_EMPTY 117
43 | # define CONF_R_SSL_COMMAND_SECTION_NOT_FOUND 118
44 | # define CONF_R_SSL_SECTION_EMPTY 119
45 | # define CONF_R_SSL_SECTION_NOT_FOUND 120
46 | # define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103
47 | # define CONF_R_UNKNOWN_MODULE_NAME 113
48 | # define CONF_R_VARIABLE_EXPANSION_TOO_LONG 116
49 | # define CONF_R_VARIABLE_HAS_NO_VALUE 104
50 |
51 | #endif
52 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/conftypes.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_CONFTYPES_H
11 | # define OPENSSL_CONFTYPES_H
12 | # pragma once
13 |
14 | #ifndef OPENSSL_CONF_H
15 | # include
16 | #endif
17 |
18 | /*
19 | * The contents of this file are deprecated and will be made opaque
20 | */
21 | struct conf_method_st {
22 | const char *name;
23 | CONF *(*create) (CONF_METHOD *meth);
24 | int (*init) (CONF *conf);
25 | int (*destroy) (CONF *conf);
26 | int (*destroy_data) (CONF *conf);
27 | int (*load_bio) (CONF *conf, BIO *bp, long *eline);
28 | int (*dump) (const CONF *conf, BIO *bp);
29 | int (*is_number) (const CONF *conf, char c);
30 | int (*to_int) (const CONF *conf, char c);
31 | int (*load) (CONF *conf, const char *name, long *eline);
32 | };
33 |
34 | struct conf_st {
35 | CONF_METHOD *meth;
36 | void *meth_data;
37 | LHASH_OF(CONF_VALUE) *data;
38 | int flag_dollarid;
39 | int flag_abspath;
40 | char *includedir;
41 | OSSL_LIB_CTX *libctx;
42 | };
43 |
44 | #endif
45 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/core_object.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_CORE_OBJECT_H
11 | # define OPENSSL_CORE_OBJECT_H
12 | # pragma once
13 |
14 | # ifdef __cplusplus
15 | extern "C" {
16 | # endif
17 |
18 | /*-
19 | * Known object types
20 | *
21 | * These numbers are used as values for the OSSL_PARAM parameter
22 | * OSSL_OBJECT_PARAM_TYPE.
23 | *
24 | * For most of these types, there's a corresponding libcrypto object type.
25 | * The corresponding type is indicated with a comment after the number.
26 | */
27 | # define OSSL_OBJECT_UNKNOWN 0
28 | # define OSSL_OBJECT_NAME 1 /* char * */
29 | # define OSSL_OBJECT_PKEY 2 /* EVP_PKEY * */
30 | # define OSSL_OBJECT_CERT 3 /* X509 * */
31 | # define OSSL_OBJECT_CRL 4 /* X509_CRL * */
32 |
33 | /*
34 | * The rest of the associated OSSL_PARAM elements is described in core_names.h
35 | */
36 |
37 | # ifdef __cplusplus
38 | }
39 | # endif
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/crmferr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_CRMFERR_H
12 | # define OPENSSL_CRMFERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 | # ifndef OPENSSL_NO_CRMF
21 |
22 |
23 | /*
24 | * CRMF reason codes.
25 | */
26 | # define CRMF_R_BAD_PBM_ITERATIONCOUNT 100
27 | # define CRMF_R_CRMFERROR 102
28 | # define CRMF_R_ERROR 103
29 | # define CRMF_R_ERROR_DECODING_CERTIFICATE 104
30 | # define CRMF_R_ERROR_DECRYPTING_CERTIFICATE 105
31 | # define CRMF_R_ERROR_DECRYPTING_SYMMETRIC_KEY 106
32 | # define CRMF_R_FAILURE_OBTAINING_RANDOM 107
33 | # define CRMF_R_ITERATIONCOUNT_BELOW_100 108
34 | # define CRMF_R_MALFORMED_IV 101
35 | # define CRMF_R_NULL_ARGUMENT 109
36 | # define CRMF_R_POPOSKINPUT_NOT_SUPPORTED 113
37 | # define CRMF_R_POPO_INCONSISTENT_PUBLIC_KEY 117
38 | # define CRMF_R_POPO_MISSING 121
39 | # define CRMF_R_POPO_MISSING_PUBLIC_KEY 118
40 | # define CRMF_R_POPO_MISSING_SUBJECT 119
41 | # define CRMF_R_POPO_RAVERIFIED_NOT_ACCEPTED 120
42 | # define CRMF_R_SETTING_MAC_ALGOR_FAILURE 110
43 | # define CRMF_R_SETTING_OWF_ALGOR_FAILURE 111
44 | # define CRMF_R_UNSUPPORTED_ALGORITHM 112
45 | # define CRMF_R_UNSUPPORTED_CIPHER 114
46 | # define CRMF_R_UNSUPPORTED_METHOD_FOR_CREATING_POPO 115
47 | # define CRMF_R_UNSUPPORTED_POPO_METHOD 116
48 |
49 | # endif
50 | #endif
51 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/cryptoerr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_CRYPTOERR_H
12 | # define OPENSSL_CRYPTOERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * CRYPTO reason codes.
23 | */
24 | # define CRYPTO_R_BAD_ALGORITHM_NAME 117
25 | # define CRYPTO_R_CONFLICTING_NAMES 118
26 | # define CRYPTO_R_HEX_STRING_TOO_SHORT 121
27 | # define CRYPTO_R_ILLEGAL_HEX_DIGIT 102
28 | # define CRYPTO_R_INSUFFICIENT_DATA_SPACE 106
29 | # define CRYPTO_R_INSUFFICIENT_PARAM_SIZE 107
30 | # define CRYPTO_R_INSUFFICIENT_SECURE_DATA_SPACE 108
31 | # define CRYPTO_R_INTEGER_OVERFLOW 127
32 | # define CRYPTO_R_INVALID_NEGATIVE_VALUE 122
33 | # define CRYPTO_R_INVALID_NULL_ARGUMENT 109
34 | # define CRYPTO_R_INVALID_OSSL_PARAM_TYPE 110
35 | # define CRYPTO_R_NO_PARAMS_TO_MERGE 131
36 | # define CRYPTO_R_NO_SPACE_FOR_TERMINATING_NULL 128
37 | # define CRYPTO_R_ODD_NUMBER_OF_DIGITS 103
38 | # define CRYPTO_R_PARAM_CANNOT_BE_REPRESENTED_EXACTLY 123
39 | # define CRYPTO_R_PARAM_NOT_INTEGER_TYPE 124
40 | # define CRYPTO_R_PARAM_OF_INCOMPATIBLE_TYPE 129
41 | # define CRYPTO_R_PARAM_UNSIGNED_INTEGER_NEGATIVE_VALUE_UNSUPPORTED 125
42 | # define CRYPTO_R_PARAM_UNSUPPORTED_FLOATING_POINT_FORMAT 130
43 | # define CRYPTO_R_PARAM_VALUE_TOO_LARGE_FOR_DESTINATION 126
44 | # define CRYPTO_R_PROVIDER_ALREADY_EXISTS 104
45 | # define CRYPTO_R_PROVIDER_SECTION_ERROR 105
46 | # define CRYPTO_R_RANDOM_SECTION_ERROR 119
47 | # define CRYPTO_R_SECURE_MALLOC_FAILURE 111
48 | # define CRYPTO_R_STRING_TOO_LONG 112
49 | # define CRYPTO_R_TOO_MANY_BYTES 113
50 | # define CRYPTO_R_TOO_MANY_RECORDS 114
51 | # define CRYPTO_R_TOO_SMALL_BUFFER 116
52 | # define CRYPTO_R_UNKNOWN_NAME_IN_RANDOM_SECTION 120
53 | # define CRYPTO_R_ZERO_LENGTH_NUMBER 115
54 |
55 | #endif
56 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/cterr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_CTERR_H
12 | # define OPENSSL_CTERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 | # ifndef OPENSSL_NO_CT
21 |
22 |
23 | /*
24 | * CT reason codes.
25 | */
26 | # define CT_R_BASE64_DECODE_ERROR 108
27 | # define CT_R_INVALID_LOG_ID_LENGTH 100
28 | # define CT_R_LOG_CONF_INVALID 109
29 | # define CT_R_LOG_CONF_INVALID_KEY 110
30 | # define CT_R_LOG_CONF_MISSING_DESCRIPTION 111
31 | # define CT_R_LOG_CONF_MISSING_KEY 112
32 | # define CT_R_LOG_KEY_INVALID 113
33 | # define CT_R_SCT_FUTURE_TIMESTAMP 116
34 | # define CT_R_SCT_INVALID 104
35 | # define CT_R_SCT_INVALID_SIGNATURE 107
36 | # define CT_R_SCT_LIST_INVALID 105
37 | # define CT_R_SCT_LOG_ID_MISMATCH 114
38 | # define CT_R_SCT_NOT_SET 106
39 | # define CT_R_SCT_UNSUPPORTED_VERSION 115
40 | # define CT_R_UNRECOGNIZED_SIGNATURE_NID 101
41 | # define CT_R_UNSUPPORTED_ENTRY_TYPE 102
42 | # define CT_R_UNSUPPORTED_VERSION 103
43 |
44 | # endif
45 | #endif
46 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/decodererr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_DECODERERR_H
12 | # define OPENSSL_DECODERERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * OSSL_DECODER reason codes.
23 | */
24 | # define OSSL_DECODER_R_COULD_NOT_DECODE_OBJECT 101
25 | # define OSSL_DECODER_R_DECODER_NOT_FOUND 102
26 | # define OSSL_DECODER_R_MISSING_GET_PARAMS 100
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/dherr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_DHERR_H
12 | # define OPENSSL_DHERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 | # ifndef OPENSSL_NO_DH
21 |
22 |
23 | /*
24 | * DH reason codes.
25 | */
26 | # define DH_R_BAD_FFC_PARAMETERS 127
27 | # define DH_R_BAD_GENERATOR 101
28 | # define DH_R_BN_DECODE_ERROR 109
29 | # define DH_R_BN_ERROR 106
30 | # define DH_R_CHECK_INVALID_J_VALUE 115
31 | # define DH_R_CHECK_INVALID_Q_VALUE 116
32 | # define DH_R_CHECK_PUBKEY_INVALID 122
33 | # define DH_R_CHECK_PUBKEY_TOO_LARGE 123
34 | # define DH_R_CHECK_PUBKEY_TOO_SMALL 124
35 | # define DH_R_CHECK_P_NOT_PRIME 117
36 | # define DH_R_CHECK_P_NOT_SAFE_PRIME 118
37 | # define DH_R_CHECK_Q_NOT_PRIME 119
38 | # define DH_R_DECODE_ERROR 104
39 | # define DH_R_INVALID_PARAMETER_NAME 110
40 | # define DH_R_INVALID_PARAMETER_NID 114
41 | # define DH_R_INVALID_PUBKEY 102
42 | # define DH_R_INVALID_SECRET 128
43 | # define DH_R_KDF_PARAMETER_ERROR 112
44 | # define DH_R_KEYS_NOT_SET 108
45 | # define DH_R_MISSING_PUBKEY 125
46 | # define DH_R_MODULUS_TOO_LARGE 103
47 | # define DH_R_MODULUS_TOO_SMALL 126
48 | # define DH_R_NOT_SUITABLE_GENERATOR 120
49 | # define DH_R_NO_PARAMETERS_SET 107
50 | # define DH_R_NO_PRIVATE_VALUE 100
51 | # define DH_R_PARAMETER_ENCODING_ERROR 105
52 | # define DH_R_PEER_KEY_ERROR 111
53 | # define DH_R_SHARED_INFO_ERROR 113
54 | # define DH_R_UNABLE_TO_CHECK_GENERATOR 121
55 |
56 | # endif
57 | #endif
58 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/dsaerr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_DSAERR_H
12 | # define OPENSSL_DSAERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 | # ifndef OPENSSL_NO_DSA
21 |
22 |
23 | /*
24 | * DSA reason codes.
25 | */
26 | # define DSA_R_BAD_FFC_PARAMETERS 114
27 | # define DSA_R_BAD_Q_VALUE 102
28 | # define DSA_R_BN_DECODE_ERROR 108
29 | # define DSA_R_BN_ERROR 109
30 | # define DSA_R_DECODE_ERROR 104
31 | # define DSA_R_INVALID_DIGEST_TYPE 106
32 | # define DSA_R_INVALID_PARAMETERS 112
33 | # define DSA_R_MISSING_PARAMETERS 101
34 | # define DSA_R_MISSING_PRIVATE_KEY 111
35 | # define DSA_R_MODULUS_TOO_LARGE 103
36 | # define DSA_R_NO_PARAMETERS_SET 107
37 | # define DSA_R_PARAMETER_ENCODING_ERROR 105
38 | # define DSA_R_P_NOT_PRIME 115
39 | # define DSA_R_Q_NOT_PRIME 113
40 | # define DSA_R_SEED_LEN_SMALL 110
41 | # define DSA_R_TOO_MANY_RETRIES 116
42 |
43 | # endif
44 | #endif
45 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/dtls1.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2005-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_DTLS1_H
11 | # define OPENSSL_DTLS1_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_DTLS1_H
17 | # endif
18 |
19 | # include
20 |
21 | #ifdef __cplusplus
22 | extern "C" {
23 | #endif
24 |
25 | #include
26 |
27 | /* DTLS*_VERSION constants are defined in prov_ssl.h */
28 | # ifndef OPENSSL_NO_DEPRECATED_3_0
29 | # define DTLS_MIN_VERSION DTLS1_VERSION
30 | # define DTLS_MAX_VERSION DTLS1_2_VERSION
31 | # endif
32 | # define DTLS1_VERSION_MAJOR 0xFE
33 |
34 | /* Special value for method supporting multiple versions */
35 | # define DTLS_ANY_VERSION 0x1FFFF
36 |
37 | /* lengths of messages */
38 |
39 | # define DTLS1_COOKIE_LENGTH 255
40 |
41 | # define DTLS1_RT_HEADER_LENGTH 13
42 |
43 | # define DTLS1_HM_HEADER_LENGTH 12
44 |
45 | # define DTLS1_HM_BAD_FRAGMENT -2
46 | # define DTLS1_HM_FRAGMENT_RETRY -3
47 |
48 | # define DTLS1_CCS_HEADER_LENGTH 1
49 |
50 | # define DTLS1_AL_HEADER_LENGTH 2
51 |
52 | # define DTLS1_TMO_ALERT_COUNT 12
53 |
54 | #ifdef __cplusplus
55 | }
56 | #endif
57 | #endif
58 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/e_ostime.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_E_OSTIME_H
11 | # define OPENSSL_E_OSTIME_H
12 | # pragma once
13 |
14 | # include
15 | # include
16 | # include
17 |
18 | /*
19 | * This header guarantees that 'struct timeval' will be available. It includes
20 | * the minimum headers needed to facilitate this. This may still be a
21 | * substantial set of headers on some platforms (e.g. on Win32).
22 | */
23 |
24 | # if defined(OPENSSL_SYS_WINDOWS)
25 | # include
26 | # else
27 | # include
28 | # endif
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/ebcdic.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_EBCDIC_H
11 | # define OPENSSL_EBCDIC_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_EBCDIC_H
17 | # endif
18 |
19 | # include
20 |
21 | #ifdef __cplusplus
22 | extern "C" {
23 | #endif
24 |
25 | /* Avoid name clashes with other applications */
26 | # define os_toascii _openssl_os_toascii
27 | # define os_toebcdic _openssl_os_toebcdic
28 | # define ebcdic2ascii _openssl_ebcdic2ascii
29 | # define ascii2ebcdic _openssl_ascii2ebcdic
30 |
31 | extern const unsigned char os_toascii[256];
32 | extern const unsigned char os_toebcdic[256];
33 | void *ebcdic2ascii(void *dest, const void *srce, size_t count);
34 | void *ascii2ebcdic(void *dest, const void *srce, size_t count);
35 |
36 | #ifdef __cplusplus
37 | }
38 | #endif
39 | #endif
40 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/ecdh.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #include
11 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/ecdsa.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #include
11 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/encodererr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_ENCODERERR_H
12 | # define OPENSSL_ENCODERERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * OSSL_ENCODER reason codes.
23 | */
24 | # define OSSL_ENCODER_R_ENCODER_NOT_FOUND 101
25 | # define OSSL_ENCODER_R_INCORRECT_PROPERTY_QUERY 100
26 | # define OSSL_ENCODER_R_MISSING_GET_PARAMS 102
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/engineerr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_ENGINEERR_H
12 | # define OPENSSL_ENGINEERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 | # ifndef OPENSSL_NO_ENGINE
21 |
22 |
23 | /*
24 | * ENGINE reason codes.
25 | */
26 | # define ENGINE_R_ALREADY_LOADED 100
27 | # define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133
28 | # define ENGINE_R_CMD_NOT_EXECUTABLE 134
29 | # define ENGINE_R_COMMAND_TAKES_INPUT 135
30 | # define ENGINE_R_COMMAND_TAKES_NO_INPUT 136
31 | # define ENGINE_R_CONFLICTING_ENGINE_ID 103
32 | # define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119
33 | # define ENGINE_R_DSO_FAILURE 104
34 | # define ENGINE_R_DSO_NOT_FOUND 132
35 | # define ENGINE_R_ENGINES_SECTION_ERROR 148
36 | # define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102
37 | # define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105
38 | # define ENGINE_R_ENGINE_SECTION_ERROR 149
39 | # define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128
40 | # define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129
41 | # define ENGINE_R_FINISH_FAILED 106
42 | # define ENGINE_R_ID_OR_NAME_MISSING 108
43 | # define ENGINE_R_INIT_FAILED 109
44 | # define ENGINE_R_INTERNAL_LIST_ERROR 110
45 | # define ENGINE_R_INVALID_ARGUMENT 143
46 | # define ENGINE_R_INVALID_CMD_NAME 137
47 | # define ENGINE_R_INVALID_CMD_NUMBER 138
48 | # define ENGINE_R_INVALID_INIT_VALUE 151
49 | # define ENGINE_R_INVALID_STRING 150
50 | # define ENGINE_R_NOT_INITIALISED 117
51 | # define ENGINE_R_NOT_LOADED 112
52 | # define ENGINE_R_NO_CONTROL_FUNCTION 120
53 | # define ENGINE_R_NO_INDEX 144
54 | # define ENGINE_R_NO_LOAD_FUNCTION 125
55 | # define ENGINE_R_NO_REFERENCE 130
56 | # define ENGINE_R_NO_SUCH_ENGINE 116
57 | # define ENGINE_R_UNIMPLEMENTED_CIPHER 146
58 | # define ENGINE_R_UNIMPLEMENTED_DIGEST 147
59 | # define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101
60 | # define ENGINE_R_VERSION_INCOMPATIBILITY 145
61 |
62 | # endif
63 | #endif
64 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/esserr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_ESSERR_H
12 | # define OPENSSL_ESSERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 | /*
20 | * ESS reason codes.
21 | */
22 | # define ESS_R_EMPTY_ESS_CERT_ID_LIST 107
23 | # define ESS_R_ESS_CERT_DIGEST_ERROR 103
24 | # define ESS_R_ESS_CERT_ID_NOT_FOUND 104
25 | # define ESS_R_ESS_CERT_ID_WRONG_ORDER 105
26 | # define ESS_R_ESS_DIGEST_ALG_UNKNOWN 106
27 | # define ESS_R_ESS_SIGNING_CERTIFICATE_ERROR 102
28 | # define ESS_R_ESS_SIGNING_CERT_ADD_ERROR 100
29 | # define ESS_R_ESS_SIGNING_CERT_V2_ADD_ERROR 101
30 | # define ESS_R_MISSING_SIGNING_CERTIFICATE_ATTRIBUTE 108
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/fips_names.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_FIPS_NAMES_H
11 | # define OPENSSL_FIPS_NAMES_H
12 | # pragma once
13 |
14 | # ifdef __cplusplus
15 | extern "C" {
16 | # endif
17 |
18 | /*
19 | * Parameter names that the FIPS Provider defines
20 | */
21 |
22 | /*
23 | * The calculated MAC of the module file (Used for FIPS Self Testing)
24 | * Type: OSSL_PARAM_UTF8_STRING
25 | */
26 | # define OSSL_PROV_FIPS_PARAM_MODULE_MAC "module-mac"
27 | /*
28 | * A version number for the fips install process (Used for FIPS Self Testing)
29 | * Type: OSSL_PARAM_UTF8_STRING
30 | */
31 | # define OSSL_PROV_FIPS_PARAM_INSTALL_VERSION "install-version"
32 | /*
33 | * The calculated MAC of the install status indicator (Used for FIPS Self Testing)
34 | * Type: OSSL_PARAM_UTF8_STRING
35 | */
36 | # define OSSL_PROV_FIPS_PARAM_INSTALL_MAC "install-mac"
37 | /*
38 | * The install status indicator (Used for FIPS Self Testing)
39 | * Type: OSSL_PARAM_UTF8_STRING
40 | */
41 | # define OSSL_PROV_FIPS_PARAM_INSTALL_STATUS "install-status"
42 |
43 | /*
44 | * A boolean that determines if the FIPS conditional test errors result in
45 | * the module entering an error state.
46 | * Type: OSSL_PARAM_UTF8_STRING
47 | */
48 | # define OSSL_PROV_FIPS_PARAM_CONDITIONAL_ERRORS "conditional-errors"
49 |
50 | /*
51 | * A boolean that determines if the runtime FIPS security checks are performed.
52 | * This is enabled by default.
53 | * Type: OSSL_PARAM_UTF8_STRING
54 | */
55 | # define OSSL_PROV_FIPS_PARAM_SECURITY_CHECKS "security-checks"
56 |
57 | /*
58 | * A boolean that determines if the runtime FIPS check for TLS1_PRF EMS is performed.
59 | * This is disabled by default.
60 | * Type: OSSL_PARAM_UTF8_STRING
61 | */
62 | # define OSSL_PROV_FIPS_PARAM_TLS1_PRF_EMS_CHECK "tls1-prf-ems-check"
63 |
64 | /*
65 | * A boolean that determines if truncated digests can be used with Hash and HMAC
66 | * DRBGs. FIPS 140-3 IG D.R disallows such use for efficiency rather than
67 | * security reasons.
68 | * This is disabled by default.
69 | * Type: OSSL_PARAM_UTF8_STRING
70 | */
71 | # define OSSL_PROV_FIPS_PARAM_DRBG_TRUNC_DIGEST "drbg-no-trunc-md"
72 |
73 | # ifdef __cplusplus
74 | }
75 | # endif
76 |
77 | #endif /* OPENSSL_FIPS_NAMES_H */
78 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/fipskey.h:
--------------------------------------------------------------------------------
1 | /*
2 | * WARNING: do not edit!
3 | * Generated by Makefile from openssl-3.1.4/include/openssl/fipskey.h.in
4 | *
5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
6 | *
7 | * Licensed under the Apache License 2.0 (the "License"). You may not use
8 | * this file except in compliance with the License. You can obtain a copy
9 | * in the file LICENSE in the source distribution or at
10 | * https://www.openssl.org/source/license.html
11 | */
12 |
13 | #ifndef OPENSSL_FIPSKEY_H
14 | # define OPENSSL_FIPSKEY_H
15 | # pragma once
16 |
17 | # ifdef __cplusplus
18 | extern "C" {
19 | # endif
20 |
21 | /*
22 | * The FIPS validation HMAC key, usable as an array initializer.
23 | */
24 | #define FIPS_KEY_ELEMENTS \
25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13
26 |
27 | /*
28 | * The FIPS validation key, as a string.
29 | */
30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813"
31 |
32 | # ifdef __cplusplus
33 | }
34 | # endif
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/hmac.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_HMAC_H
11 | # define OPENSSL_HMAC_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_HMAC_H
17 | # endif
18 |
19 | # include
20 |
21 | # include
22 |
23 | # ifndef OPENSSL_NO_DEPRECATED_3_0
24 | # define HMAC_MAX_MD_CBLOCK 200 /* Deprecated */
25 | # endif
26 |
27 | # ifdef __cplusplus
28 | extern "C" {
29 | # endif
30 |
31 | # ifndef OPENSSL_NO_DEPRECATED_3_0
32 | OSSL_DEPRECATEDIN_3_0 size_t HMAC_size(const HMAC_CTX *e);
33 | OSSL_DEPRECATEDIN_3_0 HMAC_CTX *HMAC_CTX_new(void);
34 | OSSL_DEPRECATEDIN_3_0 int HMAC_CTX_reset(HMAC_CTX *ctx);
35 | OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx);
36 | # endif
37 | # ifndef OPENSSL_NO_DEPRECATED_1_1_0
38 | OSSL_DEPRECATEDIN_1_1_0 __owur int HMAC_Init(HMAC_CTX *ctx,
39 | const void *key, int len,
40 | const EVP_MD *md);
41 | # endif
42 | # ifndef OPENSSL_NO_DEPRECATED_3_0
43 | OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
44 | const EVP_MD *md, ENGINE *impl);
45 | OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
46 | size_t len);
47 | OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
48 | unsigned int *len);
49 | OSSL_DEPRECATEDIN_3_0 __owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx);
50 | OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags);
51 | OSSL_DEPRECATEDIN_3_0 const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx);
52 | # endif
53 |
54 | unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
55 | const unsigned char *data, size_t data_len,
56 | unsigned char *md, unsigned int *md_len);
57 |
58 | # ifdef __cplusplus
59 | }
60 | # endif
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/httperr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_HTTPERR_H
12 | # define OPENSSL_HTTPERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * HTTP reason codes.
23 | */
24 | # define HTTP_R_ASN1_LEN_EXCEEDS_MAX_RESP_LEN 108
25 | # define HTTP_R_CONNECT_FAILURE 100
26 | # define HTTP_R_ERROR_PARSING_ASN1_LENGTH 109
27 | # define HTTP_R_ERROR_PARSING_CONTENT_LENGTH 119
28 | # define HTTP_R_ERROR_PARSING_URL 101
29 | # define HTTP_R_ERROR_RECEIVING 103
30 | # define HTTP_R_ERROR_SENDING 102
31 | # define HTTP_R_FAILED_READING_DATA 128
32 | # define HTTP_R_HEADER_PARSE_ERROR 126
33 | # define HTTP_R_INCONSISTENT_CONTENT_LENGTH 120
34 | # define HTTP_R_INVALID_PORT_NUMBER 123
35 | # define HTTP_R_INVALID_URL_PATH 125
36 | # define HTTP_R_INVALID_URL_SCHEME 124
37 | # define HTTP_R_MAX_RESP_LEN_EXCEEDED 117
38 | # define HTTP_R_MISSING_ASN1_ENCODING 110
39 | # define HTTP_R_MISSING_CONTENT_TYPE 121
40 | # define HTTP_R_MISSING_REDIRECT_LOCATION 111
41 | # define HTTP_R_RECEIVED_ERROR 105
42 | # define HTTP_R_RECEIVED_WRONG_HTTP_VERSION 106
43 | # define HTTP_R_REDIRECTION_FROM_HTTPS_TO_HTTP 112
44 | # define HTTP_R_REDIRECTION_NOT_ENABLED 116
45 | # define HTTP_R_RESPONSE_LINE_TOO_LONG 113
46 | # define HTTP_R_RESPONSE_PARSE_ERROR 104
47 | # define HTTP_R_RETRY_TIMEOUT 129
48 | # define HTTP_R_SERVER_CANCELED_CONNECTION 127
49 | # define HTTP_R_SOCK_NOT_SUPPORTED 122
50 | # define HTTP_R_STATUS_CODE_UNSUPPORTED 114
51 | # define HTTP_R_TLS_NOT_ENABLED 107
52 | # define HTTP_R_TOO_MANY_REDIRECTIONS 115
53 | # define HTTP_R_UNEXPECTED_CONTENT_TYPE 118
54 |
55 | #endif
56 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/kdferr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_KDFERR_H
11 | # define OPENSSL_KDFERR_H
12 | # pragma once
13 |
14 | #include
15 |
16 | #endif /* !defined(OPENSSL_KDFERR_H) */
17 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/md2.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_MD2_H
11 | # define OPENSSL_MD2_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_MD2_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_MD2
22 | # include
23 | # ifdef __cplusplus
24 | extern "C" {
25 | # endif
26 |
27 | # define MD2_DIGEST_LENGTH 16
28 |
29 | # if !defined(OPENSSL_NO_DEPRECATED_3_0)
30 |
31 | typedef unsigned char MD2_INT;
32 |
33 | # define MD2_BLOCK 16
34 |
35 | typedef struct MD2state_st {
36 | unsigned int num;
37 | unsigned char data[MD2_BLOCK];
38 | MD2_INT cksm[MD2_BLOCK];
39 | MD2_INT state[MD2_BLOCK];
40 | } MD2_CTX;
41 | # endif
42 | # ifndef OPENSSL_NO_DEPRECATED_3_0
43 | OSSL_DEPRECATEDIN_3_0 const char *MD2_options(void);
44 | OSSL_DEPRECATEDIN_3_0 int MD2_Init(MD2_CTX *c);
45 | OSSL_DEPRECATEDIN_3_0 int MD2_Update(MD2_CTX *c, const unsigned char *data,
46 | size_t len);
47 | OSSL_DEPRECATEDIN_3_0 int MD2_Final(unsigned char *md, MD2_CTX *c);
48 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD2(const unsigned char *d, size_t n,
49 | unsigned char *md);
50 | # endif
51 |
52 | # ifdef __cplusplus
53 | }
54 | # endif
55 | # endif
56 | #endif
57 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/md4.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_MD4_H
11 | # define OPENSSL_MD4_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_MD4_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_MD4
22 | # include
23 | # include
24 | # ifdef __cplusplus
25 | extern "C" {
26 | # endif
27 |
28 | # define MD4_DIGEST_LENGTH 16
29 |
30 | # if !defined(OPENSSL_NO_DEPRECATED_3_0)
31 |
32 | /*-
33 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
34 | * ! MD4_LONG has to be at least 32 bits wide. !
35 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
36 | */
37 | # define MD4_LONG unsigned int
38 |
39 | # define MD4_CBLOCK 64
40 | # define MD4_LBLOCK (MD4_CBLOCK/4)
41 |
42 | typedef struct MD4state_st {
43 | MD4_LONG A, B, C, D;
44 | MD4_LONG Nl, Nh;
45 | MD4_LONG data[MD4_LBLOCK];
46 | unsigned int num;
47 | } MD4_CTX;
48 | # endif
49 | # ifndef OPENSSL_NO_DEPRECATED_3_0
50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c);
51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len);
52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c);
53 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD4(const unsigned char *d, size_t n,
54 | unsigned char *md);
55 | OSSL_DEPRECATEDIN_3_0 void MD4_Transform(MD4_CTX *c, const unsigned char *b);
56 | # endif
57 |
58 | # ifdef __cplusplus
59 | }
60 | # endif
61 | # endif
62 |
63 | #endif
64 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/md5.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_MD5_H
11 | # define OPENSSL_MD5_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_MD5_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_MD5
22 | # include
23 | # include
24 | # ifdef __cplusplus
25 | extern "C" {
26 | # endif
27 |
28 | # define MD5_DIGEST_LENGTH 16
29 |
30 | # if !defined(OPENSSL_NO_DEPRECATED_3_0)
31 | /*
32 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
33 | * ! MD5_LONG has to be at least 32 bits wide. !
34 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
35 | */
36 | # define MD5_LONG unsigned int
37 |
38 | # define MD5_CBLOCK 64
39 | # define MD5_LBLOCK (MD5_CBLOCK/4)
40 |
41 | typedef struct MD5state_st {
42 | MD5_LONG A, B, C, D;
43 | MD5_LONG Nl, Nh;
44 | MD5_LONG data[MD5_LBLOCK];
45 | unsigned int num;
46 | } MD5_CTX;
47 | # endif
48 | # ifndef OPENSSL_NO_DEPRECATED_3_0
49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
53 | unsigned char *md);
54 | OSSL_DEPRECATEDIN_3_0 void MD5_Transform(MD5_CTX *c, const unsigned char *b);
55 | # endif
56 |
57 | # ifdef __cplusplus
58 | }
59 | # endif
60 | # endif
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/mdc2.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_MDC2_H
11 | # define OPENSSL_MDC2_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_MDC2_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_MDC2
22 | # include
23 | # include
24 | # ifdef __cplusplus
25 | extern "C" {
26 | # endif
27 |
28 | # define MDC2_DIGEST_LENGTH 16
29 |
30 | # if !defined(OPENSSL_NO_DEPRECATED_3_0)
31 |
32 | # define MDC2_BLOCK 8
33 |
34 | typedef struct mdc2_ctx_st {
35 | unsigned int num;
36 | unsigned char data[MDC2_BLOCK];
37 | DES_cblock h, hh;
38 | unsigned int pad_type; /* either 1 or 2, default 1 */
39 | } MDC2_CTX;
40 | # endif
41 | # ifndef OPENSSL_NO_DEPRECATED_3_0
42 | OSSL_DEPRECATEDIN_3_0 int MDC2_Init(MDC2_CTX *c);
43 | OSSL_DEPRECATEDIN_3_0 int MDC2_Update(MDC2_CTX *c, const unsigned char *data,
44 | size_t len);
45 | OSSL_DEPRECATEDIN_3_0 int MDC2_Final(unsigned char *md, MDC2_CTX *c);
46 | OSSL_DEPRECATEDIN_3_0 unsigned char *MDC2(const unsigned char *d, size_t n,
47 | unsigned char *md);
48 | # endif
49 |
50 | # ifdef __cplusplus
51 | }
52 | # endif
53 | # endif
54 |
55 | #endif
56 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/objectserr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_OBJECTSERR_H
12 | # define OPENSSL_OBJECTSERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * OBJ reason codes.
23 | */
24 | # define OBJ_R_OID_EXISTS 102
25 | # define OBJ_R_UNKNOWN_NID 101
26 | # define OBJ_R_UNKNOWN_OBJECT_NAME 103
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/ocsperr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_OCSPERR_H
12 | # define OPENSSL_OCSPERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 | # ifndef OPENSSL_NO_OCSP
21 |
22 |
23 | /*
24 | * OCSP reason codes.
25 | */
26 | # define OCSP_R_CERTIFICATE_VERIFY_ERROR 101
27 | # define OCSP_R_DIGEST_ERR 102
28 | # define OCSP_R_DIGEST_NAME_ERR 106
29 | # define OCSP_R_DIGEST_SIZE_ERR 107
30 | # define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122
31 | # define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123
32 | # define OCSP_R_MISSING_OCSPSIGNING_USAGE 103
33 | # define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124
34 | # define OCSP_R_NOT_BASIC_RESPONSE 104
35 | # define OCSP_R_NO_CERTIFICATES_IN_CHAIN 105
36 | # define OCSP_R_NO_RESPONSE_DATA 108
37 | # define OCSP_R_NO_REVOKED_TIME 109
38 | # define OCSP_R_NO_SIGNER_KEY 130
39 | # define OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 110
40 | # define OCSP_R_REQUEST_NOT_SIGNED 128
41 | # define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111
42 | # define OCSP_R_ROOT_CA_NOT_TRUSTED 112
43 | # define OCSP_R_SIGNATURE_FAILURE 117
44 | # define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118
45 | # define OCSP_R_STATUS_EXPIRED 125
46 | # define OCSP_R_STATUS_NOT_YET_VALID 126
47 | # define OCSP_R_STATUS_TOO_OLD 127
48 | # define OCSP_R_UNKNOWN_MESSAGE_DIGEST 119
49 | # define OCSP_R_UNKNOWN_NID 120
50 | # define OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE 129
51 |
52 | # endif
53 | #endif
54 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/opensslconf.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_OPENSSLCONF_H
11 | # define OPENSSL_OPENSSLCONF_H
12 | # pragma once
13 |
14 | # include
15 | # include
16 |
17 | #endif /* OPENSSL_OPENSSLCONF_H */
18 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/ossl_typ.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | /*
11 | * The original was renamed to
12 | *
13 | * This header file only exists for compatibility reasons with older
14 | * applications which #include .
15 | */
16 | # include
17 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/param_build.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_PARAM_BUILD_H
12 | # define OPENSSL_PARAM_BUILD_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 |
18 | # ifdef __cplusplus
19 | extern "C" {
20 | # endif
21 |
22 | OSSL_PARAM_BLD *OSSL_PARAM_BLD_new(void);
23 | OSSL_PARAM *OSSL_PARAM_BLD_to_param(OSSL_PARAM_BLD *bld);
24 | void OSSL_PARAM_BLD_free(OSSL_PARAM_BLD *bld);
25 |
26 | int OSSL_PARAM_BLD_push_int(OSSL_PARAM_BLD *bld, const char *key, int val);
27 | int OSSL_PARAM_BLD_push_uint(OSSL_PARAM_BLD *bld, const char *key,
28 | unsigned int val);
29 | int OSSL_PARAM_BLD_push_long(OSSL_PARAM_BLD *bld, const char *key,
30 | long int val);
31 | int OSSL_PARAM_BLD_push_ulong(OSSL_PARAM_BLD *bld, const char *key,
32 | unsigned long int val);
33 | int OSSL_PARAM_BLD_push_int32(OSSL_PARAM_BLD *bld, const char *key,
34 | int32_t val);
35 | int OSSL_PARAM_BLD_push_uint32(OSSL_PARAM_BLD *bld, const char *key,
36 | uint32_t val);
37 | int OSSL_PARAM_BLD_push_int64(OSSL_PARAM_BLD *bld, const char *key,
38 | int64_t val);
39 | int OSSL_PARAM_BLD_push_uint64(OSSL_PARAM_BLD *bld, const char *key,
40 | uint64_t val);
41 | int OSSL_PARAM_BLD_push_size_t(OSSL_PARAM_BLD *bld, const char *key,
42 | size_t val);
43 | int OSSL_PARAM_BLD_push_time_t(OSSL_PARAM_BLD *bld, const char *key,
44 | time_t val);
45 | int OSSL_PARAM_BLD_push_double(OSSL_PARAM_BLD *bld, const char *key,
46 | double val);
47 | int OSSL_PARAM_BLD_push_BN(OSSL_PARAM_BLD *bld, const char *key,
48 | const BIGNUM *bn);
49 | int OSSL_PARAM_BLD_push_BN_pad(OSSL_PARAM_BLD *bld, const char *key,
50 | const BIGNUM *bn, size_t sz);
51 | int OSSL_PARAM_BLD_push_utf8_string(OSSL_PARAM_BLD *bld, const char *key,
52 | const char *buf, size_t bsize);
53 | int OSSL_PARAM_BLD_push_utf8_ptr(OSSL_PARAM_BLD *bld, const char *key,
54 | char *buf, size_t bsize);
55 | int OSSL_PARAM_BLD_push_octet_string(OSSL_PARAM_BLD *bld, const char *key,
56 | const void *buf, size_t bsize);
57 | int OSSL_PARAM_BLD_push_octet_ptr(OSSL_PARAM_BLD *bld, const char *key,
58 | void *buf, size_t bsize);
59 |
60 | # ifdef __cplusplus
61 | }
62 | # endif
63 | #endif /* OPENSSL_PARAM_BUILD_H */
64 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/pem2.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_PEM2_H
11 | # define OPENSSL_PEM2_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_PEM2_H
17 | # endif
18 | # include
19 | #endif
20 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/pemerr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_PEMERR_H
12 | # define OPENSSL_PEMERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * PEM reason codes.
23 | */
24 | # define PEM_R_BAD_BASE64_DECODE 100
25 | # define PEM_R_BAD_DECRYPT 101
26 | # define PEM_R_BAD_END_LINE 102
27 | # define PEM_R_BAD_IV_CHARS 103
28 | # define PEM_R_BAD_MAGIC_NUMBER 116
29 | # define PEM_R_BAD_PASSWORD_READ 104
30 | # define PEM_R_BAD_VERSION_NUMBER 117
31 | # define PEM_R_BIO_WRITE_FAILURE 118
32 | # define PEM_R_CIPHER_IS_NULL 127
33 | # define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115
34 | # define PEM_R_EXPECTING_DSS_KEY_BLOB 131
35 | # define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119
36 | # define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120
37 | # define PEM_R_EXPECTING_RSA_KEY_BLOB 132
38 | # define PEM_R_HEADER_TOO_LONG 128
39 | # define PEM_R_INCONSISTENT_HEADER 121
40 | # define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122
41 | # define PEM_R_KEYBLOB_TOO_SHORT 123
42 | # define PEM_R_MISSING_DEK_IV 129
43 | # define PEM_R_NOT_DEK_INFO 105
44 | # define PEM_R_NOT_ENCRYPTED 106
45 | # define PEM_R_NOT_PROC_TYPE 107
46 | # define PEM_R_NO_START_LINE 108
47 | # define PEM_R_PROBLEMS_GETTING_PASSWORD 109
48 | # define PEM_R_PVK_DATA_TOO_SHORT 124
49 | # define PEM_R_PVK_TOO_SHORT 125
50 | # define PEM_R_READ_KEY 111
51 | # define PEM_R_SHORT_HEADER 112
52 | # define PEM_R_UNEXPECTED_DEK_IV 130
53 | # define PEM_R_UNSUPPORTED_CIPHER 113
54 | # define PEM_R_UNSUPPORTED_ENCRYPTION 114
55 | # define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126
56 | # define PEM_R_UNSUPPORTED_PUBLIC_KEY_TYPE 110
57 |
58 | #endif
59 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/pkcs12err.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_PKCS12ERR_H
12 | # define OPENSSL_PKCS12ERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * PKCS12 reason codes.
23 | */
24 | # define PKCS12_R_CANT_PACK_STRUCTURE 100
25 | # define PKCS12_R_CONTENT_TYPE_NOT_DATA 121
26 | # define PKCS12_R_DECODE_ERROR 101
27 | # define PKCS12_R_ENCODE_ERROR 102
28 | # define PKCS12_R_ENCRYPT_ERROR 103
29 | # define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120
30 | # define PKCS12_R_INVALID_NULL_ARGUMENT 104
31 | # define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105
32 | # define PKCS12_R_INVALID_TYPE 112
33 | # define PKCS12_R_IV_GEN_ERROR 106
34 | # define PKCS12_R_KEY_GEN_ERROR 107
35 | # define PKCS12_R_MAC_ABSENT 108
36 | # define PKCS12_R_MAC_GENERATION_ERROR 109
37 | # define PKCS12_R_MAC_SETUP_ERROR 110
38 | # define PKCS12_R_MAC_STRING_SET_ERROR 111
39 | # define PKCS12_R_MAC_VERIFY_FAILURE 113
40 | # define PKCS12_R_PARSE_ERROR 114
41 | # define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116
42 | # define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118
43 | # define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119
44 |
45 | #endif
46 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/prov_ssl.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_PROV_SSL_H
11 | # define OPENSSL_PROV_SSL_H
12 | # pragma once
13 |
14 | # ifdef __cplusplus
15 | extern "C" {
16 | # endif
17 |
18 | /* SSL/TLS related defines useful to providers */
19 |
20 | # define SSL_MAX_MASTER_KEY_LENGTH 48
21 |
22 | # define SSL3_VERSION 0x0300
23 | # define TLS1_VERSION 0x0301
24 | # define TLS1_1_VERSION 0x0302
25 | # define TLS1_2_VERSION 0x0303
26 | # define TLS1_3_VERSION 0x0304
27 | # define DTLS1_VERSION 0xFEFF
28 | # define DTLS1_2_VERSION 0xFEFD
29 | # define DTLS1_BAD_VER 0x0100
30 |
31 | # ifdef __cplusplus
32 | }
33 | # endif
34 | #endif /* OPENSSL_PROV_SSL_H */
35 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/provider.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_PROVIDER_H
11 | # define OPENSSL_PROVIDER_H
12 | # pragma once
13 |
14 | # include
15 |
16 | # ifdef __cplusplus
17 | extern "C" {
18 | # endif
19 |
20 | /* Set the default provider search path */
21 | int OSSL_PROVIDER_set_default_search_path(OSSL_LIB_CTX *, const char *path);
22 |
23 | /* Load and unload a provider */
24 | OSSL_PROVIDER *OSSL_PROVIDER_load(OSSL_LIB_CTX *, const char *name);
25 | OSSL_PROVIDER *OSSL_PROVIDER_try_load(OSSL_LIB_CTX *, const char *name,
26 | int retain_fallbacks);
27 | int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov);
28 | int OSSL_PROVIDER_available(OSSL_LIB_CTX *, const char *name);
29 | int OSSL_PROVIDER_do_all(OSSL_LIB_CTX *ctx,
30 | int (*cb)(OSSL_PROVIDER *provider, void *cbdata),
31 | void *cbdata);
32 |
33 | const OSSL_PARAM *OSSL_PROVIDER_gettable_params(const OSSL_PROVIDER *prov);
34 | int OSSL_PROVIDER_get_params(const OSSL_PROVIDER *prov, OSSL_PARAM params[]);
35 | int OSSL_PROVIDER_self_test(const OSSL_PROVIDER *prov);
36 | int OSSL_PROVIDER_get_capabilities(const OSSL_PROVIDER *prov,
37 | const char *capability,
38 | OSSL_CALLBACK *cb,
39 | void *arg);
40 |
41 | const OSSL_ALGORITHM *OSSL_PROVIDER_query_operation(const OSSL_PROVIDER *prov,
42 | int operation_id,
43 | int *no_cache);
44 | void OSSL_PROVIDER_unquery_operation(const OSSL_PROVIDER *prov,
45 | int operation_id, const OSSL_ALGORITHM *algs);
46 | void *OSSL_PROVIDER_get0_provider_ctx(const OSSL_PROVIDER *prov);
47 | const OSSL_DISPATCH *OSSL_PROVIDER_get0_dispatch(const OSSL_PROVIDER *prov);
48 |
49 | /* Add a built in providers */
50 | int OSSL_PROVIDER_add_builtin(OSSL_LIB_CTX *, const char *name,
51 | OSSL_provider_init_fn *init_fn);
52 |
53 | /* Information */
54 | const char *OSSL_PROVIDER_get0_name(const OSSL_PROVIDER *prov);
55 |
56 | # ifdef __cplusplus
57 | }
58 | # endif
59 |
60 | #endif
61 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/quic.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_QUIC_H
11 | # define OPENSSL_QUIC_H
12 | # pragma once
13 |
14 | # include
15 | # include
16 |
17 | # ifndef OPENSSL_NO_QUIC
18 |
19 | # ifdef __cplusplus
20 | extern "C" {
21 | # endif
22 |
23 | /*
24 | * Method used for non-thread-assisted QUIC client operation.
25 | */
26 | __owur const SSL_METHOD *OSSL_QUIC_client_method(void);
27 | /*
28 | * Method used for thread-assisted QUIC client operation.
29 | */
30 | __owur const SSL_METHOD *OSSL_QUIC_client_thread_method(void);
31 |
32 | # ifdef __cplusplus
33 | }
34 | # endif
35 |
36 | # endif /* OPENSSL_NO_QUIC */
37 | #endif
38 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/rc2.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_RC2_H
11 | # define OPENSSL_RC2_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_RC2_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_RC2
22 | # ifdef __cplusplus
23 | extern "C" {
24 | # endif
25 |
26 | # define RC2_BLOCK 8
27 | # define RC2_KEY_LENGTH 16
28 |
29 | # ifndef OPENSSL_NO_DEPRECATED_3_0
30 | typedef unsigned int RC2_INT;
31 |
32 | # define RC2_ENCRYPT 1
33 | # define RC2_DECRYPT 0
34 |
35 | typedef struct rc2_key_st {
36 | RC2_INT data[64];
37 | } RC2_KEY;
38 | # endif
39 | # ifndef OPENSSL_NO_DEPRECATED_3_0
40 | OSSL_DEPRECATEDIN_3_0 void RC2_set_key(RC2_KEY *key, int len,
41 | const unsigned char *data, int bits);
42 | OSSL_DEPRECATEDIN_3_0 void RC2_ecb_encrypt(const unsigned char *in,
43 | unsigned char *out, RC2_KEY *key,
44 | int enc);
45 | OSSL_DEPRECATEDIN_3_0 void RC2_encrypt(unsigned long *data, RC2_KEY *key);
46 | OSSL_DEPRECATEDIN_3_0 void RC2_decrypt(unsigned long *data, RC2_KEY *key);
47 | OSSL_DEPRECATEDIN_3_0 void RC2_cbc_encrypt(const unsigned char *in,
48 | unsigned char *out, long length,
49 | RC2_KEY *ks, unsigned char *iv,
50 | int enc);
51 | OSSL_DEPRECATEDIN_3_0 void RC2_cfb64_encrypt(const unsigned char *in,
52 | unsigned char *out, long length,
53 | RC2_KEY *schedule,
54 | unsigned char *ivec,
55 | int *num, int enc);
56 | OSSL_DEPRECATEDIN_3_0 void RC2_ofb64_encrypt(const unsigned char *in,
57 | unsigned char *out, long length,
58 | RC2_KEY *schedule,
59 | unsigned char *ivec,
60 | int *num);
61 | # endif
62 |
63 | # ifdef __cplusplus
64 | }
65 | # endif
66 | # endif
67 |
68 | #endif
69 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/rc4.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_RC4_H
11 | # define OPENSSL_RC4_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_RC4_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_RC4
22 | # include
23 | # ifdef __cplusplus
24 | extern "C" {
25 | # endif
26 |
27 | # ifndef OPENSSL_NO_DEPRECATED_3_0
28 | typedef struct rc4_key_st {
29 | RC4_INT x, y;
30 | RC4_INT data[256];
31 | } RC4_KEY;
32 | # endif
33 | # ifndef OPENSSL_NO_DEPRECATED_3_0
34 | OSSL_DEPRECATEDIN_3_0 const char *RC4_options(void);
35 | OSSL_DEPRECATEDIN_3_0 void RC4_set_key(RC4_KEY *key, int len,
36 | const unsigned char *data);
37 | OSSL_DEPRECATEDIN_3_0 void RC4(RC4_KEY *key, size_t len,
38 | const unsigned char *indata,
39 | unsigned char *outdata);
40 | # endif
41 |
42 | # ifdef __cplusplus
43 | }
44 | # endif
45 | # endif
46 |
47 | #endif
48 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/rc5.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_RC5_H
11 | # define OPENSSL_RC5_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_RC5_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_RC5
22 | # ifdef __cplusplus
23 | extern "C" {
24 | # endif
25 |
26 | # define RC5_32_BLOCK 8
27 | # define RC5_32_KEY_LENGTH 16/* This is a default, max is 255 */
28 |
29 | # ifndef OPENSSL_NO_DEPRECATED_3_0
30 | # define RC5_ENCRYPT 1
31 | # define RC5_DECRYPT 0
32 |
33 | # define RC5_32_INT unsigned int
34 |
35 | /*
36 | * This are the only values supported. Tweak the code if you want more The
37 | * most supported modes will be RC5-32/12/16 RC5-32/16/8
38 | */
39 | # define RC5_8_ROUNDS 8
40 | # define RC5_12_ROUNDS 12
41 | # define RC5_16_ROUNDS 16
42 |
43 | typedef struct rc5_key_st {
44 | /* Number of rounds */
45 | int rounds;
46 | RC5_32_INT data[2 * (RC5_16_ROUNDS + 1)];
47 | } RC5_32_KEY;
48 | # endif
49 | # ifndef OPENSSL_NO_DEPRECATED_3_0
50 | OSSL_DEPRECATEDIN_3_0 int RC5_32_set_key(RC5_32_KEY *key, int len,
51 | const unsigned char *data,
52 | int rounds);
53 | OSSL_DEPRECATEDIN_3_0 void RC5_32_ecb_encrypt(const unsigned char *in,
54 | unsigned char *out,
55 | RC5_32_KEY *key,
56 | int enc);
57 | OSSL_DEPRECATEDIN_3_0 void RC5_32_encrypt(unsigned long *data, RC5_32_KEY *key);
58 | OSSL_DEPRECATEDIN_3_0 void RC5_32_decrypt(unsigned long *data, RC5_32_KEY *key);
59 | OSSL_DEPRECATEDIN_3_0 void RC5_32_cbc_encrypt(const unsigned char *in,
60 | unsigned char *out, long length,
61 | RC5_32_KEY *ks, unsigned char *iv,
62 | int enc);
63 | OSSL_DEPRECATEDIN_3_0 void RC5_32_cfb64_encrypt(const unsigned char *in,
64 | unsigned char *out, long length,
65 | RC5_32_KEY *schedule,
66 | unsigned char *ivec, int *num,
67 | int enc);
68 | OSSL_DEPRECATEDIN_3_0 void RC5_32_ofb64_encrypt(const unsigned char *in,
69 | unsigned char *out, long length,
70 | RC5_32_KEY *schedule,
71 | unsigned char *ivec, int *num);
72 | # endif
73 |
74 | # ifdef __cplusplus
75 | }
76 | # endif
77 | # endif
78 |
79 | #endif
80 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/ripemd.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_RIPEMD_H
11 | # define OPENSSL_RIPEMD_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_RIPEMD_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_RMD160
22 | # include
23 | # include
24 |
25 | # define RIPEMD160_DIGEST_LENGTH 20
26 |
27 | # ifdef __cplusplus
28 | extern "C" {
29 | # endif
30 | # if !defined(OPENSSL_NO_DEPRECATED_3_0)
31 |
32 | # define RIPEMD160_LONG unsigned int
33 |
34 | # define RIPEMD160_CBLOCK 64
35 | # define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4)
36 |
37 | typedef struct RIPEMD160state_st {
38 | RIPEMD160_LONG A, B, C, D, E;
39 | RIPEMD160_LONG Nl, Nh;
40 | RIPEMD160_LONG data[RIPEMD160_LBLOCK];
41 | unsigned int num;
42 | } RIPEMD160_CTX;
43 | # endif
44 | # ifndef OPENSSL_NO_DEPRECATED_3_0
45 | OSSL_DEPRECATEDIN_3_0 int RIPEMD160_Init(RIPEMD160_CTX *c);
46 | OSSL_DEPRECATEDIN_3_0 int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data,
47 | size_t len);
48 | OSSL_DEPRECATEDIN_3_0 int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c);
49 | OSSL_DEPRECATEDIN_3_0 unsigned char *RIPEMD160(const unsigned char *d, size_t n,
50 | unsigned char *md);
51 | OSSL_DEPRECATEDIN_3_0 void RIPEMD160_Transform(RIPEMD160_CTX *c,
52 | const unsigned char *b);
53 | # endif
54 |
55 | # ifdef __cplusplus
56 | }
57 | # endif
58 | # endif
59 | #endif
60 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/srtp.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | /*
11 | * DTLS code by Eric Rescorla
12 | *
13 | * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc.
14 | */
15 |
16 | #ifndef OPENSSL_SRTP_H
17 | # define OPENSSL_SRTP_H
18 | # pragma once
19 |
20 | # include
21 | # ifndef OPENSSL_NO_DEPRECATED_3_0
22 | # define HEADER_D1_SRTP_H
23 | # endif
24 |
25 | # include
26 |
27 | #ifdef __cplusplus
28 | extern "C" {
29 | #endif
30 |
31 | # define SRTP_AES128_CM_SHA1_80 0x0001
32 | # define SRTP_AES128_CM_SHA1_32 0x0002
33 | # define SRTP_AES128_F8_SHA1_80 0x0003
34 | # define SRTP_AES128_F8_SHA1_32 0x0004
35 | # define SRTP_NULL_SHA1_80 0x0005
36 | # define SRTP_NULL_SHA1_32 0x0006
37 |
38 | /* AEAD SRTP protection profiles from RFC 7714 */
39 | # define SRTP_AEAD_AES_128_GCM 0x0007
40 | # define SRTP_AEAD_AES_256_GCM 0x0008
41 |
42 | # ifndef OPENSSL_NO_SRTP
43 |
44 | __owur int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles);
45 | __owur int SSL_set_tlsext_use_srtp(SSL *ssl, const char *profiles);
46 |
47 | __owur STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl);
48 | __owur SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s);
49 |
50 | # endif
51 |
52 | #ifdef __cplusplus
53 | }
54 | #endif
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/ssl2.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_SSL2_H
11 | # define OPENSSL_SSL2_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_SSL2_H
17 | # endif
18 |
19 | #ifdef __cplusplus
20 | extern "C" {
21 | #endif
22 |
23 | # define SSL2_VERSION 0x0002
24 |
25 | # define SSL2_MT_CLIENT_HELLO 1
26 |
27 | #ifdef __cplusplus
28 | }
29 | #endif
30 | #endif
31 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/storeerr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_STOREERR_H
12 | # define OPENSSL_STOREERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * OSSL_STORE reason codes.
23 | */
24 | # define OSSL_STORE_R_AMBIGUOUS_CONTENT_TYPE 107
25 | # define OSSL_STORE_R_BAD_PASSWORD_READ 115
26 | # define OSSL_STORE_R_ERROR_VERIFYING_PKCS12_MAC 113
27 | # define OSSL_STORE_R_FINGERPRINT_SIZE_DOES_NOT_MATCH_DIGEST 121
28 | # define OSSL_STORE_R_INVALID_SCHEME 106
29 | # define OSSL_STORE_R_IS_NOT_A 112
30 | # define OSSL_STORE_R_LOADER_INCOMPLETE 116
31 | # define OSSL_STORE_R_LOADING_STARTED 117
32 | # define OSSL_STORE_R_NOT_A_CERTIFICATE 100
33 | # define OSSL_STORE_R_NOT_A_CRL 101
34 | # define OSSL_STORE_R_NOT_A_NAME 103
35 | # define OSSL_STORE_R_NOT_A_PRIVATE_KEY 102
36 | # define OSSL_STORE_R_NOT_A_PUBLIC_KEY 122
37 | # define OSSL_STORE_R_NOT_PARAMETERS 104
38 | # define OSSL_STORE_R_NO_LOADERS_FOUND 123
39 | # define OSSL_STORE_R_PASSPHRASE_CALLBACK_ERROR 114
40 | # define OSSL_STORE_R_PATH_MUST_BE_ABSOLUTE 108
41 | # define OSSL_STORE_R_SEARCH_ONLY_SUPPORTED_FOR_DIRECTORIES 119
42 | # define OSSL_STORE_R_UI_PROCESS_INTERRUPTED_OR_CANCELLED 109
43 | # define OSSL_STORE_R_UNREGISTERED_SCHEME 105
44 | # define OSSL_STORE_R_UNSUPPORTED_CONTENT_TYPE 110
45 | # define OSSL_STORE_R_UNSUPPORTED_OPERATION 118
46 | # define OSSL_STORE_R_UNSUPPORTED_SEARCH_TYPE 120
47 | # define OSSL_STORE_R_URI_AUTHORITY_UNSUPPORTED 111
48 |
49 | #endif
50 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/symhacks.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_SYMHACKS_H
11 | # define OPENSSL_SYMHACKS_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_SYMHACKS_H
17 | # endif
18 |
19 | # include
20 |
21 | /* Case insensitive linking causes problems.... */
22 | # if defined(OPENSSL_SYS_VMS)
23 | # undef ERR_load_CRYPTO_strings
24 | # define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings
25 | # undef OCSP_crlID_new
26 | # define OCSP_crlID_new OCSP_crlID2_new
27 |
28 | # undef d2i_ECPARAMETERS
29 | # define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS
30 | # undef i2d_ECPARAMETERS
31 | # define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS
32 | # undef d2i_ECPKPARAMETERS
33 | # define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS
34 | # undef i2d_ECPKPARAMETERS
35 | # define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS
36 |
37 | # endif
38 |
39 | #endif /* ! defined HEADER_VMS_IDHACKS_H */
40 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/thread.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
3 | * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_THREAD_H
12 | # define OPENSSL_THREAD_H
13 |
14 | # define OSSL_THREAD_SUPPORT_FLAG_THREAD_POOL (1U<<0)
15 | # define OSSL_THREAD_SUPPORT_FLAG_DEFAULT_SPAWN (1U<<1)
16 |
17 | # include
18 |
19 | # ifdef __cplusplus
20 | extern "C" {
21 | # endif
22 |
23 | uint32_t OSSL_get_thread_support_flags(void);
24 | int OSSL_set_max_threads(OSSL_LIB_CTX *ctx, uint64_t max_threads);
25 | uint64_t OSSL_get_max_threads(OSSL_LIB_CTX *ctx);
26 |
27 | # ifdef __cplusplus
28 | }
29 | # endif
30 |
31 | #endif /* OPENSSL_THREAD_H */
32 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/txt_db.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_TXT_DB_H
11 | # define OPENSSL_TXT_DB_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_TXT_DB_H
17 | # endif
18 |
19 | # include
20 | # include
21 | # include
22 | # include
23 |
24 | # define DB_ERROR_OK 0
25 | # define DB_ERROR_MALLOC 1
26 | # define DB_ERROR_INDEX_CLASH 2
27 | # define DB_ERROR_INDEX_OUT_OF_RANGE 3
28 | # define DB_ERROR_NO_INDEX 4
29 | # define DB_ERROR_INSERT_INDEX_CLASH 5
30 | # define DB_ERROR_WRONG_NUM_FIELDS 6
31 |
32 | #ifdef __cplusplus
33 | extern "C" {
34 | #endif
35 |
36 | typedef OPENSSL_STRING *OPENSSL_PSTRING;
37 | DEFINE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING)
38 |
39 | typedef struct txt_db_st {
40 | int num_fields;
41 | STACK_OF(OPENSSL_PSTRING) *data;
42 | LHASH_OF(OPENSSL_STRING) **index;
43 | int (**qual) (OPENSSL_STRING *);
44 | long error;
45 | long arg1;
46 | long arg2;
47 | OPENSSL_STRING *arg_row;
48 | } TXT_DB;
49 |
50 | TXT_DB *TXT_DB_read(BIO *in, int num);
51 | long TXT_DB_write(BIO *out, TXT_DB *db);
52 | int TXT_DB_create_index(TXT_DB *db, int field, int (*qual) (OPENSSL_STRING *),
53 | OPENSSL_LH_HASHFUNC hash, OPENSSL_LH_COMPFUNC cmp);
54 | void TXT_DB_free(TXT_DB *db);
55 | OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx,
56 | OPENSSL_STRING *value);
57 | int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value);
58 |
59 | #ifdef __cplusplus
60 | }
61 | #endif
62 |
63 | #endif
64 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/uierr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Generated by util/mkerr.pl DO NOT EDIT
3 | * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
4 | *
5 | * Licensed under the Apache License 2.0 (the "License"). You may not use
6 | * this file except in compliance with the License. You can obtain a copy
7 | * in the file LICENSE in the source distribution or at
8 | * https://www.openssl.org/source/license.html
9 | */
10 |
11 | #ifndef OPENSSL_UIERR_H
12 | # define OPENSSL_UIERR_H
13 | # pragma once
14 |
15 | # include
16 | # include
17 | # include
18 |
19 |
20 |
21 | /*
22 | * UI reason codes.
23 | */
24 | # define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104
25 | # define UI_R_INDEX_TOO_LARGE 102
26 | # define UI_R_INDEX_TOO_SMALL 103
27 | # define UI_R_NO_RESULT_BUFFER 105
28 | # define UI_R_PROCESSING_ERROR 107
29 | # define UI_R_RESULT_TOO_LARGE 100
30 | # define UI_R_RESULT_TOO_SMALL 101
31 | # define UI_R_SYSASSIGN_ERROR 109
32 | # define UI_R_SYSDASSGN_ERROR 110
33 | # define UI_R_SYSQIOW_ERROR 111
34 | # define UI_R_UNKNOWN_CONTROL_COMMAND 106
35 | # define UI_R_UNKNOWN_TTYGET_ERRNO_VALUE 108
36 | # define UI_R_USER_DATA_DUPLICATION_UNSUPPORTED 112
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/openssl/whrlpool.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2005-2020 The OpenSSL Project Authors. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License 2.0 (the "License"). You may not use
5 | * this file except in compliance with the License. You can obtain a copy
6 | * in the file LICENSE in the source distribution or at
7 | * https://www.openssl.org/source/license.html
8 | */
9 |
10 | #ifndef OPENSSL_WHRLPOOL_H
11 | # define OPENSSL_WHRLPOOL_H
12 | # pragma once
13 |
14 | # include
15 | # ifndef OPENSSL_NO_DEPRECATED_3_0
16 | # define HEADER_WHRLPOOL_H
17 | # endif
18 |
19 | # include
20 |
21 | # ifndef OPENSSL_NO_WHIRLPOOL
22 | # include
23 | # include
24 | # ifdef __cplusplus
25 | extern "C" {
26 | # endif
27 |
28 | # define WHIRLPOOL_DIGEST_LENGTH (512/8)
29 |
30 | # if !defined(OPENSSL_NO_DEPRECATED_3_0)
31 |
32 | # define WHIRLPOOL_BBLOCK 512
33 | # define WHIRLPOOL_COUNTER (256/8)
34 |
35 | typedef struct {
36 | union {
37 | unsigned char c[WHIRLPOOL_DIGEST_LENGTH];
38 | /* double q is here to ensure 64-bit alignment */
39 | double q[WHIRLPOOL_DIGEST_LENGTH / sizeof(double)];
40 | } H;
41 | unsigned char data[WHIRLPOOL_BBLOCK / 8];
42 | unsigned int bitoff;
43 | size_t bitlen[WHIRLPOOL_COUNTER / sizeof(size_t)];
44 | } WHIRLPOOL_CTX;
45 | # endif
46 | # ifndef OPENSSL_NO_DEPRECATED_3_0
47 | OSSL_DEPRECATEDIN_3_0 int WHIRLPOOL_Init(WHIRLPOOL_CTX *c);
48 | OSSL_DEPRECATEDIN_3_0 int WHIRLPOOL_Update(WHIRLPOOL_CTX *c,
49 | const void *inp, size_t bytes);
50 | OSSL_DEPRECATEDIN_3_0 void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c,
51 | const void *inp, size_t bits);
52 | OSSL_DEPRECATEDIN_3_0 int WHIRLPOOL_Final(unsigned char *md, WHIRLPOOL_CTX *c);
53 | OSSL_DEPRECATEDIN_3_0 unsigned char *WHIRLPOOL(const void *inp, size_t bytes,
54 | unsigned char *md);
55 | # endif
56 |
57 | # ifdef __cplusplus
58 | }
59 | # endif
60 | # endif
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/app/src/main/cpp/nothing.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/cpp/nothing.c
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/BootReceiver.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.content.BroadcastReceiver
4 | import android.content.Context
5 | import android.content.Intent
6 |
7 | class BootReceiver : BroadcastReceiver() {
8 |
9 | override fun onReceive(context: Context, intent: Intent) {
10 | if (SP.bootStartup) {
11 | context.startActivity(
12 | Intent(context, MainActivity::class.java)
13 | .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
14 | )
15 | }
16 | }
17 |
18 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/CardPresenter.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.content.Context
4 | import android.graphics.Color
5 | import android.view.ContextThemeWrapper
6 | import android.view.ViewGroup
7 | import android.widget.ImageView
8 | import androidx.leanback.widget.ImageCardView
9 | import androidx.leanback.widget.Presenter
10 | import com.bumptech.glide.Glide
11 | import com.lizongying.mytv.models.TVViewModel
12 |
13 | class CardPresenter(
14 | private val context: Context,
15 | ) : Presenter() {
16 |
17 | override fun onCreateViewHolder(parent: ViewGroup): ViewHolder {
18 | val cardView = object :
19 | ImageCardView(ContextThemeWrapper(parent.context, R.style.CustomImageCardTheme)) {}
20 |
21 | cardView.isFocusable = true
22 | cardView.isFocusableInTouchMode = true
23 | return ViewHolder(cardView)
24 | }
25 |
26 | override fun onBindViewHolder(viewHolder: ViewHolder, item: Any?) {
27 | val tvViewModel = item as TVViewModel
28 | val cardView = viewHolder.view as ImageCardView
29 |
30 | cardView.titleText = tvViewModel.getTV().title
31 | cardView.setMainImageDimensions(CARD_WIDTH, CARD_HEIGHT)
32 | cardView.tag = tvViewModel.videoUrl.value
33 |
34 | cardView.mainImageView?.let {
35 | Glide.with(viewHolder.view.context)
36 | .load(tvViewModel.getTV().logo)
37 | .centerInside()
38 | .into(it)
39 | }
40 |
41 | cardView.setBackgroundColor(Color.WHITE)
42 | cardView.setMainImageScaleType(ImageView.ScaleType.CENTER_INSIDE)
43 |
44 | // cardView.setOnFocusChangeListener { v, hasFocus ->
45 | // run {
46 | // if (hasFocus) {
47 | // if (v != null) {
48 | // (v as ImageCardView).setInfoAreaBackgroundColor(context.resources.getColor(R.color.focus))
49 | // }
50 | // } else {
51 | // if (v != null) {
52 | // (v as ImageCardView).setInfoAreaBackgroundColor(context.resources.getColor(R.color.ic_launcher_background))
53 | // }
54 | // }
55 | // }
56 | // }
57 |
58 | val epg = tvViewModel.epg.value?.filter { it.beginTime < Utils.getDateTimestamp() }
59 | if (!epg.isNullOrEmpty()) {
60 | cardView.contentText = epg.last().title
61 | } else {
62 | cardView.contentText = ""
63 | }
64 | }
65 |
66 | override fun onUnbindViewHolder(viewHolder: ViewHolder) {
67 | val cardView = viewHolder.view as ImageCardView
68 | cardView.mainImage = null
69 | }
70 |
71 | companion object {
72 | private const val TAG = "CardPresenter"
73 | private const val CARD_WIDTH = 300
74 | private const val CARD_HEIGHT = 101
75 | }
76 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/ConfirmationFragment.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.app.AlertDialog
4 | import android.app.Dialog
5 | import android.os.Bundle
6 | import androidx.fragment.app.DialogFragment
7 |
8 | class ConfirmationFragment(
9 | private val listener: ConfirmationListener,
10 | private val message: String
11 | ) : DialogFragment() {
12 |
13 | override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
14 | return activity?.let {
15 | val builder = AlertDialog.Builder(it)
16 | builder.setTitle("确定更新吗?")
17 | .setMessage(message)
18 | .setPositiveButton(
19 | "确定"
20 | ) { _, _ ->
21 | listener.onConfirm()
22 | }
23 | .setNegativeButton(
24 | "取消"
25 | ) { _, _ ->
26 | listener.onCancel()
27 | }
28 | builder.create()
29 | } ?: throw IllegalStateException("Activity cannot be null")
30 | }
31 |
32 | interface ConfirmationListener {
33 | fun onConfirm()
34 | fun onCancel()
35 | }
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/Encryptor.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.content.Context
4 |
5 | class Encryptor {
6 | external fun init(context: Context)
7 |
8 | external fun encrypt(t: String, e: String, r: String, n: String, i: String): String
9 |
10 | external fun hash(data: ByteArray): ByteArray?
11 |
12 | external fun hash2(data: ByteArray): ByteArray?
13 |
14 | companion object {
15 | init {
16 | System.loadLibrary("native")
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/ErrorFragment.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.view.View
4 | import androidx.core.content.ContextCompat
5 | import androidx.leanback.app.ErrorSupportFragment
6 |
7 | class ErrorFragment : ErrorSupportFragment() {
8 |
9 | internal fun setErrorContent(message: String) {
10 | imageDrawable =
11 | ContextCompat.getDrawable(context!!, androidx.leanback.R.drawable.lb_ic_sad_cloud)
12 | this.message = message
13 | setDefaultBackground(TRANSLUCENT)
14 | backgroundDrawable = ContextCompat.getDrawable(
15 | context!!,
16 | R.color.black
17 | )
18 |
19 | buttonText = resources.getString(R.string.dismiss_error)
20 | buttonClickListener = View.OnClickListener {
21 | fragmentManager!!.beginTransaction().remove(this@ErrorFragment).commit()
22 | }
23 | }
24 |
25 | companion object {
26 | private const val TRANSLUCENT = false
27 | }
28 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/InfoFragment.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.os.Bundle
4 | import android.os.Handler
5 | import android.util.Log
6 | import android.view.LayoutInflater
7 | import android.view.View
8 | import android.view.ViewGroup
9 | import androidx.fragment.app.Fragment
10 | import com.bumptech.glide.Glide
11 | import com.lizongying.mytv.databinding.InfoBinding
12 | import com.lizongying.mytv.models.TVViewModel
13 |
14 | class InfoFragment : Fragment() {
15 | private var _binding: InfoBinding? = null
16 | private val binding get() = _binding!!
17 |
18 | private val handler = Handler()
19 | private val delay: Long = 3000
20 |
21 | override fun onCreateView(
22 | inflater: LayoutInflater, container: ViewGroup?,
23 | savedInstanceState: Bundle?
24 | ): View {
25 | _binding = InfoBinding.inflate(inflater, container, false)
26 | _binding!!.root.visibility = View.GONE
27 | (activity as MainActivity).fragmentReady("InfoFragment")
28 | return binding.root
29 | }
30 |
31 | fun show(tvViewModel: TVViewModel) {
32 | binding.textView.text = tvViewModel.getTV().title
33 |
34 | Glide.with(this)
35 | .load(tvViewModel.getTV().logo)
36 | .into(binding.infoLogo)
37 |
38 | Log.i(TAG, "${tvViewModel.getTV().title} ${tvViewModel.epg.value}")
39 | val epg = tvViewModel.epg.value?.filter { it.beginTime < Utils.getDateTimestamp() }
40 | if (!epg.isNullOrEmpty()) {
41 | binding.infoDesc.text = epg.last().title
42 | } else {
43 | binding.infoDesc.text = ""
44 | }
45 |
46 | handler.removeCallbacks(removeRunnable)
47 | view?.visibility = View.VISIBLE
48 | handler.postDelayed(removeRunnable, delay)
49 | }
50 |
51 | override fun onResume() {
52 | super.onResume()
53 | handler.postDelayed(removeRunnable, delay)
54 | }
55 |
56 | override fun onPause() {
57 | super.onPause()
58 | handler.removeCallbacks(removeRunnable)
59 | }
60 |
61 | private val removeRunnable = Runnable {
62 | view?.visibility = View.GONE
63 | }
64 |
65 | override fun onDestroyView() {
66 | super.onDestroyView()
67 | _binding = null
68 | }
69 |
70 | companion object {
71 | private const val TAG = "InfoFragment"
72 | }
73 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/InitializerProvider.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.content.ContentProvider
4 | import android.content.ContentValues
5 | import android.net.Uri
6 |
7 | internal class InitializerProvider : ContentProvider() {
8 |
9 | // Happens before Application#onCreate.It's fine to init something here
10 | override fun onCreate(): Boolean {
11 | SP.init(context!!)
12 | return true
13 | }
14 |
15 | override fun query(
16 | uri: Uri,
17 | projection: Array?,
18 | selection: String?,
19 | selectionArgs: Array?,
20 | sortOrder: String?,
21 | ) = unsupported()
22 |
23 | override fun getType(uri: Uri) = unsupported()
24 |
25 | override fun insert(uri: Uri, values: ContentValues?) = unsupported()
26 |
27 | override fun delete(uri: Uri, selection: String?, selectionArgs: Array?) =
28 | unsupported()
29 |
30 | override fun update(
31 | uri: Uri,
32 | values: ContentValues?,
33 | selection: String?,
34 | selectionArgs: Array?,
35 | ) = unsupported()
36 |
37 | private fun unsupported(errorMessage: String? = null): Nothing =
38 | throw UnsupportedOperationException(errorMessage)
39 | }
40 |
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/MyApplication.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.app.Application
4 | import android.content.Context
5 | import android.util.DisplayMetrics
6 | import android.view.WindowManager
7 |
8 | class MyApplication : Application() {
9 | private lateinit var displayMetrics: DisplayMetrics
10 |
11 | override fun onCreate() {
12 | super.onCreate()
13 |
14 | displayMetrics = DisplayMetrics()
15 | val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager
16 | // windowManager.defaultDisplay.getRealMetrics(displayMetrics)
17 | windowManager.defaultDisplay.getMetrics(displayMetrics)
18 | }
19 |
20 | fun getDisplayMetrics(): DisplayMetrics {
21 | return displayMetrics
22 | }
23 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/NetworkChangeReceiver.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.content.BroadcastReceiver
4 | import android.content.Context
5 | import android.content.Intent
6 | import android.net.ConnectivityManager
7 |
8 | class NetworkChangeReceiver : BroadcastReceiver() {
9 | override fun onReceive(context: Context?, intent: Intent?) {
10 | if (intent?.action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
11 | val isConnected = context?.isNetworkConnected
12 | if (isConnected == true) {
13 | }
14 | }
15 | }
16 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/SP.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import android.content.Context
4 | import android.content.SharedPreferences
5 |
6 | object SP {
7 | // Name of the sp file TODO Should use a meaningful name and do migrations
8 | private const val SP_FILE_NAME = "MainActivity"
9 |
10 | // If Change channel with up and down in reversed order or not
11 | private const val KEY_CHANNEL_REVERSAL = "channel_reversal"
12 |
13 | // If use channel num to select channel or not
14 | private const val KEY_CHANNEL_NUM = "channel_num"
15 |
16 | private const val KEY_TIME = "time"
17 |
18 | // If start app on device boot or not
19 | private const val KEY_BOOT_STARTUP = "boot_startup"
20 |
21 | private const val KEY_GRID = "grid"
22 |
23 | // Position in list of the selected channel item
24 | private const val KEY_POSITION = "position"
25 |
26 | // guid
27 | private const val KEY_GUID = "guid"
28 |
29 | private lateinit var sp: SharedPreferences
30 |
31 | /**
32 | * The method must be invoked as early as possible(At least before using the keys)
33 | */
34 | fun init(context: Context) {
35 | sp = context.getSharedPreferences(SP_FILE_NAME, Context.MODE_PRIVATE)
36 | }
37 |
38 | var channelReversal: Boolean
39 | get() = sp.getBoolean(KEY_CHANNEL_REVERSAL, false)
40 | set(value) = sp.edit().putBoolean(KEY_CHANNEL_REVERSAL, value).apply()
41 |
42 | var channelNum: Boolean
43 | get() = sp.getBoolean(KEY_CHANNEL_NUM, true)
44 | set(value) = sp.edit().putBoolean(KEY_CHANNEL_NUM, value).apply()
45 |
46 | var time: Boolean
47 | get() = sp.getBoolean(KEY_TIME, true)
48 | set(value) = sp.edit().putBoolean(KEY_TIME, value).apply()
49 |
50 | var bootStartup: Boolean
51 | get() = sp.getBoolean(KEY_BOOT_STARTUP, false)
52 | set(value) = sp.edit().putBoolean(KEY_BOOT_STARTUP, value).apply()
53 |
54 | var grid: Boolean
55 | get() = sp.getBoolean(KEY_GRID, false)
56 | set(value) = sp.edit().putBoolean(KEY_GRID, value).apply()
57 |
58 | var itemPosition: Int
59 | get() = sp.getInt(KEY_POSITION, 0)
60 | set(value) = sp.edit().putInt(KEY_POSITION, value).apply()
61 |
62 | var guid: String
63 | get() = sp.getString(KEY_GUID, "") ?: ""
64 | set(value) = sp.edit().putString(KEY_GUID, value).apply()
65 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/TV.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv
2 |
3 | import com.lizongying.mytv.models.ProgramType
4 | import java.io.Serializable
5 |
6 | data class TV(
7 | var id: Int = 0,
8 | var title: String,
9 | var alias: String = "",
10 | var videoUrl: List,
11 | var channel: String = "",
12 | var logo: Any = "",
13 | var pid: String = "",
14 | var sid: String = "",
15 | var programType: ProgramType,
16 | var needToken: Boolean = false,
17 | var mustToken: Boolean = false,
18 |
19 | ) : Serializable {
20 |
21 | override fun toString(): String {
22 | return "TV{" +
23 | "id=" + id +
24 | ", title='" + title + '\'' +
25 | ", videoUrl='" + videoUrl + '\'' +
26 | ", logo='" + logo + '\'' +
27 | ", pid='" + pid + '\'' +
28 | ", sid='" + sid + '\'' +
29 | ", programType='" + programType + '\'' +
30 | '}'
31 | }
32 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/Auth.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import android.util.Log
4 | import okhttp3.MediaType
5 | import okhttp3.RequestBody
6 | import okio.BufferedSink
7 | import java.io.IOException
8 |
9 | data class Auth(
10 | val code: Int,
11 | val msg: String,
12 | val data: AuthData,
13 | )
14 |
15 | data class AuthData(
16 | val token: String,
17 | )
18 |
19 | data class AuthRequest(
20 | var data: String,
21 | ) : RequestBody() {
22 | override fun contentType(): MediaType? {
23 | return MediaType.parse("application/x-www-form-urlencoded;charset=UTF-8")
24 | }
25 |
26 | override fun writeTo(sink: BufferedSink) {
27 | try {
28 | sink.writeUtf8(data)
29 | } catch (e: IOException) {
30 | Log.e(TAG, "$e")
31 | }
32 | }
33 |
34 | companion object {
35 | private const val TAG = "AuthRequest"
36 | }
37 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/DnsCache.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import okhttp3.Dns
4 | import java.net.InetAddress
5 | import java.util.concurrent.ConcurrentHashMap
6 |
7 | class DnsCache : Dns {
8 | private val dnsCache: MutableMap> = ConcurrentHashMap()
9 |
10 | override fun lookup(hostname: String): List {
11 | dnsCache[hostname]?.let {
12 | return it
13 | }
14 |
15 | val addresses = InetAddress.getAllByName(hostname).toList()
16 |
17 | if (addresses.isNotEmpty()) {
18 | dnsCache[hostname] = addresses
19 | }
20 |
21 | return addresses
22 | }
23 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/FAuth.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 |
4 | data class FAuth(
5 | val data: Data,
6 | ) {
7 | data class Data(
8 | val live_url: String,
9 | )
10 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/FAuthService.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import retrofit2.Call
4 | import retrofit2.http.GET
5 | import retrofit2.http.Header
6 | import retrofit2.http.Path
7 | import retrofit2.http.Query
8 |
9 | interface FAuthService {
10 | @GET("api/v3/hub/live/auth-url")
11 | fun getAuth(
12 | @Header("token") token: String,
13 | @Query("live_id") live_id: String = "",
14 | @Query("live_qa") live_qa: String = "",
15 | ): Call
16 |
17 | @GET("api/v3/live/{liveId}/resources")
18 | fun getEPG(
19 | @Path("liveId") liveId: String,
20 | @Query("date") date: String,
21 | @Query("dir") dir: String = "asc"
22 | ): Call>
23 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/FEPG.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 |
4 | data class FEPG(
5 | val title: String,
6 | val event_time: String,
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/Info.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | data class Info(
4 | val code: Int?,
5 | val msg: String?,
6 | val data: Data,
7 | ) {
8 | data class Data(
9 | val token: String,
10 | )
11 | }
12 |
13 | data class Token(
14 | val e: Int?,
15 | val t: String?,
16 | )
17 |
18 | data class InfoV2(
19 | val o: String?,
20 | val f: String?,
21 | val t: String?,
22 | val e: Int?,
23 | val c: Int?,
24 | )
25 |
26 | data class ReleaseV2(
27 | val n: String?,
28 | val u: String?,
29 | val d: String?,
30 | val c: Int?,
31 | )
32 |
33 | data class TimeResponse(
34 | val data: Time
35 | ) {
36 | data class Time(
37 | val t: String
38 | )
39 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/KvcollectRequest.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | data class KvcollectRequest(
4 | val BossId: Int = 2727,
5 | val Pwd: Int = 1424084450,
6 | val cdn: String = "waibao",
7 | val cmd: Int = 263,
8 | val defn: String = "fhd",
9 | val downspeed: Double = 10.0,
10 | val durl: String = "", //
11 | val errcode: String = "",
12 | val fact1: String = "ysp_pc_live_b",
13 | val firstreport: Int = 0,
14 | val fplayerver: String = "100",
15 | val ftime: String = "", //
16 | val geturltime: Int = 0,
17 | val guid: String = "", //
18 | val hc_openid: String = "",
19 | val hh_ua: String = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
20 | val live_type: String = "",
21 | val livepid: String = "", //
22 | val login_type: String = "",
23 | val open_id: String = "",
24 | val openid: String = "",
25 | val platform: String = "5910204",
26 | val playno: String = "", //
27 | val prd: Int = 60000,
28 | val prog: String = "", //
29 | val rand_str: String = "", //
30 | val sRef: String = "",
31 | val sUrl: String = "", //
32 | val sdtfrom: String = "ysp_pc_01",
33 | val seq: Int = 9, //
34 | var signature: String = "",
35 | val url: String = "", //
36 | val viewid: String = "", //
37 | val _dc: Double = 0.0,
38 | )
39 |
40 |
41 | data class KvcollectRequest2(
42 | val BossId: Int = 2727,
43 | val Pwd: Int = 1424084450,
44 | val cdn: String = "waibao",
45 | val cmd: Int = 263,
46 | val defn: String = "fhd",
47 | val downspeed: String = "10",
48 | val durl: String = "", //
49 | val errcode: String = "",
50 | val fact1: String = "ysp_pc_live_b",
51 | val firstreport: Int = 0,
52 | val fplayerver: String = "100",
53 | val ftime: String = "", //
54 | val geturltime: Int = 0,
55 | val guid: String = "", //
56 | val hc_openid: String = "",
57 | val hh_ua: String = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
58 | val live_type: String = "",
59 | val livepid: String = "", //
60 | val login_type: String = "",
61 | val open_id: String = "",
62 | val openid: String = "",
63 | val platform: String = "5910204",
64 | val playno: String = "", //
65 | val prd: Int = 60000,
66 | val prog: String = "", //
67 | val rand_str: String = "", //
68 | val sRef: String = "",
69 | val sUrl: String = "", //
70 | val sdtfrom: String = "ysp_pc_01",
71 | val seq: Int = 9, //
72 | var signature: String = "",
73 | val url: String = "", //
74 | val viewid: String = "", //
75 | val _dc: Double = 0.0,
76 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/LiveInfo.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import android.util.Log
4 | import okhttp3.MediaType
5 | import okhttp3.RequestBody
6 | import okio.BufferedSink
7 | import java.io.IOException
8 |
9 | data class LiveInfo(
10 | val code: Int,
11 | val msg: String,
12 | val data: LiveInfoData,
13 | )
14 |
15 | data class LiveInfoData(
16 | val extended_param: String,
17 | val chanll: String,
18 | val playurl: String,
19 | val errinfo: String,
20 | )
21 |
22 | data class LiveInfoRequest(
23 | var data: String,
24 | ) : RequestBody() {
25 | override fun contentType(): MediaType? {
26 | return MediaType.parse("application/json;charset=UTF-8")
27 | }
28 |
29 | override fun writeTo(sink: BufferedSink) {
30 | try {
31 | sink.writeUtf8(data)
32 | } catch (e: IOException) {
33 | Log.e(TAG, "$e")
34 | }
35 | }
36 |
37 | companion object {
38 | private const val TAG = "LiveInfoRequest"
39 | }
40 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/ReleaseService.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import retrofit2.Call
4 | import retrofit2.http.GET
5 | import retrofit2.http.Path
6 |
7 | interface ReleaseService {
8 | @GET("my-tv/v2/release/{name}")
9 | fun getRelease(
10 | @Path("name") date: String = "1",
11 | ): Call
12 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/Tls12SocketFactory.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import java.io.IOException
4 | import java.net.InetAddress
5 | import java.net.Socket
6 | import java.net.UnknownHostException
7 | import javax.net.ssl.SSLSocket
8 | import javax.net.ssl.SSLSocketFactory
9 |
10 |
11 | /**
12 | * Enables TLS v1.2 when creating SSLSockets.
13 | *
14 | *
15 | * For some reason, android supports TLS v1.2 from API 16, but enables it by
16 | * default only from API 20.
17 | * @link https://developer.android.com/reference/javax/net/ssl/SSLSocket.html
18 | * @see SSLSocketFactory
19 | */
20 | class Tls12SocketFactory(val delegate: SSLSocketFactory) : SSLSocketFactory() {
21 | override fun getDefaultCipherSuites(): Array {
22 | return delegate.defaultCipherSuites
23 | }
24 |
25 | override fun getSupportedCipherSuites(): Array {
26 | return delegate.supportedCipherSuites
27 | }
28 |
29 | @Throws(IOException::class)
30 | override fun createSocket(s: Socket, host: String, port: Int, autoClose: Boolean): Socket {
31 | return patch(delegate.createSocket(s, host, port, autoClose))
32 | }
33 |
34 | @Throws(IOException::class, UnknownHostException::class)
35 | override fun createSocket(host: String, port: Int): Socket {
36 | return patch(delegate.createSocket(host, port))
37 | }
38 |
39 | @Throws(IOException::class, UnknownHostException::class)
40 | override fun createSocket(
41 | host: String,
42 | port: Int,
43 | localHost: InetAddress,
44 | localPort: Int
45 | ): Socket {
46 | return patch(delegate.createSocket(host, port, localHost, localPort))
47 | }
48 |
49 | @Throws(IOException::class)
50 | override fun createSocket(host: InetAddress, port: Int): Socket {
51 | return patch(delegate.createSocket(host, port))
52 | }
53 |
54 | @Throws(IOException::class)
55 | override fun createSocket(
56 | address: InetAddress,
57 | port: Int,
58 | localAddress: InetAddress,
59 | localPort: Int
60 | ): Socket {
61 | return patch(delegate.createSocket(address, port, localAddress, localPort))
62 | }
63 |
64 | private fun patch(s: Socket): Socket {
65 | if (s is SSLSocket) {
66 | s.enabledProtocols = TLS_V12_ONLY
67 | }
68 | return s
69 | }
70 |
71 | companion object {
72 | private val TLS_V12_ONLY = arrayOf("TLSv1.2")
73 | }
74 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/YSPApiService.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import retrofit2.Call
4 | import retrofit2.http.Body
5 | import retrofit2.http.Header
6 | import retrofit2.http.Headers
7 | import retrofit2.http.POST
8 |
9 |
10 | interface YSPApiService {
11 | @POST("v1/player/get_live_info")
12 | @Headers(
13 | "content-type: application/json;charset=UTF-8",
14 | "referer: https://www.yangshipin.cn/",
15 | "yspappid: 519748109",
16 | "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
17 | )
18 | fun getLiveInfo(
19 | @Header("cookie") cookie: String,
20 | @Header("Yspplayertoken") token: String,
21 | @Body request: LiveInfoRequest,
22 | ): Call
23 |
24 | @POST("v1/player/auth")
25 | @Headers(
26 | "content-type: application/x-www-form-urlencoded;charset=UTF-8",
27 | "referer: https://www.yangshipin.cn/",
28 | "yspappid: 519748109",
29 | "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
30 | )
31 | fun getAuth(
32 | @Header("cookie") cookie: String,
33 | @Body request: AuthRequest,
34 | ): Call
35 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/YSPJceService.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import com.tencent.videolite.android.datamodel.cctvjce.TVTimeShiftProgramRequest
4 | import com.tencent.videolite.android.datamodel.cctvjce.TVTimeShiftProgramResponse
5 | import retrofit2.Call
6 | import retrofit2.http.Body
7 | import retrofit2.http.Headers
8 | import retrofit2.http.POST
9 |
10 | interface YSPJceService {
11 | @POST("/")
12 | @Headers(
13 | "content-type: application/octet-stream",
14 | "user-agent: CCTVVideo/2.9.0 (iPad; iOS 17.2; Scale/2.00)",
15 | )
16 | fun getProgram(
17 | @Body body: TVTimeShiftProgramRequest
18 | ): Call
19 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/YSPProtoService.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import com.lizongying.mytv.proto.Ysp.cn.yangshipin.oms.common.proto.pageModel
4 | import com.lizongying.mytv.proto.Ysp.cn.yangshipin.omstv.common.proto.epgProgramModel
5 | import retrofit2.Call
6 | import retrofit2.http.GET
7 | import retrofit2.http.Headers
8 | import retrofit2.http.Path
9 |
10 | interface YSPProtoService {
11 | @GET("api/oms/pc/page/PG00000004")
12 | @Headers(
13 | "yspappid: 519748109",
14 | "platform: 109",
15 | )
16 | fun getPage(
17 | ): Call
18 |
19 | @GET("api/yspepg/program/{livepid}/{date}")
20 | @Headers(
21 | "yspappid: 519748109",
22 | "platform: 109",
23 | )
24 | fun getProgram(
25 | @Path("livepid") livepid: String,
26 | @Path("date") date: String,
27 | ): Call
28 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/api/YSPTokenService.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.api
2 |
3 | import retrofit2.Call
4 | import retrofit2.http.GET
5 | import retrofit2.http.Query
6 |
7 |
8 | interface YSPTokenService {
9 | @GET("my-tv/v1/info")
10 | fun getInfo(
11 | @Query("token") token: String = "",
12 | ): Call
13 |
14 | @GET("my-tv/v2/token")
15 | fun getToken(
16 | @Query("token") token: String = "",
17 | ): Call
18 |
19 | @GET("my-tv/v2/info")
20 | fun getInfoV2(
21 | ): Call
22 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/jce/JceConverterFactory.java:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.jce;
2 |
3 | import androidx.annotation.NonNull;
4 |
5 | import java.lang.annotation.Annotation;
6 | import java.lang.reflect.Type;
7 |
8 | import okhttp3.RequestBody;
9 | import okhttp3.ResponseBody;
10 | import retrofit2.Converter;
11 | import retrofit2.Retrofit;
12 |
13 | public class JceConverterFactory extends Converter.Factory {
14 | public static JceConverterFactory create() {
15 | return new JceConverterFactory();
16 | }
17 |
18 | private JceConverterFactory() {
19 | }
20 |
21 | @Override
22 | public Converter responseBodyConverter(
23 | @NonNull Type type,
24 | @NonNull Annotation[] annotations,
25 | @NonNull Retrofit retrofit) {
26 | if (!(type instanceof Class>)) {
27 | return null;
28 | }
29 |
30 | return new JceResponseBodyConverter<>();
31 | }
32 |
33 | @Override
34 | public Converter, RequestBody> requestBodyConverter(
35 | @NonNull Type type,
36 | @NonNull Annotation[] parameterAnnotations,
37 | @NonNull Annotation[] methodAnnotations,
38 | @NonNull Retrofit retrofit) {
39 | if (!(type instanceof Class>)) {
40 | return null;
41 | }
42 |
43 | return new JceRequestBodyConverter<>();
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/jce/JceRequestBodyConverter.java:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.jce;
2 |
3 | import androidx.annotation.NonNull;
4 |
5 | import com.qq.taf.jce.JceOutputStream;
6 | import com.qq.taf.jce.JceStruct;
7 | import com.tencent.videolite.android.datamodel.cctvjce.BusinessExtent;
8 | import com.tencent.videolite.android.datamodel.cctvjce.BusinessHead;
9 | import com.tencent.videolite.android.datamodel.cctvjce.QUA;
10 | import com.tencent.videolite.android.datamodel.cctvjce.RequestCommand;
11 | import com.tencent.videolite.android.datamodel.cctvjce.RequestHead;
12 |
13 | import okhttp3.MediaType;
14 | import okhttp3.RequestBody;
15 | import retrofit2.Converter;
16 |
17 | public class JceRequestBodyConverter implements Converter {
18 | private static final MediaType MEDIA_TYPE = MediaType.get("application/octet-stream");
19 |
20 | @Override
21 | public RequestBody convert(@NonNull T value) {
22 | BusinessHead businessHead = new BusinessHead();
23 | RequestHead requestHead = new RequestHead();
24 | requestHead.appId = "1200013";
25 | requestHead.busiExtent = new BusinessExtent(1);
26 | requestHead.cmdId = 24897;
27 | requestHead.contentType = 0;
28 | requestHead.guid = "093e7e5989684fd986c44f07542d8dc8";
29 | requestHead.isSupportDolby = 0;
30 | requestHead.oemPlatform = 0;
31 | QUA qua = new QUA();
32 | qua.appSubVersion = "";
33 | qua.areaMode = 1;
34 | qua.channelId = "50001";
35 | qua.clientKey = "A41CD6B6-6A56-46DC-9AE0-4ECF2E9118DF";
36 | qua.countryCode = 0;
37 | qua.densityDpi = 0;
38 | qua.deviceId = "5EE46760-11B1-5FE7-949A-FF232DAE1823";
39 | qua.deviceModel = "iPad Pro (12.9 inch) 3G";
40 | qua.deviceType = 1;
41 | qua.extent = "";
42 | qua.idfa = "";
43 | qua.imei = "";
44 | qua.langCode = 0;
45 | qua.mac = "";
46 | qua.markerId = 1;
47 | qua.mobileISP = 0;
48 | qua.networkMode = 0;
49 | qua.omgId = "78d6ac7572afb5461e9a590f089f893d2abc0010119007";
50 | qua.platform = 5;
51 | qua.platformVersion = "sysver=ios17.2&device=iPad&modify_time=&lang=zh_CN";
52 | qua.qimei = "1c0fc6ed8a53584ae722b915200014317601";
53 | qua.screenHeight = 2360;
54 | qua.screenWidth = 1640;
55 | qua.serverid = "";
56 | qua.v4ip = "";
57 | qua.versionCode = "23399";
58 | qua.versionName = "2.9.0.23399";
59 | requestHead.qua = qua;
60 | requestHead.requestId = 1;
61 |
62 | JceOutputStream jceOutputStream = new JceOutputStream();
63 | jceOutputStream.setServerEncoding("utf-8");
64 | value.writeTo(jceOutputStream);
65 | byte[] bytes = jceOutputStream.toByteArray();
66 | RequestCommand requestCommand = new RequestCommand(requestHead, bytes, businessHead);
67 | bytes = b.b(requestCommand, requestHead.requestId);
68 | return RequestBody.create(MEDIA_TYPE, bytes);
69 | }
70 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/jce/JceResponseBodyConverter.java:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.jce;
2 |
3 | import androidx.annotation.NonNull;
4 |
5 | import com.qq.taf.jce.JceInputStream;
6 | import com.qq.taf.jce.JceStruct;
7 | import com.tencent.videolite.android.datamodel.cctvjce.QQVideoJCECmd;
8 | import com.tencent.videolite.android.datamodel.cctvjce.ResponseCommand;
9 |
10 | import java.io.IOException;
11 |
12 | import okhttp3.ResponseBody;
13 | import retrofit2.Converter;
14 |
15 | public class JceResponseBodyConverter implements Converter {
16 |
17 | JceResponseBodyConverter() {
18 | }
19 |
20 | @Override
21 | public T convert(@NonNull ResponseBody value) throws IOException {
22 | return parseFrom(value.bytes());
23 | }
24 |
25 | public T parseFrom(byte[] aa) {
26 | byte[] bArr;
27 |
28 | int[] iArr = new int[1];
29 | try {
30 | bArr = b.a(aa, iArr);
31 | } catch (Throwable unused) {
32 | bArr = null;
33 | }
34 |
35 | ResponseCommand responseCommand = a.g(bArr, ResponseCommand.class);
36 | if (responseCommand == null) {
37 | return null;
38 | }
39 |
40 | QQVideoJCECmd convert = QQVideoJCECmd.convert(responseCommand.head.cmdId);
41 | assert convert != null;
42 |
43 | JceInputStream jceInputStream = new JceInputStream(responseCommand.body);
44 | jceInputStream.setServerEncoding("UTF-8");
45 |
46 | JceStruct instance = null;
47 | try {
48 | instance = (JceStruct) Class.forName("com.tencent.videolite.android.datamodel.cctvjce." + convert + "Response").newInstance();
49 | } catch (InstantiationException e) {
50 | e.printStackTrace();
51 | } catch (IllegalAccessException e) {
52 | e.printStackTrace();
53 | } catch (ClassNotFoundException e) {
54 | e.printStackTrace();
55 | }
56 |
57 | if (instance != null) {
58 | instance.readFrom(jceInputStream);
59 | return (T) instance;
60 | } else {
61 | return null;
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/models/EPG.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.models
2 |
3 |
4 | data class EPG(
5 | val title: String,
6 | val beginTime: Int,
7 | )
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/models/ProgramType.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.models
2 |
3 | enum class ProgramType {
4 | Y_PROTO,
5 | Y_JCE,
6 | F,
7 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/models/TVListViewModel.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.models
2 |
3 | import androidx.lifecycle.LiveData
4 | import androidx.lifecycle.MutableLiveData
5 | import androidx.lifecycle.ViewModel
6 |
7 | class TVListViewModel : ViewModel() {
8 |
9 | var maxNum = mutableListOf()
10 |
11 | private val _tvListViewModel = MutableLiveData>()
12 | val tvListViewModel: LiveData>
13 | get() = _tvListViewModel
14 |
15 | private val _itemPosition = MutableLiveData()
16 | val itemPosition: LiveData
17 | get() = _itemPosition
18 |
19 | private val _itemPositionCurrent = MutableLiveData()
20 | val itemPositionCurrent: LiveData
21 | get() = _itemPositionCurrent
22 |
23 | fun addTVViewModel(tvViewModel: TVViewModel) {
24 | if (_tvListViewModel.value == null) {
25 | _tvListViewModel.value = mutableListOf(tvViewModel)
26 | } else {
27 | _tvListViewModel.value?.add(tvViewModel)
28 | }
29 | }
30 |
31 | fun getTVViewModel(id: Int): TVViewModel? {
32 | return _tvListViewModel.value?.get(id)
33 | }
34 |
35 | fun getTVViewModelCurrent(): TVViewModel? {
36 | return _itemPositionCurrent.value?.let { _tvListViewModel.value?.get(it) }
37 | }
38 |
39 | fun setItemPosition(position: Int) {
40 | _itemPosition.value = position
41 | _itemPositionCurrent.value = position
42 | }
43 |
44 | fun setItemPositionCurrent(position: Int) {
45 | _itemPositionCurrent.value = position
46 | }
47 |
48 | fun size(): Int {
49 | if (_tvListViewModel.value == null) {
50 | return 0
51 | }
52 | return _tvListViewModel.value!!.size
53 | }
54 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/proto/YspKt.kt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/java/com/lizongying/mytv/proto/YspKt.kt
--------------------------------------------------------------------------------
/app/src/main/java/com/lizongying/mytv/requests/MyRequest.kt:
--------------------------------------------------------------------------------
1 | package com.lizongying.mytv.requests
2 |
3 | import com.lizongying.mytv.api.ApiClient
4 | import com.lizongying.mytv.api.ReleaseV2
5 | import kotlinx.coroutines.Dispatchers
6 | import kotlinx.coroutines.withContext
7 | import retrofit2.Call
8 | import retrofit2.Callback
9 | import retrofit2.Response
10 | import kotlin.coroutines.resume
11 | import kotlin.coroutines.suspendCoroutine
12 |
13 | class MyRequest {
14 | private var releaseService = ApiClient().releaseService
15 |
16 | suspend fun getRelease(): ReleaseV2? {
17 | return withContext(Dispatchers.IO) {
18 | fetchRelease()
19 | }
20 | }
21 |
22 | private suspend fun fetchRelease(): ReleaseV2? {
23 | return suspendCoroutine { continuation ->
24 | releaseService.getRelease()
25 | .enqueue(object : Callback {
26 | override fun onResponse(call: Call, response: Response) {
27 | if (response.isSuccessful) {
28 | continuation.resume(response.body())
29 | } else {
30 | continuation.resume(null)
31 | }
32 | }
33 |
34 | override fun onFailure(call: Call, t: Throwable) {
35 | continuation.resume(null)
36 | }
37 | })
38 | }
39 | }
40 |
41 | companion object {
42 | private const val TAG = "MyRequest"
43 | }
44 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/qq/taf/jce/HexUtil.java:
--------------------------------------------------------------------------------
1 | package com.qq.taf.jce;
2 |
3 | import java.nio.ByteBuffer;
4 | public class HexUtil {
5 | private static final char[] digits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
6 | public static final byte[] emptybytes = new byte[0];
7 |
8 | public static String byte2HexStr(byte b2) {
9 | char[] cArr = digits;
10 | return new String(new char[]{cArr[((byte) (b2 >>> 4)) & 15], cArr[b2 & 15]});
11 | }
12 |
13 | public static String bytes2HexStr(ByteBuffer byteBuffer) {
14 | ByteBuffer duplicate = byteBuffer.duplicate();
15 | duplicate.flip();
16 | byte[] bArr = new byte[duplicate.limit()];
17 | duplicate.get(bArr);
18 | return bytes2HexStr(bArr);
19 | }
20 |
21 | public static byte char2Byte(char c2) {
22 | int i2;
23 | if (c2 < '0' || c2 > '9') {
24 | char c3 = 'a';
25 | if (c2 < 'a' || c2 > 'f') {
26 | c3 = 'A';
27 | if (c2 < 'A' || c2 > 'F') {
28 | return (byte) 0;
29 | }
30 | }
31 | i2 = (c2 - c3) + 10;
32 | } else {
33 | i2 = c2 - '0';
34 | }
35 | return (byte) i2;
36 | }
37 |
38 | public static byte hexStr2Byte(String str) {
39 | if (str == null || str.length() != 1) {
40 | return (byte) 0;
41 | }
42 | return char2Byte(str.charAt(0));
43 | }
44 |
45 | public static byte[] hexStr2Bytes(String str) {
46 | if (str != null && !str.equals("")) {
47 | int length = str.length() / 2;
48 | byte[] bArr = new byte[length];
49 | for (int i2 = 0; i2 < length; i2++) {
50 | int i3 = i2 * 2;
51 | bArr[i2] = (byte) ((char2Byte(str.charAt(i3)) * 16) + char2Byte(str.charAt(i3 + 1)));
52 | }
53 | return bArr;
54 | }
55 | return emptybytes;
56 | }
57 |
58 | public static String bytes2HexStr(byte[] bArr) {
59 | if (bArr == null || bArr.length == 0) {
60 | return null;
61 | }
62 | char[] cArr = new char[bArr.length * 2];
63 | for (int i2 = 0; i2 < bArr.length; i2++) {
64 | byte b2 = bArr[i2];
65 | int i3 = i2 * 2;
66 | char[] cArr2 = digits;
67 | cArr[i3 + 1] = cArr2[b2 & 15];
68 | cArr[i3 + 0] = cArr2[((byte) (b2 >>> 4)) & 15];
69 | }
70 | return new String(cArr);
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/app/src/main/java/com/qq/taf/jce/JceDecodeException.java:
--------------------------------------------------------------------------------
1 | package com.qq.taf.jce;
2 |
3 | public class JceDecodeException extends RuntimeException {
4 | public JceDecodeException(String str) {
5 | super(str);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/src/main/java/com/qq/taf/jce/JceEncodeException.java:
--------------------------------------------------------------------------------
1 | package com.qq.taf.jce;
2 |
3 | public class JceEncodeException extends RuntimeException {
4 | public JceEncodeException(String str) {
5 | super(str);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/src/main/java/com/qq/taf/jce/JceStruct.java:
--------------------------------------------------------------------------------
1 | package com.qq.taf.jce;
2 |
3 | import java.io.Serializable;
4 |
5 | public abstract class JceStruct implements Serializable {
6 | public static final byte BYTE = 0;
7 | public static final byte DOUBLE = 5;
8 | public static final byte FLOAT = 4;
9 | public static final byte INT = 2;
10 | public static final int JCE_MAX_STRING_LENGTH = 104857600;
11 | public static final byte LIST = 9;
12 | public static final byte LONG = 3;
13 | public static final byte MAP = 8;
14 | public static final byte SHORT = 1;
15 | public static final byte SIMPLE_LIST = 13;
16 | public static final byte STRING1 = 6;
17 | public static final byte STRING4 = 7;
18 | public static final byte STRUCT_BEGIN = 10;
19 | public static final byte STRUCT_END = 11;
20 | public static final byte ZERO_TAG = 12;
21 | private Object tag;
22 |
23 | public static String toDisplaySimpleString(JceStruct jceStruct) {
24 | if (jceStruct == null) {
25 | return null;
26 | }
27 | StringBuilder sb = new StringBuilder();
28 | jceStruct.displaySimple(sb, 0);
29 | return sb.toString();
30 | }
31 |
32 | public boolean containField(String str) {
33 | return false;
34 | }
35 |
36 | public void display(StringBuilder sb, int i2) {
37 | }
38 |
39 | public void displaySimple(StringBuilder sb, int i2) {
40 | }
41 |
42 | public Object getFieldByName(String str) {
43 | return null;
44 | }
45 |
46 | public Object getTag() {
47 | return this.tag;
48 | }
49 |
50 | public JceStruct newInit() {
51 | return null;
52 | }
53 |
54 | public abstract void readFrom(JceInputStream jceInputStream);
55 |
56 | public void recyle() {
57 | }
58 |
59 | public void setFieldByName(String str, Object obj) {
60 | }
61 |
62 | public void setTag(Object obj) {
63 | this.tag = obj;
64 | }
65 |
66 | public byte[] toByteArray() {
67 | JceOutputStream jceOutputStream = new JceOutputStream();
68 | writeTo(jceOutputStream);
69 | return jceOutputStream.toByteArray();
70 | }
71 |
72 | public String toString() {
73 | StringBuilder sb = new StringBuilder();
74 | display(sb, 0);
75 | return sb.toString();
76 | }
77 |
78 | public abstract void writeTo(JceOutputStream jceOutputStream);
79 |
80 | public byte[] toByteArray(String str) {
81 | JceOutputStream jceOutputStream = new JceOutputStream();
82 | jceOutputStream.setServerEncoding(str);
83 | writeTo(jceOutputStream);
84 | return jceOutputStream.toByteArray();
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/app/src/main/java/com/qq/taf/jce/OnIllegalArgumentException.java:
--------------------------------------------------------------------------------
1 | package com.qq.taf.jce;
2 |
3 | import java.nio.ByteBuffer;
4 |
5 | public interface OnIllegalArgumentException {
6 | void onException(IllegalArgumentException illegalArgumentException, ByteBuffer byteBuffer, int i2, int i3);
7 | }
8 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/Action.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 |
7 | public final class Action extends JceStruct {
8 | public String reportEventId;
9 | public String reportKey;
10 | public String reportParams;
11 | public String url;
12 |
13 | public Action() {
14 | this.url = "";
15 | this.reportEventId = "";
16 | this.reportKey = "";
17 | this.reportParams = "";
18 | }
19 |
20 | @Override // com.qq.taf.jce.JceStruct
21 | public void readFrom(JceInputStream jceInputStream) {
22 | this.url = jceInputStream.readString(0, true);
23 | this.reportEventId = jceInputStream.readString(1, false);
24 | this.reportKey = jceInputStream.readString(2, false);
25 | this.reportParams = jceInputStream.readString(3, false);
26 | }
27 |
28 | @Override // com.qq.taf.jce.JceStruct
29 | public void writeTo(JceOutputStream jceOutputStream) {
30 | jceOutputStream.write(this.url, 0);
31 | String str = this.reportEventId;
32 | if (str != null) {
33 | jceOutputStream.write(str, 1);
34 | }
35 | String str2 = this.reportKey;
36 | if (str2 != null) {
37 | jceOutputStream.write(str2, 2);
38 | }
39 | String str3 = this.reportParams;
40 | if (str3 != null) {
41 | jceOutputStream.write(str3, 3);
42 | }
43 | }
44 |
45 | public Action(String str, String str2, String str3, String str4) {
46 | this.url = "";
47 | this.reportEventId = "";
48 | this.reportKey = "";
49 | this.reportParams = "";
50 | this.url = str;
51 | this.reportEventId = str2;
52 | this.reportKey = str3;
53 | this.reportParams = str4;
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/BucketConfig.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 | public final class BucketConfig extends JceStruct {
7 | public int bucketId;
8 | public String extra;
9 |
10 | public BucketConfig() {
11 | this.bucketId = 0;
12 | this.extra = "";
13 | }
14 |
15 | @Override // com.qq.taf.jce.JceStruct
16 | public void readFrom(JceInputStream jceInputStream) {
17 | this.bucketId = jceInputStream.read(this.bucketId, 0, true);
18 | this.extra = jceInputStream.readString(1, false);
19 | }
20 |
21 | @Override // com.qq.taf.jce.JceStruct
22 | public void writeTo(JceOutputStream jceOutputStream) {
23 | jceOutputStream.write(this.bucketId, 0);
24 | String str = this.extra;
25 | if (str != null) {
26 | jceOutputStream.write(str, 1);
27 | }
28 | }
29 |
30 | public BucketConfig(int i2, String str) {
31 | this.bucketId = 0;
32 | this.extra = "";
33 | this.bucketId = i2;
34 | this.extra = str;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/BusinessExtent.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 | public final class BusinessExtent extends JceStruct {
7 | public int launchType;
8 |
9 | public BusinessExtent() {
10 | this.launchType = 0;
11 | }
12 |
13 | @Override // com.qq.taf.jce.JceStruct
14 | public void readFrom(JceInputStream jceInputStream) {
15 | this.launchType = jceInputStream.read(this.launchType, 0, false);
16 | }
17 |
18 | @Override // com.qq.taf.jce.JceStruct
19 | public void writeTo(JceOutputStream jceOutputStream) {
20 | jceOutputStream.write(this.launchType, 0);
21 | }
22 |
23 | public BusinessExtent(int i2) {
24 | this.launchType = 0;
25 | this.launchType = i2;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/BusinessHead.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 | public final class BusinessHead extends JceStruct {
7 | static byte[] cache_head;
8 | public byte[] head;
9 | public int type;
10 |
11 | static {
12 | cache_head = new byte[0];
13 | byte[] bArr = {0};
14 | }
15 |
16 | public BusinessHead() {
17 | this.type = 0;
18 | this.head = null;
19 | }
20 |
21 | @Override // com.qq.taf.jce.JceStruct
22 | public void readFrom(JceInputStream jceInputStream) {
23 | this.type = jceInputStream.read(this.type, 0, true);
24 | this.head = jceInputStream.read(cache_head, 1, false);
25 | }
26 |
27 | @Override // com.qq.taf.jce.JceStruct
28 | public void writeTo(JceOutputStream jceOutputStream) {
29 | jceOutputStream.write(this.type, 0);
30 | byte[] bArr = this.head;
31 | if (bArr != null) {
32 | jceOutputStream.write(bArr, 1);
33 | }
34 | }
35 |
36 | public BusinessHead(int i2, byte[] bArr) {
37 | this.type = 0;
38 | this.head = null;
39 | this.type = i2;
40 | this.head = bArr;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/Coordinates.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 |
7 | public final class Coordinates extends JceStruct {
8 | public double accuracy;
9 | public float latitude;
10 | public float longitude;
11 | public int type;
12 |
13 | public Coordinates() {
14 | this.type = 0;
15 | this.latitude = 0.0f;
16 | this.longitude = 0.0f;
17 | this.accuracy = 0.0d;
18 | }
19 |
20 | @Override // com.qq.taf.jce.JceStruct
21 | public void readFrom(JceInputStream jceInputStream) {
22 | this.type = jceInputStream.read(this.type, 0, false);
23 | this.latitude = jceInputStream.read(this.latitude, 1, false);
24 | this.longitude = jceInputStream.read(this.longitude, 2, false);
25 | this.accuracy = jceInputStream.read(this.accuracy, 3, false);
26 | }
27 |
28 | @Override // com.qq.taf.jce.JceStruct
29 | public void writeTo(JceOutputStream jceOutputStream) {
30 | jceOutputStream.write(this.type, 0);
31 | jceOutputStream.write(this.latitude, 1);
32 | jceOutputStream.write(this.longitude, 2);
33 | jceOutputStream.write(this.accuracy, 3);
34 | }
35 |
36 | public Coordinates(int i2, float f2, float f3, double d2) {
37 | this.type = 0;
38 | this.latitude = 0.0f;
39 | this.longitude = 0.0f;
40 | this.accuracy = 0.0d;
41 | this.type = i2;
42 | this.latitude = f2;
43 | this.longitude = f3;
44 | this.accuracy = d2;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/ExtentAccount.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 | public final class ExtentAccount extends JceStruct {
7 | public String accountId;
8 | public int type;
9 |
10 | public ExtentAccount() {
11 | this.type = 0;
12 | this.accountId = "";
13 | }
14 |
15 | @Override // com.qq.taf.jce.JceStruct
16 | public void readFrom(JceInputStream jceInputStream) {
17 | this.type = jceInputStream.read(this.type, 0, true);
18 | this.accountId = jceInputStream.readString(1, true);
19 | }
20 |
21 | @Override // com.qq.taf.jce.JceStruct
22 | public void writeTo(JceOutputStream jceOutputStream) {
23 | jceOutputStream.write(this.type, 0);
24 | jceOutputStream.write(this.accountId, 1);
25 | }
26 |
27 | public ExtentAccount(int i2, String str) {
28 | this.type = 0;
29 | this.accountId = "";
30 | this.type = i2;
31 | this.accountId = str;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/ExtentData.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 | public final class ExtentData extends JceStruct {
7 | static BucketConfig cache_bucketInfo = new BucketConfig();
8 | public BucketConfig bucketInfo;
9 | public int checkFlag;
10 | public String extra;
11 | public byte flagByte;
12 |
13 | public ExtentData() {
14 | this.checkFlag = 0;
15 | this.flagByte = (byte) 0;
16 | this.extra = "";
17 | this.bucketInfo = null;
18 | }
19 |
20 | @Override // com.qq.taf.jce.JceStruct
21 | public void readFrom(JceInputStream jceInputStream) {
22 | this.checkFlag = jceInputStream.read(this.checkFlag, 0, false);
23 | this.flagByte = jceInputStream.read(this.flagByte, 1, false);
24 | this.extra = jceInputStream.readString(2, false);
25 | this.bucketInfo = (BucketConfig) jceInputStream.read((JceStruct) cache_bucketInfo, 3, false);
26 | }
27 |
28 | @Override // com.qq.taf.jce.JceStruct
29 | public void writeTo(JceOutputStream jceOutputStream) {
30 | jceOutputStream.write(this.checkFlag, 0);
31 | jceOutputStream.write(this.flagByte, 1);
32 | String str = this.extra;
33 | if (str != null) {
34 | jceOutputStream.write(str, 2);
35 | }
36 | BucketConfig bucketConfig = this.bucketInfo;
37 | if (bucketConfig != null) {
38 | jceOutputStream.write((JceStruct) bucketConfig, 3);
39 | }
40 | }
41 |
42 | public ExtentData(int i2, byte b2, String str, BucketConfig bucketConfig) {
43 | this.checkFlag = 0;
44 | this.flagByte = (byte) 0;
45 | this.extra = "";
46 | this.bucketInfo = null;
47 | this.checkFlag = i2;
48 | this.flagByte = b2;
49 | this.extra = str;
50 | this.bucketInfo = bucketConfig;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/LoginToken.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 |
7 | public final class LoginToken extends JceStruct {
8 | static byte[] cache_TokenValue;
9 | public boolean IsMainLogin;
10 | public String TokenAppID;
11 | public byte TokenKeyType;
12 | public String TokenUin;
13 | public byte[] TokenValue;
14 |
15 | static {
16 | cache_TokenValue = new byte[0];
17 | byte[] bArr = {0};
18 | }
19 |
20 | public LoginToken() {
21 | this.TokenAppID = "";
22 | this.TokenKeyType = (byte) 0;
23 | this.TokenValue = null;
24 | this.TokenUin = "";
25 | this.IsMainLogin = true;
26 | }
27 |
28 | @Override // com.qq.taf.jce.JceStruct
29 | public void readFrom(JceInputStream jceInputStream) {
30 | this.TokenAppID = jceInputStream.readString(0, true);
31 | this.TokenKeyType = jceInputStream.read(this.TokenKeyType, 1, true);
32 | this.TokenValue = jceInputStream.read(cache_TokenValue, 2, true);
33 | this.TokenUin = jceInputStream.readString(3, false);
34 | this.IsMainLogin = jceInputStream.read(this.IsMainLogin, 4, false);
35 | }
36 |
37 | @Override // com.qq.taf.jce.JceStruct
38 | public void writeTo(JceOutputStream jceOutputStream) {
39 | jceOutputStream.write(this.TokenAppID, 0);
40 | jceOutputStream.write(this.TokenKeyType, 1);
41 | jceOutputStream.write(this.TokenValue, 2);
42 | String str = this.TokenUin;
43 | if (str != null) {
44 | jceOutputStream.write(str, 3);
45 | }
46 | jceOutputStream.write(this.IsMainLogin, 4);
47 | }
48 |
49 | public LoginToken(String str, byte b2, byte[] bArr, String str2, boolean z) {
50 | this.TokenAppID = "";
51 | this.TokenKeyType = (byte) 0;
52 | this.TokenValue = null;
53 | this.TokenUin = "";
54 | this.IsMainLogin = true;
55 | this.TokenAppID = str;
56 | this.TokenKeyType = b2;
57 | this.TokenValue = bArr;
58 | this.TokenUin = str2;
59 | this.IsMainLogin = z;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/RequestCommand.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 |
7 | public final class RequestCommand extends JceStruct {
8 | static byte[] cache_body;
9 | public byte[] body;
10 | public BusinessHead businessHead;
11 | public RequestHead head;
12 | static RequestHead cache_head = new RequestHead();
13 | static BusinessHead cache_businessHead = new BusinessHead();
14 |
15 | static {
16 | cache_body = new byte[0];
17 | byte[] bArr = {0};
18 | }
19 |
20 | public RequestCommand() {
21 | this.head = null;
22 | this.body = null;
23 | this.businessHead = null;
24 | }
25 |
26 | @Override // com.qq.taf.jce.JceStruct
27 | public void readFrom(JceInputStream jceInputStream) {
28 | this.head = (RequestHead) jceInputStream.read((JceStruct) cache_head, 0, true);
29 | this.body = jceInputStream.read(cache_body, 1, false);
30 | this.businessHead = (BusinessHead) jceInputStream.read((JceStruct) cache_businessHead, 2, false);
31 | }
32 |
33 | @Override // com.qq.taf.jce.JceStruct
34 | public void writeTo(JceOutputStream jceOutputStream) {
35 | jceOutputStream.write((JceStruct) this.head, 0);
36 | byte[] bArr = this.body;
37 | if (bArr != null) {
38 | jceOutputStream.write(bArr, 1);
39 | }
40 | BusinessHead businessHead = this.businessHead;
41 | if (businessHead != null) {
42 | jceOutputStream.write((JceStruct) businessHead, 2);
43 | }
44 | }
45 |
46 | public RequestCommand(RequestHead requestHead, byte[] bArr, BusinessHead businessHead) {
47 | this.head = null;
48 | this.body = null;
49 | this.businessHead = null;
50 | this.head = requestHead;
51 | this.body = bArr;
52 | this.businessHead = businessHead;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/ResponseCommand.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 |
7 | public final class ResponseCommand extends JceStruct {
8 | static byte[] cache_body;
9 | public byte[] body;
10 | public BusinessHead businessHead;
11 | public ResponseHead head;
12 | static ResponseHead cache_head = new ResponseHead();
13 | static BusinessHead cache_businessHead = new BusinessHead();
14 |
15 | static {
16 | cache_body = new byte[0];
17 | byte[] bArr = {0};
18 | }
19 |
20 | public ResponseCommand() {
21 | this.head = null;
22 | this.body = null;
23 | this.businessHead = null;
24 | }
25 |
26 | @Override // com.qq.taf.jce.JceStruct
27 | public void readFrom(JceInputStream jceInputStream) {
28 | this.head = (ResponseHead) jceInputStream.read((JceStruct) cache_head, 0, true);
29 | this.body = jceInputStream.read(cache_body, 1, false);
30 | this.businessHead = (BusinessHead) jceInputStream.read((JceStruct) cache_businessHead, 2, false);
31 | }
32 |
33 | @Override // com.qq.taf.jce.JceStruct
34 | public void writeTo(JceOutputStream jceOutputStream) {
35 | jceOutputStream.write((JceStruct) this.head, 0);
36 | byte[] bArr = this.body;
37 | if (bArr != null) {
38 | jceOutputStream.write(bArr, 1);
39 | }
40 | BusinessHead businessHead = this.businessHead;
41 | if (businessHead != null) {
42 | jceOutputStream.write((JceStruct) businessHead, 2);
43 | }
44 | }
45 |
46 | public ResponseCommand(ResponseHead responseHead, byte[] bArr, BusinessHead businessHead) {
47 | this.head = null;
48 | this.body = null;
49 | this.businessHead = null;
50 | this.head = responseHead;
51 | this.body = bArr;
52 | this.businessHead = businessHead;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/ResponseHead.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 |
7 | public final class ResponseHead extends JceStruct {
8 | public int cmdId;
9 | public int errCode;
10 | public int requestId;
11 | public String sUserid;
12 |
13 | public ResponseHead() {
14 | this.requestId = 0;
15 | this.cmdId = 0;
16 | this.errCode = 0;
17 | this.sUserid = "";
18 | }
19 |
20 | @Override // com.qq.taf.jce.JceStruct
21 | public void readFrom(JceInputStream jceInputStream) {
22 | this.requestId = jceInputStream.read(this.requestId, 0, true);
23 | this.cmdId = jceInputStream.read(this.cmdId, 1, true);
24 | this.errCode = jceInputStream.read(this.errCode, 2, true);
25 | this.sUserid = jceInputStream.readString(3, true);
26 | }
27 |
28 | @Override // com.qq.taf.jce.JceStruct
29 | public void writeTo(JceOutputStream jceOutputStream) {
30 | jceOutputStream.write(this.requestId, 0);
31 | jceOutputStream.write(this.cmdId, 1);
32 | jceOutputStream.write(this.errCode, 2);
33 | jceOutputStream.write(this.sUserid, 3);
34 | }
35 |
36 | public ResponseHead(int i2, int i3, int i4, String str) {
37 | this.requestId = 0;
38 | this.cmdId = 0;
39 | this.errCode = 0;
40 | this.sUserid = "";
41 | this.requestId = i2;
42 | this.cmdId = i3;
43 | this.errCode = i4;
44 | this.sUserid = str;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/SafeInfo.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 |
7 | public final class SafeInfo extends JceStruct {
8 | static byte[] cache_SafeResult;
9 | public String SafeKey;
10 | public byte[] SafeResult;
11 | public int type;
12 |
13 | static {
14 | cache_SafeResult = new byte[0];
15 | byte[] bArr = {0};
16 | }
17 |
18 | public SafeInfo() {
19 | this.type = 0;
20 | this.SafeKey = "";
21 | this.SafeResult = null;
22 | }
23 |
24 | @Override // com.qq.taf.jce.JceStruct
25 | public void readFrom(JceInputStream jceInputStream) {
26 | this.type = jceInputStream.read(this.type, 0, false);
27 | this.SafeKey = jceInputStream.readString(1, false);
28 | this.SafeResult = jceInputStream.read(cache_SafeResult, 2, false);
29 | }
30 |
31 | @Override // com.qq.taf.jce.JceStruct
32 | public void writeTo(JceOutputStream jceOutputStream) {
33 | jceOutputStream.write(this.type, 0);
34 | String str = this.SafeKey;
35 | if (str != null) {
36 | jceOutputStream.write(str, 1);
37 | }
38 | byte[] bArr = this.SafeResult;
39 | if (bArr != null) {
40 | jceOutputStream.write(bArr, 2);
41 | }
42 | }
43 |
44 | public SafeInfo(int i2, String str, byte[] bArr) {
45 | this.type = 0;
46 | this.SafeKey = "";
47 | this.SafeResult = null;
48 | this.type = i2;
49 | this.SafeKey = str;
50 | this.SafeResult = bArr;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/TVTimeShiftProgramRequest.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 | public final class TVTimeShiftProgramRequest extends JceStruct {
7 | public String pid;
8 |
9 | public TVTimeShiftProgramRequest() {
10 | this.pid = "";
11 | }
12 |
13 | @Override // com.qq.taf.jce.JceStruct
14 | public void readFrom(JceInputStream jceInputStream) {
15 | this.pid = jceInputStream.readString(0, true);
16 | }
17 |
18 | @Override // com.qq.taf.jce.JceStruct
19 | public void writeTo(JceOutputStream jceOutputStream) {
20 | jceOutputStream.write(this.pid, 0);
21 | }
22 |
23 | public TVTimeShiftProgramRequest(String pid) {
24 | this.pid = pid;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/TVTimeShiftProgramResponse.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 | import java.util.ArrayList;
7 | import java.util.Collection;
8 | public final class TVTimeShiftProgramResponse extends JceStruct {
9 | static ArrayList cache_programs = new ArrayList<>();
10 | public int errcode;
11 | public String errmsg;
12 | public ArrayList programs;
13 | public int timeShiftFlag;
14 |
15 | static {
16 | cache_programs.add(new TVProgram());
17 | }
18 |
19 | public TVTimeShiftProgramResponse() {
20 | this.errcode = 0;
21 | this.errmsg = "";
22 | this.programs = null;
23 | this.timeShiftFlag = 0;
24 | }
25 |
26 | @Override // com.qq.taf.jce.JceStruct
27 | public void readFrom(JceInputStream jceInputStream) {
28 | this.errcode = jceInputStream.read(this.errcode, 0, true);
29 | this.errmsg = jceInputStream.readString(1, false);
30 | this.programs = (ArrayList) jceInputStream.read(cache_programs, 2, false);
31 | this.timeShiftFlag = jceInputStream.read(this.timeShiftFlag, 3, false);
32 | }
33 |
34 | @Override // com.qq.taf.jce.JceStruct
35 | public void writeTo(JceOutputStream jceOutputStream) {
36 | jceOutputStream.write(this.errcode, 0);
37 | String str = this.errmsg;
38 | if (str != null) {
39 | jceOutputStream.write(str, 1);
40 | }
41 | ArrayList arrayList = this.programs;
42 | if (arrayList != null) {
43 | jceOutputStream.write((Collection) arrayList, 2);
44 | }
45 | jceOutputStream.write(this.timeShiftFlag, 3);
46 | }
47 |
48 | public TVTimeShiftProgramResponse(int i2, String str, ArrayList arrayList, int i3) {
49 | this.errcode = 0;
50 | this.errmsg = "";
51 | this.programs = null;
52 | this.timeShiftFlag = 0;
53 | this.errcode = i2;
54 | this.errmsg = str;
55 | this.programs = arrayList;
56 | this.timeShiftFlag = i3;
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/com/tencent/videolite/android/datamodel/cctvjce/TextInnerLayoutInfo.java:
--------------------------------------------------------------------------------
1 | package com.tencent.videolite.android.datamodel.cctvjce;
2 |
3 | import com.qq.taf.jce.JceInputStream;
4 | import com.qq.taf.jce.JceOutputStream;
5 | import com.qq.taf.jce.JceStruct;
6 | public final class TextInnerLayoutInfo extends JceStruct {
7 | public int bottomPending;
8 | public int leftPending;
9 | public int rightPending;
10 | public int topPending;
11 |
12 | public TextInnerLayoutInfo() {
13 | this.leftPending = 0;
14 | this.topPending = 0;
15 | this.rightPending = 0;
16 | this.bottomPending = 0;
17 | }
18 |
19 | @Override // com.qq.taf.jce.JceStruct
20 | public void readFrom(JceInputStream jceInputStream) {
21 | this.leftPending = jceInputStream.read(this.leftPending, 0, false);
22 | this.topPending = jceInputStream.read(this.topPending, 1, false);
23 | this.rightPending = jceInputStream.read(this.rightPending, 2, false);
24 | this.bottomPending = jceInputStream.read(this.bottomPending, 3, false);
25 | }
26 |
27 | @Override // com.qq.taf.jce.JceStruct
28 | public void writeTo(JceOutputStream jceOutputStream) {
29 | jceOutputStream.write(this.leftPending, 0);
30 | jceOutputStream.write(this.topPending, 1);
31 | jceOutputStream.write(this.rightPending, 2);
32 | jceOutputStream.write(this.bottomPending, 3);
33 | }
34 |
35 | public TextInnerLayoutInfo(int i2, int i3, int i4, int i5) {
36 | this.leftPending = 0;
37 | this.topPending = 0;
38 | this.rightPending = 0;
39 | this.bottomPending = 0;
40 | this.leftPending = i2;
41 | this.topPending = i3;
42 | this.rightPending = i4;
43 | this.bottomPending = i5;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/appreciate.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/appreciate.jpg
--------------------------------------------------------------------------------
/app/src/main/res/drawable/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/banner.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bingtuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/bingtuan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cctv8k.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/cctv8k.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cetv1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/cetv1.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/chongqing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/chongqing.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/rounded_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/rounded_background2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tianjin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/tianjin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/xinjiang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/drawable/xinjiang.png
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/channel.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/info.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
16 |
17 |
25 |
26 |
35 |
36 |
46 |
47 |
48 |
53 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/player.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
17 |
18 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/time.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-hdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-mdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 | #0096a6
3 | #30000000
4 | #000
5 | #FFF
6 | #223239
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | 我的电视
3 | 换台反转
4 | 换台时显示频道号
5 | 检查更新
6 | 开机自启
7 | 好的
8 | 显示时间
9 | 退出
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/network.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | plugins {
3 | id 'com.android.application' version '8.3.0' apply false
4 | id 'com.android.library' version '8.3.0' apply false
5 | id 'org.jetbrains.kotlin.android' version '1.9.22' apply false
6 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app's APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Kotlin code style for this project: "official" or "obsolete":
19 | kotlin.code.style=official
20 | # Enables namespacing of each library's R class so that its R class includes only the
21 | # resources declared in the library itself and none from the library's dependencies,
22 | # thereby reducing the size of the R class for that library
23 | android.nonTransitiveRClass=true
24 | #android.defaults.buildfeatures.buildconfig=true
25 | android.nonFinalResIds=false
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Dec 01 13:53:24 HKT 2023
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-rc-1-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 |
17 | @if "%DEBUG%" == "" @echo off
18 | @rem ##########################################################################
19 | @rem
20 | @rem Gradle startup script for Windows
21 | @rem
22 | @rem ##########################################################################
23 |
24 | @rem Set local scope for the variables with windows NT shell
25 | if "%OS%"=="Windows_NT" setlocal
26 |
27 | set DIRNAME=%~dp0
28 | if "%DIRNAME%" == "" set DIRNAME=.
29 | set APP_BASE_NAME=%~n0
30 | set APP_HOME=%DIRNAME%
31 |
32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 |
35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 |
38 | @rem Find java.exe
39 | if defined JAVA_HOME goto findJavaFromJavaHome
40 |
41 | set JAVA_EXE=java.exe
42 | %JAVA_EXE% -version >NUL 2>&1
43 | if "%ERRORLEVEL%" == "0" goto execute
44 |
45 | echo.
46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 | echo.
48 | echo Please set the JAVA_HOME variable in your environment to match the
49 | echo location of your Java installation.
50 |
51 | goto fail
52 |
53 | :findJavaFromJavaHome
54 | set JAVA_HOME=%JAVA_HOME:"=%
55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 |
57 | if exist "%JAVA_EXE%" goto execute
58 |
59 | echo.
60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 | echo.
62 | echo Please set the JAVA_HOME variable in your environment to match the
63 | echo location of your Java installation.
64 |
65 | goto fail
66 |
67 | :execute
68 | @rem Setup the command line
69 |
70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71 |
72 |
73 | @rem Execute Gradle
74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75 |
76 | :end
77 | @rem End local scope for the variables with windows NT shell
78 | if "%ERRORLEVEL%"=="0" goto mainEnd
79 |
80 | :fail
81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82 | rem the _cmd.exe /c_ return code!
83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84 | exit /b 1
85 |
86 | :mainEnd
87 | if "%OS%"=="Windows_NT" endlocal
88 |
89 | :omega
90 |
--------------------------------------------------------------------------------
/history.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | in_changelog=false
4 |
5 | while IFS= read -r line; do
6 | if [[ "$line" == "## "* ]]; then
7 | continue
8 | fi
9 |
10 | if [[ $in_changelog == false ]] && [[ "$line" == "### "* ]]; then
11 | in_changelog=true
12 | continue
13 | fi
14 |
15 | if [[ $in_changelog == true ]] && [[ "$line" == "### "* ]]; then
16 | break
17 | fi
18 |
19 | echo "$line"
20 | done < HISTORY.md
21 |
--------------------------------------------------------------------------------
/screenshots/appreciate.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/screenshots/appreciate.jpeg
--------------------------------------------------------------------------------
/screenshots/control.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/screenshots/control.jpg
--------------------------------------------------------------------------------
/screenshots/img_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/screenshots/img_1.png
--------------------------------------------------------------------------------
/screenshots/img_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/screenshots/img_2.png
--------------------------------------------------------------------------------
/screenshots/img_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/screenshots/img_3.png
--------------------------------------------------------------------------------
/screenshots/zfb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lizongying/my-tv/d65ac508eb56d454d565d7a53df35fa4d5403720/screenshots/zfb.jpg
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | gradlePluginPortal()
6 | }
7 | }
8 | dependencyResolutionManagement {
9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10 | repositories {
11 | google()
12 | mavenCentral()
13 | }
14 | }
15 | rootProject.name = "My TV"
16 | include ':app'
17 |
--------------------------------------------------------------------------------
/version.json:
--------------------------------------------------------------------------------
1 | {"version_code": 33619968, "version_name": "v2.1.0"}
2 |
--------------------------------------------------------------------------------