Merge "Fixed ApnEditor crash issue" into pi-dev am: c670be956c

am: 755426d7d8

Change-Id: I575e6775a47a2cd8b8bff3e2ab55309744a72e0a
This commit is contained in:
Pengquan Meng
2018-04-16 19:43:38 -07:00
committed by android-build-merger
2 changed files with 32 additions and 6 deletions

View File

@@ -1195,12 +1195,19 @@ public class ApnEditor extends SettingsPreferenceFragment
}
}
private ApnData getApnDataFromUri(Uri uri) {
ApnData apnData;
try (Cursor cursor = getActivity().managedQuery(
uri, sProjection, null /* selection */, null /* sortOrder */)) {
cursor.moveToFirst();
apnData = new ApnData(uri, cursor);
@VisibleForTesting
ApnData getApnDataFromUri(Uri uri) {
ApnData apnData = null;
try (Cursor cursor = getContentResolver().query(
uri,
sProjection,
null /* selection */,
null /* selectionArgs */,
null /* sortOrder */)) {
if (cursor != null) {
cursor.moveToFirst();
apnData = new ApnData(uri, cursor);
}
}
if (apnData == null) {

View File

@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@@ -115,6 +116,24 @@ public class ApnEditorTest {
mApnEditorUT.sNotSet = "Not Set";
}
@Test
public void testApnEditor_doesNotUseManagedQuery() {
mApnEditorUT.getApnDataFromUri(Mockito.mock(Uri.class));
verify(mActivity, never()).managedQuery(
any(Uri.class),
any(String[].class),
any(String.class),
any(String.class));
verify(mActivity, never()).managedQuery(
any(Uri.class),
any(String[].class),
any(String.class),
any(String[].class),
any(String.class));
}
@Test
public void testSetStringValue_valueChanged_shouldSetValue() {
// GIVEN an APN value which is different than the APN value in database