Snap for 7552724 from 47837d28c1 to sc-v2-release

Change-Id: I950671b373ada85daa1a1085f01360fab31317fe
This commit is contained in:
Android Build Coastguard Worker
2021-07-16 01:09:21 +00:00
5 changed files with 55 additions and 10 deletions

View File

@@ -34,7 +34,6 @@ public class AllowedNetworkTypesListener extends TelephonyCallback implements
@VisibleForTesting @VisibleForTesting
OnAllowedNetworkTypesListener mListener; OnAllowedNetworkTypesListener mListener;
private long mAllowedNetworkType = -1;
private Executor mExecutor; private Executor mExecutor;
public AllowedNetworkTypesListener(Executor executor) { public AllowedNetworkTypesListener(Executor executor) {
@@ -70,14 +69,14 @@ public class AllowedNetworkTypesListener extends TelephonyCallback implements
@Override @Override
public void onAllowedNetworkTypesChanged(int reason, long newAllowedNetworkType) { public void onAllowedNetworkTypesChanged(int reason, long newAllowedNetworkType) {
if (reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER) { if (reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER
&& reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER) {
return; return;
} }
if (mListener != null && mAllowedNetworkType != newAllowedNetworkType) { if (mListener != null) {
mListener.onAllowedNetworkTypesChanged(); mListener.onAllowedNetworkTypesChanged();
Log.d(LOG_TAG, "onAllowedNetworkChanged: " + mAllowedNetworkType); Log.d(LOG_TAG, "onAllowedNetworkChanged: " + newAllowedNetworkType);
} }
mAllowedNetworkType = newAllowedNetworkType;
} }
/** /**

View File

@@ -167,7 +167,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
} }
private boolean mIsViewLoading; private boolean mIsViewLoading;
private final Runnable mRemoveLoadingRunnable = () -> { @VisibleForTesting
final Runnable mRemoveLoadingRunnable = () -> {
if (mIsViewLoading) { if (mIsViewLoading) {
setLoading(false, false); setLoading(false, false);
mIsViewLoading = false; mIsViewLoading = false;
@@ -175,11 +176,13 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
}; };
private boolean mIsWifiEntryListStale = true; private boolean mIsWifiEntryListStale = true;
private final Runnable mUpdateWifiEntryPreferencesRunnable = () -> { @VisibleForTesting
final Runnable mUpdateWifiEntryPreferencesRunnable = () -> {
updateWifiEntryPreferences(); updateWifiEntryPreferences();
getView().postDelayed(mRemoveLoadingRunnable, 10); getView().postDelayed(mRemoveLoadingRunnable, 10);
}; };
private final Runnable mHideProgressBarRunnable = () -> { @VisibleForTesting
final Runnable mHideProgressBarRunnable = () -> {
setProgressBarVisible(false); setProgressBarVisible(false);
}; };
@@ -445,6 +448,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
@Override @Override
public void onStop() { public void onStop() {
mIsWifiEntryListStale = true; mIsWifiEntryListStale = true;
getView().removeCallbacks(mRemoveLoadingRunnable);
getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable); getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable);
getView().removeCallbacks(mHideProgressBarRunnable); getView().removeCallbacks(mHideProgressBarRunnable);
mAirplaneModeEnabler.stop(); mAirplaneModeEnabler.stop();

View File

@@ -152,7 +152,10 @@ public class EnabledNetworkModePreferenceController extends
mAllowedNetworkTypesListener = new AllowedNetworkTypesListener( mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
mContext.getMainExecutor()); mContext.getMainExecutor());
mAllowedNetworkTypesListener.setAllowedNetworkTypesListener( mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
() -> updatePreference()); () -> {
mBuilder.updateConfig();
updatePreference();
});
} }
lifecycle.addObserver(this); lifecycle.addObserver(this);

View File

@@ -53,6 +53,7 @@ import android.view.View;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceManager; import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
@@ -79,6 +80,8 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner; import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.shadows.ShadowToast; import org.robolectric.shadows.ShadowToast;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
@@ -527,4 +530,28 @@ public class NetworkProviderSettingsTest {
verify(mNetworkProviderSettings.mWifiEntryPreferenceCategory, never()).setVisible(true); verify(mNetworkProviderSettings.mWifiEntryPreferenceCategory, never()).setVisible(true);
} }
@Test
@Config(shadows = ShadowPreferenceFragmentCompat.class)
public void onStop_shouldRemoveCallbacks() {
View fragmentView = mock(View.class);
when(mNetworkProviderSettings.getView()).thenReturn(fragmentView);
mNetworkProviderSettings.onStop();
verify(fragmentView).removeCallbacks(mNetworkProviderSettings.mRemoveLoadingRunnable);
verify(fragmentView).removeCallbacks(
mNetworkProviderSettings.mUpdateWifiEntryPreferencesRunnable);
verify(fragmentView).removeCallbacks(mNetworkProviderSettings.mHideProgressBarRunnable);
verify(mAirplaneModeEnabler).stop();
}
@Implements(PreferenceFragmentCompat.class)
public static class ShadowPreferenceFragmentCompat {
@Implementation
public void onStop() {
// do nothing
}
}
} }

View File

@@ -68,7 +68,7 @@ public class AllowedNetworkTypesListenerTest {
} }
@Test @Test
public void onChange_shouldCallListener() { public void onChange_userReasonChanged_shouldCallListener() {
mAllowedNetworkTypesListener.mListener = mListener; mAllowedNetworkTypesListener.mListener = mListener;
long networkType = (long) RadioAccessFamily.getRafFromNetworkType( long networkType = (long) RadioAccessFamily.getRafFromNetworkType(
TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO); TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);
@@ -79,6 +79,18 @@ public class AllowedNetworkTypesListenerTest {
verify(mListener).onAllowedNetworkTypesChanged(); verify(mListener).onAllowedNetworkTypesChanged();
} }
@Test
public void onChange_carrierReasonChanged_shouldCallListener() {
mAllowedNetworkTypesListener.mListener = mListener;
long networkType = (long) RadioAccessFamily.getRafFromNetworkType(
TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);
mAllowedNetworkTypesListener.onAllowedNetworkTypesChanged(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER, networkType);
verify(mListener).onAllowedNetworkTypesChanged();
}
@Test @Test
public void register_shouldRegisterContentObserver() { public void register_shouldRegisterContentObserver() {
mAllowedNetworkTypesListener.register(mContext, SUB_ID); mAllowedNetworkTypesListener.register(mContext, SUB_ID);