Refactor HandlerInjector to SettingsLib
- Plan to share the HandlerInjector class to System UI. Bug: 194186477 Test: manual test atest InternetResetHelperTest Change-Id: I4b1b72ac7742bcfdd89ae61d9f88df1c64224f1f
This commit is contained in:
@@ -21,7 +21,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.Process;
|
||||
import android.text.TextUtils;
|
||||
@@ -37,6 +36,7 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
|
||||
import com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager;
|
||||
import com.android.settingslib.utils.HandlerInjector;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -86,7 +86,7 @@ public class InternetResetHelper implements LifecycleObserver,
|
||||
|
||||
public InternetResetHelper(Context context, Lifecycle lifecycle) {
|
||||
mContext = context;
|
||||
mHandlerInjector = new HandlerInjector(context);
|
||||
mHandlerInjector = new HandlerInjector(context.getMainThreadHandler());
|
||||
mWifiManager = mContext.getSystemService(WifiManager.class);
|
||||
mWifiStateFilter = new IntentFilter(WifiManager.NETWORK_STATE_CHANGED_ACTION);
|
||||
|
||||
@@ -239,24 +239,4 @@ public class InternetResetHelper implements LifecycleObserver,
|
||||
mHandlerInjector.postDelayed(mTimeoutRunnable, RESTART_TIMEOUT_MS);
|
||||
mConnectivitySubsystemsRecoveryManager.triggerSubsystemRestart(null /* reason */, this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper for testing compatibility.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
static class HandlerInjector {
|
||||
protected final Handler mHandler;
|
||||
|
||||
HandlerInjector(Context context) {
|
||||
mHandler = context.getMainThreadHandler();
|
||||
}
|
||||
|
||||
public void postDelayed(Runnable runnable, long delayMillis) {
|
||||
mHandler.postDelayed(runnable, delayMillis);
|
||||
}
|
||||
|
||||
public void removeCallbacks(Runnable runnable) {
|
||||
mHandler.removeCallbacks(runnable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -29,6 +29,7 @@ import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.IntentFilter;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.Looper;
|
||||
|
||||
@@ -39,6 +40,7 @@ import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager;
|
||||
import com.android.settingslib.utils.HandlerInjector;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
@@ -71,12 +73,12 @@ public class InternetResetHelperTest {
|
||||
|
||||
private FakeHandlerInjector mFakeHandlerInjector;
|
||||
|
||||
private static class FakeHandlerInjector extends InternetResetHelper.HandlerInjector {
|
||||
private static class FakeHandlerInjector extends HandlerInjector {
|
||||
|
||||
private Runnable mRunnable;
|
||||
|
||||
FakeHandlerInjector(Context context) {
|
||||
super(context);
|
||||
FakeHandlerInjector(Handler handler) {
|
||||
super(handler);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -104,7 +106,7 @@ public class InternetResetHelperTest {
|
||||
final Lifecycle lifecycle = mock(Lifecycle.class);
|
||||
mInternetResetHelper = new InternetResetHelper(mContext, lifecycle);
|
||||
mInternetResetHelper.mWorkerThread = mWorkerThread;
|
||||
mFakeHandlerInjector = new FakeHandlerInjector(mContext);
|
||||
mFakeHandlerInjector = new FakeHandlerInjector(mContext.getMainThreadHandler());
|
||||
mInternetResetHelper.mHandlerInjector = mFakeHandlerInjector;
|
||||
mInternetResetHelper.mConnectivitySubsystemsRecoveryManager =
|
||||
mConnectivitySubsystemsRecoveryManager;
|
||||
|
Reference in New Issue
Block a user