Dispatcher( Context context, ExecutorService service, Handler mainThreadHandler, Downloader downloader, Cache cache, Stats stats) { this.dispatcherThread = new DispatcherThread(); this.dispatcherThread.start(); this.context = context; this.service = service; this.hunterMap = new LinkedHashMap<String, BitmapHunter>(); this.failedActions = new WeakHashMap<Object, Action>(); this.pausedActions = new WeakHashMap<Object, Action>(); this.pausedTags = new HashSet<Object>(); this.handler = new DispatcherHandler(dispatcherThread.getLooper(), this); this.downloader = downloader; this.mainThreadHandler = mainThreadHandler; this.cache = cache; this.stats = stats; this.batch = new ArrayList<BitmapHunter>(4); this.airplaneMode = Utils.isAirplaneModeOn(this.context); this.scansNetworkChanges = Utils.hasPermission(context, Manifest.permission.ACCESS_NETWORK_STATE); this.receiver = new NetworkBroadcastReceiver(this); receiver.register(); }
// ////////////////////////////////////////////////////// // Override // ////////////////////////////////////////////////////// public void fillParameter() throws AppException { try { super.fillParameter(); // ////////////////////////////////////////////////////// // Fill extent parameter // ////////////////////////////////////////////////////// deliveryUser = ThreadUtil.getString(this, "deliveryUser", false, ""); channel = ThreadUtil.getString(this, "channel", false, ""); serviceAddress = ThreadUtil.getString(this, "serviceAddress", false, ""); isdn = ThreadUtil.getString(this, "isdn", false, ""); endIsdn = ThreadUtil.getString(this, "endIsdn", false, ""); shipTo = ThreadUtil.getString(this, "shipTo", false, ""); keyword = ThreadUtil.getString(this, "keyword", false, ""); batchSize = ThreadUtil.getInt(this, "batchSize", 1); timeBetweenLoop = ThreadUtil.getInt(this, "timeBetweenLoop", 1); orderTimeout = ThreadUtil.getInt(this, "orderTimeout", 60000); } catch (AppException e) { throw e; } catch (Exception e) { throw new AppException(e.getMessage()); } }
void shutdown() { service.shutdown(); dispatcherThread.quit(); receiver.unregister(); }