Commit 0bfe590d by 罗翻

增加baselibrary

parent 4ba8f452
Showing with 346 additions and 271 deletions
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
android {
......@@ -74,9 +71,6 @@ android {
preDexLibraries = false
}
}
kapt {
generateStubs = true
}
greendao {
schemaVersion 2
daoPackage 'com.dayu.bigfish.greendao'
......@@ -92,21 +86,16 @@ dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile 'junit:junit:4.12'
//mutidex
compile 'com.android.support:multidex:1.0.2'
compile 'com.android.support:design:26.1.0'
//greendao数据库
compile 'org.greenrobot:greendao:3.2.0'
//日期选择器
compile 'com.contrarywind:Android-PickerView:3.2.7'
//eventBus
compile 'org.greenrobot:eventbus:3.1.1'
//图片选择
compile 'com.github.LuckSiege.PictureSelector:picture_library:v2.1.5'
//retrofit
......@@ -115,16 +104,12 @@ dependencies {
compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
//jsbridge
compile 'com.github.lzyzsd:jsbridge:1.0.4'
//ARouter
// compile "com.alibaba:arouter-api:$arouter_api_version"
// kapt "com.alibaba:arouter-compiler:$arouter_api_version"
kapt project(':apt')
// compile "com.alibaba:arouter-api:$arouter_api_version"
// kapt "com.alibaba:arouter-compiler:$arouter_api_version"
annotationProcessor project(':apt')
compile project(':annotation_lib')
compile project(':baselibrary')
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
kapt "com.android.databinding:compiler:$gradle_version"
implementation files('libs/umeng-analytics-7.4.0.jar')
}
package com.dayu.bigfish.api;
import com.dayu.base.api.BaseResponse;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.base.common.Constants;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.bean.AccountBalance;
import com.dayu.bigfish.bean.AlipayInfo;
import com.dayu.bigfish.bean.EngineerInfo;
......
package com.dayu.bigfish.api;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.bean.AccountBalance;
import com.dayu.bigfish.bean.AlipayInfo;
import com.dayu.bigfish.bean.EngineerInfo;
......
......@@ -7,7 +7,8 @@ import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.presenter.BaseListPresenter;
import com.dayu.bigfish.BR;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
......
package com.dayu.bigfish.base;
import android.databinding.ViewDataBinding;
import com.dayu.base.ui.activity.BaseBindingActivity;
import com.umeng.analytics.MobclickAgent;
public abstract class DataBindingActivity<B extends ViewDataBinding> extends BaseBindingActivity<B> {
@Override
public void onResume() {
super.onResume();
if (!"MainActivity".equals(mActivity.getClass().getSimpleName())
&& !"OrderDetailsActivity".equals(mActivity.getClass().getSimpleName())) {
MobclickAgent.onPageStart(mClassName);
}
MobclickAgent.onResume(mActivity);
}
@Override
public void onPause() {
super.onPause();
if (!"MainActivity".equals(mActivity.getClass().getSimpleName())
&& !"OrderDetailsActivity".equals(mActivity.getClass().getSimpleName())) {
MobclickAgent.onPageEnd(mClassName);
}
MobclickAgent.onPause(mActivity);
}
}
package com.dayu.bigfish.presenter;
import com.dayu.bigfish.base.BaseListPresenter;
import com.dayu.base.presenter.BaseListPresenter;
/**
* Created by luofan on 2017/12/22.
......
package com.dayu.bigfish.presenter.accountbalance;
import com.dayu.bigfish.base.BaseListPresenter;
import com.dayu.base.presenter.BaseListPresenter;
import com.dayu.base.ui.BaseView;
/**
......
package com.dayu.bigfish.presenter.logisticsinfo;
import com.dayu.bigfish.base.BaseListPresenter;
import com.dayu.base.presenter.BaseListPresenter;
import com.dayu.base.ui.BaseView;
/**
......
......@@ -6,7 +6,7 @@ import com.app.annotation.apt.InstanceFactory;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.api.ApiFactory;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.utils.AppUtils;
......
package com.dayu.bigfish.presenter.message;
import com.dayu.bigfish.base.BaseListPresenter;
import com.dayu.base.presenter.BaseListPresenter;
import com.dayu.base.ui.BaseView;
import com.dayu.bigfish.bean.NewMessage;
......
......@@ -9,7 +9,7 @@ import com.dayu.bigfish.api.ApiFactory;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.R;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.ui.MessageDetailActivity;
......
......@@ -7,7 +7,7 @@ import com.app.annotation.apt.InstanceFactory;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.api.ApiFactory;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.bean.event.RefreshTab;
......
package com.dayu.bigfish.presenter.orderpart;
import com.dayu.bigfish.base.BaseListPresenter;
import com.dayu.base.presenter.BaseListPresenter;
import com.dayu.base.ui.BaseView;
import com.dayu.bigfish.bean.OrderPart;
......
......@@ -8,7 +8,7 @@ import com.dayu.bigfish.api.ApiFactory;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.R;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.bean.event.RefreshApoiment;
......
package com.dayu.bigfish.presenter.serverinstruction;
import com.dayu.bigfish.base.BaseListPresenter;
import com.dayu.base.presenter.BaseListPresenter;
import com.dayu.base.ui.BaseView;
/**
......
......@@ -6,7 +6,7 @@ import android.os.Bundle;
import com.app.annotation.apt.InstanceFactory;
import com.dayu.bigfish.api.ApiFactory;
import com.dayu.base.common.Constants;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.bean.ServerInstruction;
import com.dayu.bigfish.ui.WebViewActivity;
......
......@@ -9,7 +9,7 @@ import com.app.annotation.apt.InstanceFactory;
import com.dayu.bigfish.api.ApiFactory;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.MyApplication;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.ui.OrderDetailsActivity;
......
......@@ -2,14 +2,14 @@ package com.dayu.bigfish.ui;
import com.dayu.bigfish.AboutUsBinding;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.base.ui.activity.BaseBindingActivity;
/**
* 关于我们
* Created by luofan on 2017/12/06.
*/
public class AboutUsActivity extends DataBindingActivity<AboutUsBinding> {
public class AboutUsActivity extends BaseBindingActivity<AboutUsBinding> {
@Override
public int getLayoutId() {
......
package com.dayu.bigfish.ui;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.base.ui.activity.BaseBindingActivity;
import com.dayu.bigfish.databinding.ActivityAgreementBinding;
/**
* Created by luofan on 2017/11/13.
*/
public class AgreementActivity extends DataBindingActivity<ActivityAgreementBinding> {
public class AgreementActivity extends BaseBindingActivity<ActivityAgreementBinding> {
@Override
public int getLayoutId() {
return R.layout.activity_agreement;
......
......@@ -23,7 +23,7 @@ import com.dayu.bigfish.api.DownloadService;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.bigfish.bean.InformBean;
import com.dayu.bigfish.bean.VersionInfo;
import com.dayu.bigfish.bean.event.DownloadBean;
import com.dayu.base.bean.event.DownloadBean;
import com.dayu.bigfish.bean.event.RefreshReceivingNum;
import com.dayu.bigfish.bean.event.SwtichFragment;
import com.dayu.bigfish.databinding.ActivityMainBinding;
......
......@@ -7,7 +7,7 @@ import android.view.View;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.base.ui.activity.BaseBindingActivity;
import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.databinding.ActivityMessageDetailBinding;
import com.dayu.bigfish.utils.UtilsDate;
......@@ -27,7 +27,7 @@ import static com.dayu.bigfish.utils.UtilsDate.SHORT_DATE_FORMAT;
* Created by luofan on 2017/11/27.
*/
public class MessageDetailActivity extends DataBindingActivity<ActivityMessageDetailBinding> {
public class MessageDetailActivity extends BaseBindingActivity<ActivityMessageDetailBinding> {
private NewMessage message;
private int mCategory;
......
......@@ -8,7 +8,7 @@ import android.widget.ImageView;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.base.ui.activity.BaseBindingActivity;
import com.dayu.bigfish.databinding.ActivtyPreviewBinding;
import com.dayu.bigfish.utils.GlideImageLoader;
......@@ -19,7 +19,7 @@ import java.util.ArrayList;
* on 2016/12/2.
* Created by MrWang
*/
public class PreviewActivty extends DataBindingActivity<ActivtyPreviewBinding> {
public class PreviewActivty extends BaseBindingActivity<ActivtyPreviewBinding> {
private MyPageAdapter adapter;
private Context mContext;
public ArrayList<String> mInfos = new ArrayList<>();
......
package com.dayu.bigfish.ui;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.base.ui.activity.BaseBindingActivity;
import com.dayu.bigfish.databinding.QrCodeLayoutBinding;
/**
......@@ -9,7 +9,7 @@ import com.dayu.bigfish.databinding.QrCodeLayoutBinding;
* on 2018/1/31.
*/
public class QrCodeActivity extends DataBindingActivity<QrCodeLayoutBinding> {
public class QrCodeActivity extends BaseBindingActivity<QrCodeLayoutBinding> {
@Override
public int getLayoutId() {
return R.layout.qr_code_layout;
......
......@@ -14,7 +14,7 @@ import android.widget.LinearLayout;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.base.ui.activity.BaseBindingActivity;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.bean.event.OrderState;
import com.dayu.bigfish.databinding.ActivityWebviewBinding;
......@@ -37,7 +37,7 @@ import static com.dayu.bigfish.ui.fragment.HomeOrderFragment.ORDER_SOP_FINISH;
* Created by luofan on 2017/11/27.
*/
public class SopWebViewActivity extends DataBindingActivity<ActivityWebviewBinding> {
public class SopWebViewActivity extends BaseBindingActivity<ActivityWebviewBinding> {
private String mToken;
private int mOrderId;
private int mPositon;
......
......@@ -15,7 +15,7 @@ import android.widget.LinearLayout;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.base.ui.activity.BaseBindingActivity;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.databinding.ActivityWebviewBinding;
import com.dayu.base.utils.ProgressUtil;
......@@ -31,7 +31,7 @@ import java.io.File;
* on 2017/11/27.
*/
public class WebViewActivity extends DataBindingActivity<ActivityWebviewBinding> {
public class WebViewActivity extends BaseBindingActivity<ActivityWebviewBinding> {
private String mToken;
ValueCallback<Uri> mUploadMessage;
ValueCallback<Uri[]> uploadMessageAboveL;
......
......@@ -4,7 +4,7 @@ import android.os.Bundle;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.bean.OrderDetail;
import com.dayu.bigfish.bean.event.RefreshApplyPart;
import com.dayu.bigfish.databinding.FragmentOrderApplicationPartBinding;
......
......@@ -3,7 +3,7 @@ package com.dayu.bigfish.ui.fragment;
import android.os.Bundle;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.databinding.FragmentFirstBinding;
import com.dayu.bigfish.presenter.homefirsttab.HomeFirstContract;
import com.dayu.bigfish.presenter.homefirsttab.HomeFirstPresenter;
......
......@@ -10,7 +10,7 @@ import android.view.View;
import android.widget.TextView;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.bean.Tab;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.databinding.FragmentOrderHomeBinding;
......
......@@ -12,7 +12,7 @@ import android.widget.LinearLayout;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.bean.EngineerInfo;
import com.dayu.bigfish.bean.OrderRecord;
import com.dayu.bigfish.bean.TodayAchievement;
......
......@@ -3,7 +3,7 @@ package com.dayu.bigfish.ui.fragment;
import android.os.Bundle;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.databinding.LrecyclerViewBinding;
import com.dayu.bigfish.presenter.message.messageContract;
import com.dayu.bigfish.presenter.message.messagePresenter;
......
......@@ -2,7 +2,7 @@ package com.dayu.bigfish.ui.fragment;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.bean.event.RefreshApoiment;
import com.dayu.bigfish.databinding.FragmentCommomRecycleBinding;
import com.dayu.bigfish.presenter.orderdoing.OrderDoingPresenter;
......
......@@ -2,7 +2,7 @@ package com.dayu.bigfish.ui.fragment;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.databinding.FragmentCommomRecycleBinding;
import com.dayu.bigfish.presenter.orderdoing.OrderDoingPresenter;
import com.dayu.bigfish.presenter.orderdoing.orderDoingContract;
......
......@@ -2,7 +2,7 @@ package com.dayu.bigfish.ui.fragment;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.event.OrderState;
import com.dayu.bigfish.bean.event.RefreshServe;
......
package com.dayu.bigfish.ui.fragment;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.bigfish.databinding.FragmentCommomRecycleBinding;
import com.dayu.bigfish.presenter.orderdoing.OrderDoingPresenter;
import com.dayu.bigfish.presenter.orderdoing.orderDoingContract;
......
......@@ -14,8 +14,8 @@ import android.widget.FrameLayout;
import android.widget.LinearLayout;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseListPresenter;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.presenter.BaseListPresenter;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.base.CoreAdapter;
import com.dayu.bigfish.base.TypeSelector;
import com.dayu.bigfish.ui.listener.OnItemClickListener;
......
......@@ -12,8 +12,8 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.base.BaseListPresenter;
import com.dayu.base.api.BasePageBean;
import com.dayu.base.presenter.BaseListPresenter;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.bigfish.ui.views.LRecyclerView;
import com.dayu.bigfish.ui.views.SwitchImage;
......
......@@ -3,7 +3,7 @@ package com.dayu.bigfish.utils.managers;
import android.content.Context;
import com.dayu.bigfish.api.APIService;
import com.dayu.bigfish.api.Api;
import com.dayu.base.api.Api;
import com.dayu.bigfish.ui.listener.onDownloadListener;
import java.io.File;
......
......@@ -5,7 +5,7 @@
<variable
name="presenter"
type="com.dayu.bigfish.base.BaseListPresenter" />
type="com.dayu.base.presenter.BaseListPresenter" />
</data>
<LinearLayout
......
......@@ -6,7 +6,7 @@
<variable
name="presenter"
type="com.dayu.bigfish.base.BaseListPresenter" />
type="com.dayu.base.presenter.BaseListPresenter" />
</data>
<LinearLayout
......
......@@ -5,7 +5,7 @@
<variable
name="presenter"
type="com.dayu.bigfish.base.BaseListPresenter" />
type="com.dayu.base.presenter.BaseListPresenter" />
</data>
<com.dayu.bigfish.ui.views.LRecyclerView
......
......@@ -6,7 +6,7 @@
<variable
name="presenter"
type="com.dayu.bigfish.base.BaseListPresenter" />
type="com.dayu.base.presenter.BaseListPresenter" />
</data>
<com.dayu.bigfish.ui.views.LRecyclerView
......
......@@ -32,7 +32,7 @@ import static javax.lang.model.element.Modifier.STATIC;
public class InstanceProcessor implements IProcessor {
@Override
public void process(RoundEnvironment roundEnv, AnnotationProcessor mAbstractProcessor) {
String CLASS_NAME = "InstanceFactory";
String CLASS_NAME = "IsFactory";
TypeSpec.Builder tb = classBuilder(CLASS_NAME).addModifiers(PUBLIC, FINAL).addJavadoc("@ 实例化工厂 此类由apt自动生成");
MethodSpec.Builder methodBuilder1 = MethodSpec.methodBuilder("create")
.addJavadoc("@此方法由apt自动生成")
......
......@@ -44,8 +44,11 @@ dependencies {
compile 'com.android.support:multidex:1.0.2'
//ARouter
compile "com.alibaba:arouter-api:$arouter_api_version"
annotationProcessor "com.alibaba:arouter-compiler:$arouter_api_version"
// compile "com.alibaba:arouter-api:$arouter_api_version"
// annotationProcessor "c、om.alibaba:arouter-compiler:$arouter_api_version"
//eventBus
compile 'org.greenrobot:eventbus:3.1.1'
//retrofit
compile 'com.squareup.retrofit2:retrofit:2.3.0'
......
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
# By default, the flags in this file are appended to flags specified
# in C:\AndroidSDK/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
......@@ -19,3 +23,216 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-printmapping proguardMapping.txt
-optimizations !code/simplification/cast,!field/*,!class/merging/*
-adaptclassstrings
-keepattributes InnerClasses, EnclosingMethod, Signature, *Annotation*,Exceptions
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------
#---------------------------------默认保留区---------------------------------
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.** {*;}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
-keep class **.R$* {
*;
}
-keepclassmembers class * {
void *(**On*Event);
}
#----------------------------------------------------------------------------
#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.Webview {
public *;
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.WebViewClient {
public void *(android.webkit.WebView, jav.lang.String);
}
-keepclassmembers class * extends android.webkit.WebChromeClient{
public void openFileChooser(...);
}
#-------------------------------------------定制化区域----------------------------------------------
#---------------------------------1.实体类---------------------------------
-keep class com.dayu.bigfish.bean.** { *; }
-keep class com.dayu.bigfish.base.** { *; }
#-------------------------------------------------------------------------
#---------------------------------2.第三方包-------------------------------
#retrofit
-dontwarn okio.**
-dontwarn com.google.**
-dontwarn javax.annotation.**
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.ParametersAreNonnullByDefault
-dontwarn okio.**
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-dontwarn javax.inject.**
# OkHttp3
-dontwarn okhttp3.logging.**
-keep class okhttp3.internal.**{*;}
#############################################
# RxJava RxAndroid
-dontwarn sun.misc.**
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
rx.internal.util.atomic.LinkedQueueNode consumerNode;
}
# Gson
-keep class com.google.gson.stream.** { *; }
-keepattributes EnclosingMethod
#PictureSelector 2.0
-keep class com.luck.picture.lib.** { *; }
-dontwarn com.yalantis.ucrop**
-keep class com.yalantis.ucrop** { *; }
-keep interface com.yalantis.ucrop** { *; }
#glide
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
#BaseRecyclerViewAdapterHelper
-keep class com.chad.library.adapter.** {
*;
}
-keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
-keep public class * extends com.chad.library.adapter.base.BaseViewHolder
-keepclassmembers class **$** extends com.chad.library.adapter.base.BaseViewHolder {
<init>(...);
}
#greendao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties
# If you do not use SQLCipher:
-dontwarn org.greenrobot.greendao.database.**
# If you do not use Rx:
-dontwarn rx.**
#环信
-keep class com.hyphenate.** {*;}
-dontwarn com.hyphenate.**
#高德地图
-keep class com.amap.api.location.**{*;}
-keep class com.amap.api.fence.**{*;}
-keep class com.autonavi.aps.amapapi.model.**{*;}
#友盟
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keep public class com.dayu.bigfish.R$*{
public static final int *;
}
-keep class com.umeng.error.UMError{ public *; }
-keep class com.umeng.error.UMErrorCatch{public *; }
-keep class com.umeng.error.UMErrorDataManger{ public *; }
-keep class com.umeng.error.BatteryUtils{ public *; }
#eventbus
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
package com.dayu.bigfish.api;
package com.dayu.base.api;
import android.text.TextUtils;
import com.dayu.base.api.BaseResponse;
import com.dayu.base.api.ServerException;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.base.utils.LogUtils;
import com.dayu.bigfish.utils.managers.UserManager;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
......@@ -105,15 +100,15 @@ public class Api {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
UserInfo userInfo = UserManager.getInstance().getUser();
if (userInfo != null) {
String token = userInfo.getToken();
if (!TextUtils.isEmpty(token) && !request.url().toString().contains(Constants.BASE_URL + Constants.LOGIN_URL)) {
request = request.newBuilder()
.header("token", token)
.build();
}
}
// UserInfo userInfo = UserManager.getInstance().getUser();
// if (userInfo != null) {
// String token = userInfo.getToken();
// if (!TextUtils.isEmpty(token) && !request.url().toString().contains(Constants.BASE_URL + Constants.LOGIN_URL)) {
// request = request.newBuilder()
// .header("token", token)
// .build();
// }
// }
return chain.proceed(request);
}
}
......
package com.dayu.bigfish.api;
package com.dayu.base.api;
import com.dayu.bigfish.bean.event.DownloadBean;
import com.dayu.base.bean.event.DownloadBean;
import org.greenrobot.eventbus.EventBus;
......
......@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.dayu.bigfish.api;
package com.dayu.base.api;
import java.io.EOFException;
import java.io.IOException;
......
package com.dayu.bigfish.bean.event;
package com.dayu.base.bean.event;
/**
* Created by luofan on 2017/11/27.
......
package com.dayu.bigfish.base;
package com.dayu.base.presenter;
import android.databinding.ObservableField;
import com.dayu.base.presenter.BasePresenter;
/**
* Created by luofan on 2017/12/23.
*/
......
......@@ -4,8 +4,9 @@ import android.util.Log;
import com.dayu.base.api.APIException;
import com.dayu.base.common.Constants;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.BaseView;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.utils.ProgressUtil;
import io.reactivex.Observer;
......@@ -130,11 +131,11 @@ public abstract class BasePresenter<V> {
* 重新登录的提示框.
*/
private void showLoginDialog() {
// if (mView instanceof BaseActivity) {
// ((BaseActivity) mView).showLoginDialog();
// } else if (mView instanceof BaseFragment) {
// ((BaseFragment) mView).showLoginDialog();
// }
if (mView instanceof BaseActivity) {
((BaseActivity) mView).showLoginDialog();
} else if (mView instanceof BaseFragment) {
((BaseFragment) mView).showLoginDialog();
}
}
......
package com.dayu.base.presenter;
import com.dayu.base.api.APIException;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.utils.ProgressUtil;
import io.reactivex.Observer;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
/**
* Created by luofan on 17/11/02.
*/
public abstract class CorePresenter<V> {
protected static final String TAG = "BasePresenter";
protected V mView;
protected CompositeDisposable mComDisposable = new CompositeDisposable();
public void setView(V v) {
this.mView = v;
this.onAttached();
}
public abstract void onAttached();
public void onDetached() {
mComDisposable.dispose();
}
/**
* 创建观察者
*
* @param consumer
* @return
*/
public <M> Observer baseObserver(final Consumer<? super M> consumer) {
return new Observer<M>() {
@Override
public void onSubscribe(Disposable d) {
mComDisposable.add(d);
}
@Override
public void onNext(M o) {
ProgressUtil.stopLoad();
try {
consumer.accept(o);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable e) {
ProgressUtil.stopLoad();
processException(e);
}
@Override
public void onComplete() {
}
};
}
/**
* 创建带错误的观察者
*
* @param consumer
* @return
*/
public <M> Observer baseObserver(final Consumer<? super M> consumer, final Consumer<APIException.ResponeThrowable> tconsumer) {
return new Observer<M>() {
@Override
public void onSubscribe(Disposable d) {
mComDisposable.add(d);
}
@Override
public void onNext(M o) {
ProgressUtil.stopLoad();
try {
consumer.accept(o);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable e) {
APIException.ResponeThrowable exception = processException(e);
ProgressUtil.stopLoad();
try {
tconsumer.accept(exception);
} catch (Exception e1) {
e1.printStackTrace();
}
}
@Override
public void onComplete() {
}
};
}
public abstract APIException.ResponeThrowable processException(Throwable e);
public void dumpBack() {
if (mView instanceof BaseActivity) {
((BaseActivity) mView).dumpBack();
}
}
}
......@@ -8,6 +8,7 @@ import android.support.v7.app.AppCompatActivity;
import android.view.View;
public abstract class BaseBindingActivity<B extends ViewDataBinding> extends AppCompatActivity {
public Activity mActivity;
public B mBind;
protected String mClassName;
......@@ -33,4 +34,24 @@ public abstract class BaseBindingActivity<B extends ViewDataBinding> extends App
public abstract void initView();
// @Override
// public void onResume() {
// super.onResume();
// if (!"MainActivity".equals(mActivity.getClass().getSimpleName())
// && !"OrderDetailsActivity".equals(mActivity.getClass().getSimpleName())) {
// MobclickAgent.onPageStart(mClassName);
// }
// MobclickAgent.onResume(mActivity);
// }
//
// @Override
// public void onPause() {
// super.onPause();
// if (!"MainActivity".equals(mActivity.getClass().getSimpleName())
// && !"OrderDetailsActivity".equals(mActivity.getClass().getSimpleName())) {
// MobclickAgent.onPageEnd(mClassName);
// }
// MobclickAgent.onPause(mActivity);
// }
}
package com.dayu.bigfish.base;
package com.dayu.base.ui.fragment;
import android.content.Intent;
import android.databinding.ViewDataBinding;
import android.os.Bundle;
import com.dayu.base.R;
import com.dayu.base.common.Constants;
import com.dayu.base.presenter.BasePresenter;
import com.dayu.base.ui.BaseView;
import com.dayu.base.ui.fragment.BaseBindingFragment;
import com.dayu.bigfish.BR;
import com.dayu.base.common.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.ui.LoginActivity;
import com.dayu.base.widgets.CustomDialog;
import com.dayu.base.utils.InstanceUtil;
import com.dayu.base.utils.ProgressUtil;
import com.dayu.base.utils.ToastUtils;
import com.dayu.bigfish.utils.managers.UserManager;
import com.hyphenate.chat.EMClient;
import com.dayu.base.widgets.CustomDialog;
import java.lang.reflect.ParameterizedType;
......@@ -38,7 +33,7 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
mPresenter = InstanceUtil.getInstance(mPresenterClass);
if (mPresenter != null) {
mPresenter.setView(this);
mBind.setVariable(BR.presenter, mPresenter);
// mBind.setVariable(BR.presenter, mPresenter);
}
}
}
......@@ -131,12 +126,12 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
CustomDialog mDialog = new CustomDialog(mActivity, R.style.CustomDialog, getString(R.string.login_state_no)
, (dialog, confirm) -> {
if (confirm) {
UserManager.getInstance().clearUserInfo();
EMClient.getInstance().logout(true);
UserManager.getInstance().clearUserInfo();
Intent intent = new Intent(mActivity, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
mActivity.startActivity(intent);
// UserManager.getInstance().clearUserInfo();
// EMClient.getInstance().logout(true);
// UserManager.getInstance().clearUserInfo();
// Intent intent = new Intent(mActivity, LoginActivity.class);
// intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
// mActivity.startActivity(intent);
}
dialog.dismiss();
isDialogShow = false;
......
package com.dayu.base.utils;
/**
* Created by luofan on 2017/11/24.
*/
......@@ -11,11 +12,14 @@ public class InstanceUtil {
* @param <T> 返回实例的泛型类型
* @return
*/
public static <T> T getInstance(Class clazz) {
public static <T> T getInstance(Class cls) {
try {
return null;
// (T) InstanceFactory.create(clazz);
} catch (Exception e) {
return (T) cls.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassCastException e) {
e.printStackTrace();
}
return null;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment