[OnePlus 7 Pro Questions & Answers] midknightwizard:
Hello, I'm trying to add an APN for a secondary sim that I use for international data. However there is no option to add a new APN. There should normally be a + sign on the top right corner of the APN settings however that is missing for me.

I've tried resetting APNs to default, removing and adding the sim back in and rebooting the phone multiple times, airplane mode, even factory resetting the phone and none of that helped.

When I contacted Oneplus support, they told me this is a carrier restriction and I needed to contact both my primary carrier and the secondary carrier I wanted to add the APN for.

I contacted my primary carrier (Koodo Mobile in Canada) and they said there was no restriction from them and I needed to contact the secondary carrier. I've tried to contact them but they haven't been responding to my ticket but I doubt they would be able to do anything.

I found this video on youtube showing a similar issue on another phone and resolved it by installing nova launcher and adding an APN settings widget to the home screen which got the '+' button when opened.

However when I tried it, the APN settings just crashed when I touched the add button.

I got a logcat of the crash although I'm not sure how useful it is.

07-19 23:46:31.984 1220 1404 V Theme : com.android.settings, Add app's resource
07-19 23:46:31.985 1220 1404 V Theme : com.android.settings, Add app's resource
07-19 23:46:31.992 1220 1275 D RestartProcessManager: Update Total Launch Times :com.android.settings
07-19 23:46:31.992 1220 1275 D RestartProcessManager: updateSelf : com.android.settings, size : 21
07-19 23:46:31.992 1220 1275 D RestartProcessManager: Last Running Package : com.android.settings , start time 1563594391992
07-19 23:46:31.992 1220 1849 I MotorManagerService: notifyActivityChanged: mBackgroudPkg = com.android.settings mFocusPkg = com.android.settings mIsSplitMode = false mBackActivity = com.android.settings.Settings$ApnSettingsActivity mFocusActivity = com.android.settings.Settings$ApnEditorActivity
07-19 23:46:31.992 765 808 E ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
07-19 23:46:31.998 1220 9298 I ScreenModeManager: post to setScreenFlushModeLocked for AppWindowToken{e34cb8 token=Token{e89d31b ActivityRecord{624b92a u0 com.android.settings/.Settings$ApnEditorActivity t2666}}} to mode=0 package com.android.settings activity com.android.settings/.Settings$ApnEditorActivity
07-19 23:46:31.998 1220 9298 D OneplusAppPreload: com.android.settings is not preload, collectAppFocusEvent
07-19 23:46:32.000 16588 16588 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@3164547
07-19 23:46:32.006 16588 16588 D SettingsActivity: Starting onCreate
07-19 23:46:32.007 16588 16896 E ActivityThread: Failed to find provider info for com.qti.smq.Feedback.provider
07-19 23:46:32.008 16588 16896 E SharedPreferencesImpl: Couldn't create directory for SharedPreferences file /data/user_de/0/com.android.settings/shared_prefs/smqpreferences.xml
07-19 23:46:32.017 16588 16588 D SettingsActivity: Starting to set activity title
07-19 23:46:32.017 16588 16588 D SettingsActivity: Done setting title
07-19 23:46:32.017 16588 16588 D SettingsActivity: Switching to fragment com.android.settings.network.ApnEditor
07-19 23:46:32.020 16588 16588 D ApnEditor: onCreate: read only APN type: dun
07-19 23:46:32.021 16588 16588 D ApnEditor: onCreate: EDITED true
07-19 23:46:32.021 16588 16588 D AndroidRuntime: Shutting down VM
07-19 23:45:53.966 16358 16358 E AndroidRuntime: FATAL EXCEPTION: main
07-19 23:45:53.966 16358 16358 E AndroidRuntime: Process: com.android.phone, PID: 16358
07-19 23:45:53.966 16358 16358 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings$ApnEditorActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.android.internal.telephony.Phone.getOperatorNumeric()' on a null object reference
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3123)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3258)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7029)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.android.internal.telephony.Phone.getOperatorNumeric()' on a null object reference
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at com.android.settings.network.ApnEditor.fillUI(ApnEditor.java:623)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at com.android.settings.network.ApnEditor.onCreate(ApnEditor.java:414)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.Fragment.performCreate(Fragment.java:2503)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1256)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2426)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2205)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2161)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2062)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:818)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at com.android.settings.SettingsActivity.switchToFragment(SettingsActivity.java:703)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at com.android.settings.SettingsActivity.launchSettingFragment(SettingsActivity.java:451)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at com.android.settings.SettingsActivity.onCreate(SettingsActivity.java:330)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7163)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7154)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1288)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3097)
07-19 23:45:53.966 16358 16358 E AndroidRuntime: ... 11 more
07-19 23:46:32.021 16588 16588 E AndroidRuntime: FATAL EXCEPTION: main
07-19 23:46:32.021 16588 16588 E AndroidRuntime: Process: com.android.phone, PID: 16588
07-19 23:46:32.021 16588 16588 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings$ApnEditorActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.android.internal.telephony.Phone.getOperatorNumeric()' on a null object reference
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3123)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3258)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7029)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.android.internal.telephony.Phone.getOperatorNumeric()' on a null object reference
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at com.android.settings.network.ApnEditor.fillUI(ApnEditor.java:623)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at com.android.settings.network.ApnEditor.onCreate(ApnEditor.java:414)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.Fragment.performCreate(Fragment.java:2503)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1256)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2426)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2205)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2161)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2062)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:818)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at com.android.settings.SettingsActivity.switchToFragment(SettingsActivity.java:703)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at com.android.settings.SettingsActivity.launchSettingFragment(SettingsActivity.java:451)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at com.android.settings.SettingsActivity.onCreate(SettingsActivity.java:330)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7163)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7154)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1288)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3097)
07-19 23:46:32.021 16588 16588 E AndroidRuntime: ... 11 more
07-19 23:46:32.025 16588 16588 I OPDiagnose: OPDiagnoseManager addIssueCount type = 31, count = 1
07-19 23:46:32.025 16588 16588 I : BpOPDiagnoseServer addIssueCount type = 31, count = 1
07-19 23:46:32.025 785 840 I : BnOPDiagnoseServer ADD_ISSUE_COUNT type = 31, count = 1
07-19 23:46:32.025 785 840 I OPDiagnoseService: addIssueCount: type = 31, count = 1, time_now = 2019-07-19 23:46:32
07-19 23:46:32.025 785 838 I OPDiagnoseService: threadLoop: get issue item...31
07-19 23:46:32.027 16588 16897 D OSTracker: OS Event: system_app_crash
07-19 23:46:32.029 785 838 I OPDiagnoseService: ~IssueItem: Destructor of IssueItem object, type id = 31
07-19 23:46:32.030 1220 9298 D AbnormalMonitor: appCrash :com.android.phone
07-19 23:46:32.030 1220 9298 W ActivityManager: Force finishing activity com.android.settings/.Settings$ApnEditorActivity
07-19 23:46:32.030 1220 9298 D ActivityTrigger: ActivityTrigger activityPauseTrigger
07-19 23:46:32.030 16588 16897 D AbstractTracker: Event success
07-19 23:46:32.031 1220 9298 W ActivityManager: Force finishing activity com.android.settings/.Settings$ApnSettingsActivity
07-19 23:46:32.034 1220 1276 I ActivityManager: Showing crash dialog for package com.android.phone u0

Does anyone have any clue why I can't add an APN?