private void startUpload(int index) { if (NavigineApp.Navigation == null) return; String userHash = NavigineApp.Settings.getString("user_hash", ""); if (userHash.length() == 0) return; LocationInfo info = mInfoList.get(index); String location = new String(info.title); Log.d(TAG, String.format(Locale.ENGLISH, "Start upload: %s", location)); synchronized (mLoaderMap) { if (!mLoaderMap.containsKey(location)) { LoaderState loader = new LoaderState(); loader.location = location; loader.type = UPLOAD; loader.id = LocationLoader.startLocationUploader(location, info.archiveFile, true); mLoaderMap.put(location, loader); } } mAdapter.updateList(); }
@Scheduled(fixedDelay = SCHEDULED_CHECK) public void checkActiveClients() { Set<String> users = user_vidNameMap.keySet(); Iterator<String> it = users.iterator(); long time = System.currentTimeMillis(); int count = 0; while (it.hasNext()) { count++; String user = it.next(); if (user == null) continue; if (userAliveMap.containsKey(user)) { if (userAliveMap.get(user).longValue() < time) { removeUser(user); userAliveMap.remove(user); } } else { throw new RuntimeException("user in user-vid map but not in user-alive map"); } } // System.out.println("Debug: Scheduled Check count:"+count+" user // count:"+user_vidNameMap.size()); System.gc(); }