forked from j62/ctbrec
1
0
Fork 0

Move UnknownModel to its own class

This commit is contained in:
0xboobface 2019-04-20 21:49:23 +02:00
parent 33c4468d1b
commit c1bbce7bcd
2 changed files with 162 additions and 152 deletions

View File

@ -0,0 +1,161 @@
package ctbrec;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ExecutionException;
import com.iheartradio.m3u8.ParseException;
import com.iheartradio.m3u8.PlaylistException;
import ctbrec.io.HttpClient;
import ctbrec.recorder.Recorder;
import ctbrec.recorder.download.StreamSource;
import ctbrec.sites.Site;
public class UnknownModel extends AbstractModel {
@Override
public boolean isOnline(boolean ignoreCache) throws IOException, ExecutionException, InterruptedException {
return false;
}
@Override
public List<StreamSource> getStreamSources() throws IOException, ExecutionException, ParseException, PlaylistException {
return Collections.emptyList();
}
@Override
public void invalidateCacheEntries() {
}
@Override
public void receiveTip(Double tokens) throws IOException {
}
@Override
public int[] getStreamResolution(boolean failFast) throws ExecutionException {
return new int[2];
}
@Override
public boolean follow() throws IOException {
return false;
}
@Override
public boolean unfollow() throws IOException {
return false;
}
@Override
public Site getSite() {
return new Site() {
@Override
public boolean supportsTips() {
return false;
}
@Override
public boolean supportsSearch() {
return false;
}
@Override
public boolean supportsFollow() {
return false;
}
@Override
public void shutdown() {
}
@Override
public void setRecorder(Recorder recorder) {
}
@Override
public void setEnabled(boolean enabled) {
}
@Override
public boolean searchRequiresLogin() {
return false;
}
@Override
public List<Model> search(String q) throws IOException, InterruptedException {
return Collections.emptyList();
}
@Override
public boolean login() throws IOException {
return false;
}
@Override
public boolean isSiteForModel(Model m) {
return false;
}
@Override
public boolean isEnabled() {
return false;
}
@Override
public void init() throws IOException {
}
@Override
public Double getTokenBalance() throws IOException {
return 0d;
}
@Override
public Recorder getRecorder() {
return null;
}
@Override
public String getName() {
return "unknown";
}
@Override
public HttpClient getHttpClient() {
return null;
}
@Override
public String getBuyTokensLink() {
return "";
}
@Override
public String getBaseUrl() {
return "";
}
@Override
public String getAffiliateLink() {
return "";
}
@Override
public boolean credentialsAvailable() {
return false;
}
@Override
public Model createModelFromUrl(String url) {
return null;
}
@Override
public Model createModel(String name) {
return null;
}
};
}
}

View File

@ -10,29 +10,25 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.ExecutionException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.iheartradio.m3u8.ParseException;
import com.iheartradio.m3u8.PlaylistException;
import com.squareup.moshi.JsonAdapter;
import com.squareup.moshi.Moshi;
import ctbrec.AbstractModel;
import ctbrec.Config;
import ctbrec.Hmac;
import ctbrec.Model;
import ctbrec.Recording;
import ctbrec.UnknownModel;
import ctbrec.event.EventBusHolder;
import ctbrec.event.RecordingStateChangedEvent;
import ctbrec.io.HttpClient;
import ctbrec.io.HttpException;
import ctbrec.io.InstantJsonAdapter;
import ctbrec.io.ModelJsonAdapter;
import ctbrec.recorder.download.StreamSource;
import ctbrec.sites.Site;
import okhttp3.MediaType;
import okhttp3.Request;
@ -458,151 +454,4 @@ public class RemoteRecorder implements Recorder {
}
}
}
private static class UnknownModel extends AbstractModel {
@Override
public boolean isOnline(boolean ignoreCache) throws IOException, ExecutionException, InterruptedException {
return false;
}
@Override
public List<StreamSource> getStreamSources() throws IOException, ExecutionException, ParseException, PlaylistException {
return Collections.emptyList();
}
@Override
public void invalidateCacheEntries() {
}
@Override
public void receiveTip(Double tokens) throws IOException {
}
@Override
public int[] getStreamResolution(boolean failFast) throws ExecutionException {
return new int[2];
}
@Override
public boolean follow() throws IOException {
return false;
}
@Override
public boolean unfollow() throws IOException {
return false;
}
@Override
public Site getSite() {
return new Site() {
@Override
public boolean supportsTips() {
return false;
}
@Override
public boolean supportsSearch() {
return false;
}
@Override
public boolean supportsFollow() {
return false;
}
@Override
public void shutdown() {
}
@Override
public void setRecorder(Recorder recorder) {
}
@Override
public void setEnabled(boolean enabled) {
}
@Override
public boolean searchRequiresLogin() {
return false;
}
@Override
public List<Model> search(String q) throws IOException, InterruptedException {
return Collections.emptyList();
}
@Override
public boolean login() throws IOException {
return false;
}
@Override
public boolean isSiteForModel(Model m) {
return false;
}
@Override
public boolean isEnabled() {
return false;
}
@Override
public void init() throws IOException {
}
@Override
public Double getTokenBalance() throws IOException {
return 0d;
}
@Override
public Recorder getRecorder() {
return null;
}
@Override
public String getName() {
return "unknown";
}
@Override
public HttpClient getHttpClient() {
return null;
}
@Override
public String getBuyTokensLink() {
return "";
}
@Override
public String getBaseUrl() {
return "";
}
@Override
public String getAffiliateLink() {
return "";
}
@Override
public boolean credentialsAvailable() {
return false;
}
@Override
public Model createModelFromUrl(String url) {
return null;
}
@Override
public Model createModel(String name) {
return null;
}
};
}
}
}