// Path: app/src/main/java/me/pkliang/gankmaku/base/view/BaseDanmakuFragment.java
// public abstract class BaseDanmakuFragment<CV extends SwipeRefreshLayout, M, V extends PaginationView<M>, P extends PaginationRxPresenter<V, M>>
//     extends BaseSwipeToRefreshLoadMoreFragment<CV, M, V, P> {
// 
//   protected void initDanmaku(DanmakuSurfaceView danmakuSurfaceView, BaseDanmakuParser parser) {
//     if (danmakuSurfaceView != null) {
//       //parser = createParser(null);
//       danmakuSurfaceView.setCallback(new DrawHandler.Callback() {
//             @Override public void updateTimer(DanmakuTimer timer) {
//             }
// 
//             @Override public void prepared() {
//               danmakuSurfaceView.start();
//             }
//           });
//       danmakuSurfaceView.prepare(parser);
//       //danmakuSurfaceView.showFPS(true);
//       danmakuSurfaceView.enableDanmakuDrawingCache(true);
//       danmakuSurfaceView.setZOrderOnTop(true);
//       danmakuSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
//     }
//   }
// 
//   protected BaseDanmakuParser createParser(InputStream stream) {
// 
//     if (stream == null) {
//       return new BaseDanmakuParser() {
// 
//         @Override protected Danmakus parse() {
//           return new Danmakus();
//         }
//       };
//     }
// 
//     ILoader loader = DanmakuLoaderFactory.create(DanmakuLoaderFactory.TAG_BILI);
// 
//     try {
//       loader.load(stream);
//     } catch (IllegalDataException e) {
//       e.printStackTrace();
//     }
//     BaseDanmakuParser parser = new BiliDanmukuParser();
//     IDataSource<?> dataSource = loader.getDataSource();
//     parser.load(dataSource);
//     return parser;
//   }
// 
//   protected void testDanMu(DanmakuSurfaceView danmakuSurfaceView, BaseDanmakuParser mParser,
//       String string, int textColor, int borderColor) {
//     BaseDanmaku danmaku = DanmakuFactory.createDanmaku(BaseDanmaku.TYPE_SCROLL_RL);
// 
//     danmaku.text = string;
//     danmaku.padding = 5;
//     danmaku.priority = 1;
//     danmaku.time = mParser.getTimer().currMillisecond + 100;
//     danmaku.textSize = 25f * (mParser.getDisplayer().getDensity() - 0.6f);
//     //danmaku.textSize = 25f;
//     danmaku.textColor = textColor;
//     danmaku.textShadowColor = Color.WHITE;
//     //danmaku.underlineColor = Color.GREEN;
//     danmaku.borderColor = borderColor;
// 
//     danmakuSurfaceView.addDanmaku(danmaku);
//   }
// 
//   protected void destroyDanmaku(DanmakuSurfaceView danmakuSurfaceView) {
//     if (danmakuSurfaceView != null) {
//       danmakuSurfaceView.release();
//       danmakuSurfaceView = null;
//     }
//   }
// }
// 
// Path: app/src/main/java/me/pkliang/gankmaku/base/view/IDataAdapter.java
// public interface IDataAdapter<DATA> {
// 
//   void notifyDataChanged(DATA data, boolean isRefresh);
// 
//   DATA getData();
// 
//   boolean isEmpty();
// }
// 
// Path: domain/src/main/java/me/pkliang/gankmaku/domain/entity/Response.java
// public class Response {
// 
//   private List<Entry> results;
//   private boolean error;
// 
//   public Response setResults(List<Entry> results) {
//     this.results = results;
//     return this;
//   }
// 
//   public void setError(boolean error) {
//     this.error = error;
//   }
// 
//   public List<Entry> getResults() {
//     return results;
//   }
// 
//   public boolean isError() {
//     return error;
//   }
// }


import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import butterknife.Bind;
import com.lsjwzh.widget.recyclerviewpager.RecyclerViewPager;
import hugo.weaving.DebugLog;
import java.util.ArrayList;
import master.flame.danmaku.danmaku.parser.BaseDanmakuParser;
import master.flame.danmaku.ui.widget.DanmakuSurfaceView;
import me.pkliang.gankmaku.R;
import me.pkliang.gankmaku.base.view.BaseDanmakuFragment;
import me.pkliang.gankmaku.base.view.IDataAdapter;
import me.pkliang.gankmaku.domain.entity.Entry;
import me.pkliang.gankmaku.domain.entity.Response;
package me.pkliang.gankmaku.ganhuo;


/**
 * Created by Omistaja on 8/12/2015.
 */
