|
|
@ -254,54 +254,6 @@ public class MicroPhotoService extends Service {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
if (usingEthernet()) {
|
|
|
|
if (usingEthernet()) {
|
|
|
|
mConnectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
|
|
mConnectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
|
|
mNetworkCallback = new ConnectivityManager.NetworkCallback() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onLost(Network network) {
|
|
|
|
|
|
|
|
infoLog("Network Lost " + network.toString());
|
|
|
|
|
|
|
|
updateEhernet(mNativeHandle, network.getNetworkHandle(), false);
|
|
|
|
|
|
|
|
updateDefaultNetwork();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onAvailable(final Network network) {
|
|
|
|
|
|
|
|
String ip = "";
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
NetworkInfo ni = mConnectivityManager.getNetworkInfo(network);
|
|
|
|
|
|
|
|
LinkProperties lp = mConnectivityManager.getLinkProperties(network);
|
|
|
|
|
|
|
|
if (lp != null) {
|
|
|
|
|
|
|
|
List<LinkAddress> addresses = lp.getLinkAddresses();
|
|
|
|
|
|
|
|
if (addresses != null && addresses.size() > 0) {
|
|
|
|
|
|
|
|
for (LinkAddress linkAddress : addresses) {
|
|
|
|
|
|
|
|
InetAddress inetAddress = linkAddress.getAddress();
|
|
|
|
|
|
|
|
if (inetAddress != null && inetAddress instanceof Inet4Address) {
|
|
|
|
|
|
|
|
ip = inetAddress.getHostAddress();
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
infoLog("Network Available " + network.toString() + " IP=" + ip + " Handle=" + Long.toString(network.getNetworkHandle()));
|
|
|
|
|
|
|
|
updateEhernet(mNativeHandle, network.getNetworkHandle(), true);
|
|
|
|
|
|
|
|
updateDefaultNetwork();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void updateDefaultNetwork() {
|
|
|
|
|
|
|
|
MicroPhotoService thisService = MicroPhotoService.this;
|
|
|
|
|
|
|
|
long defaultNetHandle = thisService.getDefaultNetworkHandle();
|
|
|
|
|
|
|
|
if (defaultNetHandle != 0) {
|
|
|
|
|
|
|
|
thisService.updateActiveNetwork(thisService.mNativeHandle, defaultNetHandle, true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NetworkRequest request = new NetworkRequest.Builder()
|
|
|
|
|
|
|
|
.addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET)
|
|
|
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mConnectivityManager.registerNetworkCallback(request, mNetworkCallback);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Network[] nws = mConnectivityManager.getAllNetworks();
|
|
|
|
Network[] nws = mConnectivityManager.getAllNetworks();
|
|
|
|
for (Network nw : nws) {
|
|
|
|
for (Network nw : nws) {
|
|
|
@ -439,9 +391,11 @@ public class MicroPhotoService extends Service {
|
|
|
|
getApplicationContext().unregisterReceiver(mScreenaAtionReceiver);
|
|
|
|
getApplicationContext().unregisterReceiver(mScreenaAtionReceiver);
|
|
|
|
getApplicationContext().unregisterReceiver(mNetworkChangedReceiver);
|
|
|
|
getApplicationContext().unregisterReceiver(mNetworkChangedReceiver);
|
|
|
|
|
|
|
|
|
|
|
|
if (mConnectivityManager != null && mNetworkCallback != null) {
|
|
|
|
if (mConnectivityManager != null) {
|
|
|
|
|
|
|
|
if (mNetworkCallback != null) {
|
|
|
|
mConnectivityManager.unregisterNetworkCallback(mNetworkCallback);
|
|
|
|
mConnectivityManager.unregisterNetworkCallback(mNetworkCallback);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
LocalBroadcastManager.getInstance(getApplicationContext()).unregisterReceiver(mLocalMsgReceiver);
|
|
|
|
LocalBroadcastManager.getInstance(getApplicationContext()).unregisterReceiver(mLocalMsgReceiver);
|
|
|
|
|
|
|
|
|
|
|
@ -1082,6 +1036,70 @@ public class MicroPhotoService extends Service {
|
|
|
|
long startTime = (date.getTime() + 999) / 1000;
|
|
|
|
long startTime = (date.getTime() + 999) / 1000;
|
|
|
|
service.updateCaptureSchedule(startTime);
|
|
|
|
service.updateCaptureSchedule(startTime);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
if (usingEthernet()) {
|
|
|
|
|
|
|
|
mNetworkCallback = new ConnectivityManager.NetworkCallback() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onLost(Network network) {
|
|
|
|
|
|
|
|
infoLog("Network Lost " + network.toString());
|
|
|
|
|
|
|
|
updateEhernet(mNativeHandle, network.getNetworkHandle(), false);
|
|
|
|
|
|
|
|
updateDefaultNetwork();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void onAvailable(final Network network) {
|
|
|
|
|
|
|
|
String ip = "";
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
NetworkInfo ni = mConnectivityManager.getNetworkInfo(network);
|
|
|
|
|
|
|
|
LinkProperties lp = mConnectivityManager.getLinkProperties(network);
|
|
|
|
|
|
|
|
if (lp != null) {
|
|
|
|
|
|
|
|
List<LinkAddress> addresses = lp.getLinkAddresses();
|
|
|
|
|
|
|
|
if (addresses != null && addresses.size() > 0) {
|
|
|
|
|
|
|
|
for (LinkAddress linkAddress : addresses) {
|
|
|
|
|
|
|
|
InetAddress inetAddress = linkAddress.getAddress();
|
|
|
|
|
|
|
|
if (inetAddress != null && inetAddress instanceof Inet4Address) {
|
|
|
|
|
|
|
|
ip = inetAddress.getHostAddress();
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
infoLog("Network Available " + network.toString() + " IP=" + ip + " Handle=" + Long.toString(network.getNetworkHandle()));
|
|
|
|
|
|
|
|
updateEhernet(mNativeHandle, network.getNetworkHandle(), true);
|
|
|
|
|
|
|
|
updateDefaultNetwork();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void updateDefaultNetwork() {
|
|
|
|
|
|
|
|
MicroPhotoService thisService = MicroPhotoService.this;
|
|
|
|
|
|
|
|
long defaultNetHandle = thisService.getDefaultNetworkHandle();
|
|
|
|
|
|
|
|
if (defaultNetHandle != 0) {
|
|
|
|
|
|
|
|
thisService.updateActiveNetwork(thisService.mNativeHandle, defaultNetHandle, true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NetworkRequest request = new NetworkRequest.Builder()
|
|
|
|
|
|
|
|
.addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET)
|
|
|
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mConnectivityManager.registerNetworkCallback(request, mNetworkCallback);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Network[] nws = mConnectivityManager.getAllNetworks();
|
|
|
|
|
|
|
|
for (Network nw : nws) {
|
|
|
|
|
|
|
|
NetworkInfo ni = mConnectivityManager.getNetworkInfo(nw);
|
|
|
|
|
|
|
|
if (ni.getType() == ConnectivityManager.TYPE_ETHERNET) {
|
|
|
|
|
|
|
|
updateEhernet(mNativeHandle, nw.getNetworkHandle(), true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
|
|
|
ex.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (mPreviousLocation != null) {
|
|
|
|
if (mPreviousLocation != null) {
|
|
|
|
service.updatePosition(mNativeHandle, mPreviousLocation.getLongitude(), mPreviousLocation.getLatitude(),
|
|
|
|
service.updatePosition(mNativeHandle, mPreviousLocation.getLongitude(), mPreviousLocation.getLatitude(),
|
|
|
|
mPreviousLocation.getAccuracy(), mPreviousLocation.getTime() / 1000);
|
|
|
|
mPreviousLocation.getAccuracy(), mPreviousLocation.getTime() / 1000);
|
|
|
|