Commit 746eaaac by konghaorui

新增gradle 插件依赖、修改包名

parent 52219307
ext{
//自动添加***-api依赖
autoImportApiDependency = {extension -> //extension project对象
def children = project.rootProject.childProjects
//遍历所有child project
children.each {child ->
//判断 是否同时存在 *** module 和 ***-api module
if(child.key.contains("-api") && children.containsKey(child.key.substring(0,child.key.length() - 4))){
print "\n"
def targetKey = child.key.substring(0,child.key.length() - 4)
def targetProject = children[targetKey]
targetProject.afterEvaluate {
print '*********************\n'
print targetProject.dependencies
//通过打印 所有dependencies,推断需要添加如下两个依赖
targetProject.dependencies.add("implementation",targetProject.dependencies.create(project(":" + child.key)))
targetProject.dependencies.add("implementationDependenciesMetadata",targetProject.dependencies.create(project(":" + child.key)))
//打印 module 添加的依赖
targetProject.configurations.each {configuration ->
print '\n---------------------------------------\n'
configuration.allDependencies.each { dependency ->
print configuration.name + "--->" +dependency.group + ":" + dependency.name + ":" + dependency.version +'\n'
}
}
print '*********************\n'
}
}
}
}
}
\ No newline at end of file
......@@ -16,12 +16,14 @@ buildscript {
}
repositories {
google()
maven{
url 'http://nexus.yidianling.com/repository/AndroidReleases/'
}
jcenter()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
maven {
url 'https://dl.bintray.com/zouyuhan/maven'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
......@@ -36,6 +38,7 @@ buildscript {
classpath 'com.tencent.bugly:symtabfileuploader:2.2.1'
//微信资源混淆
classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.16'
classpath 'com.ydl.plugins:modular:1.0.0'
}
}
......@@ -85,3 +88,27 @@ subprojects {
}
}
}
apply plugin: 'modular-plugin'
modular {
compileSdkVersion 27
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
repositories {
maven{
url 'http://nexus.yidianling.com/repository/AndroidReleases/'
credentials {
username "admin"
password "fjoi#1+#@"
}
}
}
}
//导出函数
ext {
includeWithApi = this.&includeWithApi
}
def includeWithApi(String moduleName) {
print " --- includeWithApi :$moduleName --- \n"
//先正常加载这个模块
include(moduleName)
//找到这个模块的路径
String originDir = project(moduleName).projectDir
//这个是新的路径
String targetDir = "${originDir}-api"
//原模块的名字
String originName=project(moduleName).name;
//新模块的名字
def sdkName = "${originName}-api"
//这个是公共模块的位置,预先放了一个 新建的api.gradle 文件进去
String apiGradle = project(":ydl-platform").projectDir
// 每次编译删除之前的文件
deleteDir(targetDir)
//复制.api文件到新的路径
copy() {
from originDir
into targetDir
exclude '**/build/'
exclude '**/res/'
include '**/*.api'
include '**/*.kapi'
}
//直接复制公共模块的AndroidManifest文件到新的路径,作为该模块的文件
copy() {
from "${apiGradle}/template/AndroidManifest.xml"
into "${targetDir}/src/main/"
}
//复制 gradle文件到新的路径,作为该模块的gradle
copy() {
from "${apiGradle}/template/template.gradle"
into "${targetDir}/"
}
//删除空文件夹
deleteEmptyDir(new File(targetDir))
//为AndroidManifest新建路径,路径就是在原来的包下面新建一个api包,作为AndroidManifest里面的包名
String packagePath = "${targetDir}/src/main/java/com/ydl/${originName.replaceAll("m-","")}/api";
//修改AndroidManifest文件包路径
fileReader("${targetDir}/src/main/AndroidManifest.xml", "template","${originName.replaceAll("m-","")}.api");
new File(packagePath).mkdirs()
//重命名一下gradle
def build = new File(targetDir + "/template.gradle")
if (build.exists()) {
build.renameTo(new File(targetDir + "/build.gradle"))
}
// 重命名.api文件,生成正常的.java文件
renameApiFiles(targetDir, '.api', '.java')
renameApiFiles(targetDir, '.kapi', '.kt')
//正常加载新的模块
include ":$sdkName"
}
private void deleteEmptyDir(File dir) {
if (dir.isDirectory()) {
File[] fs = dir.listFiles();
if (fs != null && fs.length > 0) {
for (int i = 0; i < fs.length; i++) {
File tmpFile = fs[i];
if (tmpFile.isDirectory()) {
deleteEmptyDir(tmpFile);
}
if (tmpFile.isDirectory() && tmpFile.listFiles().length <= 0) {
tmpFile.delete();
}
}
}
if (dir.isDirectory() && dir.listFiles().length == 0) {
dir.delete();
}
}
}
private void deleteDir(String targetDir) {
FileTree targetFiles = fileTree(targetDir)
targetFiles.exclude "*.iml"
targetFiles.each { File file ->
file.delete()
}
}
/**
* rename api files(java, kotlin...)
*/
private def renameApiFiles(root_dir, String suffix, String replace) {
FileTree files = fileTree(root_dir).include("**/*$suffix")
files.each {
File file ->
file.renameTo(new File(file.absolutePath.replace(suffix, replace)))
}
}
//替换AndroidManifest里面的字段
def fileReader(path, name,sdkName) {
def readerString = "";
def hasReplace = false
file(path).withReader('UTF-8') { reader ->
reader.eachLine {
if (it.find(name)) {
it = it.replace(name, sdkName)
hasReplace = true
}
readerString <<= it
readerString << '\n'
}
if (hasReplace) {
file(path).withWriter('UTF-8') {
within ->
within.append(readerString)
}
}
return readerString
}
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 14
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
api 'com.alibaba:arouter-api:1.4.1'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ydl.other.api" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>
if (isApplicaiton.toBoolean()) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
apply from: "../pins.gradle"
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
if (isApplicaiton.toBoolean()) {
applicationId "com.ydl.other"
}
minSdkVersion 14
targetSdkVersion 28
versionCode 1
......@@ -62,11 +53,5 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
if (isApplicaiton.toBoolean()) {
implementation project(':m-user')
}
implementation project(":m-user-api")
implementation project(":ydl-platform")
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 14
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
api 'com.alibaba:arouter-api:1.4.1'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ydl.user.api" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>
package com.ydl.user;
/**
* Created by haorui on 2019-09-01 .
* Des:
*/
public class UserInfo {
String name;
public UserInfo(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.ydl.user;
import com.alibaba.android.arouter.facade.template.IProvider;
/**
* Created by haorui on 2019-09-01 .
* Des:
*/
public interface UserService extends IProvider {
UserInfo getUser();
}
package com.yidianling.user.route;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.yidianling.user.bean.UserResponse;
import com.yidianling.user.bean.UserSetting;
/**
* Created by haorui on 2019-09-23.
* Des:
*/
public interface IUserService extends IProvider {
boolean isLogin();
boolean isFirstLogin();
void setFirstLogin(boolean var1);
boolean isSafePrivacyClicked();
void putSafePrivacyClicked(boolean var1);
void setUserResponse( UserResponse var1);
UserResponse.UserInfo getUserInfo();
UserResponse getUserResponse();
UserSetting getUserSetting();
boolean isBindPhone();
void putUnlockCheckSuccessTime(long var1);
boolean getChatTeamHisShow();
void setChatTeamHisShowed(boolean var1);
Intent privacyIntent( Activity var1);
Intent loginWayIntent( Context var1);
Intent inputPhoneIntent( Activity var1, String var2);
boolean safeTipViewGone();
void setTrendsSafeTip(boolean var1);
long errorAgainTime();
boolean isFirstStart();
void updateUserInfoSp( UserResponse.UserInfo var1);
void updateUserSetingSp( UserSetting var1);
void clearUserInfo();
}
if (isApplicaiton.toBoolean()) {
apply plugin: 'com.android.application'
} else {
apply plugin: 'com.android.library'
}
apply from: "../pins.gradle"
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
if (isApplicaiton.toBoolean()) {
applicationId "com.ydl.other"
}
minSdkVersion 14
targetSdkVersion 28
versionCode 1
......@@ -61,7 +53,6 @@ dependencies {
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
implementation project(":m-user-api")
implementation project(":ydl-platform")
compile "org.jetbrains.kotlin:kotlin-script-runtime:1.3.41"
}
modular {
packageName "com.ydl.user"
// 模块发布需要的参数
publish {
modules {
xlzx {
//发布信息 module/api 通用
groupId = "com.ydl"
artifactId = "m-user-module-xlzx"
// 上报的业务模块 aar 包的版本号
version = "0.0.3"
}
ydl{
//发布信息 module/api 通用
groupId = "com.ydl"
artifactId = "m-user-module-ydl"
// 上报的业务模块 aar 包的版本号
version = "0.0.3"
}
}
api {
//发布信息 module/api 通用
groupId = "com.ydl"
artifactId = "m-user-api"
// version = "0.0.3"
// API 层打包时需要引入的依赖
apiDependencies {
implementation "com.google.code.gson:gson:2.8.2"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.alibaba:arouter-api:1.4.1'
}
}
}
}
\ No newline at end of file
package com.yidianling.user;
package com.ydl.user;
import android.app.Activity;
import android.widget.ImageView;
......
package com.yidianling.user
package com.ydl.user
import com.yidianling.user.http.request.LoginParam
import com.ydl.user.http.request.LoginParam
import com.yidianling.router.user.UserResponse
import com.yidianling.ydlcommon.http.BaseResponse
import com.yidianling.ydlcommon.mvp.MVPModel
......
package com.yidianling.user;
package com.ydl.user;
import android.util.Log;
import com.yidianling.router.user.UserResponse;
import com.yidianling.user.http.UserHttp;
import com.yidianling.user.http.UserHttpImpl;
import com.yidianling.user.http.request.ChannelIdParam;
import com.ydl.user.http.UserHttp;
import com.ydl.user.http.UserHttpImpl;
import com.ydl.user.http.request.ChannelIdParam;
import com.yidianling.ydlcommon.YdlBuryPointUtil;
import com.yidianling.ydlcommon.event.LoginStateEvent;
import com.yidianling.ydlcommon.http.RxUtils;
......
package com.yidianling.user
package com.ydl.user
import com.yidianling.user.http.request.LoginParam
import com.ydl.user.http.request.LoginParam
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.UserHttp
import com.yidianling.user.http.UserHttpImpl
import com.ydl.user.http.UserHttp
import com.ydl.user.http.UserHttpImpl
import com.yidianling.ydlcommon.http.BaseResponse
import io.reactivex.Observable
......
package com.yidianling.user
package com.ydl.user
import com.yidianling.user.http.request.LoginParam
import com.yidianling.user.route.UserIn
import com.ydl.user.http.request.LoginParam
import com.ydl.user.route.UserIn
import com.yidianling.ydlcommon.UserInfoCache
import com.yidianling.ydlcommon.http.RxUtils
import com.yidianling.ydlcommon.http.ThrowableConsumer
......
package com.yidianling.user
package com.ydl.user
import com.yidianling.common.tools.LogUtil
import com.tencent.bugly.crashreport.CrashReport
import com.yidianling.router.im.IMLoginInfo
import com.yidianling.router.im.IMRequestCallback
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.UserHttpImpl
import com.yidianling.user.http.request.ChannelIdParam
import com.yidianling.user.http.request.Logout
import com.yidianling.user.route.UserIn
import com.ydl.user.http.UserHttpImpl
import com.ydl.user.http.request.ChannelIdParam
import com.ydl.user.http.request.Logout
import com.ydl.user.route.UserIn
import com.yidianling.ydlcommon.event.LoginStateEvent
import com.yidianling.ydlcommon.http.RxUtils
import com.yidianling.ydlcommon.http.ThrowableConsumer
......
package com.yidianling.user
package com.ydl.user
import android.text.TextUtils
import com.google.gson.Gson
import com.yidianling.user.bean.UserResponse
import com.yidianling.user.bean.`UserSetting.api`
import com.ydl.user.bean.UserResponse
import com.ydl.user.bean.`UserSetting.api`
import com.yidianling.ydlcommon.utils.SharedPreferencesEditor
import com.yidianling.ydlcommon.utils.UserInfoCache
......
package com.ydl.user;
/**
* Created by haorui on 2019-09-01 .
* Des:
*/
public class UserInfo {
String name;
public UserInfo(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.ydl.user;
import com.alibaba.android.arouter.facade.template.IProvider;
/**
* Created by haorui on 2019-09-01 .
* Des:
*/
public interface UserService extends IProvider {
UserInfo getUser();
}
package com.ydl.user;
import android.content.Context;
import com.alibaba.android.arouter.facade.annotation.Route;
/**
* Created by haorui on 2019-09-01 .
* Des:
*/
@Route(path = "/user/UserService")
public class UserServiceImpl implements UserService {
public UserServiceImpl() {
}
@Override
public UserInfo getUser() {
return new UserInfo("from user");
}
@Override
public void init(Context context) {
}
}
package com.yidianling.user.http
package com.ydl.user.http
import com.google.gson.Gson
import com.ydl.ydlnet.YDLHttpUtils
import com.yidianling.user.bean.UserResponse
import com.yidianling.user.http.request.*
import com.yidianling.user.http.response.ChcekPhoneResponeBean
import com.yidianling.user.http.response.PhoneAuthResponseBean
import com.ydl.user.bean.UserResponse
import com.ydl.user.http.request.*
import com.ydl.user.http.response.ChcekPhoneResponeBean
import com.ydl.user.http.response.PhoneAuthResponseBean
import com.yidianling.ydlcommon.data.http.BaseResponse
import io.reactivex.Observable
import okhttp3.MediaType
......
package com.yidianling.user.http
package com.ydl.user.http
import com.google.gson.internal.LinkedTreeMap
import com.yidianling.user.http.response.*
import com.ydl.user.http.response.*
import com.yidianling.ydlcommon.constant.YDLConstants
import com.yidianling.ydlcommon.constant.YDLConstants.Companion.HOLDER_PARAM
import com.yidianling.ydlcommon.data.http.BaseAPIResponse
import com.yidianling.ydlcommon.data.http.BaseResponse
import com.yidianling.ydlcommon.router.YdlCommonOut
import io.reactivex.Observable
import okhttp3.RequestBody
import retrofit2.http.*
......
package com.yidianling.user.http
package com.ydl.user.http
import android.app.Activity
import com.google.gson.internal.LinkedTreeMap
import com.umeng.socialize.bean.SHARE_MEDIA
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.request.*
import com.yidianling.user.http.response.CheckPassword
import com.yidianling.user.http.response.CountryResponse
import com.yidianling.user.http.response.ExistResponse
import com.ydl.user.http.request.*
import com.ydl.user.http.response.CheckPassword
import com.ydl.user.http.response.CountryResponse
import com.ydl.user.http.response.ExistResponse
import com.yidianling.ydlcommon.http.BaseAPIResponse
import com.yidianling.ydlcommon.http.BaseResponse
import com.yidianling.ydlcommon.http.api.Command
......
package com.yidianling.user.http
package com.ydl.user.http
import android.app.Activity
import com.google.gson.Gson
......@@ -7,12 +7,12 @@ import com.umeng.socialize.bean.SHARE_MEDIA
import com.yidianling.common.tools.RxAppTool
import com.yidianling.common.tools.RxDeviceTool
import com.yidianling.router.user.UserResponse
import com.yidianling.user.UserHelper
import com.yidianling.user.http.request.*
import com.yidianling.user.http.response.CheckPassword
import com.yidianling.user.http.response.CountryResponse
import com.yidianling.user.http.response.ExistResponse
import com.yidianling.user.rxlogin.LoginObservable
import com.ydl.user.UserHelper
import com.ydl.user.http.request.*
import com.ydl.user.http.response.CheckPassword
import com.ydl.user.http.response.CountryResponse
import com.ydl.user.http.response.ExistResponse
import com.ydl.user.rxlogin.LoginObservable
import com.yidianling.ydlcommon.app.YdlCommonApp
import com.yidianling.ydlcommon.http.*
import com.yidianling.ydlcommon.http.api.Command
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
import com.yidianling.ydlcommon.data.http.EncryptUtils
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
public class BindPhoneRequest {
String accessCode;
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
public class BindQQ {
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
public class BindWX {
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
//更换手机时最后校验验证码和手机
public class ChangePhone {
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
/**
* author : Zhangwenchao
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
public class CheckPhone {
String ffrom;
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
import com.yidianling.ydlcommon.data.http.EncryptUtils;
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
/**
* author : Zhangwenchao
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
/**
* author : Zhangwenchao
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
import com.yidianling.ydlcommon.data.http.EncryptUtils
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
import java.io.File
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
import com.yidianling.ydlcommon.data.http.BaseCommand;
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
/**
* author : Zhangwenchao
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
public class Logout {
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
import com.yidianling.ydlcommon.data.PlatformDataManager;
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
public class PhoneLoginPwdRequest {
String channelId;
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
public class PhoneLoginSmsRequest {
String channelId;
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
import com.yidianling.ydlcommon.data.http.BaseCommand
import com.yidianling.ydlcommon.data.http.EncryptUtils
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
public class ResetPwdRequest {
String channelId;
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
import com.yidianling.ydlcommon.data.http.BaseCommand
import com.yidianling.ydlcommon.utils.JPushUtils
......
package com.yidianling.user.http.request;
package com.ydl.user.http.request;
import com.yidianling.ydlcommon.utils.JPushUtils;
......
package com.yidianling.user.http.request
package com.ydl.user.http.request
/**
* author : Zhangwenchao
......
package com.yidianling.user.http.response;
package com.ydl.user.http.response;
import com.yidianling.user.http.request.*;
import com.ydl.user.http.request.*;
import com.yidianling.ydlcommon.data.http.BaseResponse;
import retrofit2.Call;
import retrofit2.http.*;
......
package com.yidianling.user.http.response
package com.ydl.user.http.response
/**
* //验证账号密码
......
package com.ydl.user.http.response;
\ No newline at end of file
package com.yidianling.user.http.response
package com.ydl.user.http.response
/**
* author : Zhangwenchao
......
package com.yidianling.user.http.response
package com.ydl.user.http.response
/**
* author : Zhangwenchao
......
package com.yidianling.user.http.response
package com.ydl.user.http.response
import com.mobile.auth.gatewayauth.model.VendorConfig
......
package com.yidianling.user.route
package com.ydl.user.route
import android.app.Activity
import android.content.Context
import android.content.Intent
import com.ydl.user.UserService
import com.ydl.user.api.service.IUserService
import com.yidianling.router.RouterManager
import com.yidianling.router.im.IMLoginInfo
import com.yidianling.router.im.IMRequestCallback
......
package com.yidianling.user.route
package com.ydl.user.route
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.text.TextUtils
import com.ydl.user.UserHelper
import com.ydl.user.api.bean.UserResponse
import com.ydl.user.api.bean.UserSetting
import com.ydl.user.api.service.IUserService
import com.ydl.user.safePrivate.FingerPrintUtil
import com.ydl.user.safePrivate.PrivacyActivity
import com.ydl.user.ui.InputPhoneActivity
import com.ydl.user.ui.login.RegisterAndLoginActivity
import com.yidianling.common.tools.RxAppTool
import com.yidianling.user.UserHelper
import com.yidianling.user.bean.UserResponse
import com.yidianling.user.bean.`UserSetting.api`
import com.yidianling.user.safePrivate.FingerPrintUtil
import com.yidianling.user.safePrivate.PrivacyActivity
import com.yidianling.user.ui.InputPhoneActivity
import com.yidianling.user.ui.login.RegisterAndLoginActivity
import com.yidianling.ydlcommon.base.BaseApplication
/**
......@@ -19,8 +20,14 @@ import com.yidianling.ydlcommon.base.BaseApplication
* e-mail : zhangwch@yidianling.com
* time : 2018/04/13
*/
class UserRouterImp : IUserRouter {
override fun getUserSetting(): `UserSetting.api`? {
class UserServiceImp : IUserService {
override fun init(context: Context?) {
}
override fun getUserSetting(): UserSetting? {
return UserHelper.getUsetSetting()
}
......@@ -28,7 +35,7 @@ class UserRouterImp : IUserRouter {
UserHelper.updateUserinfo(userInfo)
}
override fun updateUserSetingSp(userSetting: `UserSetting.api`?) {
override fun updateUserSetingSp(userSetting: UserSetting?) {
UserHelper.updateUserSetting(userSetting)
}
......
package com.yidianling.user.rxlogin
package com.ydl.user.rxlogin
import android.app.Activity
import android.os.Looper
import com.umeng.socialize.UMAuthListener
import com.umeng.socialize.UMShareAPI
import com.umeng.socialize.bean.SHARE_MEDIA
import com.yidianling.user.http.request.ThirdLoginParam
import com.ydl.user.http.request.ThirdLoginParam
import com.yidianling.ydlcommon.http.CustomThrowable
import io.reactivex.Observable
import io.reactivex.Observer
......
package com.yidianling.user.safePrivate
package com.ydl.user.safePrivate
import android.app.Activity
......@@ -9,10 +9,10 @@ import android.widget.EditText
import android.widget.TextView
import com.yidianling.ydlcommon.tool.StringUtils
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.yidianling.user.http.UserHttpImpl
import com.yidianling.user.route.UserIn
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.ydl.user.http.UserHttpImpl
import com.ydl.user.route.UserIn
import com.yidianling.ydlcommon.base.BaseActivity
import com.yidianling.ydlcommon.http.YdlRetrofitUtils
import com.yidianling.ydlcommon.http.api.Command
......
package com.yidianling.user.safePrivate
package com.ydl.user.safePrivate
import android.text.TextUtils
import android.view.View
import android.widget.TextView
import com.ydl.ydl_image.module.GlideApp
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.yidianling.user.route.UserIn
import com.yidianling.user.ui.login.RegisterAndLoginActivity
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.ydl.user.route.UserIn
import com.ydl.user.ui.login.RegisterAndLoginActivity
import com.yidianling.ydlcommon.base.BaseActivity
import com.yidianling.ydlcommon.dialog.CommonDialog
import com.yidianling.ydlcommon.event.FinishActivityEvent
......
package com.yidianling.user.safePrivate
package com.ydl.user.safePrivate
import android.app.KeyguardManager
import android.content.Context
......@@ -6,7 +6,7 @@ import android.os.Build
import android.support.v4.hardware.fingerprint.FingerprintManagerCompat
import android.support.v4.os.CancellationSignal
import com.yidianling.common.tools.LogUtil
import com.yidianling.user.UserHelper
import com.ydl.user.UserHelper
import com.yidianling.ydlcommon.app.YdlCommonApp
......
package com.yidianling.user.safePrivate
package com.ydl.user.safePrivate
import android.text.TextUtils
import android.widget.TextView
import com.ydl.ydl_image.module.GlideApp
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.LoginUtils
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.yidianling.user.route.UserIn
import com.yidianling.user.ui.login.RegisterAndLoginActivity
import com.ydl.user.LoginUtils
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.ydl.user.route.UserIn
import com.ydl.user.ui.login.RegisterAndLoginActivity
import com.yidianling.ydlcommon.ActivityManager
import com.yidianling.ydlcommon.base.BaseActivity
import com.yidianling.ydlcommon.dialog.CommonDialog
......
package com.yidianling.user.safePrivate
package com.ydl.user.safePrivate
import android.content.Intent
import android.view.View
import android.widget.LinearLayout
import android.widget.RelativeLayout
import android.widget.TextView
import com.yidianling.user.R
import com.yidianling.user.UserConstants
import com.yidianling.user.UserHelper
import com.yidianling.user.ui.InputPhoneActivity
import com.ydl.user.R
import com.ydl.user.UserConstants
import com.ydl.user.UserHelper
import com.ydl.user.ui.InputPhoneActivity
import com.yidianling.ydlcommon.base.BaseActivity
import com.yidianling.ydlcommon.dialog.CommonDialog
import com.yidianling.ydlcommon.event.BuryPointEventManager
......
package com.yidianling.user.safePrivate
package com.ydl.user.safePrivate
import android.view.View
import android.widget.TextView
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.yidianling.user.ui.login.RegisterAndLoginActivity
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.ydl.user.ui.login.RegisterAndLoginActivity
import com.yidianling.ydlcommon.base.BaseActivity
import com.yidianling.ydlcommon.dialog.CommonDialog
import com.yidianling.ydlcommon.event.BuryPointEventManager
......
package com.yidianling.user.safePrivate
package com.ydl.user.safePrivate
import android.support.v4.content.ContextCompat
import android.view.View
import android.widget.TextView
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.yidianling.ydlcommon.ActivityManager
import com.yidianling.ydlcommon.base.BaseActivity
import com.yidianling.ydlcommon.dialog.CommonDialog
......
package com.yidianling.user.ui;
package com.ydl.user.ui;
import android.Manifest;
import android.app.Activity;
......@@ -26,7 +26,7 @@ import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper;
import com.mobile.auth.gatewayauth.PreLoginResultListener;
import com.mobile.auth.gatewayauth.TokenResultListener;
import com.mobile.auth.gatewayauth.model.InitResult;
import com.yidianling.user.R;
import com.ydl.user.R;
@Route(path = "/user/aliAuthDemo")
public class AliAuthDemoActivity extends Activity {
......
package com.yidianling.user.ui;
package com.ydl.user.ui;
import android.content.Context;
import android.content.Intent;
......@@ -12,10 +12,10 @@ import android.widget.ListView;
import android.widget.TextView;
import com.jaeger.library.StatusBarUtil;
import com.yidianling.user.R;
import com.yidianling.user.http.UserHttp;
import com.yidianling.user.http.UserHttpImpl;
import com.yidianling.user.http.response.CountryResponse.Country;
import com.ydl.user.R;
import com.ydl.user.http.UserHttp;
import com.ydl.user.http.UserHttpImpl;
import com.ydl.user.http.response.CountryResponse.Country;
import com.yidianling.ydlcommon.base.BaseActivity;
import com.yidianling.ydlcommon.http.RxUtils;
import com.yidianling.ydlcommon.http.ThrowableConsumer;
......
package com.yidianling.user.ui;
package com.ydl.user.ui;
import android.Manifest;
import android.app.Dialog;
......@@ -25,16 +25,16 @@ import com.ydl.ydl_image.module.GlideApp;
import com.yidianling.common.tools.RxFileTool;
import com.yidianling.common.tools.RxImageTool;
import com.yidianling.router.user.UserResponse;
import com.yidianling.user.GlideImageLoader;
import com.yidianling.user.LoginHelper;
import com.yidianling.user.R;
import com.yidianling.user.UserConstants;
import com.yidianling.user.UserHelper;
import com.yidianling.user.http.UserHttp;
import com.yidianling.user.http.UserHttpImpl;
import com.yidianling.user.http.request.HeadParam;
import com.yidianling.user.http.request.UserInfoParam;
import com.yidianling.user.route.UserIn;
import com.ydl.user.GlideImageLoader;
import com.ydl.user.LoginHelper;
import com.ydl.user.R;
import com.ydl.user.UserConstants;
import com.ydl.user.UserHelper;
import com.ydl.user.http.UserHttp;
import com.ydl.user.http.UserHttpImpl;
import com.ydl.user.http.request.HeadParam;
import com.ydl.user.http.request.UserInfoParam;
import com.ydl.user.route.UserIn;
import com.yidianling.ydlcommon.ActivityManager;
import com.yidianling.ydlcommon.base.BaseActivity;
import com.yidianling.ydlcommon.dialog.CommonDialog;
......
package com.yidianling.user.ui;
package com.ydl.user.ui;
import android.content.Context;
import android.text.TextUtils;
......@@ -11,14 +11,14 @@ import com.yidianling.router.RouterManager;
import com.yidianling.router.im.IMLoginInfo;
import com.yidianling.router.im.IMRequestCallback;
import com.yidianling.router.user.UserResponse;
import com.yidianling.user.LoginHelper;
import com.yidianling.user.R;
import com.yidianling.user.UserConstants;
import com.yidianling.user.UserHelper;
import com.yidianling.user.http.UserHttp;
import com.yidianling.user.http.UserHttpImpl;
import com.yidianling.user.http.request.*;
import com.yidianling.user.route.UserIn;
import com.ydl.user.LoginHelper;
import com.ydl.user.R;
import com.ydl.user.UserConstants;
import com.ydl.user.UserHelper;
import com.ydl.user.http.UserHttp;
import com.ydl.user.http.UserHttpImpl;
import com.ydl.user.http.request.*;
import com.ydl.user.route.UserIn;
import com.yidianling.ydlcommon.base.BaseActivity;
import com.yidianling.ydlcommon.data.http.RxUtils;
import com.yidianling.ydlcommon.event.UpdateBindStatusEvent;
......@@ -37,8 +37,8 @@ import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.TimeUnit;
import static com.yidianling.user.UserConstants.FORGET_ACTION;
import static com.yidianling.user.UserConstants.REGISTER_ACTION;
import static com.ydl.user.UserConstants.FORGET_ACTION;
import static com.ydl.user.UserConstants.REGISTER_ACTION;
/**
......
package com.yidianling.user.ui;
package com.ydl.user.ui;
import android.app.Activity;
import android.content.Context;
......@@ -11,14 +11,14 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.yidianling.common.tools.ToastUtil;
import com.yidianling.user.R;
import com.yidianling.user.UserConstants;
import com.yidianling.user.http.UserHttp;
import com.yidianling.user.http.UserHttpImpl;
import com.yidianling.user.http.request.CodeParam;
import com.yidianling.user.http.request.ExistParam;
import com.yidianling.user.http.response.ExistResponse;
import com.yidianling.user.ui.login.RegisterAndLoginActivity;
import com.ydl.user.R;
import com.ydl.user.UserConstants;
import com.ydl.user.http.UserHttp;
import com.ydl.user.http.UserHttpImpl;
import com.ydl.user.http.request.CodeParam;
import com.ydl.user.http.request.ExistParam;
import com.ydl.user.http.response.ExistResponse;
import com.ydl.user.ui.login.RegisterAndLoginActivity;
import com.yidianling.ydlcommon.base.BaseActivity;
import com.yidianling.ydlcommon.dialog.CommonDialog;
import com.yidianling.ydlcommon.h5.H5Params;
......
package com.yidianling.user.ui;
package com.ydl.user.ui;
import android.content.Context;
import android.content.Intent;
......@@ -7,15 +7,15 @@ import android.text.TextUtils;
import android.view.View;
import com.yidianling.router.user.UserResponse;
import com.yidianling.user.LoginContract;
import com.yidianling.user.LoginPresenter;
import com.yidianling.user.R;
import com.yidianling.user.UserConstants;
import com.yidianling.user.http.request.LoginParam;
import com.yidianling.user.route.UserIn;
import com.yidianling.user.safePrivate.FingerPrintCheckActivity;
import com.yidianling.user.safePrivate.FingerPrintUtil;
import com.yidianling.user.safePrivate.HandUnlockCheckActivity;
import com.ydl.user.LoginContract;
import com.ydl.user.LoginPresenter;
import com.ydl.user.R;
import com.ydl.user.UserConstants;
import com.ydl.user.http.request.LoginParam;
import com.ydl.user.route.UserIn;
import com.ydl.user.safePrivate.FingerPrintCheckActivity;
import com.ydl.user.safePrivate.FingerPrintUtil;
import com.ydl.user.safePrivate.HandUnlockCheckActivity;
import com.yidianling.ydlcommon.ActivityManager;
import com.yidianling.ydlcommon.http.EncryptUtils;
import com.yidianling.ydlcommon.log.LogHelper;
......@@ -29,8 +29,6 @@ import com.yidianling.ydlcommon.view.TitleBar;
import org.jetbrains.annotations.NotNull;
import de.greenrobot.event.EventBus;
/**
* 手机登陆界面
......
package com.ydl.user.ui;
\ No newline at end of file
package com.yidianling.user.ui
package com.ydl.user.ui
import android.content.Context
import android.content.Intent
......@@ -8,18 +8,18 @@ import android.view.View
import com.yidianling.router.im.IMLoginInfo
import com.yidianling.router.im.IMRequestCallback
import com.yidianling.router.user.UserResponse
import com.yidianling.user.LoginUtils
import com.yidianling.user.R
import com.yidianling.user.UserConstants
import com.yidianling.user.UserHelper
import com.yidianling.user.http.UserHttp
import com.yidianling.user.http.UserHttpImpl
import com.yidianling.user.http.request.CodeParam
import com.yidianling.user.http.request.LoginParam
import com.yidianling.user.route.UserIn
import com.yidianling.user.safePrivate.FingerPrintCheckActivity
import com.yidianling.user.safePrivate.FingerPrintUtil
import com.yidianling.user.safePrivate.HandUnlockCheckActivity
import com.ydl.user.LoginUtils
import com.ydl.user.R
import com.ydl.user.UserConstants
import com.ydl.user.UserHelper
import com.ydl.user.http.UserHttp
import com.ydl.user.http.UserHttpImpl
import com.ydl.user.http.request.CodeParam
import com.ydl.user.http.request.LoginParam
import com.ydl.user.route.UserIn
import com.ydl.user.safePrivate.FingerPrintCheckActivity
import com.ydl.user.safePrivate.FingerPrintUtil
import com.ydl.user.safePrivate.HandUnlockCheckActivity
import com.yidianling.ydlcommon.ActivityManager
import com.yidianling.ydlcommon.UserInfoCache
import com.yidianling.ydlcommon.base.BaseActivity
......
package com.yidianling.user.ui.login;
package com.ydl.user.ui.login;
import android.app.Activity;
import android.content.Context;
......@@ -11,7 +11,7 @@ import android.webkit.WebViewClient;
import android.widget.ImageView;
import com.yidianling.common.tools.RxNetTool;
import com.yidianling.user.R;
import com.ydl.user.R;
import com.yidianling.ydlcommon.app.YdlCommonApp;
import com.yidianling.ydlcommon.tool.StatusBarUtils;
......
package com.yidianling.user.ui.login
package com.ydl.user.ui.login
import android.app.Activity
import android.content.Intent
import android.graphics.Color
import android.graphics.Typeface
import android.text.TextUtils
import android.text.method.HideReturnsTransformationMethod
import android.text.method.PasswordTransformationMethod
......@@ -11,11 +10,11 @@ import android.view.View
import android.view.animation.AnimationUtils
import com.yidianling.common.tools.RxKeyboardTool
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.yidianling.user.route.UserIn
import com.yidianling.user.ui.login.contract.IInputPassWordContract
import com.yidianling.user.ui.login.presenter.InputPassWordPresenterImpl
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.ydl.user.route.UserIn
import com.ydl.user.ui.login.contract.IInputPassWordContract
import com.ydl.user.ui.login.presenter.InputPassWordPresenterImpl
import com.yidianling.ydlcommon.ActivityManager
import com.yidianling.ydlcommon.dialog.CommonDialog
import com.yidianling.ydlcommon.http.YdlRetrofitUtils
......
package com.yidianling.user.ui.login
package com.ydl.user.ui.login
import android.Manifest
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.graphics.Typeface
import android.net.Uri
import android.os.Handler
import android.provider.Settings
......@@ -30,17 +29,17 @@ import com.yidianling.common.tools.LogUtil
import com.yidianling.common.tools.RxKeyboardTool
import com.yidianling.common.tools.ToastUtil
import com.yidianling.router.user.UserResponse
import com.yidianling.user.BuildConfig
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.yidianling.user.bean.AliAuthBean
import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.http.request.PhoneLoginAutoParam
import com.yidianling.user.http.response.ChcekPhoneResponeBean
import com.yidianling.user.route.UserIn
import com.yidianling.user.ui.CountryListActivity
import com.yidianling.user.ui.login.contract.ILoginContract
import com.yidianling.user.ui.login.presenter.LoginPresenterImpl
import com.ydl.user.BuildConfig
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.ydl.user.bean.AliAuthBean
import com.ydl.user.http.request.BindPhoneJavaParam
import com.ydl.user.http.request.PhoneLoginAutoParam
import com.ydl.user.http.response.ChcekPhoneResponeBean
import com.ydl.user.route.UserIn
import com.ydl.user.ui.CountryListActivity
import com.ydl.user.ui.login.contract.ILoginContract
import com.ydl.user.ui.login.presenter.LoginPresenterImpl
import com.yidianling.ydlcommon.ActivityManager
import com.yidianling.ydlcommon.dialog.CommonDialog
import com.yidianling.ydlcommon.mvp.MVPActivity
......
package com.yidianling.user.ui.login
package com.ydl.user.ui.login
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Intent
import android.graphics.Typeface
import android.os.Handler
import android.support.v4.content.ContextCompat
import android.text.TextUtils
import android.view.View
import com.yidianling.common.tools.RxKeyboardTool
import com.yidianling.common.tools.ToastUtil
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.route.UserIn
import com.yidianling.user.ui.login.contract.IVerificationCodeContract
import com.yidianling.user.ui.login.presenter.VerificationCodePresenterImpl
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.ydl.user.http.request.BindPhoneJavaParam
import com.ydl.user.route.UserIn
import com.ydl.user.ui.login.contract.IVerificationCodeContract
import com.ydl.user.ui.login.presenter.VerificationCodePresenterImpl
import com.yidianling.ydlcommon.ActivityManager
import com.yidianling.ydlcommon.http.YdlRetrofitUtils
import com.yidianling.ydlcommon.mvp.MVPActivity
......
package com.yidianling.user.ui.login.contract
package com.ydl.user.ui.login.contract
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.request.PhoneLoginPwdParam
import com.yidianling.user.http.request.PhoneResetPwdParam
import com.ydl.user.http.request.PhoneLoginPwdParam
import com.ydl.user.http.request.PhoneResetPwdParam
import com.yidianling.ydlcommon.http.BaseResponse
import com.yidianling.ydlcommon.mvp.MVPModel
import com.yidianling.ydlcommon.mvp.MVPPresenter
......
package com.yidianling.user.ui.login.contract
package com.ydl.user.ui.login.contract
import android.app.Activity
import com.mobile.auth.gatewayauth.model.VendorConfig
import com.umeng.socialize.bean.SHARE_MEDIA
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.http.request.CheckAliAuthParam
import com.yidianling.user.http.request.PhoneLoginAutoParam
import com.yidianling.user.http.request.ThirdLoginParam
import com.yidianling.user.http.response.ChcekPhoneResponeBean
import com.yidianling.user.http.response.PhoneAuthResponseBean
import com.ydl.user.http.request.BindPhoneJavaParam
import com.ydl.user.http.request.CheckAliAuthParam
import com.ydl.user.http.request.PhoneLoginAutoParam
import com.ydl.user.http.request.ThirdLoginParam
import com.ydl.user.http.response.ChcekPhoneResponeBean
import com.ydl.user.http.response.PhoneAuthResponseBean
import com.yidianling.ydlcommon.http.BaseResponse
import com.yidianling.ydlcommon.mvp.MVPModel
import com.yidianling.ydlcommon.mvp.MVPPresenter
......
package com.yidianling.user.ui.login.contract
package com.ydl.user.ui.login.contract
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.http.request.PhoneLoginCodeParam
import com.ydl.user.http.request.BindPhoneJavaParam
import com.ydl.user.http.request.PhoneLoginCodeParam
import com.yidianling.ydlcommon.http.BaseResponse
import com.yidianling.ydlcommon.mvp.MVPModel
import com.yidianling.ydlcommon.mvp.MVPPresenter
......
package com.yidianling.user.ui.login.model
package com.ydl.user.ui.login.model
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.LoginApiRequestUtil
import com.yidianling.user.http.request.PhoneLoginPwdParam
import com.yidianling.user.http.request.PhoneResetPwdParam
import com.yidianling.user.ui.login.contract.IInputPassWordContract
import com.ydl.user.http.LoginApiRequestUtil
import com.ydl.user.http.request.PhoneLoginPwdParam
import com.ydl.user.http.request.PhoneResetPwdParam
import com.ydl.user.ui.login.contract.IInputPassWordContract
import com.yidianling.ydlcommon.http.BaseResponse
import io.reactivex.Observable
......
package com.yidianling.user.ui.login.model
package com.ydl.user.ui.login.model
import android.app.Activity
import com.umeng.socialize.bean.SHARE_MEDIA
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.LoginApiRequestUtil
import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.http.request.CheckAliAuthParam
import com.yidianling.user.http.request.PhoneLoginAutoParam
import com.yidianling.user.http.request.ThirdLoginParam
import com.yidianling.user.http.response.ChcekPhoneResponeBean
import com.yidianling.user.http.response.PhoneAuthResponseBean
import com.yidianling.user.rxlogin.LoginObservable
import com.yidianling.user.ui.login.contract.ILoginContract
import com.ydl.user.http.LoginApiRequestUtil
import com.ydl.user.http.request.BindPhoneJavaParam
import com.ydl.user.http.request.CheckAliAuthParam
import com.ydl.user.http.request.PhoneLoginAutoParam
import com.ydl.user.http.request.ThirdLoginParam
import com.ydl.user.http.response.ChcekPhoneResponeBean
import com.ydl.user.http.response.PhoneAuthResponseBean
import com.ydl.user.rxlogin.LoginObservable
import com.ydl.user.ui.login.contract.ILoginContract
import com.yidianling.ydlcommon.http.BaseResponse
import io.reactivex.Observable
......
package com.yidianling.user.ui.login.model
package com.ydl.user.ui.login.model
import com.yidianling.router.user.UserResponse
import com.yidianling.user.http.LoginApiRequestUtil
import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.http.request.PhoneLoginCodeParam
import com.yidianling.user.ui.login.contract.IVerificationCodeContract
import com.ydl.user.http.LoginApiRequestUtil
import com.ydl.user.http.request.BindPhoneJavaParam
import com.ydl.user.http.request.PhoneLoginCodeParam
import com.ydl.user.ui.login.contract.IVerificationCodeContract
import com.yidianling.ydlcommon.http.BaseResponse
import io.reactivex.Observable
......
package com.yidianling.user.ui.login.presenter
package com.ydl.user.ui.login.presenter
import android.text.TextUtils
import com.yidianling.common.tools.ToastUtil
import com.yidianling.router.user.UserResponse
import com.yidianling.user.LoginUtils
import com.yidianling.user.UserHelper
import com.yidianling.user.http.request.PhoneLoginPwdParam
import com.yidianling.user.http.request.PhoneResetPwdParam
import com.yidianling.user.ui.login.contract.IInputPassWordContract
import com.yidianling.user.ui.login.model.InputPassWordModelImpl
import com.ydl.user.LoginUtils
import com.ydl.user.UserHelper
import com.ydl.user.http.request.PhoneLoginPwdParam
import com.ydl.user.http.request.PhoneResetPwdParam
import com.ydl.user.ui.login.contract.IInputPassWordContract
import com.ydl.user.ui.login.model.InputPassWordModelImpl
import com.yidianling.ydlcommon.http.YdlRetrofitUtils
import com.yidianling.ydlcommon.log.LogHelper
import com.yidianling.ydlcommon.mvp.RxPresenter
......
package com.yidianling.user.ui.login.presenter
package com.ydl.user.ui.login.presenter
import android.app.Activity
import android.text.TextUtils
import com.umeng.socialize.bean.SHARE_MEDIA
import com.yidianling.common.tools.ToastUtil
import com.yidianling.router.user.UserResponse
import com.yidianling.user.LoginUtils
import com.yidianling.user.UserHelper
import com.yidianling.user.http.UserHttpImpl
import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.http.request.CheckAliAuthParam
import com.yidianling.user.http.request.PhoneLoginAutoParam
import com.yidianling.user.ui.login.contract.ILoginContract
import com.yidianling.user.ui.login.model.LoginModelImpl
import com.ydl.user.LoginUtils
import com.ydl.user.UserHelper
import com.ydl.user.http.UserHttpImpl
import com.ydl.user.http.request.BindPhoneJavaParam
import com.ydl.user.http.request.CheckAliAuthParam
import com.ydl.user.http.request.PhoneLoginAutoParam
import com.ydl.user.ui.login.contract.ILoginContract
import com.ydl.user.ui.login.model.LoginModelImpl
import com.yidianling.ydlcommon.http.YdlRetrofitUtils
import com.yidianling.ydlcommon.log.LogHelper
import com.yidianling.ydlcommon.mvp.RxPresenter
......
package com.yidianling.user.ui.login.presenter
package com.ydl.user.ui.login.presenter
import android.text.TextUtils
import com.yidianling.common.tools.ToastUtil
import com.yidianling.router.user.UserResponse
import com.yidianling.user.LoginUtils
import com.yidianling.user.UserHelper
import com.yidianling.user.http.request.BindPhoneJavaParam
import com.yidianling.user.http.request.PhoneLoginCodeParam
import com.yidianling.user.ui.login.contract.IVerificationCodeContract
import com.yidianling.user.ui.login.model.VerificationCodeModelImpl
import com.ydl.user.LoginUtils
import com.ydl.user.UserHelper
import com.ydl.user.http.request.BindPhoneJavaParam
import com.ydl.user.http.request.PhoneLoginCodeParam
import com.ydl.user.ui.login.contract.IVerificationCodeContract
import com.ydl.user.ui.login.model.VerificationCodeModelImpl
import com.yidianling.ydlcommon.http.YdlRetrofitUtils
import com.yidianling.ydlcommon.log.LogHelper
import com.yidianling.ydlcommon.mvp.RxPresenter
......
package com.yidianling.user.ui.login.util
package com.ydl.user.ui.login.util
/**
* @author yuanWai
......
package com.yidianling.user.widget;
package com.ydl.user.widget;
import android.content.Context;
import android.graphics.Color;
......@@ -15,7 +15,7 @@ import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.yidianling.user.R;
import com.ydl.user.R;
import com.yidianling.ydlcommon.utils.UMEventUtils;
import java.util.ArrayList;
......
package com.yidianling.user.widget
package com.ydl.user.widget
import android.app.Activity
import android.app.Dialog
......@@ -14,12 +14,12 @@ import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.view.View
import com.yidianling.common.tools.LogUtil
import com.yidianling.user.LoginUtils
import com.yidianling.user.R
import com.yidianling.user.UserHelper
import com.yidianling.user.http.UserHttpImpl
import com.yidianling.user.ui.login.H5Activity
import com.yidianling.user.ui.login.RegisterAndLoginActivity
import com.ydl.user.LoginUtils
import com.ydl.user.R
import com.ydl.user.UserHelper
import com.ydl.user.http.UserHttpImpl
import com.ydl.user.ui.login.H5Activity
import com.ydl.user.ui.login.RegisterAndLoginActivity
import com.yidianling.ydlcommon.base.BaseActivity
import com.yidianling.ydlcommon.event.RefreshRecentContactListEvent
import com.yidianling.ydlcommon.router.RouteServiceManager
......
package com.yidianling.user.bean
import com.google.gson.annotations.SerializedName
import com.yidianling.user.route.UserRouterImp
/**
* author : hgw
* time : 2018/02/02
*/
class UserResponse {
var uid: String? = null
var accessToken: String? = null
var firstLogin: Int = 0 //1 2
var hxpwd: String? = null
var userInfo: UserInfo? = UserInfo()
inner class UserInfo {
var uid: String = "0"
@field:SerializedName("userName")
var user_name: String? = null
var accessToken: String? = null//
@field:SerializedName("bindPhone")
var bind_phone: Int? = 0 //1为绑定
var phone: String? = null
@field:SerializedName("realName")
var real_name: String? = null
@field:SerializedName("nickName")
var nick_name: String? = null
var head: String? = null
var gender: Int = 0//性别12
var birthday: String? = null
@field:SerializedName("availableMoney")
var available_money: String? = null
var address: String? = null
@field:SerializedName("unionId")
var union_id: String? = null//微信标识,
@field:SerializedName("openIdQqweb")
var open_id_qqapp: String? = null//qq标识
@field:SerializedName("bindWeixin")
var bind_weixin: Int = 0 //是否绑定微信1绑定0未绑定
set(value) {
if (value != bind_weixin) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
@field:SerializedName("bindQq")
var bind_qq: Int = 0
//是否绑定qq 1绑定0未绑定
set(value) {
if (value != bind_qq) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
@field:SerializedName("userType")
var user_type: Int = 0//1普通用户2心理专家
@field:SerializedName("listenCards")
var listen_cards: Int = 0//收听卡的次数
var profession: Int = 0
set(value) {
if (value != profession) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
var marriage: Int = 0
set(value) {
if (value != marriage) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
@field:SerializedName("countryCode")
var country_code: String? = null
@field:SerializedName("homeBg")
var home_bg: String? = null
//我的封面地址
set(value) {
if (!(value?.equals(home_bg) ?: false)) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
//是否同意过隐私权限 1同意过 0未同意
var privacyAgreementStatus: Int = 1
set(value) {
if (value != privacyAgreementStatus) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
var description: String? = null
//简介
set(value) {
if (!(value?.equals(description) ?: false)) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
@field:SerializedName("isSilenced")
var is_silenced: Int = 0 // 1 正常 2 禁言
set(value) {
if (value != is_silenced) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
var hasCoupon: Int = 0
var firstLogin: Int = 0 //12
set(value) {
if (value != firstLogin) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
var trendNum: Int = 0 //我的动态
set(value) {
if (value != trendNum) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
var fansNum: Int = 0
//我的粉丝
set(value) {
if (value != fansNum) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
var testRecordNum: Int = 0
//测试记录
set(value) {
if (value != testRecordNum) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
var attentionNum: Int = 0
//我的关注
set(value) {
if (value != attentionNum) {
field = value
UserRouterImp..updateUserInfoSp(this)
}
}
var registTime: String? = null
//你我相识已502
set(value) {
if (!(value?.equals(registTime) ?: false)) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
}
}
var privacyArr: PrivacyArr? = null
override fun toString(): String {
return "UserInfo(uid='$uid', user_name=$user_name, accessToken=$accessToken, bind_phone=$bind_phone, phone=$phone, real_name=$real_name, nick_name=$nick_name, head=$head, gender=$gender, birthday=$birthday, available_money=$available_money, address=$address, union_id=$union_id, open_id_qqapp=$open_id_qqapp, bind_weixin=$bind_weixin, bind_qq=$bind_qq, user_type=$user_type, listen_cards=$listen_cards, profession=$profession, marriage=$marriage, country_code=$country_code, home_bg=$home_bg, description=$description, is_silenced=$is_silenced, hasCoupon=$hasCoupon, firstLogin=$firstLogin, trendNum=$trendNum, fansNum=$fansNum, testRecordNum=$testRecordNum, attentionNum=$attentionNum, registTime=$registTime)"
}
}
inner class PrivacyArr {
var time: String? = null
var content: String? = null
}
override fun toString(): String {
return "UserResponse(uid=$uid, accessToken=$accessToken, firstLogin=$firstLogin, hxpwd=$hxpwd, userInfo=$userInfo)"
}
}
\ No newline at end of file
package com.yidianling.user.http.response;
\ No newline at end of file
package com.yidianling.user.route;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.yidianling.user.bean.UserResponse;
import com.yidianling.user.bean.UserSetting;
/**
* Created by haorui on 2019-09-23.
* Des:
*/
public interface IUserService extends IProvider {
boolean isLogin();
boolean isFirstLogin();
void setFirstLogin(boolean var1);
boolean isSafePrivacyClicked();
void putSafePrivacyClicked(boolean var1);
void setUserResponse( UserResponse var1);
UserResponse.UserInfo getUserInfo();
UserResponse getUserResponse();
UserSetting getUserSetting();
boolean isBindPhone();
void putUnlockCheckSuccessTime(long var1);
boolean getChatTeamHisShow();
void setChatTeamHisShowed(boolean var1);
Intent privacyIntent( Activity var1);
Intent loginWayIntent( Context var1);
Intent inputPhoneIntent( Activity var1, String var2);
boolean safeTipViewGone();
void setTrendsSafeTip(boolean var1);
long errorAgainTime();
boolean isFirstStart();
void updateUserInfoSp( UserResponse.UserInfo var1);
void updateUserSetingSp( UserSetting var1);
void clearUserInfo();
}
package com.yidianling.user.ui;
\ No newline at end of file
package com.yidianling.user.bean
package com.ydl.user.api.bean
import com.google.gson.annotations.SerializedName
import com.yidianling.user.route.UserRouterImp
/**
......@@ -46,7 +45,7 @@ class UserResponse {
set(value) {
if (value != bind_weixin) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserInfoSp
}
}
@field:SerializedName("bindQq")
......@@ -55,7 +54,7 @@ class UserResponse {
set(value) {
if (value != bind_qq) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
@field:SerializedName("userType")
......@@ -66,14 +65,14 @@ class UserResponse {
set(value) {
if (value != profession) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
var marriage: Int = 0
set(value) {
if (value != marriage) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
@field:SerializedName("countryCode")
......@@ -84,7 +83,7 @@ class UserResponse {
set(value) {
if (!(value?.equals(home_bg) ?: false)) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
//是否同意过隐私权限 1同意过 0未同意
......@@ -92,7 +91,7 @@ class UserResponse {
set(value) {
if (value != privacyAgreementStatus) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
......@@ -101,7 +100,7 @@ class UserResponse {
set(value) {
if (!(value?.equals(description) ?: false)) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
@field:SerializedName("isSilenced")
......@@ -109,7 +108,7 @@ class UserResponse {
set(value) {
if (value != is_silenced) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
var hasCoupon: Int = 0
......@@ -117,7 +116,7 @@ class UserResponse {
set(value) {
if (value != firstLogin) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
......@@ -125,7 +124,7 @@ class UserResponse {
set(value) {
if (value != trendNum) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
......@@ -134,7 +133,7 @@ class UserResponse {
set(value) {
if (value != fansNum) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
var testRecordNum: Int = 0
......@@ -142,7 +141,7 @@ class UserResponse {
set(value) {
if (value != testRecordNum) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
var attentionNum: Int = 0
......@@ -150,7 +149,7 @@ class UserResponse {
set(value) {
if (value != attentionNum) {
field = value
UserRouterImp..updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
var registTime: String? = null
......@@ -158,7 +157,7 @@ class UserResponse {
set(value) {
if (!(value?.equals(registTime) ?: false)) {
field = value
RouterManager.getUserRouter()?.updateUserInfoSp(this)
// TODO: 2019-10-07 by:HaoRui
}
}
......
package com.yidianling.user.bean
package com.ydl.user.api.bean
/**
......@@ -12,7 +12,7 @@ class UserSetting {
set(value) {
if (fingerPrintStatus!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
......@@ -21,7 +21,7 @@ class UserSetting {
set(value) {
if (unLockCheckSuccessTime!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
//指纹多次错误被禁止使用的时间戳
......@@ -29,7 +29,7 @@ class UserSetting {
set(value) {
if (fingerErrorTime!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
//手势密码
......@@ -37,7 +37,7 @@ class UserSetting {
set(value) {
if (!value.equals(gesturePassword)){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
//设置群聊历史记录
......@@ -45,7 +45,7 @@ class UserSetting {
set(value) {
if (chatTeamHisShowed!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
//获取动态页面是否提示过安全解锁
......@@ -53,7 +53,7 @@ class UserSetting {
set(value) {
if (trendsIsClick!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
//我的页面隐私安全是否点击过
......@@ -61,7 +61,7 @@ class UserSetting {
set(value) {
if (meSafePrivateIsClick!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
//最后一次登录的版本号
......@@ -69,7 +69,7 @@ class UserSetting {
set(value) {
if (lastVersionCode!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
/**
......@@ -79,7 +79,7 @@ class UserSetting {
set(value) {
if (hasVoice!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
/**
......@@ -89,7 +89,7 @@ class UserSetting {
set(value) {
if (hasShake!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
......@@ -97,7 +97,7 @@ class UserSetting {
set(value) {
if (time!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
/**
......@@ -107,7 +107,7 @@ class UserSetting {
set(value){
if (phoneStatusPermissionIsShow!=value){
field = value
RouterManager.getUserRouter()?.updateUserSetingSp(this)
// TODO: 2019-10-07 by:HaoRui -> updateUserSetingSp
}
}
}
\ No newline at end of file
package com.ydl.other;
package com.ydl.user.api.event;
/**
* Created by haorui on 2019-09-01 .
* Created by haorui on 2019-10-07.
* Des:
*/
public class Other {
String name;
int id;
public class UserEvent {
}
package com.yidianling.user.route
package com.ydl.user.api.service
import android.app.Activity
import android.content.Context
import android.content.Intent
import com.yidianling.user.bean.UserResponse
import com.yidianling.user.bean.`UserSetting.api`
import com.alibaba.android.arouter.facade.template.IProvider
import com.ydl.user.api.bean.UserResponse
import com.ydl.user.api.bean.UserSetting
/**
* author : Zhangwenchao
* e-mail : zhangwch@yidianling.com
* time : 2018/04/13
*/
interface IUserRouter {
interface IUserService : IProvider {
// 是否已登录
fun isLogin(): Boolean
......@@ -30,7 +31,7 @@ interface IUserRouter {
fun getUserResponse() : UserResponse?
fun getUserSetting(): `UserSetting.api`?
fun getUserSetting(): UserSetting?
fun isBindPhone(): Boolean
......@@ -57,7 +58,7 @@ interface IUserRouter {
fun updateUserInfoSp(userInfo: UserResponse.UserInfo?)
fun updateUserSetingSp(userSetting: `UserSetting.api`?)
fun updateUserSetingSp(userSetting: UserSetting?)
fun clearUserInfo()
......
......@@ -107,7 +107,7 @@
android:layout_height="match_parent"
android:orientation="horizontal">
<com.yidianling.user.widget.PhoneCode
<com.ydl.user.widget.PhoneCode
android:id="@+id/pc_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
......
/*
* pins 模块文件夹设置
*/
ext {
pins = [
"xlzx",
"ydl"
]
}
import com.android.manifmerger.ManifestMerger2
import com.android.manifmerger.MergingReport
import com.android.manifmerger.XmlDocument
import com.android.utils.ILogger
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath "com.android.tools.build:manifest-merger:26.1.1"
}
}
def logger = new ILogger() {
@Override
void error(Throwable t, String msgFormat, Object... args) {
}
@Override
void warning(String msgFormat, Object... args) {
}
@Override
void info(String msgFormat, Object... args) {
}
@Override
void verbose(String msgFormat, Object... args) {
}
}
/**
* 合并Manifes文件
*/
def mergeManifest = { ->
File mainManifestFile = new File("$projectDir/src/main/AndroidManifest.xml")
ManifestMerger2.MergeType mergeType = ManifestMerger2.MergeType.APPLICATION
XmlDocument.Type documentType = XmlDocument.Type.MAIN
ManifestMerger2.Invoker invoker = new ManifestMerger2.Invoker(mainManifestFile, logger, mergeType, documentType)
pins.each { pinName ->
File microManifestFile = new File("$projectDir/src/$pinName/AndroidManifest.xml")
if (microManifestFile.exists()) {
//合并 AndroidManifest.xml
invoker.addLibraryManifest(microManifestFile)
} else {
//没有 AndroidManifest.xml 不需要合并
}
}
def mergingReport = invoker.merge()
def moduleAndroidManifest = mergingReport.getMergedDocument(MergingReport.MergedManifestKind.MERGED)
new File("$buildDir").mkdirs()
def file = new File("$buildDir/AndroidManifest.xml")
file.createNewFile()
file.write(moduleAndroidManifest)
}
/**
* 创建pins文件夹
*/
task createPinsDirectory {
pins.each { pinName ->
if (file("$projectDir/src/${pinName}").exists()) {
//目录已经存在
} else {
//创建目录
String packageDir = rootProject.ext.android.applicationId.replace(".", "/")
// 创建java目录
new File("$projectDir/src/${pinName}/java/" + packageDir).mkdirs()
// 创建资源文件目录
new File("$projectDir/src/${pinName}/res").mkdirs()
}
}
}
task mergeManifestTask {
mergeManifest()
}
preBuild.doFirst {
mergeManifest()
}
preBuild.dependsOn(createPinsDirectory)
\ No newline at end of file
apply from: "includeWithApi.gradle"
include ':app', ':ydl-net', ':ydl-utils', ':ydl-platform'
includeWithApi ":m-user"
includeWithApi ":m-other"
include ':app', ':ydl-net', ':ydl-utils', ':ydl-platform',":m-user",":m-other"
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ydl.template" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 14
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
api 'com.alibaba:arouter-api:1.4.1'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'
}
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 to comment