public abstract class BaseGanhuoFragment
    extends BaseDanmakuFragment<SwipeRefreshLayout, Response, GanhuoView, GanhuoPresenter>
    implements RecyclerViewPager.OnPageChangedListener {

// Path: app/src/main/java/me/pkliang/gankmaku/base/view/BaseDanmakuFragment.java
// public abstract class BaseDanmakuFragment<CV extends SwipeRefreshLayout, M, V extends PaginationView<M>, P extends PaginationRxPresenter<V, M>>
//     extends BaseSwipeToRefreshLoadMoreFragment<CV, M, V, P> {
// 
//   protected void initDanmaku(DanmakuSurfaceView danmakuSurfaceView, BaseDanmakuParser parser) {
//     if (danmakuSurfaceView != null) {
//       //parser = createParser(null);
//       danmakuSurfaceView.setCallback(new DrawHandler.Callback() {
//             @Override public void updateTimer(DanmakuTimer timer) {
//             }
// 
//             @Override public void prepared() {
//               danmakuSurfaceView.start();
//             }
//           });
//       danmakuSurfaceView.prepare(parser);
//       //danmakuSurfaceView.showFPS(true);
//       danmakuSurfaceView.enableDanmakuDrawingCache(true);
//       danmakuSurfaceView.setZOrderOnTop(true);
//       danmakuSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
//     }
//   }
// 
//   protected BaseDanmakuParser createParser(InputStream stream) {
// 
//     if (stream == null) {
//       return new BaseDanmakuParser() {
// 
//         @Override protected Danmakus parse() {
//           return new Danmakus();
//         }
//       };
//     }
// 
//     ILoader loader = DanmakuLoaderFactory.create(DanmakuLoaderFactory.TAG_BILI);
// 
//     try {
//       loader.load(stream);
//     } catch (IllegalDataException e) {
//       e.printStackTrace();
//     }
//     BaseDanmakuParser parser = new BiliDanmukuParser();
//     IDataSource<?> dataSource = loader.getDataSource();
//     parser.load(dataSource);
//     return parser;
//   }
// 
//   protected void testDanMu(DanmakuSurfaceView danmakuSurfaceView, BaseDanmakuParser mParser,
//       String string, int textColor, int borderColor) {
//     BaseDanmaku danmaku = DanmakuFactory.createDanmaku(BaseDanmaku.TYPE_SCROLL_RL);
// 
//     danmaku.text = string;
//     danmaku.padding = 5;
//     danmaku.priority = 1;
//     danmaku.time = mParser.getTimer().currMillisecond + 100;
//     danmaku.textSize = 25f * (mParser.getDisplayer().getDensity() - 0.6f);
//     //danmaku.textSize = 25f;
//     danmaku.textColor = textColor;
//     danmaku.textShadowColor = Color.WHITE;
//     //danmaku.underlineColor = Color.GREEN;
//     danmaku.borderColor = borderColor;
// 
//     danmakuSurfaceView.addDanmaku(danmaku);
//   }
// 
//   protected void destroyDanmaku(DanmakuSurfaceView danmakuSurfaceView) {
//     if (danmakuSurfaceView != null) {
//       danmakuSurfaceView.release();
//       danmakuSurfaceView = null;
//     }
//   }
// }
// 
// Path: app/src/main/java/me/pkliang/gankmaku/base/view/IDataAdapter.java
// public interface IDataAdapter<DATA> {
// 
//   void notifyDataChanged(DATA data, boolean isRefresh);
// 
//   DATA getData();
// 
//   boolean isEmpty();
// }
// 
// Path: domain/src/main/java/me/pkliang/gankmaku/domain/entity/Response.java
// public class Response {
// 
//   private List<Entry> results;
//   private boolean error;
// 
//   public Response setResults(List<Entry> results) {
//     this.results = results;
//     return this;
//   }
// 
//   public void setError(boolean error) {
//     this.error = error;
//   }
// 
//   public List<Entry> getResults() {
//     return results;
//   }
// 
//   public boolean isError() {
//     return error;
//   }
// }


// Path: app/src/main/java/me/pkliang/gankmaku/ganhuo/BaseGanhuoFragment.java
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import butterknife.Bind;
import com.lsjwzh.widget.recyclerviewpager.RecyclerViewPager;
import hugo.weaving.DebugLog;
import java.util.ArrayList;
import master.flame.danmaku.danmaku.parser.BaseDanmakuParser;
import master.flame.danmaku.ui.widget.DanmakuSurfaceView;
import me.pkliang.gankmaku.R;
import me.pkliang.gankmaku.base.view.BaseDanmakuFragment;
import me.pkliang.gankmaku.base.view.IDataAdapter;
import me.pkliang.gankmaku.domain.entity.Entry;
import me.pkliang.gankmaku.domain.entity.Response;

package me.pkliang.gankmaku.ganhuo;


/**
 * Created by Omistaja on 8/12/2015.
 */
public abstract class BaseGanhuoFragment
    extends BaseDanmakuFragment<SwipeRefreshLayout, Response, GanhuoView, GanhuoPresenter>
    implements RecyclerViewPager.OnPageChangedListener {

  @Bind(R.id.sv_danmaku) DanmakuSurfaceView mDanmakuView;