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

📄 useralerts.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   UserAlerts.java

package org.gudy.azureus2.ui.common.util;

import com.aelitis.azureus.ui.swt.UIFunctionsManagerSWT;
import com.aelitis.azureus.ui.swt.UIFunctionsSWT;
import java.applet.Applet;
import java.applet.AudioClip;
import java.io.File;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.disk.*;
import org.gudy.azureus2.core3.download.*;
import org.gudy.azureus2.core3.download.impl.DownloadManagerAdapter;
import org.gudy.azureus2.core3.global.GlobalManager;
import org.gudy.azureus2.core3.global.GlobalManagerAdapter;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.logging.LogAlert;
import org.gudy.azureus2.core3.logging.Logger;
import org.gudy.azureus2.core3.util.*;
import org.gudy.azureus2.platform.*;
import org.gudy.azureus2.plugins.platform.PlatformManagerException;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.minibar.DownloadBar;

public class UserAlerts
{

	private AudioClip audio_clip;
	private String audio_resource;
	private AEMonitor this_mon;
	private boolean startup;

	public UserAlerts(GlobalManager global_manager)
	{
		audio_clip = null;
		audio_resource = "";
		this_mon = new AEMonitor("UserAlerts");
		startup = true;
		final DownloadManagerAdapter download_manager_listener = new DownloadManagerAdapter() {

			final UserAlerts this$0;

			public void downloadComplete(DownloadManager manager)
			{
				if (!manager.getDownloadState().getFlag(16L))
					activityFinished(true, manager.getDisplayName(), manager);
			}

			public void stateChanged(final DownloadManager manager, int state)
			{
				boolean lowNoise = manager.getDownloadState().getFlag(16L);
				if (lowNoise)
					return;
				if (state == 50 || state == 60)
					Utils.execSWTThread(new AERunnable() {

						final DownloadManager val$manager;
						final 1 this$1;

						public void runSupport()
						{
							boolean complete = manager.isDownloadComplete(false);
							if (!complete && COConfigurationManager.getBooleanParameter("Open Details") || complete && COConfigurationManager.getBooleanParameter("Open Seeding Details"))
								UIFunctionsManagerSWT.getUIFunctionsSWT().openView(5, manager);
							if (!complete && COConfigurationManager.getBooleanParameter("Open Bar Incomplete") || complete && COConfigurationManager.getBooleanParameter("Open Bar Complete"))
								DownloadBar.open(manager, Utils.findAnyShell());
						}

					
					{
						this$1 = 1.this;
						manager = downloadmanager;
						super();
					}
					});
			}

			
			{
				this$0 = UserAlerts.this;
				super();
			}
		};
		final DiskManagerListener disk_listener = new DiskManagerListener() {

			final UserAlerts this$0;

			public void stateChanged(int i, int j)
			{
			}

			public void filePriorityChanged(DiskManagerFileInfo diskmanagerfileinfo)
			{
			}

			public void pieceDoneChanged(DiskManagerPiece diskmanagerpiece)
			{
			}

			public void fileAccessModeChanged(DiskManagerFileInfo file, int old_mode, int new_mode)
			{
				DownloadManager dm = file.getDownloadManager();
				if (old_mode == 2 && new_mode == 1 && (dm == null || !dm.getDownloadState().getFlag(16L)))
					activityFinished(false, file.getFile(true).getName(), file.getDiskManager());
			}

			
			{
				this$0 = UserAlerts.this;
				super();
			}
		};
		final DownloadManagerDiskListener dm_disk_listener = new DownloadManagerDiskListener() {

			final DiskManagerListener val$disk_listener;
			final UserAlerts this$0;

			public void diskManagerAdded(DiskManager dm)
			{
				dm.addListener(disk_listener);
			}

			public void diskManagerRemoved(DiskManager dm)
			{
				dm.removeListener(disk_listener);
			}

			
			{
				this$0 = UserAlerts.this;
				disk_listener = diskmanagerlistener;
				super();
			}
		};
		global_manager.addListener(new GlobalManagerAdapter() {

			final DownloadManagerAdapter val$download_manager_listener;
			final DownloadManagerDiskListener val$dm_disk_listener;
			final UserAlerts this$0;

			public void downloadManagerAdded(DownloadManager manager)
			{
				if (!startup && manager.isPersistent())
				{
					boolean bPopup = COConfigurationManager.getBooleanParameter("Popup Download Added");
					if (bPopup && !manager.getDownloadState().getFlag(16L))
					{
						String popup_text = MessageText.getString("popup.download.added", new String[] {
							manager.getDisplayName()
						});
						Logger.log(new LogAlert(manager, true, 0, popup_text));
					}
				}
				manager.addListener(download_manager_listener);
				manager.addDiskListener(dm_disk_listener);
			}

			public void downloadManagerRemoved(DownloadManager manager)
			{
				manager.removeListener(download_manager_listener);
				manager.removeDiskListener(dm_disk_listener);
			}

			public void destroyed()
			{
				tidyUp();
			}

			
			{
				this$0 = UserAlerts.this;
				download_manager_listener = downloadmanageradapter;
				dm_disk_listener = downloadmanagerdisklistener;
				super();
			}
		});
		startup = false;
	}

