Revert "Add a test BroadCastReceiver to receive carrier Config"
Revert "[Tethering] Add MTS method to TetheringManagerTest."
Revert submission 2046446-tethering_entitlement_MTS
Reason for revert: This test never pass. Now tethering module release is blocked by MTS fail. TH don't catch this probably because b/234680138 cause this test don't actually run at the moment.
Reverted Changes:
Ica95c0d5b:Add a test BroadCastReceiver to receive carrier Co...
I5f758fe0c:[Tethering] Add MTS method to TetheringManagerTest...
Change-Id: I2606b105ad955958b555dcd7d03f5371e49cd22a
diff --git a/staticlibs/testutils/devicetests/com/android/testutils/TestCarrierConfigReceiver.java b/staticlibs/testutils/devicetests/com/android/testutils/TestCarrierConfigReceiver.java
deleted file mode 100644
index ffd88fd..0000000
--- a/staticlibs/testutils/devicetests/com/android/testutils/TestCarrierConfigReceiver.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.testutils;
-
-import static android.telephony.CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED;
-
-import static com.android.testutils.TestPermissionUtil.runAsShell;
-
-import static org.junit.Assert.assertTrue;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-/** A receiver to receive carrier config and can be awaiting the result of config change. */
-public class TestCarrierConfigReceiver extends BroadcastReceiver {
- // CountDownLatch used to wait for this BroadcastReceiver to be notified of a CarrierConfig
- // change. This latch will be counted down if a broadcast indicates this package has carrier
- // configs, or if an Exception occurs in #onReceive.
- private final CountDownLatch mLatch = new CountDownLatch(1);
- private final int mSubId;
- private final int mTimeoutMs;
- private final PersistableBundle mRequestedConfig;
- private final Matcher mMatcher;
- private final Context mContext;
- private final CarrierConfigManager mCarrierConfigManager;
-
- private volatile PersistableBundle mReceivedConfigs;
- private volatile Exception mOnReceiveException;
-
- /** A interface for doing the carrier config match between requested and received one.*/
- public interface Matcher {
- /**
- * Called when a broadcast is received in order to determine whether the
- * broadcast matches expectations.
- *
- * - If this method returns true, waitForCarrierConfigChanged returns.
- * - If this method returns false, the broadcast will be ignored and
- * waitForCarrierConfigChanged will continue to wait. If this method throws an exception,
- * the exception will be stored and re-thrown by waitForCarrierConfigChanged.
- */
- boolean matchesBroadcast(PersistableBundle config) throws Exception;
- }
-
- public TestCarrierConfigReceiver(
- Context context,
- int subId,
- int timeoutMs,
- PersistableBundle requestedConfig,
- Matcher matcher) {
- mContext = context;
- mSubId = subId;
- mTimeoutMs = timeoutMs;
- mRequestedConfig = requestedConfig;
- mMatcher = matcher;
- mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
- }
-
- @Override
- public void onReceive(Context context, Intent intent) {
- if (!CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED.equals(intent.getAction())) {
- // Ignores this incorrect broadcast.
- return;
- }
-
- int subId = intent.getIntExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX,
- SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- if (mSubId != subId) {
- // Ignores this broadcast for the wrong subId.
- return;
- }
- mReceivedConfigs = getCarrierConfigs(subId);
-
- if (!CarrierConfigManager.isConfigForIdentifiedCarrier(mReceivedConfigs)) {
- // Configs are not for an identified carrier (meaning they are defaults) - ignore
- return;
- }
-
- try {
- if (mMatcher.matchesBroadcast(mReceivedConfigs)) {
- mLatch.countDown();
- }
- } catch (Exception e) {
- // Throw an Exception - cache it and allow waitForCarrierConfigChanged() to throw it
- mOnReceiveException = e;
- mLatch.countDown();
- }
- }
-
- private PersistableBundle getCarrierConfigs(int subId) {
- return runAsShell(android.Manifest.permission.READ_PHONE_STATE,
- () -> mCarrierConfigManager.getConfigForSubId(subId));
- }
-
- private void waitForCarrierConfigChanged() throws Exception {
- try {
- assertTrue("No matching carrier config broadcast received after " + mTimeoutMs
- + " milliseconds.", mLatch.await(mTimeoutMs, TimeUnit.MILLISECONDS));
- // If latch is unlocked and mOnReceiveException is assigned,
- // it shall throw the exception.
- if (mOnReceiveException != null) {
- throw mOnReceiveException;
- }
- } finally {
- mContext.unregisterReceiver(this);
- }
- }
-
- /**
- * Override the carrier config and waiting for the carrier config change.
- * @return A PersistentBundle with received carrier configs.
- * @throws Exception Once timout happened, it may throw a timout exception.
- */
- public PersistableBundle overrideCarrierConfigForTest() throws Exception {
- IntentFilter filter = new IntentFilter();
- filter.addAction(ACTION_CARRIER_CONFIG_CHANGED);
- mContext.registerReceiver(this, filter);
- runAsShell(android.Manifest.permission.MODIFY_PHONE_STATE,
- () -> {
- mCarrierConfigManager.overrideConfig(mSubId, mRequestedConfig);
- mCarrierConfigManager.notifyConfigChangedForSubId(mSubId);
- });
-
- waitForCarrierConfigChanged();
- return mReceivedConfigs;
- }
-}