AdguardTeam / AdguardTeam/AdguardForAndroid

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

Ouverte
#6,206 1 commentaire 0 réactions 1 personne assignée Assignée à @Swen90 Voir sur GitHub
Priority: P4
Langage dominant
Aucune donnée de langage
Étoiles
1.9k
Forks
121
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.