feat: 4ma 用车计时助手 v1.0
- 无障碍服务监听7MA出行小程序,匹配关键词自动开始/结束计时 - 事件驱动截图+ML Kit离线中文OCR兜底,解决WebView无障碍树不稳定 - 常驻计时通知(15/18/30分钟提醒)与结束用车按钮 - 浅色主题主界面:权限状态、具体实现、安全/免责/法律声明 - 电池白名单+自启动引导+onUnbind自动重绑守护 - 无网络权限,完全离线运行
This commit is contained in:
commit
2cf3cbad56
34 files changed
+2158
No files matched your search
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#00000000" />
|
||||
<corners android:radius="999dp" />
|
||||
<stroke android:width="1dp" android:color="#D1D5DB" />
|
||||
</shape>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/card" />
|
||||
<corners android:radius="14dp" />
|
||||
<stroke android:width="1dp" android:color="@color/border" />
|
||||
</shape>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/bad_bg" />
|
||||
<corners android:radius="999dp" />
|
||||
</shape>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/ok_bg" />
|
||||
<corners android:radius="999dp" />
|
||||
</shape>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- 通知栏小图标:白色时钟(纯 alpha 图形) -->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12,12 m-8.5,0 a8.5,8.5 0 1,1 17,0 a8.5,8.5 0 1,1 -17,0"
|
||||
android:strokeColor="#FFFFFFFF"
|
||||
android:strokeWidth="1.8"
|
||||
android:fillColor="#00000000" />
|
||||
<path
|
||||
android:pathData="M12,12 L12,6.2"
|
||||
android:strokeColor="#FFFFFFFF"
|
||||
android:strokeWidth="1.8"
|
||||
android:strokeLineCap="round" />
|
||||
<path
|
||||
android:pathData="M12,12 L15.4,13.9"
|
||||
android:strokeColor="#FFFFFFFF"
|
||||
android:strokeWidth="1.8"
|
||||
android:strokeLineCap="round" />
|
||||
</vector>
|
||||
@@ -0,0 +1,395 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/bg"
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="20dp"
|
||||
android:paddingTop="30dp"
|
||||
android:paddingBottom="40dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/header_title"
|
||||
android:textColor="@color/text_main"
|
||||
android:textSize="32sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="@string/header_desc"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="15sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:text="@string/header_sub"
|
||||
android:textColor="@color/text_faint"
|
||||
android:textSize="12sp" />
|
||||
|
||||
<!-- 权限与后台守护 -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="26dp"
|
||||
android:text="@string/sec_permissions"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:background="@drawable/bg_card"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/row_a11y"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="14dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/row_a11y"
|
||||
android:textColor="@color/text_main"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="@string/row_a11y_desc"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/status_a11y"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_chip_bad"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:text="@string/status_off"
|
||||
android:textColor="@color/bad_text"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginStart="14dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:background="@color/border" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/row_notif"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="14dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/row_notif"
|
||||
android:textColor="@color/text_main"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="@string/row_notif_desc"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/status_notif"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_chip_bad"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:text="@string/status_off"
|
||||
android:textColor="@color/bad_text"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginStart="14dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:background="@color/border" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/row_battery"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="14dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/row_battery"
|
||||
android:textColor="@color/text_main"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="@string/row_battery_desc"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/status_battery"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_chip_bad"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:text="@string/status_off"
|
||||
android:textColor="@color/bad_text"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginStart="14dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:background="@color/border" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/row_autostart"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="14dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/row_autostart"
|
||||
android:textColor="@color/text_main"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="@string/row_autostart_desc"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_btn_outline"
|
||||
android:paddingStart="12dp"
|
||||
android:paddingEnd="12dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingBottom="5dp"
|
||||
android:text="@string/status_goto"
|
||||
android:textColor="@color/text_main"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#F5F8FA"
|
||||
android:padding="14dp"
|
||||
android:text="@string/tip_daemon"
|
||||
android:textColor="@color/text_faint"
|
||||
android:textSize="12sp"
|
||||
android:lineSpacingExtra="3dp" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 具体实现 -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="22dp"
|
||||
android:text="@string/sec_impl_title"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:background="@drawable/bg_card"
|
||||
android:orientation="vertical"
|
||||
android:padding="14dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:lineSpacingExtra="4dp"
|
||||
android:text="@string/sec_impl_body"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="13sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 安全性声明 -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="22dp"
|
||||
android:text="@string/sec_security_title"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:background="@drawable/bg_card"
|
||||
android:orientation="vertical"
|
||||
android:padding="14dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:lineSpacingExtra="4dp"
|
||||
android:text="@string/sec_security_body"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="13sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 免责声明 -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="22dp"
|
||||
android:text="@string/sec_disclaimer_title"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:background="@drawable/bg_card"
|
||||
android:orientation="vertical"
|
||||
android:padding="14dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:lineSpacingExtra="4dp"
|
||||
android:text="@string/sec_disclaimer_body"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="13sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 法律声明 -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="22dp"
|
||||
android:text="@string/sec_legal_title"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:background="@drawable/bg_card"
|
||||
android:orientation="vertical"
|
||||
android:padding="14dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:lineSpacingExtra="4dp"
|
||||
android:text="@string/sec_legal_body"
|
||||
android:textColor="@color/text_sub"
|
||||
android:textSize="13sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="28dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/footer_text"
|
||||
android:textColor="@color/text_faint"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.5 KiB |
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- 浅色主题色板 -->
|
||||
<color name="bg">#F7F9FB</color>
|
||||
<color name="card">#FFFFFF</color>
|
||||
<color name="text_main">#1F2937</color>
|
||||
<color name="text_sub">#6B7280</color>
|
||||
<color name="text_faint">#9CA3AF</color>
|
||||
<color name="brand">#10B981</color>
|
||||
<color name="brand_dark">#059669</color>
|
||||
<color name="ok_bg">#D1FAE5</color>
|
||||
<color name="ok_text">#047857</color>
|
||||
<color name="bad_bg">#FEE2E2</color>
|
||||
<color name="bad_text">#B91C1C</color>
|
||||
<color name="border">#E5E9EE</color>
|
||||
</resources>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- 应用信息 -->
|
||||
<string name="app_name">4ma</string>
|
||||
<string name="app_desc">7ma还车提醒工具</string>
|
||||
|
||||
<!-- 无障碍服务 -->
|
||||
<string name="accessibility_service_label">4ma</string>
|
||||
<string name="accessibility_service_description">7ma还车提醒工具:监听7MA出行小程序用车界面,自动开始/结束用车计时,并在15/18/30分钟提醒。仅读取界面文字,不执行任何点击或模拟操作。</string>
|
||||
|
||||
<!-- 主界面 -->
|
||||
<string name="header_title">4ma</string>
|
||||
<string name="header_desc">7ma还车提醒工具</string>
|
||||
<string name="header_sub">监听 7MA 出行小程序 · 自动计时 · 到点提醒 · 全程离线</string>
|
||||
|
||||
<string name="sec_permissions">权限与后台守护</string>
|
||||
|
||||
<string name="row_a11y">无障碍服务</string>
|
||||
<string name="row_a11y_desc">读取用车界面文字,自动开始/结束计时</string>
|
||||
<string name="row_notif">通知权限</string>
|
||||
<string name="row_notif_desc">显示计时常驻通知与 15/18/30 分钟提醒</string>
|
||||
<string name="row_battery">电池优化白名单</string>
|
||||
<string name="row_battery_desc">防止系统在后台冻结计时服务</string>
|
||||
<string name="row_autostart">自启动权限</string>
|
||||
<string name="row_autostart_desc">开机或清理后台后自动恢复守护</string>
|
||||
|
||||
<string name="status_on">已开启</string>
|
||||
<string name="status_off">未开启</string>
|
||||
<string name="status_goto">去设置</string>
|
||||
|
||||
<string name="tip_daemon">守护说明:无障碍服务由系统持续绑定,开启后即使重启手机也会自动恢复。建议同时开启电池白名单与自启动,避免国产系统在后台冻结本应用导致计时中断。</string>
|
||||
|
||||
<string name="sec_impl_title">具体实现</string>
|
||||
<string name="sec_impl_body">本应用通过 Android 无障碍服务监听微信(com.tencent.mm)中的「7MA出行」小程序:检测到「我要还车 / 预计费用 / 助力车编号」等界面文字时自动开始用车计时;检测到「还车成功」时自动结束。计时期间通知栏常驻显示用车时长,并在 15 / 18 / 30 分钟各提醒一次;也可以直接点击通知上的「结束用车」按钮手动结束。\n\n当微信小程序的无障碍节点树无法读取内容(WebView 内核限制)时,应用会调用系统无障碍截图接口,并使用内置的离线中文文字识别(ML Kit)匹配上述关键词。全部识别均在手机本地完成,不联网。</string>
|
||||
|
||||
<string name="sec_security_title">安全性声明</string>
|
||||
<string name="sec_security_body">· 本应用不申请网络权限,完全离线运行。\n· 不收集、不存储、不上传任何个人信息与使用数据。\n· 无障碍服务仅用于读取「7MA出行」小程序界面文字并匹配关键词,不模拟点击、不修改或转发任何界面内容。\n· 截图仅在识别瞬间生成,识别完成立即释放内存,不保存任何图片。</string>
|
||||
|
||||
<string name="sec_disclaimer_title">免责声明</string>
|
||||
<string name="sec_disclaimer_body">本工具为非官方第三方辅助工具,与「7MA出行」官方及腾讯微信无任何关联。计时与提醒结果仅供参考,不构成任何费用计算依据,实际用车时长与费用请以 7MA 出行官方账单为准。因手机系统限制、微信或小程序版本更新、无障碍服务被系统终止等原因导致的检测失败或提醒遗漏,开发者不承担由此产生的任何费用、损失或责任。</string>
|
||||
|
||||
<string name="sec_legal_title">法律声明</string>
|
||||
<string name="sec_legal_body">本应用仅限个人学习与出行辅助用途。使用时请遵守中华人民共和国法律法规及 7MA 出行平台的服务协议与相关规则。禁止将本应用用于任何商业用途,或以任何方式侵害 7MA 出行、腾讯及第三方的合法权益。如平台规则变化,请立即停止使用。</string>
|
||||
|
||||
<string name="footer_text">v1.0 · 非 7MA 出行官方应用 · 请合规使用</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- 浅色主题 -->
|
||||
<style name="AppTheme" parent="@android:style/Theme.Material.Light.NoActionBar">
|
||||
<item name="android:statusBarColor">@color/bg</item>
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
<item name="android:navigationBarColor">@color/bg</item>
|
||||
<item name="android:windowBackground">@color/bg</item>
|
||||
<item name="android:colorAccent">@color/brand</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:accessibilityEventTypes="typeWindowContentChanged|typeWindowStateChanged"
|
||||
android:accessibilityFeedbackType="feedbackAllMask"
|
||||
android:accessibilityFlags="flagRetrieveInteractiveWindows|flagReportViewIds|flagIncludeNotImportantViews|flagRequestEnhancedWebAccessibility"
|
||||
android:notificationTimeout="100"
|
||||
android:canPerformGestures="true"
|
||||
android:canRetrieveWindowContent="true"
|
||||
android:canTakeScreenshot="true"
|
||||
android:description="@string/accessibility_service_description" />
|
||||
Reference in new issue
Block a user