Loading src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java +37 −25 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.network.telephony.gsm; import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; import static androidx.lifecycle.Lifecycle.Event.ON_START; import static androidx.lifecycle.Lifecycle.Event.ON_STOP; Loading @@ -36,10 +37,11 @@ import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.lifecycle.LifecycleEventObserver; import androidx.lifecycle.LifecycleOwner; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; Loading @@ -63,10 +65,10 @@ import java.util.concurrent.atomic.AtomicLong; * Preference controller for "Auto Select Network" */ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceController implements LifecycleObserver{ implements LifecycleEventObserver{ private static final long MINIMUM_DIALOG_TIME_MILLIS = TimeUnit.SECONDS.toMillis(1); private static final String LOG_TAG = "AutoSelectPreferenceController"; private static final String INTERNAL_LOG_TAG_INIT = "Init"; private static final String INTERNAL_LOG_TAG_ONRESUME = "OnResume"; private static final String INTERNAL_LOG_TAG_AFTERSET = "AfterSet"; private final Handler mUiHandler; Loading Loading @@ -110,14 +112,37 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon } } @OnLifecycleEvent(ON_START) public void onStart() { /** * Implementation of LifecycleEventObserver. */ @SuppressWarnings("FutureReturnValueIgnored") public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) { switch (event) { case ON_START: mAllowedNetworkTypesListener.register(mContext, mSubId); break; case ON_RESUME: ThreadUtils.postOnBackgroundThread(() -> { queryNetworkSelectionMode(INTERNAL_LOG_TAG_ONRESUME); //Update UI in UI thread mUiHandler.post(() -> { if (mSwitchPreference != null) { mRecursiveUpdate.getAndIncrement(); mSwitchPreference.setChecked(isChecked()); mRecursiveUpdate.decrementAndGet(); updateListenerValue(); } @OnLifecycleEvent(ON_STOP) public void onStop() { }); }); break; case ON_STOP: mAllowedNetworkTypesListener.unregister(mContext, mSubId); break; default: // Do nothing break; } } @Override Loading Loading @@ -243,19 +268,6 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon updateUiAutoSelectValue(status); } }; ThreadUtils.postOnBackgroundThread(() -> { queryNetworkSelectionMode(INTERNAL_LOG_TAG_INIT); //Update UI in UI thread mUiHandler.post(() -> { if (mSwitchPreference != null) { mRecursiveUpdate.getAndIncrement(); mSwitchPreference.setChecked(isChecked()); mRecursiveUpdate.decrementAndGet(); updateListenerValue(); } }); }); return this; } Loading Loading
src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java +37 −25 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.network.telephony.gsm; import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; import static androidx.lifecycle.Lifecycle.Event.ON_START; import static androidx.lifecycle.Lifecycle.Event.ON_STOP; Loading @@ -36,10 +37,11 @@ import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.OnLifecycleEvent; import androidx.lifecycle.LifecycleEventObserver; import androidx.lifecycle.LifecycleOwner; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; Loading @@ -63,10 +65,10 @@ import java.util.concurrent.atomic.AtomicLong; * Preference controller for "Auto Select Network" */ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceController implements LifecycleObserver{ implements LifecycleEventObserver{ private static final long MINIMUM_DIALOG_TIME_MILLIS = TimeUnit.SECONDS.toMillis(1); private static final String LOG_TAG = "AutoSelectPreferenceController"; private static final String INTERNAL_LOG_TAG_INIT = "Init"; private static final String INTERNAL_LOG_TAG_ONRESUME = "OnResume"; private static final String INTERNAL_LOG_TAG_AFTERSET = "AfterSet"; private final Handler mUiHandler; Loading Loading @@ -110,14 +112,37 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon } } @OnLifecycleEvent(ON_START) public void onStart() { /** * Implementation of LifecycleEventObserver. */ @SuppressWarnings("FutureReturnValueIgnored") public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) { switch (event) { case ON_START: mAllowedNetworkTypesListener.register(mContext, mSubId); break; case ON_RESUME: ThreadUtils.postOnBackgroundThread(() -> { queryNetworkSelectionMode(INTERNAL_LOG_TAG_ONRESUME); //Update UI in UI thread mUiHandler.post(() -> { if (mSwitchPreference != null) { mRecursiveUpdate.getAndIncrement(); mSwitchPreference.setChecked(isChecked()); mRecursiveUpdate.decrementAndGet(); updateListenerValue(); } @OnLifecycleEvent(ON_STOP) public void onStop() { }); }); break; case ON_STOP: mAllowedNetworkTypesListener.unregister(mContext, mSubId); break; default: // Do nothing break; } } @Override Loading Loading @@ -243,19 +268,6 @@ public class AutoSelectPreferenceController extends TelephonyTogglePreferenceCon updateUiAutoSelectValue(status); } }; ThreadUtils.postOnBackgroundThread(() -> { queryNetworkSelectionMode(INTERNAL_LOG_TAG_INIT); //Update UI in UI thread mUiHandler.post(() -> { if (mSwitchPreference != null) { mRecursiveUpdate.getAndIncrement(); mSwitchPreference.setChecked(isChecked()); mRecursiveUpdate.decrementAndGet(); updateListenerValue(); } }); }); return this; } Loading