parent
5b87b2f167
commit
182135e945
|
@ -6,7 +6,7 @@ android {
|
|||
releaseConfig {
|
||||
keyAlias 'key0'
|
||||
keyPassword 'hello123'
|
||||
storeFile file('E:/reading/android/asProjects/zhuike/mykeystore.jks')
|
||||
storeFile file('E:/reading/android/asProjects/mykeystore.jks')
|
||||
storePassword 'hello123'
|
||||
}
|
||||
}
|
||||
|
@ -17,8 +17,8 @@ android {
|
|||
applicationId "com.novelbook.android"
|
||||
minSdkVersion 19 //target 19 Android 4.4 以下版本仅占比4.1%
|
||||
targetSdkVersion 28
|
||||
versionCode 1
|
||||
versionName "v1.0"
|
||||
versionCode 6
|
||||
versionName "v6.0"
|
||||
|
||||
// testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
|
||||
|
@ -32,6 +32,7 @@ android {
|
|||
|
||||
multiDexEnabled true //突破65535
|
||||
manifestPlaceholders = [UMENG_CHANNEL_CALUE: "umeng"] //默认为uMeng
|
||||
manifestPlaceholders = [MOBAPPID: "ca-app-pub-3940256099942544~3347511713"]
|
||||
flavorDimensions "default" //debug时注销
|
||||
}
|
||||
buildTypes {
|
||||
|
@ -49,7 +50,7 @@ android {
|
|||
shrinkResources false
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
/* release {
|
||||
release {
|
||||
// 暂时显示Log 。。。。。。。。。。。。。。。上线时关闭
|
||||
buildConfigField "boolean", "LOG_DEBUG", "true"
|
||||
//混淆
|
||||
|
@ -59,7 +60,8 @@ android {
|
|||
// 移除无用的resource文件
|
||||
shrinkResources true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
|
||||
// versionCode 1
|
||||
// versionName "v1.0"
|
||||
applicationVariants.all { variant ->
|
||||
variant.outputs.all { output ->
|
||||
def outFile = output.outputFile
|
||||
|
@ -72,11 +74,17 @@ android {
|
|||
|
||||
}
|
||||
signingConfig signingConfigs.releaseConfig
|
||||
}*/
|
||||
}
|
||||
}
|
||||
//渠道
|
||||
/* productFlavors {
|
||||
productFlavors {
|
||||
// googleplay {}
|
||||
google {
|
||||
applicationId "com.zhushou.yueshu"
|
||||
versionName "v1.0"
|
||||
buildConfigField "String", "MAIN_HOST", '"http://g.xiaoshuofenxiang.com/api/"'
|
||||
buildConfigField "String", "API_HOST", '"{\\"master\\":[\\"http:\\\\/\\\\/g.xiaoshuofenxiang.com\\"],\\"page\\":[\\"http:\\\\/\\\\/p.xiaoshuofenxiang.com\\"],\\"report\\":[\\"http:\\\\/\\\\/r.xiaoshuofenxiang.com\\"],\\"search\\":[\\"http:\\\\/\\\\/s.xiaoshuofenxiang.com\\"],\\"novel\\":[\\"http:\\\\/\\\\/n.xiaoshuofenxiang.com\\"],\\"novelsbydot\\":[\\"http:\\\\/\\\\/nbd.xiaoshuofenxiang.com\\"],\\"user\\":[\\"http:\\\\/\\\\/u.xiaoshuofenxiang.com\\"]}"'
|
||||
}
|
||||
ali {
|
||||
applicationId "com.zhushou.wangshu"
|
||||
versionName "v1.0"
|
||||
|
@ -144,7 +152,7 @@ android {
|
|||
buildConfigField "String", "API_HOST", '"{\\"master\\":[\\"http:\\\\/\\\\/g.xiaoshuofenxiang.com\\"],\\"page\\":[\\"http:\\\\/\\\\/p.xiaoshuofenxiang.com\\"],\\"report\\":[\\"http:\\\\/\\\\/r.xiaoshuofenxiang.com\\"],\\"search\\":[\\"http:\\\\/\\\\/s.xiaoshuofenxiang.com\\"],\\"novel\\":[\\"http:\\\\/\\\\/n.xiaoshuofenxiang.com\\"],\\"novelsbydot\\":[\\"http:\\\\/\\\\/nbd.xiaoshuofenxiang.com\\"],\\"user\\":[\\"http:\\\\/\\\\/u.xiaoshuofenxiang.com\\"]}"'
|
||||
|
||||
}
|
||||
*//* wzzw {
|
||||
wzzw {
|
||||
applicationId "com.novelbook.android.wzzw"
|
||||
versionName "v-wzzw-5.0"
|
||||
buildConfigField "String", "MAIN_HOST", '"http://chwzzw.xiaoshuofenxiang.com/api/"'
|
||||
|
@ -164,13 +172,13 @@ android {
|
|||
buildConfigField "String", "MAIN_HOST", '"http://chg.xiaoshuofenxiang.com/api/"'
|
||||
buildConfigField "String", "API_HOST", '"{\\"master\\":[\\"http:\\\\/\\\\/g.xiaoshuofenxiang.com\\"],\\"page\\":[\\"http:\\\\/\\\\/p.xiaoshuofenxiang.com\\"],\\"report\\":[\\"http:\\\\/\\\\/r.xiaoshuofenxiang.com\\"],\\"search\\":[\\"http:\\\\/\\\\/s.xiaoshuofenxiang.com\\"],\\"novel\\":[\\"http:\\\\/\\\\/n.xiaoshuofenxiang.com\\"],\\"novelsbydot\\":[\\"http:\\\\/\\\\/nbd.xiaoshuofenxiang.com\\"],\\"user\\":[\\"http:\\\\/\\\\/u.xiaoshuofenxiang.com\\"]}"'
|
||||
// buildConfigField "String", "API_HOST", '""'
|
||||
}*//*
|
||||
}
|
||||
//批量配置
|
||||
productFlavors.all { flavor ->
|
||||
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
|
||||
}
|
||||
|
||||
}*/
|
||||
}
|
||||
android {
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
|
@ -235,11 +243,9 @@ dependencies {
|
|||
implementation 'com.github.ixiaow:multilayout:1.0.0'
|
||||
implementation 'com.umeng.umsdk:analytics:8.0.2'
|
||||
implementation 'com.umeng.umsdk:common:2.0.2'
|
||||
|
||||
|
||||
implementation 'q.rorbin:VerticalTabLayout:1.2.5'
|
||||
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16'
|
||||
|
||||
implementation(name: 'open_ad_sdk', ext: 'aar')
|
||||
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.6'
|
||||
// implementation 'com.google.android.gms:play-services-ads:17.2.1'
|
||||
}
|
||||
|
|
|
@ -280,3 +280,6 @@
|
|||
-keep class com.androidquery.callback.** {*;}
|
||||
-keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
|
||||
-keep class com.ss.sys.ces.* {*;}
|
||||
|
||||
#GOOGLE MOBAD
|
||||
-keep com.google.android.gms.ads.** { *; }
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<uses-permission android:name="android.permission.INTERNET" /> <!-- <uses-permission android:name="android.permission.VIBRATE" /> -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<!--<uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<!-- chanshanjia-->
|
||||
|
@ -197,8 +197,13 @@
|
|||
<meta-data
|
||||
android:name="UMENG_APPKEY"
|
||||
android:value="5cd6238a570df375c3000cc9" /> <!-- <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"/> -->
|
||||
<meta-data android:name="UMENG_CHANNEL" android:value="debug" />
|
||||
<!--<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />-->
|
||||
<!--<meta-data android:name="UMENG_CHANNEL" android:value="debug" />-->
|
||||
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
|
||||
<!-- google ad-->
|
||||
<!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
|
||||
<!-- <meta-data
|
||||
android:name="com.google.android.gms.ads.APPLICATION_ID"
|
||||
android:value="${MOBAPPID}"/>-->
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -46,7 +46,7 @@ import java.util.Map;
|
|||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
import static com.novelbook.android.utils.AdUtil.getAppID;
|
||||
import static com.novelbook.android.bean.AdSetting.getAppID;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -32,7 +32,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.novelbook.android.utils.AdUtil.getAppID;
|
||||
import static com.novelbook.android.bean.AdSetting.getAppID;
|
||||
|
||||
/**
|
||||
* 这是demo工程的入口Activity,在这里会首次调用广点通的SDK。
|
||||
|
|
|
@ -11,7 +11,7 @@ import com.bytedance.sdk.openadsdk.TTAdSdk;
|
|||
import com.novelbook.android.BuildConfig;
|
||||
import com.novelbook.android.utils.Constants;
|
||||
|
||||
import static com.novelbook.android.utils.AdUtil.getAppID;
|
||||
import static com.novelbook.android.bean.AdSetting.getAppID;
|
||||
|
||||
/**
|
||||
* 可以用一个单例来保存TTAdManager实例,在需要初始化sdk的时候调用
|
||||
|
|
|
@ -41,9 +41,15 @@ import com.bytedance.sdk.openadsdk.TTFeedAd;
|
|||
import com.bytedance.sdk.openadsdk.TTImage;
|
||||
import com.bytedance.sdk.openadsdk.TTInteractionAd;
|
||||
import com.bytedance.sdk.openadsdk.TTNativeAd;
|
||||
import com.google.android.gms.ads.AdListener;
|
||||
/*import com.google.android.gms.ads.AdRequest;
|
||||
import com.google.android.gms.ads.AdSize;
|
||||
import com.google.android.gms.ads.AdView;
|
||||
import com.google.android.gms.ads.MobileAds;*/
|
||||
import com.google.gson.Gson;
|
||||
import com.novelbook.android.AD.toutiao.TTAdManagerHolder;
|
||||
|
||||
import com.novelbook.android.bean.AdSetting;
|
||||
import com.novelbook.android.db.Novel;
|
||||
|
||||
import com.novelbook.android.netutils.NetUtil;
|
||||
|
@ -84,7 +90,8 @@ import org.litepal.util.Const;
|
|||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
import static com.novelbook.android.utils.AdUtil.getAppID;
|
||||
|
||||
import static com.novelbook.android.utils.Constants.AD_MOB;
|
||||
import static com.novelbook.android.utils.Constants.AD_TENCENT_QQ;
|
||||
import static com.novelbook.android.utils.Constants.AD_TOUTIAO;
|
||||
|
||||
|
@ -141,7 +148,7 @@ public abstract class Activity_base extends AppCompatActivity implements Native
|
|||
setupToolbar();
|
||||
// 初始化View注入
|
||||
this.mAQuery = new AQuery2(this);
|
||||
initAD_TouTiao();
|
||||
initializeAd();//initAD_TouTiao();
|
||||
setTitle();
|
||||
initData();
|
||||
initViews();
|
||||
|
@ -432,16 +439,24 @@ public abstract class Activity_base extends AppCompatActivity implements Native
|
|||
return;
|
||||
}
|
||||
|
||||
Log.d(TAG, "loadBanner:mLastBannerTime start new banner request");
|
||||
Log.d(TAG, "loadBanner:mLastBannerTime start new banner request,mBannerContainer.getChildCount(): "+mBannerContainer.getChildCount());
|
||||
if(Constants.AD_SETTING.getChapterBanner().getSource()== AD_TENCENT_QQ) {
|
||||
getBanner_qq();
|
||||
}else if(Constants.AD_SETTING.getChapterBanner().getSource()== AD_TOUTIAO) {
|
||||
loadBanner_toutiao(mBannerContainer, width,height);
|
||||
|
||||
}else if(Constants.AD_SETTING.getChapterBanner().getSource()== AD_MOB){
|
||||
//loadBanner_Mob(mBannerContainer, width,height);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void initializeAd(){
|
||||
if(Constants.AD_SETTING.isShowAdsense()) {
|
||||
initAD_TouTiao();
|
||||
initialMobileAd();
|
||||
}
|
||||
}
|
||||
|
||||
//------ 头条 ad -----
|
||||
AQuery2 mAQuery;
|
||||
|
@ -1065,7 +1080,7 @@ public abstract class Activity_base extends AppCompatActivity implements Native
|
|||
}
|
||||
|
||||
this.bv = new BannerView(this, com.qq.e.ads.banner.ADSize.BANNER,
|
||||
getAppID(Constants.AD_TENCENT_QQ),
|
||||
AdSetting.getAppID(Constants.AD_TENCENT_QQ),
|
||||
Constants.AD_SETTING.getChapterBanner().getSlotId(Constants.AD_TENCENT_QQ));
|
||||
// 注意:如果开发者的banner不是始终展示在屏幕中的话,请关闭自动刷新,否则将导致曝光率过低。
|
||||
// 并且应该自行处理:当banner广告区域出现在屏幕后,再手动loadAD。
|
||||
|
@ -1106,7 +1121,7 @@ public abstract class Activity_base extends AppCompatActivity implements Native
|
|||
|
||||
|
||||
nativeExpressAD = new NativeExpressAD(this, getMyADSize(adWidth, adHeight),
|
||||
getAppID(Constants.AD_TENCENT_QQ),
|
||||
AdSetting.getAppID(Constants.AD_TENCENT_QQ),
|
||||
Constants.AD_SETTING.getChapterContentBanner().getSlotId(Constants.AD_TENCENT_QQ), this); // 这里的Context必须为Activity
|
||||
/* nativeExpressAD.setVideoOption(new VideoOption.Builder()
|
||||
.setAutoPlayPolicy(VideoOption.AutoPlayPolicy.WIFI) // 设置什么网络环境下可以自动播放视频
|
||||
|
@ -1314,8 +1329,83 @@ public abstract class Activity_base extends AppCompatActivity implements Native
|
|||
Log.i(TAG, "onVideoPageClose");
|
||||
}
|
||||
};
|
||||
//------------------------AD Google MobileAds---------------
|
||||
// MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
|
||||
|
||||
/* boolean isMobleAdInitialize =false;
|
||||
AdView mAdView;
|
||||
void initialMobileAd(){
|
||||
// Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
|
||||
String appID = AdSetting.getAppID(Constants.AD_MOB);
|
||||
appID ="ca-app-pub-3940256099942544~3347511713";
|
||||
MobileAds.initialize(this, appID);
|
||||
isMobleAdInitialize =true;
|
||||
Log.d(TAG, "onAdLoaded: initialMobileAd ");
|
||||
}
|
||||
AdView getAdView(){
|
||||
if(mAdView ==null){
|
||||
mAdView = new AdView(this);
|
||||
mAdView.setAdSize(AdSize.BANNER);
|
||||
String codeId = "ca-app-pub-3940256099942544/6300978111";//Constants.AD_SETTING.getChapterBanner().getSlotId(Constants.AD_MOB) ;
|
||||
mAdView.setAdUnitId(codeId);
|
||||
mAdView.setAdListener(new AdListener() {
|
||||
@Override
|
||||
public void onAdLoaded() {
|
||||
// Code to be executed when an ad finishes loading.
|
||||
Log.d(TAG, "onAdLoaded: mobAd loaded");
|
||||
mLastBannerTime =new Date().getTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdFailedToLoad(int errorCode) {
|
||||
// Code to be executed when an ad request fails.
|
||||
Log.d(TAG, "onAdLoaded: Code to be executed when an ad request fails.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdOpened() {
|
||||
// Code to be executed when an ad opens an overlay that
|
||||
// covers the screen.
|
||||
Log.d(TAG, "onAdLoaded: ad opens an overlay.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdClicked() {
|
||||
// Code to be executed when the user clicks on an ad.
|
||||
Log.d(TAG, "onAdLoaded: user clicks on an ad.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdLeftApplication() {
|
||||
// Code to be executed when the user has left the app.
|
||||
Log.d(TAG, "onAdLoaded: Code to be executed when the user has left the app.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAdClosed() {
|
||||
// Code to be executed when the user is about to return
|
||||
// to the app after tapping on an ad.
|
||||
Log.d(TAG, "onAdLoaded: Code to be executed when the user is about to return to the app after tapping on an ad.");
|
||||
}
|
||||
});
|
||||
}
|
||||
return mAdView;
|
||||
}
|
||||
private void loadBanner_Mob(FrameLayout bannerContainer, int width, int height) {
|
||||
Log.d(TAG, "onAdLoaded: 1 loadBanner_Mob ");
|
||||
if(!Constants.AD_SETTING.isShowAdsense()){return;}
|
||||
if(!isMobleAdInitialize){
|
||||
initialMobileAd();
|
||||
}
|
||||
Log.d(TAG, "onAdLoaded: 2 loadBanner_Mob ");
|
||||
|
||||
|
||||
AdRequest adRequest = new AdRequest.Builder().build();
|
||||
getAdView().loadAd(adRequest);
|
||||
bannerContainer.removeAllViews();
|
||||
bannerContainer.addView( getAdView());
|
||||
|
||||
}*/
|
||||
|
||||
|
||||
@Override
|
||||
|
|
|
@ -89,7 +89,7 @@ import java.util.List;
|
|||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
import static com.novelbook.android.utils.AdUtil.getAppID;
|
||||
import static com.novelbook.android.bean.AdSetting.getAppID;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -266,6 +266,7 @@ void initTabs(){
|
|||
nv = gson.fromJson(result,Novel.class);
|
||||
if(id>0) {
|
||||
nv.update(id);
|
||||
nv.checkAndUpdate();
|
||||
nv= LitePal.find(Novel.class,id);
|
||||
}else {
|
||||
nv.save();
|
||||
|
@ -468,7 +469,7 @@ void initTabs(){
|
|||
if(bannerContainer==null){
|
||||
return;
|
||||
}
|
||||
// bannerContainer.setVisibility(View.GONE);
|
||||
|
||||
if ( !Constants.AD_SETTING.isShowAdsense() || !Constants.AD_SETTING.getFixBanner().isShow() || !NetUtil.isNetworkConnected()) {
|
||||
mBannerContainer.setVisibility(View.GONE);
|
||||
return;
|
||||
|
|
|
@ -570,7 +570,7 @@ public class ReadActivity extends Activity_base implements AdInterface {
|
|||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
// pageFactory.clear();
|
||||
pageFactory.clear();
|
||||
bookpage = null;
|
||||
unregisterReceiver(myReceiver);
|
||||
isSpeaking = false;
|
||||
|
|
|
@ -341,6 +341,7 @@ public class BookListAdapter extends RecyclerView.Adapter< RecyclerView.ViewHol
|
|||
|
||||
if (holder.imageUpdate != null) {
|
||||
if( novel.isUpdated()){
|
||||
Log.d(TAG, String.format("checkshelf:novel %s has new update",novel.getName()));
|
||||
holder.imageUpdate.setVisibility(View.VISIBLE);
|
||||
}else{
|
||||
holder.imageUpdate.setVisibility(View.GONE);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.novelbook.android.bean;
|
||||
|
||||
import com.novelbook.android.netutils.NetUtil;
|
||||
import com.novelbook.android.utils.Constants;
|
||||
|
||||
public class AdSetting {
|
||||
private boolean showAdsense;
|
||||
|
@ -62,6 +63,14 @@ public class AdSetting {
|
|||
return bigBanner;
|
||||
}
|
||||
|
||||
public static String getAppID(int sourceType){
|
||||
if( Constants.AD_SETTING==null || Constants.AD_SETTING.getAppIds()==null){
|
||||
return "";
|
||||
}
|
||||
return Constants.AD_SETTING.getAppIds().length> sourceType-1 ? Constants.AD_SETTING.getAppIds()[sourceType-1] :"";
|
||||
}
|
||||
|
||||
|
||||
public class slot{
|
||||
private boolean show;
|
||||
private int source;
|
||||
|
@ -72,7 +81,7 @@ public class AdSetting {
|
|||
private int displayPosition;
|
||||
|
||||
public int getDisplayPosition() {
|
||||
//return 2;
|
||||
//return 1;
|
||||
return displayPosition;
|
||||
}
|
||||
|
||||
|
|
|
@ -307,7 +307,15 @@ public class Novel extends LitePalSupport implements Serializable{
|
|||
}
|
||||
@Override
|
||||
public int update(long id){
|
||||
setValues();try {
|
||||
setValues();
|
||||
checkAndUpdate();
|
||||
Log.d("checkshelf", String.format("checkshelf:novel %s going to update,isUpdated %s", getName() ,isUpdated));
|
||||
/* try {
|
||||
throw new Exception("check update");
|
||||
}catch (Exception e){
|
||||
Log.e("checkshelf", "checkshelf ", e);
|
||||
}*/
|
||||
try {
|
||||
return super.update(id);
|
||||
}catch (Exception e){
|
||||
Log.e("NOVELDB", "update:error ", e);
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package com.novelbook.android.utils;
|
||||
|
||||
public class AdUtil {
|
||||
public static String getAppID(int sourceType){
|
||||
/* public static String getAppID(int sourceType){
|
||||
if( Constants.AD_SETTING==null || Constants.AD_SETTING.getAppIds()==null){
|
||||
return "";
|
||||
}
|
||||
return Constants.AD_SETTING.getAppIds().length> sourceType-1 ? Constants.AD_SETTING.getAppIds()[sourceType-1] :"";
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
|
|
@ -260,6 +260,7 @@ public class BookUtil {
|
|||
mNovel.setDomain(mSite.getDomain());
|
||||
mNovel.setDomainName(mSite.getName());
|
||||
mNovel.setMuluUrl(mSite.getMuluUrl());
|
||||
mNovel.setToDefault("isUpdated");
|
||||
mNovel.update(mNovel.getId());
|
||||
}
|
||||
|
||||
|
|
|
@ -19,9 +19,12 @@ public class Constants {
|
|||
public static AdSetting AD_SETTING;
|
||||
public static final int AD_TENCENT_QQ =1;
|
||||
public static final int AD_TOUTIAO =2;
|
||||
public static final int AD_MOB =3;
|
||||
public static final int AD_BANNER_TOP =1;
|
||||
public static final int AD_BANNER_BOTTOM =2;
|
||||
|
||||
|
||||
|
||||
public static boolean AD_BACKGROUND_TRANSPARENT =true ;
|
||||
public static boolean PRE_LOAD_CHAPT = false;
|
||||
public static int SCREEN_HEIGHT_PIX =1920 ;
|
||||
|
|
|
@ -2127,6 +2127,8 @@ private void hideSysUI(){
|
|||
|
||||
public void clear(){
|
||||
// Log.d(TAG, String .format("prepare Book: clearing book info %s" , getNovle().getName()));
|
||||
mBookUtil.clear();
|
||||
mBookUtil=null;
|
||||
fileRetryCnt.clear();
|
||||
lastPageTime=0;
|
||||
if(chaptMap!=null){
|
||||
|
|
|
@ -8,38 +8,80 @@
|
|||
</facet>
|
||||
<facet type="android" name="Android">
|
||||
<configuration>
|
||||
<option name="SELECTED_BUILD_VARIANT" value="debug" />
|
||||
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
|
||||
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
|
||||
<option name="SELECTED_BUILD_VARIANT" value="aliDebug" />
|
||||
<option name="ASSEMBLE_TASK_NAME" value="assembleAliDebug" />
|
||||
<option name="COMPILE_JAVA_TASK_NAME" value="compileAliDebugSources" />
|
||||
<afterSyncTasks>
|
||||
<task>generateDebugSources</task>
|
||||
<task>generateAliDebugSources</task>
|
||||
</afterSyncTasks>
|
||||
<option name="ALLOW_USER_CONFIGURATION" value="false" />
|
||||
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
|
||||
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
|
||||
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
|
||||
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/src/ali/res" />
|
||||
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
|
||||
<output url="file://$MODULE_DIR$/build/intermediates/javac/aliDebug/compileAliDebugJavaWithJavac/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/build/intermediates/javac/aliDebugUnitTest/compileAliDebugUnitTestJavaWithJavac/classes" />
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/ali/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/aliDebug/compileAliDebugAidl/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/ali/debug" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/aliDebug/compileAliDebugRenderscript/out" isTestSource="false" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/ali/debug" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/ali/debug" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/aliDebug/res" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/aliDebug/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/aliDebug/assets" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/aliDebug/aidl" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/aliDebug/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/aliDebug/rs" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/aliDebug/shaders" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/ali/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/aliDebugAndroidTest/compileAliDebugAndroidTestAidl/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/ali/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/aliDebugAndroidTest/compileAliDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/ali/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/ali/debug" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAliDebug/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAliDebug/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAliDebug/assets" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAliDebug/aidl" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAliDebug/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAliDebug/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAliDebug/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/ali/debug" isTestSource="true" generated="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAliDebug/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAliDebug/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAliDebug/assets" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAliDebug/aidl" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAliDebug/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAliDebug/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAliDebug/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/ali/res" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/ali/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/ali/assets" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/ali/aidl" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/ali/java" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/ali/rs" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/ali/shaders" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAli/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAli/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAli/assets" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAli/aidl" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAli/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAli/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTestAli/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAli/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAli/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAli/assets" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAli/aidl" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAli/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAli/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/testAli/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
|
||||
|
@ -87,56 +129,52 @@
|
|||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/apk_list" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundle_manifest" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-apk" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_app_manifest" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_app_info_output_file" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_main_apk_resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_merged_manifests" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_split_apk_resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/legacy_multidex_aapt_derived_proguard_rules" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/legacy_multidex_main_dex_list" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifest-checker" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged-not-compiled-resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_assets" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/metadata_feature_manifest" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/processed_res" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard-files" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard-rules" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/resources" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/signing_config" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/reports" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="Android API 28 Platform" jdkType="Android SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-ads-identifier:16.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: :open_ad_sdk:@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:localbroadcastmanager:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: __local_aars__:E.\reading\android\asProjects\zhuike\libs\juniversalchardet-1.0.3.jar:unspecified@jar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:loader:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: android.arch.lifecycle:extensions:1.1.1@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-ads-lite:17.2.1@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-sdk-api:16.3.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.github.bumptech.glide:disklrucache:4.9.0@jar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core:1.1.1@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.packetzoom:pz-android-sdk:3.2.43@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:cursoradapter:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.github.bumptech.glide:gifdecoder:4.9.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.squareup.retrofit2:adapter-rxjava2:2.5.0@jar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-ads-base:17.2.1@aar" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test.espresso:espresso-core:3.0.2@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime:1.1.1@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:support-compat:28.0.0@aar" level="project" />
|
||||
|
@ -152,6 +190,7 @@
|
|||
<orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0@jar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: io.reactivex.rxjava2:rxandroid:2.1.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.google.code.gson:gson:2.8.5@jar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-measurement-base:16.3.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:multidex:1.0.2@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: org.litepal.android:core:3.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: org.reactivestreams:reactive-streams:1.0.2@jar" level="project" />
|
||||
|
@ -192,6 +231,7 @@
|
|||
<orderEntry type="library" name="Gradle: com.astuetz:pagerslidingtabstrip:1.0.1@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.youth.banner:banner:1.4.10@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.github.chengzipi:Searchbox:v1.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:customtabs:26.1.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:support-core-utils:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" scope="TEST" name="Gradle: com.android.support.test:monitor:1.0.2@aar" level="project" />
|
||||
|
@ -204,6 +244,7 @@
|
|||
<orderEntry type="library" name="Gradle: com.jakewharton:butterknife-annotations:9.0.0@jar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:documentfile:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.jakewharton:butterknife:9.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-ads:17.2.1@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:slidingpanelayout:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:appcompat-v7:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.14.0@jar" level="project" />
|
||||
|
@ -220,6 +261,7 @@
|
|||
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3@jar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:coordinatorlayout:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:swiperefreshlayout:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-gass:17.2.1@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: q.rorbin:VerticalTabLayout:1.2.5@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.android.support:support-media-compat:28.0.0@aar" level="project" />
|
||||
<orderEntry type="library" name="Gradle: com.google.android.gms:play-services-tasks:16.0.1@aar" level="project" />
|
||||
|
|
Loading…
Reference in New Issue