diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..824f3ae --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +cultural \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 89d3811..fbab8ec 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -274,6 +274,7 @@ dependencies { implementation project(':moduleplace')//场馆 implementation project(':modulemine')//我的 implementation project(':modulemap')//地图 + implementation project(':moduleshop')//商城 } implementation 'androidx.multidex:multidex:2.0.1' implementation 'com.github.jarryleo:MagicScreenAdapter:v2.1' diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java index f0c9620..0315a0c 100755 --- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java +++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java @@ -60,7 +60,8 @@ public class PathConfig { public static final String DID_CITY_CODE = "640675";//日喀则市编码 //新闻类型 - public static final int NEWS_TYPE_MULTI_PIC = 2332;//key_1 三图; key_2 一图左;key_3 一图右;key_4 一图下;key_5 纯文字;key_6 视频;key_7 音频; + public static final int NEWS_TYPE_MULTI_PIC = 2332;//key_1 三图; key_2 一图左;key_3 一图右;key_4 一图下;key_5 纯文字;key_6 视频; + // key_7 音频; public static final int NEWS_TYPE_SINGLE_PIC_LEFT = 2333;//一图左 public static final int NEWS_TYPE_SINGLE_PIC_RIGHT = 2334;//一图右 public static final int NEWS_TYPE_SINGLE_PIC_BOTTOM = 2335;//一图下 @@ -78,9 +79,14 @@ public class PathConfig { // N员:bc405346-8714-4ded-89ac-9cc4d755f66a // 巡检:25affe67-134c-4a32-ba41-64b0cfedc782 public static final int PATROL_SECTOR_INDEX = 3;//巡更点NFC使用的扇区 - public static final String CATCH_PATH = Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME + File.separator + "cache" + File.separator; - public static final String VIDEO_PATH = Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME + File.separator + "videoCache" + File.separator; - public static final String PROJECT_CATCH_PATH = Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME;//项目缓存目录 + public static final String CATCH_PATH = + Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME + File.separator + + "cache" + File.separator; + public static final String VIDEO_PATH = + Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME + File.separator + + "videoCache" + File.separator; + public static final String PROJECT_CATCH_PATH = + Environment.getExternalStorageDirectory().getPath() + File.separator + PROJECT_NAME;//项目缓存目录 public static final String IDENTITY_FILE = VIDEO_PATH + "identity.txt"; /** * ====================================主模块=================================== @@ -111,7 +117,8 @@ public class PathConfig { public static final String PATH_MODULE_PLACE_ACTIVITY_PLACEDETAIL = "/moduleplace/activity/placedetail";//场馆详情 public static final String PATH_MODULE_PLACE_ACTIVITY_PLACELIST = "/moduleplace/activity/placelist";//场馆列表 public static final String PATH_MODULE_PLACE_FRAGMENT_MAIN = "/moduleplace/fragment/main";//场馆fragment - public static final String PATH_MODULE_PLACE_ACTIVITY_PLACE_SUBJECT_DETAIL = "/moduleplace/activity/subjectdetail";//场馆详情 + public static final String PATH_MODULE_PLACE_ACTIVITY_PLACE_SUBJECT_DETAIL = "/moduleplace/activity/subjectdetail" + ;//场馆详情 public static final String PATH_MODULE_PLACE_TICKET_DISTINE = "/moduleplace/activity/distineticket";//门票预定 public static final String PATH_MODULE_PLACE_DISTINE_BOOKING = "/moduleplace/activity/distinebooking";//场次预定 @@ -122,40 +129,63 @@ public class PathConfig { public static final String PATH_MODULE_CULTURAL_FRAGMENT_MAIN = "/modulecultural/fragment/main";//文化主页fragment public static final String PATH_MODULE_CULTURAL_ACTIVITY_LEGACY = "/modulecultural/activity/legacy";//非遗数据库 public static final String PATH_MODULE_CULTURAL_ACTIVITY_LEGACY_DETAIL = "/modulecultural/activity/legacy/detail"; - public static final String PATH_MODULE_CULTURAL_VOUNTEER_PUBLISH = "/modulecultural/activity/vounteerpublish";//发布自愿者活动 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_REGISTER_SINGLE = "/modulecultural/activity/vounteerregistersingle";//注册志愿者 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_REGISTER_TEAM = "/modulecultural/activity/vounteerregisterteam";//注册志愿者团队 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_PUBLISH = "/modulecultural/activity/vounteerpublish"; + //发布自愿者活动 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_REGISTER_SINGLE = "/modulecultural/activity" + + "/vounteerregistersingle";//注册志愿者 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_REGISTER_TEAM = "/modulecultural/activity" + + "/vounteerregisterteam";//注册志愿者团队 public static final String PATH_MODULE_CULTURAL_CHOOSE_MEMBER = "/modulecultural/activity/choosemember";//选择成员 public static final String PATH_MODULE_CULTURAL_VOUNTEER_MAIN = "/modulecultural/activity/vounteermain";//志愿者主页 public static final String PATH_MODULE_CULTURAL_VOUNTEER_MANAGE = "/modulecultural/activity/vounteermanage";//志愿团队 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_MANAGE_LIST = "/modulecultural/activity/vounteermanagelsit";//我创建的自愿者团队 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_TEAM = "/modulecultural/activity/vounteermember";//志愿者列表 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_MEMBER_DETAIL = "/modulecultural/activity/vounteermemberdetail";//志愿者详情 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_MANAGE_MEMBER = "/modulecultural/activity/vounteermemberedit";//审批团队成员 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_MANAGE_LIST = "/modulecultural/activity" + + "/vounteermanagelsit";//我创建的自愿者团队 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_TEAM = "/modulecultural/activity/vounteermember" + ;//志愿者列表 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_MEMBER_DETAIL = "/modulecultural/activity" + + "/vounteermemberdetail";//志愿者详情 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_MANAGE_MEMBER = "/modulecultural/activity" + + "/vounteermemberedit";//审批团队成员 public static final String PATH_MODULE_CULTURAL_VOUNTEER_DEAL = "/modulecultural/activity/registerdeal";//协议 public static final String PATH_MODULE_CULTURAL_LIVE_DETAIL = "/modulecultural/activity/livedetail";//点播直播详情 public static final String PATH_MODULE_CULTURAL_LIVE = "/modulecultural/activity/live";//点播直播 public static final String PATH_MODULE_CULTURAL_LIVE_LOCKBACK = "/modulecultural/activity/livelookback";//直播回看 public static final String PATH_MODULE_CULTURAL_LIVE_LIST = "/modulecultural/activity/livelookbacklist";//直播回看播放列表 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_MINE_TEAM_DETAIL = "/modulecultural/activity/vounteer/detail";//我创建的团队详情 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_MINE_TEAM_EDIT = "/modulecultural/activity/vounteer/edit";//编辑我创建的团队 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_MINE_TEAM_DETAIL = "/modulecultural/activity/vounteer" + + "/detail";//我创建的团队详情 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_MINE_TEAM_EDIT = "/modulecultural/activity/vounteer/edit" + ;//编辑我创建的团队 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_LIST = "/modulecultural/activity/vounteer/activitylist";//志愿者活动列表 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_DETAIL = "/modulecultural/activity/vounteer/activitydetail";//志愿者活动详情 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_SIGN_IN_TEAM = "/modulecultural/activity/vounteer/actviitysignteam";//志愿活动报名-团队 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_SIGN_IN_SINGLE = "/modulecultural/activity/vounteer/actviitysignsingle";//志愿活动报名-个人 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_LOG = "/modulecultural/activity/vounteer/actviitylog";//活动日志 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_EDIT = "/modulecultural/activity/vounteer/actviityedit";//修改我发起的活动 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_MINE = "/modulecultural/activity/vounteer/activitymine";//我的志愿活动 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_CHOOSE_TEAM = "/modulecultural/activity/vounteer/activitychooseteam";//活动报名选择我的团队 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_INFO_DETAIL = "/modulecultural/activity/vounteer/infodetail";//志愿者个人信息 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_INFO_EDIT = "/modulecultural/activity/vounteer/infoedit";//自愿者信息修改 - public static final String PATH_MODULE_CULTURAL_VOUNTEER_FRAGMENT_TEAM = "/modulecultural/fragment/vounteerteam";//rlv_teams + public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_LIST = "/modulecultural/activity/vounteer" + + "/activitylist";//志愿者活动列表 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_DETAIL = "/modulecultural/activity/vounteer" + + "/activitydetail";//志愿者活动详情 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_SIGN_IN_TEAM = "/modulecultural/activity" + + "/vounteer/actviitysignteam";//志愿活动报名-团队 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_SIGN_IN_SINGLE = "/modulecultural/activity" + + "/vounteer/actviitysignsingle";//志愿活动报名-个人 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_LOG = "/modulecultural/activity/vounteer" + + "/actviitylog";//活动日志 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_EDIT = "/modulecultural/activity/vounteer" + + "/actviityedit";//修改我发起的活动 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_MINE = "/modulecultural/activity/vounteer" + + "/activitymine";//我的志愿活动 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_CHOOSE_TEAM = "/modulecultural/activity/vounteer" + + "/activitychooseteam";//活动报名选择我的团队 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_INFO_DETAIL = "/modulecultural/activity/vounteer" + + "/infodetail";//志愿者个人信息 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_INFO_EDIT = + "/modulecultural/activity/vounteer/infoedit";//自愿者信息修改 + public static final String PATH_MODULE_CULTURAL_VOUNTEER_FRAGMENT_TEAM = "/modulecultural/fragment/vounteerteam"; + //rlv_teams public static final String PATH_MODULE_CULTURAL_ACTIVITY_SHARE = "/modulecultural/activity/sharecultural";//文化分享 - public static final String PATH_MODULE_CULTURAL_ACTIVITY_SHARE_PUBLISH = "/modulecultural/activity/shareculturalpublish";//发布文化分享 - public static final String PATH_MODULE_CULTURAL_ACTIVITY_SHARE_MINE_LIST = "/modulecultural/activity/shareculturalmine";//我的文化分享 - public static final String PATH_MODULE_CULTURAL_ACTIVITY_SHARE_DETAIL = "/modulecultural/activity/shareculturaldetail";//文化分享详情 + public static final String PATH_MODULE_CULTURAL_ACTIVITY_SHARE_PUBLISH = "/modulecultural/activity" + + "/shareculturalpublish";//发布文化分享 + public static final String PATH_MODULE_CULTURAL_ACTIVITY_SHARE_MINE_LIST = "/modulecultural/activity" + + "/shareculturalmine";//我的文化分享 + public static final String PATH_MODULE_CULTURAL_ACTIVITY_SHARE_DETAIL = "/modulecultural/activity" + + "/shareculturaldetail";//文化分享详情 //===========================ModuleMine=========我的========================= public static final String PATH_MODULE_MINE_COLLECT = "/modulemine/activity/collectlist";//我的收藏列表 @@ -230,5 +260,6 @@ public class PathConfig { //====================Player======================= public static final String PATH_MODULE_PLAYER_SIMPLE_VIDEO = "/moduleplayer/activity/simpleplayer";//单纯播放器 - + //====================分类======================= + public static final String PATH_MODULE_SHOP_SORT_LIST = "/moduleshop/activity/shopSortList";//商城分类 } diff --git a/modulemain/build.gradle b/modulemain/build.gradle index eef19a5..e00f6e1 100755 --- a/modulemain/build.gradle +++ b/modulemain/build.gradle @@ -40,6 +40,7 @@ dependencies { implementation project(':moduleplace') implementation project(':moduleactivity') implementation project(':modulecultural') + implementation project(':moduleshop') implementation files('libs/BaiduLBS_Android.jar') implementation 'androidx.appcompat:appcompat:1.1.0' testImplementation 'junit:junit:4.12' diff --git a/moduleshop/.gitignore b/moduleshop/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/moduleshop/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/moduleshop/build.gradle b/moduleshop/build.gradle new file mode 100644 index 0000000..6d2b054 --- /dev/null +++ b/moduleshop/build.gradle @@ -0,0 +1,90 @@ +if (!IsModuleDev.toBoolean()) { + apply plugin: 'com.android.application' +} else { + apply plugin: 'com.android.library' +} +apply plugin: 'com.jakewharton.butterknife' +apply plugin: 'android-aspectjx' +android { + buildToolsVersion rootProject.ext.gBuildToolsVersion + compileSdkVersion rootProject.ext.gCompileSdkVersion + defaultConfig { + minSdkVersion rootProject.ext.gMinSdkVersion + targetSdkVersion rootProject.ext.gCompileSdkVersion + versionCode rootProject.ext.gVersionCode + versionName rootProject.ext.gVersionName + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + javaCompileOptions { + annotationProcessorOptions { + arguments = [AROUTER_MODULE_NAME: project.getName()] + } + } + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(':cm_utils') + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'com.google.android.material:material:1.4.+' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + implementation 'androidx.recyclerview:recyclerview:1.1.0' + annotationProcessor "com.alibaba:arouter-compiler:${rootProject.ext.gRouterCompileVersion}" + //SmartRefreshLayout + implementation "com.scwang.smartrefresh:SmartRefreshLayout:${rootProject.ext.gSmartRefreshLayoutVersion}" + //Rxjava + implementation "io.reactivex.rxjava2:rxjava:${rootProject.ext.gRxJavaVersion}" + implementation "io.reactivex.rxjava2:rxandroid:${rootProject.ext.gRxAndroid}" + //RxJava + implementation "com.squareup.retrofit2:retrofit:${rootProject.ext.gRetrofitVersion}" + //Gson + implementation "com.google.code.gson:gson:${rootProject.ext.gGsonVersion}" + //butterknife + annotationProcessor "com.jakewharton:butterknife-compiler:${rootProject.ext.gButterKnifeVersion}" + //选择器 + implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}" + //gson + implementation "com.google.code.gson:gson:${rootProject.ext.supportGson}" + //glide + implementation "com.github.bumptech.glide:glide:${rootProject.ext.supportGlide}" + annotationProcessor "com.github.bumptech.glide:compiler:${rootProject.ext.supportGlide}" + //加载更多 + implementation "com.jcodecraeer:xrecyclerview:${rootProject.ext.xRecyclerViewVersion}" + implementation "com.leon:lfilepickerlibrary:${rootProject.ext.lfilepickerlibraryVersion}" + //指示器 + implementation "com.github.hackware1993:MagicIndicator:${rootProject.ext.mIndicatorVersion}" + implementation 'com.github.razerdp:BasePopup:2.2.1' + //图片压缩 + implementation "top.zibin:Luban:$rootProject.ext.lubanVersio" + //banner + implementation "com.youth.banner:banner:${rootProject.ext.bannerVersion}" + //星星评价 + implementation 'me.zhanghai.android.materialratingbar:library:1.4.0' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'androidx.test.ext:junit:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + //骨架 + implementation 'com.ethanhua:skeleton:1.1.2' + implementation 'io.supercharge:shimmerlayout:2.1.0' + //屏幕适配 + implementation 'com.github.jarryleo:MagicScreenAdapter:v2.1' + // 基础依赖包,必须要依赖 + implementation 'com.gyf.immersionbar:immersionbar:3.0.0' +// fragment快速实现(可选) + implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' +} diff --git a/moduleshop/consumer-rules.pro b/moduleshop/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/moduleshop/proguard-rules.pro b/moduleshop/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/moduleshop/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/moduleshop/src/androidTest/java/com/tenlionsoft/moduleshop/ExampleInstrumentedTest.java b/moduleshop/src/androidTest/java/com/tenlionsoft/moduleshop/ExampleInstrumentedTest.java new file mode 100644 index 0000000..880408a --- /dev/null +++ b/moduleshop/src/androidTest/java/com/tenlionsoft/moduleshop/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.tenlionsoft.moduleshop; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.tenlionsoft.moduleshop.test", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/moduleshop/src/main/AndroidManifest.xml b/moduleshop/src/main/AndroidManifest.xml new file mode 100644 index 0000000..63a43c4 --- /dev/null +++ b/moduleshop/src/main/AndroidManifest.xml @@ -0,0 +1,15 @@ + + + + + + + + + + \ No newline at end of file diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopSortActivity.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopSortActivity.java new file mode 100644 index 0000000..2461134 --- /dev/null +++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopSortActivity.java @@ -0,0 +1,27 @@ +package com.tenlionsoft.moduleshop.activitys; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.sucstepsoft.cm_utils.constant.PathConfig; +import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.tenlionsoft.moduleshop.R; + +import butterknife.ButterKnife; + +/** + * 商城分类页面 + */ +@Route(path = PathConfig.PATH_MODULE_SHOP_SORT_LIST) +public class ShopSortActivity extends BaseActivity { + + + @Override + protected int setLayoutId() { + return R.layout.activity_shop_sort; + } + + @Override + public void initData() { + ButterKnife.bind(this); + + } +} \ No newline at end of file diff --git a/moduleshop/src/main/res/layout/activity_shop_sort.xml b/moduleshop/src/main/res/layout/activity_shop_sort.xml new file mode 100644 index 0000000..716444d --- /dev/null +++ b/moduleshop/src/main/res/layout/activity_shop_sort.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/moduleshop/src/main/res/values/strings.xml b/moduleshop/src/main/res/values/strings.xml new file mode 100644 index 0000000..73862c4 --- /dev/null +++ b/moduleshop/src/main/res/values/strings.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/moduleshop/src/test/java/com/tenlionsoft/moduleshop/ExampleUnitTest.java b/moduleshop/src/test/java/com/tenlionsoft/moduleshop/ExampleUnitTest.java new file mode 100644 index 0000000..279e94c --- /dev/null +++ b/moduleshop/src/test/java/com/tenlionsoft/moduleshop/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package com.tenlionsoft.moduleshop; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index cec9ae5..532c43a 100755 --- a/settings.gradle +++ b/settings.gradle @@ -7,3 +7,4 @@ include ':modulecultural' include ':modulemine' include ':moduleijkplayer' include ':modulemap' +include ':moduleshop'