[Settings] Avoid from accessing LifecycleOwner when not available

Only access LifecycleOwner when available.

Bug: 266872811
Test: local

Change-Id: Id575a71e20e79f8efadb49af128c1a43c058acdd
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
index 00819b5..ae002f3 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
@@ -109,12 +109,18 @@
 
     @Override
     public void updateState(Preference preference) {
+        if (mFragment == null) {
+            return;
+        }
         final int simSlot = getSimSlotIndex();
         if (mSimChangeObserver == null) {
             mSimChangeObserver = x -> updateStateBySlot(preference, simSlot);
-            mSlotSimStatus.observe(mFragment.getViewLifecycleOwner(), mSimChangeObserver);
+            mFragment.getViewLifecycleOwnerLiveData().observeForever(lifecycleOwner -> {
+                mSlotSimStatus.observe(lifecycleOwner, mSimChangeObserver);
+            });
+        } else {
+            updateStateBySlot(preference, simSlot);
         }
-        updateStateBySlot(preference, simSlot);
     }
 
     protected void updateStateBySlot(Preference preference, int simSlot) {