Merge "[Settings] Not allow APN delete when adding is not an option" into tm-qpr-dev am: d2644b4ea9 am: 90a36213bb

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19739248

Change-Id: Ibf866ba9ee70e2ada74c283f5e079d2136a61173
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Bonian Chen
2022-08-26 11:36:54 +00:00
committed by Automerger Merge Worker
2 changed files with 50 additions and 10 deletions

View File

@@ -17,14 +17,15 @@
package com.android.settings.network.apn;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import android.content.ContentResolver;
@@ -34,22 +35,21 @@ import android.content.Intent;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.Uri;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import androidx.fragment.app.FragmentActivity;
import androidx.preference.EditTextPreference;
import androidx.preference.ListPreference;
import androidx.preference.MultiSelectListPreference;
import androidx.preference.SwitchPreference;
import com.android.settings.R;
import com.android.settings.network.ProxySubscriptionManager;
import com.android.settings.network.apn.ApnEditor.ApnData;
import com.android.settings.testutils.shadow.ShadowFragment;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -103,13 +103,15 @@ public class ApnEditorTest {
private FragmentActivity mActivity;
@Mock
private ProxySubscriptionManager mProxySubscriptionMgr;
@Mock
private CarrierConfigManager mCarrierConfigManager;
@Captor
private ArgumentCaptor<Uri> mUriCaptor;
private ApnEditor mApnEditorUT;
private Context mContext;
private Resources mResources;
private PersistableBundle mBundle = new PersistableBundle();
@Before
public void setUp() {
@@ -127,6 +129,10 @@ public class ApnEditorTest {
doReturn(mContext.getTheme()).when(mActivity).getTheme();
doReturn(mContext.getContentResolver()).when(mActivity).getContentResolver();
doReturn(mCarrierConfigManager).when(mContext)
.getSystemService(Context.CARRIER_CONFIG_SERVICE);
doReturn(mBundle).when(mCarrierConfigManager).getConfigForSubId(anyInt());
setMockPreference(mContext);
mApnEditorUT.mApnData = new FakeApnData(APN_DATA);
mApnEditorUT.sNotSet = "Not Set";
@@ -379,6 +385,20 @@ public class ApnEditorTest {
verify(mApnEditorUT).finish();
}
@Test
public void testDeleteApnData_shouldNotPresentMenuWhenNotSupportAdding() {
mBundle.putBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL, false);
MenuItem item = Mockito.mock(MenuItem.class);
Menu menu = Mockito.mock(Menu.class);
doReturn(item).when(menu).add(anyInt(), anyInt(), anyInt(), anyInt());
mApnEditorUT.getCarrierCustomizedConfig(mContext);
mApnEditorUT.onCreateOptionsMenu(menu, null);
verify(menu, times(0)).add(anyInt(), eq(ApnEditor.MENU_DELETE), anyInt(), anyInt());
}
@Test(expected = ClassCastException.class)
public void testApnData_invalidIntegerType_throwsInvalidTypeException() {
// GIVEN a ApnData constructed from cursor