Fix NPE that netd callback call null TetheringConfiguration object

Bug: 148386056
Test: -build, flash, boot
      -atest TetheringTests

Change-Id: I3b1dd958fc107fdc9a6059fbdcf358af4822ebde
This commit is contained in:
markchien 2020-02-06 15:25:47 +08:00
commit 7dda458908

View file

@ -272,13 +272,6 @@ public class Tethering {
mStateReceiver = new StateReceiver();
mNetdCallback = new NetdCallback();
try {
mNetd.registerUnsolicitedEventListener(mNetdCallback);
} catch (RemoteException e) {
mLog.e("Unable to register netd UnsolicitedEventListener");
}
final UserManager userManager = (UserManager) mContext.getSystemService(
Context.USER_SERVICE);
mTetheringRestriction = new UserRestrictionActionListener(userManager, this);
@ -287,6 +280,14 @@ public class Tethering {
// Load tethering configuration.
updateConfiguration();
// NetdCallback should be registered after updateConfiguration() to ensure
// TetheringConfiguration is created.
mNetdCallback = new NetdCallback();
try {
mNetd.registerUnsolicitedEventListener(mNetdCallback);
} catch (RemoteException e) {
mLog.e("Unable to register netd UnsolicitedEventListener");
}
startStateMachineUpdaters(mHandler);
startTrackDefaultNetwork();