Merge "Application accepts null intents causing a crash"

This commit is contained in:
TreeHugger Robot
2018-10-01 21:11:56 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 1 deletions

View File

@@ -231,9 +231,13 @@ public class ApnEditor extends SettingsPreferenceFragment
final Intent intent = getIntent();
final String action = intent.getAction();
if (TextUtils.isEmpty(action)) {
finish();
return;
}
mSubId = intent.getIntExtra(ApnSettings.SUB_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mReadOnlyApn = false;
mReadOnlyApnTypes = null;
mReadOnlyApnFields = null;

View File

@@ -19,11 +19,13 @@ package com.android.settings.network;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
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;
import static org.mockito.Mockito.when;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -450,6 +452,15 @@ public class ApnEditorTest {
assertThat(ApnEditor.formatInteger("not an int")).isEqualTo("not an int");
}
@Test
public void onCreate_noAction_shouldFinishAndNoCrash() {
doNothing().when(mApnEditorUT).addPreferencesFromResource(anyInt());
mApnEditorUT.onCreate(null);
verify(mApnEditorUT).finish();
}
private void initCursor() {
doReturn(2).when(mCursor).getColumnCount();
doReturn(Integer.valueOf(2)).when(mCursor).getInt(CURSOR_INTEGER_INDEX);