package com.iwedia.gui.components.dialogs;
import android.content.Context;
import android.os.RemoteException;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import com.iwedia.comm.enums.NetworkType;
import com.iwedia.gui.MainActivity;
import com.iwedia.gui.R;
import com.iwedia.gui.components.A4TVAlertDialog;
import com.iwedia.gui.components.A4TVProgressBar;
import com.iwedia.gui.components.A4TVTextView;
/**
* Network test dialog
*
* @author Branimir Pavlovic
*/
public class NetworkTestDialog extends A4TVAlertDialog implements
OnSeekBarChangeListener {
private A4TVProgressBar networkTestProgress;
private A4TVTextView textViewNetworkTestDownloadSpeed,
textViewNetworkTestNetworkType;
private Context ctx;
public NetworkTestDialog(Context context) {
super(context);
ctx = context;
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.network_test_layout, null);
setView(view);
init();
setCancelable(true);
}
@Override
public void show() {
int networkType;
try {
// Get active network type
networkType = MainActivity.service.getSystemControl()
.getNetworkControl().getActiveNetworkType();
textViewNetworkTestNetworkType
.setText(networkTypeToString(networkType));
// Get network speed
String networkSpeed = MainActivity.service.getSystemControl()
.getNetworkControl().getLinkSpeed();
textViewNetworkTestDownloadSpeed.setText(networkSpeed);
} catch (Exception e) {
e.printStackTrace();
}
super.show();
}
private void init() {
// init views
textViewNetworkTestDownloadSpeed = (A4TVTextView) findViewById(R.id.aTVTextViewNetworkTestDownloadSpeed);
textViewNetworkTestNetworkType = (A4TVTextView) findViewById(R.id.aTVTextViewNetworkTestNetworkType);
// set title
setTitleOfAlertDialog(R.string.tv_menu_network_settings_network_connection_test);
// set button
setPositiveButton(R.string.close,
new android.view.View.OnClickListener() {
@Override
public void onClick(View v) {
NetworkTestDialog.this.cancel();
}
});
}
private String networkTypeToString(int networkType) {
String returnString;
switch (networkType) {
case NetworkType.ETHERNET: {
returnString = ctx.getString(R.string.button_text_ethernet);
break;
}
case NetworkType.WIRELESS: {
returnString = ctx
.getString(R.string.tv_menu_network_settings_wireless);
break;
}
default: {
returnString = ctx.getString(R.string.unknown);
break;
}
}
return returnString;
}
public void testFinished() throws RemoteException {
}
public void progressChanged(int value) throws RemoteException {
}
public void networkTypeChanged(int type) throws RemoteException {
textViewNetworkTestNetworkType.setText(networkTypeToString(type));
}
public void downloadSpeed(double speed) throws RemoteException {
}
public void connectionTimeChanged(int time) throws RemoteException {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}