diff options
5 files changed, 15 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/pm/permission/Permission.java b/services/core/java/com/android/server/pm/permission/Permission.java index 07ff0ee049e1..beb8ad3244e5 100644 --- a/services/core/java/com/android/server/pm/permission/Permission.java +++ b/services/core/java/com/android/server/pm/permission/Permission.java @@ -146,6 +146,10 @@ public final class Permission { return mPermissionInfo.packageName; } + public boolean isReconciled() { + return mReconciled; + } + public int getType() { return mType; } diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java index 3afba39ad4af..976520d30a23 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java @@ -4047,6 +4047,10 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt // being uninstalled, continue; } + // Don't remove config permissions and lose their GIDs. + if (bp.getType() == Permission.TYPE_CONFIG && !bp.isReconciled()) { + continue; + } // The target package is the source of the current permission // Set to changed for either install or uninstall changed = true; diff --git a/services/core/java/com/android/server/vcn/routeselection/IpSecPacketLossDetector.java b/services/core/java/com/android/server/vcn/routeselection/IpSecPacketLossDetector.java index 5f4852f77727..a25d67ab66af 100644 --- a/services/core/java/com/android/server/vcn/routeselection/IpSecPacketLossDetector.java +++ b/services/core/java/com/android/server/vcn/routeselection/IpSecPacketLossDetector.java @@ -252,7 +252,7 @@ public class IpSecPacketLossDetector extends NetworkMetricMonitor { } getInboundTransformInternal() - .getIpSecTransformState( + .requestIpSecTransformState( new HandlerExecutor(mHandler), new IpSecTransformStateReceiver()); // Schedule for next poll @@ -302,7 +302,8 @@ public class IpSecPacketLossDetector extends NetworkMetricMonitor { "packetLossRate: " + packetLossRate + "% in the past " - + (state.getTimestamp() - mLastIpSecTransformState.getTimestamp()) + + (state.getTimestampMillis() + - mLastIpSecTransformState.getTimestampMillis()) + "ms"; mLastIpSecTransformState = state; diff --git a/services/core/java/com/android/server/vcn/routeselection/NetworkMetricMonitor.java b/services/core/java/com/android/server/vcn/routeselection/NetworkMetricMonitor.java index a79f188713e1..1704aa117a2b 100644 --- a/services/core/java/com/android/server/vcn/routeselection/NetworkMetricMonitor.java +++ b/services/core/java/com/android/server/vcn/routeselection/NetworkMetricMonitor.java @@ -138,10 +138,10 @@ public abstract class NetworkMetricMonitor implements AutoCloseable { } /** Poll an IpSecTransformState */ - public void getIpSecTransformState( + public void requestIpSecTransformState( @NonNull Executor executor, @NonNull OutcomeReceiver<IpSecTransformState, RuntimeException> callback) { - ipSecTransform.getIpSecTransformState(executor, callback); + ipSecTransform.requestIpSecTransformState(executor, callback); } /** Close this instance and release the underlying resources */ diff --git a/tests/vcn/java/com/android/server/vcn/routeselection/IpSecPacketLossDetectorTest.java b/tests/vcn/java/com/android/server/vcn/routeselection/IpSecPacketLossDetectorTest.java index 9daba6a79a27..1d7be2f4f039 100644 --- a/tests/vcn/java/com/android/server/vcn/routeselection/IpSecPacketLossDetectorTest.java +++ b/tests/vcn/java/com/android/server/vcn/routeselection/IpSecPacketLossDetectorTest.java @@ -144,7 +144,7 @@ public class IpSecPacketLossDetectorTest extends NetworkEvaluationTestBase { mTestLooper.dispatchAll(); verify(mIpSecTransform) - .getIpSecTransformState(any(), mTransformStateReceiverCaptor.capture()); + .requestIpSecTransformState(any(), mTransformStateReceiverCaptor.capture()); return mTransformStateReceiverCaptor.getValue(); } @@ -210,7 +210,7 @@ public class IpSecPacketLossDetectorTest extends NetworkEvaluationTestBase { assertNull(mIpSecPacketLossDetector.getLastTransformState()); mTestLooper.moveTimeForward(POLL_IPSEC_STATE_INTERVAL_MS); mTestLooper.dispatchAll(); - verify(newTransform).getIpSecTransformState(any(), any()); + verify(newTransform).requestIpSecTransformState(any(), any()); } @Test |