Skip to content

Commit dc32c6f

Browse files
committed
upgrade
1 parent 367525c commit dc32c6f

File tree

7 files changed

+268
-16
lines changed

7 files changed

+268
-16
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,6 @@ lint/generated/
7272
lint/outputs/
7373
lint/tmp/
7474
# lint/reports/
75+
76+
77+
.vscode/

app/build.gradle

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,17 @@ def appVersion = getDate()
1313

1414

1515
android {
16-
compileSdkVersion 30
16+
namespace "com.zfdang.touchhelper"
17+
compileSdkVersion 35
18+
19+
buildFeatures {
20+
buildConfig true
21+
}
1722

1823
defaultConfig {
1924
applicationId "com.zfdang.touchhelper"
2025
minSdkVersion 26
21-
targetSdkVersion 30
26+
targetSdkVersion 35
2227
versionCode gitVersion
2328
versionName appVersion
2429

@@ -32,9 +37,9 @@ android {
3237
signingConfigs {
3338
release {
3439
storeFile file("touch_helper.keystore")
35-
storePassword "touchhelper"
36-
keyAlias "touchhelper"
37-
keyPassword "touchhelper"
40+
storePassword project.findProperty("KEYSTORE_PASSWORD") ?: System.getenv("KEYSTORE_PASSWORD")
41+
keyAlias project.findProperty("KEY_ALIAS") ?: System.getenv("KEY_ALIAS")
42+
keyPassword project.findProperty("KEY_PASSWORD") ?: System.getenv("KEY_PASSWORD")
3843
}
3944
}
4045

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.zfdang.touchhelper">
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
43

54
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
65
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
@@ -26,6 +25,7 @@
2625
android:theme="@style/AppTheme">
2726
<activity
2827
android:name=".MainActivity"
28+
android:exported="true"
2929
android:label="@string/app_name">
3030
<intent-filter>
3131
<action android:name="android.intent.action.MAIN" />

build.gradle

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2-
apply plugin: "com.github.ben-manes.versions"
32

43
buildscript {
54
repositories {
65
google()
7-
jcenter()
6+
mavenCentral()
87
gradlePluginPortal()
98
}
109
dependencies {
11-
classpath 'com.android.tools.build:gradle:7.2.1'
12-
13-
// https://github.com/ben-manes/gradle-versions-plugin
14-
classpath 'com.github.ben-manes:gradle-versions-plugin:+'
10+
classpath 'com.android.tools.build:gradle:8.2.2'
1511

1612
// NOTE: Do not place your application dependencies here; they belong
1713
// in the individual module build.gradle files
@@ -21,7 +17,7 @@ buildscript {
2117
allprojects {
2218
repositories {
2319
google()
24-
jcenter()
20+
mavenCentral()
2521
}
2622
}
2723

docs/privacy.html

Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<title>Privacy Policy - Touch Helper | 隐私政策 - 开屏跳过</title>
8+
<style>
9+
body {
10+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif;
11+
max-width: 800px;
12+
margin: 0 auto;
13+
padding: 20px;
14+
line-height: 1.7;
15+
color: #333;
16+
}
17+
18+
h1 {
19+
color: #2c3e50;
20+
border-bottom: 2px solid #3498db;
21+
padding-bottom: 10px;
22+
}
23+
24+
h2 {
25+
color: #34495e;
26+
margin-top: 30px;
27+
}
28+
29+
.highlight {
30+
background-color: #e8f4f8;
31+
padding: 15px;
32+
border-radius: 8px;
33+
margin: 20px 0;
34+
}
35+
36+
.date {
37+
color: #7f8c8d;
38+
font-size: 0.9em;
39+
}
40+
41+
a {
42+
color: #3498db;
43+
}
44+
45+
.lang-switch {
46+
text-align: right;
47+
margin-bottom: 20px;
48+
padding: 10px;
49+
background: #f5f5f5;
50+
border-radius: 8px;
51+
}
52+
53+
.lang-switch button {
54+
padding: 8px 16px;
55+
margin-left: 8px;
56+
border: none;
57+
border-radius: 4px;
58+
cursor: pointer;
59+
font-size: 14px;
60+
transition: all 0.2s;
61+
}
62+
63+
.lang-switch button.active {
64+
background: #3498db;
65+
color: white;
66+
}
67+
68+
.lang-switch button:not(.active) {
69+
background: #ddd;
70+
color: #333;
71+
}
72+
73+
.lang-switch button:hover:not(.active) {
74+
background: #ccc;
75+
}
76+
77+
.content-en,
78+
.content-zh {
79+
display: none;
80+
}
81+
82+
.content-en.active,
83+
.content-zh.active {
84+
display: block;
85+
}
86+
87+
hr {
88+
margin-top: 40px;
89+
border: none;
90+
border-top: 1px solid #eee;
91+
}
92+
93+
.footer {
94+
text-align: center;
95+
color: #7f8c8d;
96+
margin-top: 20px;
97+
}
98+
</style>
99+
</head>
100+
101+
<body>
102+
<div class="lang-switch">
103+
<span>Language / 语言:</span>
104+
<button id="btn-en" class="active" onclick="switchLang('en')">English</button>
105+
<button id="btn-zh" onclick="switchLang('zh')">中文</button>
106+
</div>
107+
108+
<!-- English Content -->
109+
<div class="content-en active" id="content-en">
110+
<h1>Privacy Policy</h1>
111+
<p class="date">Last updated: January 4, 2026</p>
112+
113+
<div class="highlight">
114+
<strong>Summary:</strong> Touch Helper is an open-source application that does NOT collect, store, or
115+
transmit any personal data. Your privacy is fully protected.
116+
</div>
117+
118+
<h2>Introduction</h2>
119+
<p>Touch Helper ("the App") is a free, open-source Android application designed to help users automatically skip
120+
splash screen advertisements. This privacy policy explains how we handle user information.</p>
121+
122+
<h2>Information We Collect</h2>
123+
<p><strong>We do not collect any information.</strong> The App:</p>
124+
<ul>
125+
<li>Does NOT require network permissions</li>
126+
<li>Does NOT connect to any servers</li>
127+
<li>Does NOT collect personal data</li>
128+
<li>Does NOT track user behavior</li>
129+
<li>Does NOT use analytics services</li>
130+
<li>Does NOT contain advertisements</li>
131+
</ul>
132+
133+
<h2>Accessibility Service</h2>
134+
<p>The App uses Android's Accessibility Service to detect and automatically click "skip" buttons on splash
135+
screen advertisements. This service:</p>
136+
<ul>
137+
<li>Only monitors screen content to identify skip buttons</li>
138+
<li>Does NOT record or store any screen content</li>
139+
<li>Does NOT transmit any data externally</li>
140+
<li>Operates entirely on your device</li>
141+
</ul>
142+
143+
<h2>Data Storage</h2>
144+
<p>All app settings and configurations are stored locally on your device. No data is ever uploaded to external
145+
servers.</p>
146+
147+
<h2>Third-Party Services</h2>
148+
<p>The App does not integrate any third-party services, SDKs, or analytics tools.</p>
149+
150+
<h2>Open Source</h2>
151+
<p>Touch Helper is fully open source. You can review our source code at: <a
152+
href="https://github.com/zfdang/Android-Touch-Helper"
153+
target="_blank">https://github.com/zfdang/Android-Touch-Helper</a></p>
154+
155+
<h2>Children's Privacy</h2>
156+
<p>The App does not collect any personal information from anyone, including children under the age of 13.</p>
157+
158+
<h2>Changes to This Policy</h2>
159+
<p>We may update this privacy policy from time to time. Any changes will be posted on this page with an updated
160+
revision date.</p>
161+
162+
<h2>Contact Us</h2>
163+
<p>If you have any questions about this privacy policy, please open an issue on our GitHub repository.</p>
164+
</div>
165+
166+
<!-- Chinese Content -->
167+
<div class="content-zh" id="content-zh">
168+
<h1>隐私政策</h1>
169+
<p class="date">最后更新:2026年1月4日</p>
170+
171+
<div class="highlight">
172+
<strong>概要:</strong>开屏跳过是一款开源应用程序,不会收集、存储或传输任何个人数据。您的隐私受到完全保护。
173+
</div>
174+
175+
<h2>简介</h2>
176+
<p>开屏跳过("本应用")是一款免费、开源的 Android 应用程序,旨在帮助用户自动跳过应用启动时的广告。本隐私政策说明我们如何处理用户信息。</p>
177+
178+
<h2>我们收集的信息</h2>
179+
<p><strong>我们不收集任何信息。</strong>本应用:</p>
180+
<ul>
181+
<li>不需要网络权限</li>
182+
<li>不连接任何服务器</li>
183+
<li>不收集个人数据</li>
184+
<li>不追踪用户行为</li>
185+
<li>不使用分析服务</li>
186+
<li>不包含广告</li>
187+
</ul>
188+
189+
<h2>无障碍服务</h2>
190+
<p>本应用使用 Android 的无障碍服务来检测并自动点击开屏广告上的"跳过"按钮。此服务:</p>
191+
<ul>
192+
<li>仅监控屏幕内容以识别跳过按钮</li>
193+
<li>不会记录或存储任何屏幕内容</li>
194+
<li>不会向外部传输任何数据</li>
195+
<li>完全在您的设备上本地运行</li>
196+
</ul>
197+
198+
<h2>数据存储</h2>
199+
<p>所有应用设置和配置都存储在您设备的本地。不会有任何数据上传到外部服务器。</p>
200+
201+
<h2>第三方服务</h2>
202+
<p>本应用不集成任何第三方服务、SDK 或分析工具。</p>
203+
204+
<h2>开源</h2>
205+
<p>开屏跳过是完全开源的。您可以在以下地址查看我们的源代码:<a href="https://github.com/zfdang/Android-Touch-Helper"
206+
target="_blank">https://github.com/zfdang/Android-Touch-Helper</a></p>
207+
208+
<h2>儿童隐私</h2>
209+
<p>本应用不收集任何人的个人信息,包括13岁以下的儿童。</p>
210+
211+
<h2>政策变更</h2>
212+
<p>我们可能会不时更新本隐私政策。任何变更都将在此页面上发布,并更新修订日期。</p>
213+
214+
<h2>联系我们</h2>
215+
<p>如果您对本隐私政策有任何疑问,请在我们的 GitHub 仓库中提交 Issue。</p>
216+
</div>
217+
218+
<hr>
219+
<p class="footer">© 2026 Touch Helper / 开屏跳过. Open Source Software.</p>
220+
221+
<script>
222+
function switchLang(lang) {
223+
document.getElementById('content-en').classList.remove('active');
224+
document.getElementById('content-zh').classList.remove('active');
225+
document.getElementById('btn-en').classList.remove('active');
226+
document.getElementById('btn-zh').classList.remove('active');
227+
228+
document.getElementById('content-' + lang).classList.add('active');
229+
document.getElementById('btn-' + lang).classList.add('active');
230+
231+
localStorage.setItem('privacy-lang', lang);
232+
}
233+
234+
// Load saved language preference
235+
const savedLang = localStorage.getItem('privacy-lang');
236+
if (savedLang) {
237+
switchLang(savedLang);
238+
}
239+
</script>
240+
</body>
241+
242+
</html>

gradle.properties

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,10 @@ org.gradle.jvmargs=-Xmx2048m
1616
# https://developer.android.com/topic/libraries/support-library/androidx-rn
1717
android.useAndroidX=true
1818
# Automatically convert third-party libraries to use AndroidX
19-
android.enableJetifier=true
19+
android.enableJetifier=true
20+
21+
# Keystore credentials (DO NOT commit real values to version control)
22+
# Set these in local.properties or as environment variables
23+
KEYSTORE_PASSWORD=touchhelper
24+
KEY_ALIAS=touchhelper
25+
KEY_PASSWORD=touchhelper

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip

0 commit comments

Comments
 (0)