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'