	protected void activityFinished(boolean download, String item_name, Object relatedObject)
	{
		String sound_enabler;
		String sound_file;
		String speech_enabler;
		String speech_text;
		String popup_enabler;
		String popup_def_text;
		String default_sound = "org/gudy/azureus2/ui/icons/downloadFinished.wav";
		if (download)
		{
			sound_enabler = "Play Download Finished";
			sound_file = "Play Download Finished File";
			speech_enabler = "Play Download Finished Announcement";
			speech_text = "Play Download Finished Announcement Text";
			popup_enabler = "Popup Download Finished";
			popup_def_text = "popup.download.finished";
		} else
		{
			sound_enabler = "Play File Finished";
			sound_file = "Play File Finished File";
			speech_enabler = "Play File Finished Announcement";
			speech_text = "Play File Finished Announcement Text";
			popup_enabler = "Popup File Finished";
			popup_def_text = "popup.file.finished";
		}
		String file;
		File f;
		this_mon.enter();
		if (COConfigurationManager.getBooleanParameter(popup_enabler))
		{
			String popup_text = MessageText.getString(popup_def_text, new String[] {
				item_name
			});
			Logger.log(new LogAlert(relatedObject, true, 0, popup_text));
		}
		if (Constants.isOSX)
		{
			(new AEThread(sound_enabler) {

				final String val$speech_enabler;
				final String val$speech_text;
				final String val$sound_enabler;
				final UserAlerts this$0;

				public void runSupport()
				{
					try
					{
						if (COConfigurationManager.getBooleanParameter(speech_enabler))
							Runtime.getRuntime().exec(new String[] {
								"say", COConfigurationManager.getStringParameter(speech_text)
							});
						if (COConfigurationManager.getBooleanParameter(sound_enabler))
							Runtime.getRuntime().exec(new String[] {
								"osascript", "-e", "beep"
							});
						Thread.sleep(2500L);
					}
					catch (Throwable e) { }
				}

			
			{
				this$0 = UserAlerts.this;
				speech_enabler = s;
				speech_text = s1;
				sound_enabler = s2;
				super(x0);
			}
			}).start();
			break MISSING_BLOCK_LABEL_440;
		}
		if (!COConfigurationManager.getBooleanParameter(sound_enabler, false))
			break MISSING_BLOCK_LABEL_440;
		file = COConfigurationManager.getStringParameter(sound_file);
		file = file.trim();
		if (file.startsWith("<"))
			file = "";
		if (audio_clip != null && file.equals(audio_resource))
			break MISSING_BLOCK_LABEL_420;
		audio_clip = null;
		if (file.length() == 0)
			break MISSING_BLOCK_LABEL_389;
		f = new File(file);
		if (f.exists())
		{
			java.net.URL file_url = f.toURL();
			audio_clip = Applet.newAudioClip(file_url);
		}
		if (audio_clip == null)
			Logger.log(new LogAlert(relatedObject, false, 3, (new StringBuilder()).append("Failed to load audio file '").append(file).append("'").toString()));
		break MISSING_BLOCK_LABEL_389;
		Throwable e;
		e;
		Debug.printStackTrace(e);
		if (audio_clip == null)
			Logger.log(new LogAlert(relatedObject, false, 3, (new StringBuilder()).append("Failed to load audio file '").append(file).append("'").toString()));
		break MISSING_BLOCK_LABEL_389;
		Exception exception;
		exception;
		if (audio_clip == null)
			Logger.log(new LogAlert(relatedObject, false, 3, (new StringBuilder()).append("Failed to load audio file '").append(file).append("'").toString()));
		throw exception;
		if (audio_clip == null)
			audio_clip = Applet.newAudioClip(org/gudy/azureus2/ui/common/util/UserAlerts.getClassLoader().getResource("org/gudy/azureus2/ui/icons/downloadFinished.wav"));
		audio_resource = file;
		if (audio_clip != null)
			(new AEThread("DownloadSound") {

				final UserAlerts this$0;

				public void runSupport()
				{
					try
					{
						audio_clip.play();
						Thread.sleep(2500L);
					}
					catch (Throwable e) { }
				}

			
			{
				this$0 = UserAlerts.this;
				super(x0);
			}
			}).start();
		this_mon.exit();
		break MISSING_BLOCK_LABEL_479;
		Throwable e;
		e;
		Debug.printStackTrace(e);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_479;
		Exception exception1;
		exception1;
		this_mon.exit();
		throw exception1;
	}

	protected void tidyUp()
	{
		try
		{
			ThreadGroup threadGroup = Thread.currentThread().getThreadGroup();
			Thread threadList[] = new Thread[threadGroup.activeCount()];
			threadGroup.enumerate(threadList);
			for (int i = 0; i < threadList.length; i++)
				if (threadList[i] != null && "Java Sound event dispatcher".equals(threadList[i].getName()))
					threadList[i].interrupt();

		}
		catch (Throwable e)
		{
			Debug.printStackTrace(e);
		}
	}

	public static void requestUserAttention(int type, Object data)
	{
		PlatformManager pm = PlatformManagerFactory.getPlatformManager();
		if (pm.hasCapability(PlatformManagerCapabilities.RequestUserAttention))
			try
			{
				pm.requestUserAttention(type, data);
			}
			catch (PlatformManagerException e)
			{
				Debug.printStackTrace(e);
			}
	}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -