Merge "Add logging for Ethernet callbacks."

This commit is contained in:
Treehugger Robot
2022-02-15 10:33:26 +00:00
committed by Gerrit Code Review

View File

@@ -24,68 +24,54 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.ConnectivityManager;
import android.net.ConnectivityManager.NetworkCallback;
import android.net.LinkAddress;
import android.net.EthernetManager;
import android.net.IpConfiguration;
import android.net.LinkProperties;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkRequest;
import android.net.RouteInfo;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.RemoteException;
import android.os.Handler;
import android.os.Message;
import android.os.IBinder;
import android.os.INetworkManagementService;
import android.os.Parcel;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.os.ServiceManager;
import android.os.SystemClock;
import android.provider.Settings;
import android.os.Bundle;
import android.os.connectivity.WifiActivityEnergyInfo;
import android.text.TextUtils;
import android.util.Log;
import android.view.IWindowManager;
import android.util.SparseArray;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
import com.android.internal.telephony.Phone;
import libcore.io.IoUtils;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.Proxy;
import java.net.Socket;
import java.net.URL;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Random;
import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
import static android.net.NetworkCapabilities.*;
import com.android.internal.util.MessageUtils;
public class Connectivity extends Activity {
private static final String TAG = "DevToolsConnectivity";
private static final String GET_SCAN_RES = "Get Results";
@@ -134,6 +120,7 @@ public class Connectivity extends Activity {
private PowerManager mPm;
private ConnectivityManager mCm;
private INetworkManagementService mNetd;
private EthernetManager mEm;
private WifiScanReceiver mScanRecv;
IntentFilter mIntentFilter;
@@ -386,6 +373,33 @@ public class Connectivity extends Activity {
progressBar));
}
private static class DevToolsEthListener implements EthernetManager.InterfaceStateListener {
private static final String TAG = DevToolsEthListener.class.getSimpleName();
private static final SparseArray<String> STATE_NAMES = MessageUtils.findMessageNames(
new Class[]{EthernetManager.class}, new String[]{"STATE_"});
private static final SparseArray<String> ROLE_NAMES = MessageUtils.findMessageNames(
new Class[]{EthernetManager.class}, new String[]{"ROLE_"});
private String stateName(int state) {
return STATE_NAMES.get(state, Integer.toString(state));
}
private String roleName(int role) {
return ROLE_NAMES.get(role, Integer.toString(role));
}
@Override
public void onInterfaceStateChanged(String iface, int state, int role,
IpConfiguration configuration) {
Log.d(TAG, iface + " " + stateName(state) + " " + roleName(role)
+ " " + configuration);
}
}
private final DevToolsEthListener mEthListener = new DevToolsEthListener();
public Connectivity() {
super();
addRequestableNetwork(NET_CAPABILITY_MMS, R.id.request_mms, R.id.release_mms,
@@ -420,6 +434,7 @@ public class Connectivity extends Activity {
mCm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);
mNetd = INetworkManagementService.Stub.asInterface(b);
mEm = getSystemService(EthernetManager.class);
findViewById(R.id.enableWifi).setOnClickListener(mClickListener);
findViewById(R.id.disableWifi).setOnClickListener(mClickListener);
@@ -490,6 +505,8 @@ public class Connectivity extends Activity {
mCallback = new DevToolsNetworkCallback();
mCm.registerNetworkCallback(mEmptyRequest, mCallback);
mEm.addInterfaceStateListener(this::runOnUiThread, mEthListener);
}
@Override
@@ -500,6 +517,7 @@ public class Connectivity extends Activity {
}
mCm.unregisterNetworkCallback(mCallback);
mCallback = null;
mEm.removeInterfaceStateListener(mEthListener);
unregisterReceiver(mReceiver);
mWml.release();
}