⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 speedtestpanel.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				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 + -