📄 speedtestpanel.java
字号:
super(x0);
}
};
t.setPriority(1);
t.setDaemon(true);
t.start();
}
public void cancel()
{
if (scheduled_test != null)
{
scheduled_test.abort();
if (!test.isDisposed())
{
test.setEnabled(true);
abort.setEnabled(false);
wizard.setNextEnabled(false);
wizard.setFinishEnabled(false);
}
}
}
protected void runTest(int test_mode, boolean encrypt_mode)
{
test_running = true;
if (nasts.getCurrentTest() != null)
reportStage(MessageText.getString("SpeedTestWizard.test.panel.already.running"));
else
try
{
reportStage(MessageText.getString("SpeedTestWizard.stage.message.requesting"));
scheduled_test = nasts.scheduleTest(1);
scheduled_test.getTester().setMode(test_mode);
scheduled_test.getTester().setUseCrypto(encrypt_mode);
scheduled_test.addListener(this);
scheduled_test.getTester().addListener(this);
maxUploadTest = scheduled_test.getMaxUpBytePerSec();
maxDownloadTest = scheduled_test.getMaxDownBytePerSec();
scheduled_test.start();
}
catch (Throwable e)
{
String requestNotAccepted = MessageText.getString("SpeedTestWizard.test.panel.not.accepted");
reportStage((new StringBuilder()).append(requestNotAccepted).append(Debug.getNestedExceptionMessage(e)).toString());
if (!test.isDisposed())
display.asyncExec(new AERunnable() {
final SpeedTestPanel this$0;
public void runSupport()
{
test.setEnabled(true);
abort.setEnabled(false);
encryptToggle.setEnabled(true);
}
{
this$0 = SpeedTestPanel.this;
super();
}
});
}
}
public void stage(NetworkAdminSpeedTestScheduledTest test, String step)
{
reportStage(step);
}
public void complete(NetworkAdminSpeedTestScheduledTest networkadminspeedtestscheduledtest)
{
}
public void stage(NetworkAdminSpeedTester tester, String step)
{
reportStage(step);
}
public void complete(NetworkAdminSpeedTester tester, NetworkAdminSpeedTesterResult result)
{
SpeedTestData.getInstance().setResult(result);
reportComplete(result);
}
protected void reportComplete(final NetworkAdminSpeedTesterResult result)
{
if (!textMessages.isDisposed())
display.asyncExec(new AERunnable() );
wizard.removeListener(clListener);
clListener = null;
}
protected void reportStage(final String step)
{
if (!textMessages.isDisposed())
display.asyncExec(new AERunnable() {
final String val$step;
final SpeedTestPanel this$0;
public void runSupport()
{
if (!textMessages.isDisposed())
{
if (step == null)
return;
if (step.startsWith("progress:"))
{
int progressAmount = SpeedTestPanel.getProgressBarValueFromString(step);
progress.setSelection(progressAmount);
int timeLeft[] = SpeedTestPanel.getTimeLeftFromString(step);
if (timeLeft != null)
{
testCountDown1.setText((new StringBuilder()).append("").append(timeLeft[0]).append(" sec ").toString());
testCountDown2.setText((new StringBuilder()).append("").append(timeLeft[1]).append(" sec ").toString());
} else
{
testCountDown1.setText(" - ");
testCountDown2.setText(" - ");
}
String modified = SpeedTestPanel.modifyProgressStatusString(step);
textMessages.append(modified);
} else
{
textMessages.append((new StringBuilder()).append(step).append(Text.DELIMITER).toString());
}
}
}
{
this$0 = SpeedTestPanel.this;
step = s;
super();
}
});
}
private static String modifyProgressStatusString(String step)
{
if (step == null)
return " ";
if (!step.startsWith("progress:"))
return " ";
String values[] = step.split(":");
if (values.length < 4)
{
return " ";
} else
{
int downAve = getValueFromAveString(values[2]);
int upAve = getValueFromAveString(values[3]);
StringBuffer sb = new StringBuffer();
sb.append(MessageText.getString("GeneralView.label.uploadspeed"));
sb.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(upAve)).append(" , ");
sb.append(MessageText.getString("GeneralView.label.downloadspeed"));
sb.append(DisplayFormatters.formatByteCountToKiBEtcPerSec(downAve));
sb.append("\n");
return sb.toString();
}
}
private static int getValueFromAveString(String aveStr)
{
int number;
number = -2;
aveStr = aveStr.trim();
String parts[] = aveStr.split(" ");
if (parts != null)
number = Integer.parseInt(parts[parts.length - 1].trim());
return number;
Throwable t;
t;
return -1;
}
private static int[] getTimeLeftFromString(String step)
{
if (step == null)
return null;
if (!step.startsWith("progress:"))
return null;
String values[] = step.split(":");
if (values.length < 5)
return null;
int times[] = new int[2];
try
{
times[0] = Integer.parseInt(values[4].trim());
times[1] = Integer.parseInt(values[5].trim());
if (times[0] < 0)
times[0] = 0;
if (times[1] < 0)
times[1] = 0;
}
catch (Exception e)
{
return null;
}
return times;
}
private static int getProgressBarValueFromString(String step)
{
if (step == null)
return 0;
if (!step.startsWith("progress:"))
return 0;
String value[] = step.split(":");
if (value.length < 2)
return 0;
int progress;
try
{
progress = Integer.parseInt(value[1].trim());
}
catch (Exception e)
{
return 0;
}
if (progress < 0 || progress > 100)
return 0;
else
return progress;
}
protected void switchToClose()
{
switched_to_close = true;
wizard.switchToClose();
}
public boolean isFinishEnabled()
{
return !switched_to_close && !test_running;
}
public boolean isFinishSelectionOK()
{
return !switched_to_close && !test_running;
}
public IWizardPanel getFinishPanel()
{
return this;
}
public boolean isNextEnabled()
{
return (uploadTest > 0 || downloadTest > 0) && !test_running;
}
public IWizardPanel getNextPanel()
{
SpeedTestData persist = SpeedTestData.getInstance();
persist.setLastTestData(textMessages.getText());
return new SpeedTestSetLimitPanel(wizard, this, uploadTest, maxUploadTest, downloadTest, maxDownloadTest);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -