From 84ec4a397a3deb343b08ed03089e5ff26c3e8e04 Mon Sep 17 00:00:00 2001 From: markchien Date: Thu, 24 Sep 2020 09:50:55 +0800 Subject: [PATCH] Fix TetheredClient callback fail in InProcessTethering TetheredClient callback would additional check whether caller has NETWORK_SETTINGS or {MAINLINE_}NETWORK_STACK permission, but it do not grant for self accessing. InProcessTethering run in system server, so the services in system server would fail to call TetheredClient callback. Grant permission for self process. Bug: 169231588 Test: atest CtsTetheringTest Change-Id: Ic04e44aef4df772c718ff25ed331bf02f5940c1d --- Tethering/src/com/android/networkstack/tethering/Tethering.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tethering/src/com/android/networkstack/tethering/Tethering.java b/Tethering/src/com/android/networkstack/tethering/Tethering.java index 255cf750c0..9a3cecef69 100644 --- a/Tethering/src/com/android/networkstack/tethering/Tethering.java +++ b/Tethering/src/com/android/networkstack/tethering/Tethering.java @@ -2104,7 +2104,7 @@ public class Tethering { } private boolean hasCallingPermission(@NonNull String permission) { - return mContext.checkCallingPermission(permission) == PERMISSION_GRANTED; + return mContext.checkCallingOrSelfPermission(permission) == PERMISSION_GRANTED; } /** Unregister tethering event callback */