AdguardTeam / AdguardTeam/AdguardForAndroid

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

Offen
#6,206 1 Kommentar 0 Reaktionen 1 zugewiesene Person Zugewiesen an @Swen90 Auf GitHub ansehen
Priority: P4
Vorherrschende Sprache
Keine Sprachdaten
Sterne
1.9k
Forks
121
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### 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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.