release 0.8.0 #12
| @ -213,6 +213,8 @@ public class MainWindowController { | |||||||
| 		initUI(); | 		initUI(); | ||||||
| 		initActions(); | 		initActions(); | ||||||
| 		dbController.init(); | 		dbController.init(); | ||||||
|  | 		 | ||||||
|  | 		checkAllPosters(); // TODO testing | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	// Initialize general UI elements | 	// Initialize general UI elements | ||||||
| @ -801,6 +803,22 @@ public class MainWindowController { | |||||||
| 		 String mimeType = URLConnection.guessContentTypeFromName(film.getStreamUrl()); | 		 String mimeType = URLConnection.guessContentTypeFromName(film.getStreamUrl()); | ||||||
| 		 return mimeType != null && (mimeType.contains("mp4") || mimeType.contains("vp6")); | 		 return mimeType != null && (mimeType.contains("mp4") || mimeType.contains("vp6")); | ||||||
| 	} | 	} | ||||||
|  | 	 | ||||||
|  | 	private void posterModeStartup() { | ||||||
|  | 		checkAllPosters(); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	/** | ||||||
|  | 	 * check if all posters are cached, if not cache the missing ones | ||||||
|  | 	 */ | ||||||
|  | 	private void checkAllPosters() { | ||||||
|  | 		// get all not cached entries, none of them should have a cached poster | ||||||
|  | 		for (FilmTabelDataType entry : dbController.getAllNotCachedEntries()) { | ||||||
|  | 			System.out.println(entry.getStreamUrl() + " is NOT cached!"); | ||||||
|  | 			// TODO get all needed posters eg cache all not cached entries | ||||||
|  | 			// TODO for entries not available show homeflix logo | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
| 	// getter and setter | 	// getter and setter | ||||||
|  | |||||||
| @ -465,7 +465,7 @@ public class DBController { | |||||||
| 	public void setCached(String streamUrl) { | 	public void setCached(String streamUrl) { | ||||||
| 		try { | 		try { | ||||||
| 			Statement stmt = connection.createStatement(); | 			Statement stmt = connection.createStatement(); | ||||||
| 			stmt.executeUpdate("UPDATE films SET cached=1 WHERE streamUrl=\"" + streamUrl + "\";"); | 			stmt.executeUpdate("UPDATE films SET cached = 1 WHERE streamUrl = \"" + streamUrl + "\";"); | ||||||
| 			connection.commit(); | 			connection.commit(); | ||||||
| 			stmt.close(); | 			stmt.close(); | ||||||
| 		} catch (SQLException e) { | 		} catch (SQLException e) { | ||||||
| @ -623,6 +623,29 @@ public class DBController { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | 	/** | ||||||
|  | 	 * get all NOT cached entries | ||||||
|  | 	 * @return a {@link ArrayList} of all NOT cached entries | ||||||
|  | 	 */ | ||||||
|  | 	public ArrayList<FilmTabelDataType> getAllNotCachedEntries() { | ||||||
|  | 		ArrayList<FilmTabelDataType> notCachedEntries = new ArrayList<>(); | ||||||
|  | 		 | ||||||
|  | 		try { | ||||||
|  | 			Statement stmt = connection.createStatement(); | ||||||
|  | 			ResultSet rs = stmt.executeQuery("SELECT * FROM films WHERE cached = 0"); | ||||||
|  | 			while (rs.next()) { | ||||||
|  | 				notCachedEntries.add(new FilmTabelDataType(rs.getString("streamUrl"), | ||||||
|  | 						rs.getString("title"), rs.getString("season"), rs.getString("episode"), rs.getBoolean("favorite"), | ||||||
|  | 						rs.getBoolean("cached"), new ImageView(favorite_border_black))); | ||||||
|  | 			} | ||||||
|  | 			stmt.close(); | ||||||
|  | 			rs.close(); | ||||||
|  | 		} catch (SQLException e) { | ||||||
|  | 			LOGGER.error("An error occured, while getting all NOT cached entries", e); | ||||||
|  | 		} | ||||||
|  | 		return notCachedEntries; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
| 	/** | 	/** | ||||||
| 	 * return the currentTime in ms saved in the database | 	 * return the currentTime in ms saved in the database | ||||||
| 	 * @param streamUrl URL of the film | 	 * @param streamUrl URL of the film | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user