package org.frasermccrossan.ltc;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class DiagnoseProblems extends Activity {
Button wirelessSettings;
Button wifiSettings;
Button testWebsite;
OnClickListener buttonListener = new OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.test_website:
Intent intent = getIntent();
String url = intent.getStringExtra("testurl");
Uri webpage = Uri.parse(url);
Intent webIntent = new Intent(Intent.ACTION_VIEW, webpage);
startActivity(webIntent);
break;
case R.id.wireless_settings:
startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
break;
case R.id.wifi_settings:
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.diagnose_problems);
testWebsite = (Button)findViewById(R.id.test_website);
testWebsite.setOnClickListener(buttonListener);
wirelessSettings = (Button)findViewById(R.id.wireless_settings);
wirelessSettings.setOnClickListener(buttonListener);
wifiSettings = (Button)findViewById(R.id.wifi_settings);
wifiSettings.setOnClickListener(buttonListener);
if (isConnected(this)) {
View v = findViewById(R.id.network_settings);
v.setVisibility(View.GONE);
}
}
private static boolean isConnected(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = null;
if (connectivityManager != null) {
networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (!networkInfo.isAvailable()) {
networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
}
}
return networkInfo == null ? false : networkInfo.isConnected();
}
}