Merge "Fix TetherSettings crash issue" into udc-dev am: f65da39f37

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23485222

Change-Id: Ia75886edc6211a05645e047bc627a95f923cd6ed
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2023-06-01 05:02:59 +00:00
committed by Automerger Merge Worker
2 changed files with 51 additions and 18 deletions

View File

@@ -145,19 +145,13 @@ public class TetherSettings extends RestrictedSettingsFragment
super(UserManager.DISALLOW_CONFIG_TETHERING);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
TetheringManagerModel model = new ViewModelProvider(this).get(TetheringManagerModel.class);
mWifiTetherPreferenceController =
new WifiTetherPreferenceController(context, getSettingsLifecycle(), model);
mTm = model.getTetheringManager();
model.getTetheredInterfaces().observe(this, this::onTetheredInterfacesChanged);
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setIfOnlyAvailableForAdmins(true);
if (isUiRestricted()) {
return;
}
addPreferencesFromResource(R.xml.tether_prefs);
mContext = getContext();
@@ -165,13 +159,8 @@ public class TetherSettings extends RestrictedSettingsFragment
mDataSaverEnabled = mDataSaverBackend.isDataSaverEnabled();
mDataSaverFooter = findPreference(KEY_DATA_SAVER_FOOTER);
setIfOnlyAvailableForAdmins(true);
if (isUiRestricted()) {
getPreferenceScreen().removeAll();
return;
}
setupTetherPreference();
setupViewModel();
final Activity activity = getActivity();
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
@@ -223,8 +212,22 @@ public class TetherSettings extends RestrictedSettingsFragment
onDataSaverChanged(mDataSaverBackend.isDataSaverEnabled());
}
@VisibleForTesting
void setupViewModel() {
TetheringManagerModel model = new ViewModelProvider(this).get(TetheringManagerModel.class);
mWifiTetherPreferenceController =
new WifiTetherPreferenceController(getContext(), getSettingsLifecycle(), model);
mTm = model.getTetheringManager();
model.getTetheredInterfaces().observe(this, this::onTetheredInterfacesChanged);
}
@Override
public void onDestroy() {
if (isUiRestricted()) {
super.onDestroy();
return;
}
mDataSaverBackend.remListener(this);
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();