From b52dea13a3c3c7eaa063c90800d5324b785199f3 Mon Sep 17 00:00:00 2001 From: Pranav Vashi Date: Sun, 2 Mar 2025 10:33:59 +0530 Subject: [PATCH] Settings: Prevent Wifi Tethering NPE Log: time: 1740837422345 msg: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()' stacktrace: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings$WifiTetherSettingsActivity}: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()' at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4129) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4316) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:222) at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133) at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2719) at android.os.Handler.dispatchMessage(Handler.java:109) at android.os.Looper.loopOnce(Looper.java:232) at android.os.Looper.loop(Looper.java:317) at android.app.ActivityThread.main(ActivityThread.java:8787) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:871) Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String[] android.net.TetheringConfigurationParcel.tetherableWifiRegexs' on a null object reference in method 'java.lang.String[] android.net.TetheringManager.getTetherableWifiRegexs()' at android.net.TetheringManager.getTetherableWifiRegexs(TetheringManager.java:1637) at com.android.settings.wifi.tether.WifiTetherBasePreferenceController.(WifiTetherBasePreferenceController.java:50) at com.android.settings.wifi.tether.WifiTetherSSIDPreferenceController.(WifiTetherSSIDPreferenceController.java:59) at com.android.settings.wifi.tether.WifiTetherSettings.buildPreferenceControllers(WifiTetherSettings.java:295) at com.android.settings.wifi.tether.WifiTetherSettings.createPreferenceControllers(WifiTetherSettings.java:289) at com.android.settings.dashboard.DashboardFragment.onAttach(DashboardFragment.java:127) at com.android.settings.wifi.tether.WifiTetherSettings.onAttach(WifiTetherSettings.java:206) at androidx.fragment.app.Fragment.performAttach(Fragment.java:3075) at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:510) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:279) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2211) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2049) at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:779) at com.android.settings.SettingsActivity.switchToFragment(SettingsActivity.java:723) at com.android.settings.SettingsActivity.launchSettingFragment(SettingsActivity.java:515) at com.android.settings.SettingsActivity.createUiFromIntent(SettingsActivity.java:324) at com.android.settings.SettingsActivity.onCreate(SettingsActivity.java:283) at android.app.Activity.performCreate(Activity.java:9019) at android.app.Activity.performCreate(Activity.java:8997) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1532) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4111) ... 13 more Signed-off-by: Pranav Vashi --- .../wifi/tether/WifiTetherBasePreferenceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java index a950dc312cd..1a78d37b137 100644 --- a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java +++ b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java @@ -47,7 +47,7 @@ public abstract class WifiTetherBasePreferenceController extends AbstractPrefere mListener = listener; mWifiManager = context.getSystemService(WifiManager.class); mTm = context.getSystemService(TetheringManager.class); - mWifiRegexs = mTm.getTetherableWifiRegexs(); + mWifiRegexs = mTm != null ? mTm.getTetherableWifiRegexs() : null; } @Override