summaryrefslogtreecommitdiff
path: root/service-t/src
diff options
context:
space:
mode:
Diffstat (limited to 'service-t/src')
-rw-r--r--service-t/src/com/android/server/ethernet/EthernetService.java11
-rw-r--r--service-t/src/com/android/server/ethernet/EthernetServiceImpl.java20
-rw-r--r--service-t/src/com/android/server/ethernet/EthernetTracker.java10
3 files changed, 23 insertions, 18 deletions
diff --git a/service-t/src/com/android/server/ethernet/EthernetService.java b/service-t/src/com/android/server/ethernet/EthernetService.java
index 2448146ed5..467ab677d8 100644
--- a/service-t/src/com/android/server/ethernet/EthernetService.java
+++ b/service-t/src/com/android/server/ethernet/EthernetService.java
@@ -17,17 +17,24 @@
package com.android.server.ethernet;
import android.content.Context;
+import android.os.Handler;
+import android.os.HandlerThread;
import android.util.Log;
import com.android.server.SystemService;
public final class EthernetService extends SystemService {
private static final String TAG = "EthernetService";
- final EthernetServiceImpl mImpl;
+ private static final String THREAD_NAME = "EthernetServiceThread";
+ private final EthernetServiceImpl mImpl;
public EthernetService(Context context) {
super(context);
- mImpl = new EthernetServiceImpl(context);
+ final HandlerThread handlerThread = new HandlerThread(THREAD_NAME);
+ handlerThread.start();
+ mImpl = new EthernetServiceImpl(
+ context, handlerThread.getThreadHandler(),
+ new EthernetTracker(context, handlerThread.getThreadHandler()));
}
@Override
diff --git a/service-t/src/com/android/server/ethernet/EthernetServiceImpl.java b/service-t/src/com/android/server/ethernet/EthernetServiceImpl.java
index fd690b5547..3479ea4722 100644
--- a/service-t/src/com/android/server/ethernet/EthernetServiceImpl.java
+++ b/service-t/src/com/android/server/ethernet/EthernetServiceImpl.java
@@ -28,7 +28,6 @@ import android.net.InternalNetworkUpdateRequest;
import android.net.IpConfiguration;
import android.os.Binder;
import android.os.Handler;
-import android.os.HandlerThread;
import android.os.RemoteException;
import android.util.Log;
import android.util.PrintWriterPrinter;
@@ -49,15 +48,17 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class EthernetServiceImpl extends IEthernetManager.Stub {
private static final String TAG = "EthernetServiceImpl";
- private final Context mContext;
@VisibleForTesting
final AtomicBoolean mStarted = new AtomicBoolean(false);
+ private final Context mContext;
+ private final Handler mHandler;
+ private final EthernetTracker mTracker;
- private Handler mHandler;
- private EthernetTracker mTracker;
-
- public EthernetServiceImpl(Context context) {
+ EthernetServiceImpl(@NonNull final Context context, @NonNull final Handler handler,
+ @NonNull final EthernetTracker tracker) {
mContext = context;
+ mHandler = handler;
+ mTracker = tracker;
}
private void enforceAccessPermission() {
@@ -91,14 +92,7 @@ public class EthernetServiceImpl extends IEthernetManager.Stub {
public void start() {
Log.i(TAG, "Starting Ethernet service");
-
- HandlerThread handlerThread = new HandlerThread("EthernetServiceThread");
- handlerThread.start();
- mHandler = new Handler(handlerThread.getLooper());
-
- mTracker = new EthernetTracker(mContext, mHandler);
mTracker.start();
-
mStarted.set(true);
}
diff --git a/service-t/src/com/android/server/ethernet/EthernetTracker.java b/service-t/src/com/android/server/ethernet/EthernetTracker.java
index 65c3cefe0d..9660194508 100644
--- a/service-t/src/com/android/server/ethernet/EthernetTracker.java
+++ b/service-t/src/com/android/server/ethernet/EthernetTracker.java
@@ -18,6 +18,8 @@ package com.android.server.ethernet;
import static android.net.TestNetworkManager.TEST_TAP_PREFIX;
+import static com.android.internal.annotations.VisibleForTesting.Visibility.PACKAGE;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
@@ -67,7 +69,8 @@ import java.util.concurrent.ConcurrentHashMap;
*
* <p>All public or package private methods must be thread-safe unless stated otherwise.
*/
-final class EthernetTracker {
+@VisibleForTesting(visibility = PACKAGE)
+public class EthernetTracker {
private static final int INTERFACE_MODE_CLIENT = 1;
private static final int INTERFACE_MODE_SERVER = 2;
@@ -138,10 +141,10 @@ final class EthernetTracker {
NetworkCapabilities nc = createNetworkCapabilities(true /* clear default capabilities */);
mFactory = new EthernetNetworkFactory(handler, context, nc);
- mFactory.register();
}
void start() {
+ mFactory.register();
mConfigStore.read();
// Default interface is just the first one we want to track.
@@ -176,7 +179,8 @@ final class EthernetTracker {
return mIpConfigurations.get(iface);
}
- boolean isTrackingInterface(String iface) {
+ @VisibleForTesting(visibility = PACKAGE)
+ protected boolean isTrackingInterface(String iface) {
return mFactory.hasInterface(iface);
}