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:
Weng Su
2021-07-20 23:40:43 +08:00
parent d8762def2c
commit 3563baee28
2 changed files with 8 additions and 26 deletions

View File

@@ -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);
}
}
}