Merge "Add logging for Ethernet callbacks."
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user