AdguardTeam / AdguardTeam/AdguardForAndroid

SamsungPayService is started in the background on a non-Samsung device (no Samsung components installed)

未關閉
#6,206 1 則留言 0 個 reaction 已指派 1 人 已指派給 @Swen90 在 GitHub 檢視
Priority: P4
主要語言
沒有語言資料
星號
1.9k
分支
121
PR 合併指標
30 天內沒有已合併 PR

描述

### Please answer the following questions for yourself before submitting an issue.

- [X] I am running the latest version (4.14.0)
- [X] I checked the documentation and found no answer
- [X] I have searched existing issues; the closest one is #4807 (closed as 'Won't Fix' back in 2023, on a Samsung device, v4.0.912). This report describes a different case - a non-Samsung device on the latest version. Details below.

### AdGuard version

4.14.0 (42218007)

### Environment

- OS: Android 16 / ColorOS V16.1.0 (build PGKM10_16.0.10.501(CN01))
- Device: OnePlus PGKM10 (not a Samsung device)
- Root: KernelSU

### Issue Details

There is not a single Samsung component on this device: `adb shell pm list packages | grep -i samsung` returns an empty output.

Still, `SamsungPayService` (com.adguard.android/.service.SamsungPayService) keeps being started in the background:

1. It shows up in the AdGuard services list in a service-management tool.
2. In App Manager's process view, the AdGuard process showed 3 running services: ProtectionStateForegroundService (running 00:43), LocalVpnService (00:09) and SamsungPayService (running 00:20); the AdGuard process was using ~476 MB of RAM.
3. According to `dumpsys activity services com.adguard.android`, during my monitoring most of the time only ProtectionStateForegroundService and LocalVpnService are present, while SamsungPayService appears from time to time (e.g. after the protection is (re)started) - the 'detect Samsung Pay' logic keeps launching on hardware where Samsung Pay can never exist.

The app provides no way to disable this service; the only workaround I found was to disable the service component at the OS level - currently `dumpsys package com.adguard.android` lists com.adguard.android.service.SamsungPayService among disabledComponents.

In #4807 it was answered that the service is launched with the app to detect Samsung Pay presence and that it uses an insignificant amount of resources. On a non-Samsung device, however, this detection can never succeed: it is a permanently useless component of an always-on VPN app, and it is confusing for users to see a Samsung-related process running on a phone that has nothing to do with Samsung.

### Expected Behavior

SamsungPayService should not be (re)started on devices without Samsung components. Any of the following would solve it:

1. Skip the Samsung Pay detection on non-Samsung devices (e.g. check Build.MANUFACTURER or the presence of com.samsung.* packages before starting the service).
2. After the first check shows that Samsung Pay is not installed, stop the service and do not (re)start it.
3. Respect the system-level disabled state of the component.
4. Provide a low-level setting to turn this service off completely.

### Actual Behavior

On a non-Samsung device with no Samsung components, SamsungPayService keeps being started in the background and shows up among running services, consuming the resources of an always-on app; there is no supported way to get rid of it from the app itself.

### Steps to Reproduce

1. Use a non-Samsung device without any Samsung components.
2. Install AdGuard 4.14.0 and enable protection.
3. Watch the services of com.adguard.android (e.g. App Manager process view, or `dumpsys activity services com.adguard.android`): SamsungPayService is started from time to time and appears among the running services.

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。