Loading src/java/com/android/internal/telephony/data/DataNetworkController.java +1 −1 Original line number Diff line number Diff line Loading @@ -921,7 +921,7 @@ public class DataNetworkController extends Handler { } }); mDataStallRecoveryManager = new DataStallRecoveryManager(mPhone, this, mDataServiceManagers .get(AccessNetworkConstants.TRANSPORT_TYPE_WWAN), looper, .get(AccessNetworkConstants.TRANSPORT_TYPE_WWAN), mFeatureFlags, looper, new DataStallRecoveryManagerCallback(this::post) { @Override public void onDataStallReestablishInternet() { Loading src/java/com/android/internal/telephony/data/DataStallRecoveryManager.java +5 −3 Original line number Diff line number Diff line Loading @@ -49,7 +49,6 @@ import com.android.internal.telephony.data.DataConfigManager.DataConfigManagerCa import com.android.internal.telephony.data.DataNetworkController.DataNetworkControllerCallback; import com.android.internal.telephony.data.DataSettingsManager.DataSettingsManagerCallback; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.flags.FeatureFlagsImpl; import com.android.internal.telephony.metrics.DataStallRecoveryStats; import com.android.internal.telephony.metrics.TelephonyMetrics; import com.android.telephony.Rlog; Loading Loading @@ -155,7 +154,7 @@ public class DataStallRecoveryManager extends Handler { private final @NonNull Phone mPhone; private final @NonNull String mLogTag; private final @NonNull LocalLog mLocalLog = new LocalLog(128); private final @NonNull FeatureFlags mFeatureFlags = new FeatureFlagsImpl(); private final @NonNull FeatureFlags mFeatureFlags; /** Data network controller */ private final @NonNull DataNetworkController mDataNetworkController; Loading Loading @@ -259,6 +258,7 @@ public class DataStallRecoveryManager extends Handler { * @param phone The phone instance. * @param dataNetworkController Data network controller * @param dataServiceManager The WWAN data service manager. * @param featureFlags The feature flag. * @param looper The looper to be used by the handler. Currently the handler thread is the phone * process's main thread. * @param callback Callback to notify data network controller for data stall events. Loading @@ -267,6 +267,7 @@ public class DataStallRecoveryManager extends Handler { @NonNull Phone phone, @NonNull DataNetworkController dataNetworkController, @NonNull DataServiceManager dataServiceManager, @NonNull FeatureFlags featureFlags, @NonNull Looper looper, @NonNull DataStallRecoveryManagerCallback callback) { super(looper); Loading @@ -275,6 +276,7 @@ public class DataStallRecoveryManager extends Handler { log("DataStallRecoveryManager created."); mDataNetworkController = dataNetworkController; mWwanDataServiceManager = dataServiceManager; mFeatureFlags = featureFlags; mDataConfigManager = mDataNetworkController.getDataConfigManager(); mDataNetworkController .getDataSettingsManager() Loading @@ -294,7 +296,7 @@ public class DataStallRecoveryManager extends Handler { registerAllEvents(); mStats = new DataStallRecoveryStats(mPhone, dataNetworkController); mStats = new DataStallRecoveryStats(mPhone, mFeatureFlags, dataNetworkController); } /** Register for all events that data stall monitor is interested. */ Loading src/java/com/android/internal/telephony/metrics/DataStallRecoveryStats.java +5 −3 Original line number Diff line number Diff line Loading @@ -55,7 +55,6 @@ import com.android.internal.telephony.data.DataNetworkController; import com.android.internal.telephony.data.DataNetworkController.DataNetworkControllerCallback; import com.android.internal.telephony.data.DataStallRecoveryManager; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.flags.FeatureFlagsImpl; import com.android.internal.telephony.subscription.SubscriptionInfoInternal; import com.android.internal.telephony.subscription.SubscriptionManagerService; import com.android.telephony.Rlog; Loading Loading @@ -87,7 +86,7 @@ public class DataStallRecoveryStats { private final @NonNull String mTag; private final @NonNull Phone mPhone; private final @NonNull TelephonyManager mTelephonyManager; private final @NonNull FeatureFlags mFeatureFlags = new FeatureFlagsImpl(); private final @NonNull FeatureFlags mFeatureFlags; // Flag to control the DSRS diagnostics private final boolean mIsDsrsDiagnosticsEnabled; Loading Loading @@ -136,10 +135,13 @@ public class DataStallRecoveryStats { /** * Constructs a new instance of {@link DataStallRecoveryStats}. */ public DataStallRecoveryStats(@NonNull final Phone phone, public DataStallRecoveryStats( @NonNull final Phone phone, @NonNull FeatureFlags featureFlags, @NonNull final DataNetworkController dataNetworkController) { mTag = TAG + phone.getPhoneId(); mPhone = phone; mFeatureFlags = featureFlags; HandlerThread handlerThread = new HandlerThread(mTag + "-thread"); handlerThread.start(); Loading tests/telephonytests/src/com/android/internal/telephony/data/DataStallRecoveryManagerTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ public class DataStallRecoveryManagerTest extends TelephonyTest { Field field = DataStallRecoveryManager.class.getDeclaredField("mPredictWaitingMillis"); field.setAccessible(true); doReturn(true).when(mFeatureFlags).dsrsDiagnosticsEnabled(); mFakeContentResolver = new FakeContentResolver(); doReturn(mFakeContentResolver).when(mContext).getContentResolver(); // Set the global settings for action enabled state and duration to Loading Loading @@ -122,6 +123,7 @@ public class DataStallRecoveryManagerTest extends TelephonyTest { mPhone, mDataNetworkController, mMockedWwanDataServiceManager, mFeatureFlags, mTestableLooper.getLooper(), mDataStallRecoveryManagerCallback); Loading Loading
src/java/com/android/internal/telephony/data/DataNetworkController.java +1 −1 Original line number Diff line number Diff line Loading @@ -921,7 +921,7 @@ public class DataNetworkController extends Handler { } }); mDataStallRecoveryManager = new DataStallRecoveryManager(mPhone, this, mDataServiceManagers .get(AccessNetworkConstants.TRANSPORT_TYPE_WWAN), looper, .get(AccessNetworkConstants.TRANSPORT_TYPE_WWAN), mFeatureFlags, looper, new DataStallRecoveryManagerCallback(this::post) { @Override public void onDataStallReestablishInternet() { Loading
src/java/com/android/internal/telephony/data/DataStallRecoveryManager.java +5 −3 Original line number Diff line number Diff line Loading @@ -49,7 +49,6 @@ import com.android.internal.telephony.data.DataConfigManager.DataConfigManagerCa import com.android.internal.telephony.data.DataNetworkController.DataNetworkControllerCallback; import com.android.internal.telephony.data.DataSettingsManager.DataSettingsManagerCallback; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.flags.FeatureFlagsImpl; import com.android.internal.telephony.metrics.DataStallRecoveryStats; import com.android.internal.telephony.metrics.TelephonyMetrics; import com.android.telephony.Rlog; Loading Loading @@ -155,7 +154,7 @@ public class DataStallRecoveryManager extends Handler { private final @NonNull Phone mPhone; private final @NonNull String mLogTag; private final @NonNull LocalLog mLocalLog = new LocalLog(128); private final @NonNull FeatureFlags mFeatureFlags = new FeatureFlagsImpl(); private final @NonNull FeatureFlags mFeatureFlags; /** Data network controller */ private final @NonNull DataNetworkController mDataNetworkController; Loading Loading @@ -259,6 +258,7 @@ public class DataStallRecoveryManager extends Handler { * @param phone The phone instance. * @param dataNetworkController Data network controller * @param dataServiceManager The WWAN data service manager. * @param featureFlags The feature flag. * @param looper The looper to be used by the handler. Currently the handler thread is the phone * process's main thread. * @param callback Callback to notify data network controller for data stall events. Loading @@ -267,6 +267,7 @@ public class DataStallRecoveryManager extends Handler { @NonNull Phone phone, @NonNull DataNetworkController dataNetworkController, @NonNull DataServiceManager dataServiceManager, @NonNull FeatureFlags featureFlags, @NonNull Looper looper, @NonNull DataStallRecoveryManagerCallback callback) { super(looper); Loading @@ -275,6 +276,7 @@ public class DataStallRecoveryManager extends Handler { log("DataStallRecoveryManager created."); mDataNetworkController = dataNetworkController; mWwanDataServiceManager = dataServiceManager; mFeatureFlags = featureFlags; mDataConfigManager = mDataNetworkController.getDataConfigManager(); mDataNetworkController .getDataSettingsManager() Loading @@ -294,7 +296,7 @@ public class DataStallRecoveryManager extends Handler { registerAllEvents(); mStats = new DataStallRecoveryStats(mPhone, dataNetworkController); mStats = new DataStallRecoveryStats(mPhone, mFeatureFlags, dataNetworkController); } /** Register for all events that data stall monitor is interested. */ Loading
src/java/com/android/internal/telephony/metrics/DataStallRecoveryStats.java +5 −3 Original line number Diff line number Diff line Loading @@ -55,7 +55,6 @@ import com.android.internal.telephony.data.DataNetworkController; import com.android.internal.telephony.data.DataNetworkController.DataNetworkControllerCallback; import com.android.internal.telephony.data.DataStallRecoveryManager; import com.android.internal.telephony.flags.FeatureFlags; import com.android.internal.telephony.flags.FeatureFlagsImpl; import com.android.internal.telephony.subscription.SubscriptionInfoInternal; import com.android.internal.telephony.subscription.SubscriptionManagerService; import com.android.telephony.Rlog; Loading Loading @@ -87,7 +86,7 @@ public class DataStallRecoveryStats { private final @NonNull String mTag; private final @NonNull Phone mPhone; private final @NonNull TelephonyManager mTelephonyManager; private final @NonNull FeatureFlags mFeatureFlags = new FeatureFlagsImpl(); private final @NonNull FeatureFlags mFeatureFlags; // Flag to control the DSRS diagnostics private final boolean mIsDsrsDiagnosticsEnabled; Loading Loading @@ -136,10 +135,13 @@ public class DataStallRecoveryStats { /** * Constructs a new instance of {@link DataStallRecoveryStats}. */ public DataStallRecoveryStats(@NonNull final Phone phone, public DataStallRecoveryStats( @NonNull final Phone phone, @NonNull FeatureFlags featureFlags, @NonNull final DataNetworkController dataNetworkController) { mTag = TAG + phone.getPhoneId(); mPhone = phone; mFeatureFlags = featureFlags; HandlerThread handlerThread = new HandlerThread(mTag + "-thread"); handlerThread.start(); Loading
tests/telephonytests/src/com/android/internal/telephony/data/DataStallRecoveryManagerTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ public class DataStallRecoveryManagerTest extends TelephonyTest { Field field = DataStallRecoveryManager.class.getDeclaredField("mPredictWaitingMillis"); field.setAccessible(true); doReturn(true).when(mFeatureFlags).dsrsDiagnosticsEnabled(); mFakeContentResolver = new FakeContentResolver(); doReturn(mFakeContentResolver).when(mContext).getContentResolver(); // Set the global settings for action enabled state and duration to Loading Loading @@ -122,6 +123,7 @@ public class DataStallRecoveryManagerTest extends TelephonyTest { mPhone, mDataNetworkController, mMockedWwanDataServiceManager, mFeatureFlags, mTestableLooper.getLooper(), mDataStallRecoveryManagerCallback); Loading