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.<init>(WifiTetherBasePreferenceController.java:50)
	at com.android.settings.wifi.tether.WifiTetherSSIDPreferenceController.<init>(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 <neobuddy89@gmail.com>
This commit is contained in:
Pranav Vashi
2025-03-02 10:33:59 +05:30
committed by Joey
parent e8e5a0a3e9
commit b52dea13a3

View File

@@ -47,7 +47,7 @@ public abstract class WifiTetherBasePreferenceController extends AbstractPrefere
mListener = listener; mListener = listener;
mWifiManager = context.getSystemService(WifiManager.class); mWifiManager = context.getSystemService(WifiManager.class);
mTm = context.getSystemService(TetheringManager.class); mTm = context.getSystemService(TetheringManager.class);
mWifiRegexs = mTm.getTetherableWifiRegexs(); mWifiRegexs = mTm != null ? mTm.getTetherableWifiRegexs() : null;
} }
@Override @Override