Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
supplier
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王宇航
supplier
Commits
04daf44e
Commit
04daf44e
authored
Nov 04, 2020
by
Wyh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、prj查詢頁面最後一條數據重印報錯問題 2、餐牌頁面結構調整,頁面開發
Signed-off-by: Wyh <1239658231>
parent
4cce725c
Hide whitespace changes
Inline
Side-by-side
Showing
82 changed files
with
1587 additions
and
2139 deletions
+1587
-2139
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/TabFragmentAdapter.java
+0
-1
base-module/src/main/res/drawable/shape_border_no_corner_bg.xml
+9
-0
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/PrjQueryActivity.java
+7
-2
main-module/src/main/debug/AndroidManifest.xml
+1
-10
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/AddFoodItemsComponent.java
+0
-42
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/EditFoodComponent.java
+14
-15
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/EditFoodItemsComponent.java
+13
-12
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/FoodMenuComponent.java
+11
-10
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/NewAddFoodGroupComponent.java
+0
-42
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/NewFoodComponent.java
+6
-8
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/NewSelectPeriodComponent.java
+0
-42
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/NewlyAddedComponent.java
+15
-16
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/SelectFoodGroupComponent.java
+0
-42
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/SelectFoodTypeComponent.java
+0
-42
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/SelectTimePeriodComponent.java
+0
-42
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/ShellComponent.java
+11
-10
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/EditFoodItemsModule.java
+7
-6
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/EditFoodModule.java
+6
-5
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/FoodMenuModule.java
+6
-5
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/NewFoodModule.java
+2
-5
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/NewlyAddedModule.java
+7
-6
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/SelectFoodGroupModule.java
+0
-31
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/SelectFoodTypeModule.java
+0
-31
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/SelectTimePeriodModule.java
+0
-31
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/ShellModule.java
+6
-5
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/EditFoodContract.java
+2
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/EditFoodItemsContract.java
+2
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/FoodMenuContract.java
+2
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/NewlyAddedContract.java
+2
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/ShellContract.java
+14
-16
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/EditFoodItemsModel.java
+4
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/EditFoodModel.java
+6
-6
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/FoodMenuModel.java
+15
-22
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/NewlyAddedModel.java
+4
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/ShellModel.java
+4
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/bean/FoodMenuEditBean.java
+24
-5
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/EditFoodItemsPresenter.java
+6
-15
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/EditFoodPresenter.java
+4
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/FoodMenuPresenter.java
+4
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/NewlyAddedPresenter.java
+6
-6
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SelectFoodGroupPresenter.java
+0
-52
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SelectFoodTypePresenter.java
+0
-52
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SelectTimePeriodPresenter.java
+0
-52
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/ShellPresenter.java
+4
-4
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/FoodDetailsActivity.java
+0
-109
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/FoodMenuManageActivity.java
+5
-81
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewAddFoodGroupActivity.java
+0
-129
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewFoodActivity.java
+0
-153
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewFoodTypeActivity.java
+0
-127
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewSelectPeriodActivity.java
+0
-109
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewTimePeriodActivity.java
+0
-119
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/SelectFoodGroupActivity.java
+0
-156
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/SelectFoodTypeActivity.java
+0
-155
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/SelectTimePeriodActivity.java
+0
-155
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/ShellActivity.java
+20
-9
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/FoodMenuAdapter.java
+51
-16
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/RadioItemProvider.java
+48
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/SelectItemProvider.java
+0
-10
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/multi/RadioAdapter.java
+40
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/BaseFoodMenuFragment.java
+113
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/EditFoodFragment.java
+238
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/EditFoodItemsFragment.java
+48
-10
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/FoodMenuFragment.java
+208
-0
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/FoodSetFragment.java
+1
-2
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/NewFoodFragment.java
+58
-26
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/NewlyAddedFragment.java
+217
-0
main-module/src/main/res/drawable-xhdpi/ic_radio_checked.png
+0
-0
main-module/src/main/res/drawable-xhdpi/ic_radio_uncheck.png
+0
-0
main-module/src/main/res/drawable/selector_radio_bg.xml
+8
-0
main-module/src/main/res/layout/activity_food_menu_manage.xml
+3
-53
main-module/src/main/res/layout/activity_food_menu_new.xml
+9
-0
main-module/src/main/res/layout/activity_shell.xml
+6
-0
main-module/src/main/res/layout/fragment_edit_food.xml
+22
-0
main-module/src/main/res/layout/fragment_edit_food_items.xml
+96
-0
main-module/src/main/res/layout/fragment_food_menu.xml
+55
-0
main-module/src/main/res/layout/fragment_new_food.xml
+34
-0
main-module/src/main/res/layout/fragment_new_time_period.xml
+9
-0
main-module/src/main/res/layout/fragment_newly_added.xml
+11
-0
main-module/src/main/res/layout/fragment_select_time_period.xml
+9
-0
main-module/src/main/res/layout/item_child_radio.xml
+22
-0
main-module/src/main/res/layout/item_food_menu_radio.xml
+28
-0
main-module/src/main/res/values/styles.xml
+4
-1
No files found.
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/TabFragmentAdapter.java
View file @
04daf44e
...
...
@@ -16,7 +16,6 @@ public class TabFragmentAdapter extends FragmentStatePagerAdapter {
public
TabFragmentAdapter
(
@NonNull
FragmentManager
fm
,
int
behavior
)
{
super
(
fm
,
behavior
);
}
public
void
setFragments
(
List
<
Fragment
>
fragments
)
{
...
...
base-module/src/main/res/drawable/shape_border_no_corner_bg.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<stroke
android:width=
"@dimen/dp_1"
android:color=
"@color/theme_color"
/>
</shape>
\ No newline at end of file
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/mvp/ui/activity/PrjQueryActivity.java
View file @
04daf44e
...
...
@@ -211,8 +211,13 @@ public class PrjQueryActivity extends BaseActivity<PrjQueryPresenter> implements
private
void
organizeData
(
int
position
,
List
<
PrjBean
.
DataBean
.
Bean
>
prjData
)
{
if
(
prjData
.
get
(
position
).
getParentId
()
==
0
)
{
//是主食品,判斷有沒有子食品,如果沒有子食品,直接打印主食品
if
(
position
+
1
>
prjData
.
size
()
||
(
position
+
1
<
prjData
.
size
()
&&
prjData
.
get
(
position
+
1
).
getParentId
()
==
0
))
{
if
(
position
+
1
>
prjData
.
size
())
{
//沒有子食品
//直接打印
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
printDatas
.
add
(
prjData
.
get
(
position
));
printPrj
(
printDatas
);
}
else
if
(
prjData
.
get
(
position
+
1
).
getParentId
()
==
0
)
{
//沒有子食品
//直接打印
List
<
PrjBean
.
DataBean
.
Bean
>
printDatas
=
new
ArrayList
<>();
...
...
main-module/src/main/debug/AndroidManifest.xml
View file @
04daf44e
...
...
@@ -17,16 +17,7 @@
android:networkSecurityConfig=
"@xml/network_android"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
<activity
android:name=
".mvp.ui.activity.menu.NewTimePeriodActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.AddFoodItemsActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.NewSelectPeriodActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.SelectTimePeriodActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.NewFoodTypeActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.SelectFoodTypeActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.FoodDetailsActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.SelectFoodGroupActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.NewFoodActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.NewAddFoodGroupActivity"
/>
<activity
android:name=
".mvp.ui.activity.menu.ShellActivity"
/>
<activity
android:name=
".mvp.ui.activity.NewMainActivity"
/>
<activity
android:name=
".mvp.ui.activity.ExpandListActivity"
/>
<activity
android:name=
".mvp.ui.activity.RestaurantQrCodeActivity"
/>
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/AddFoodItemsComponent.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.AddFoodItemsModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.AddFoodItemsContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.AddFoodItemsActivity
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:34
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component
(
modules
=
AddFoodItemsModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
AddFoodItemsComponent
{
void
inject
(
AddFoodItemsActivity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
AddFoodItemsComponent
.
Builder
view
(
AddFoodItemsContract
.
View
view
);
AddFoodItemsComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
AddFoodItemsComponent
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/
FoodItems
Component.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/
EditFood
Component.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstanc
e
;
import
dagger.Componen
t
;
import
com.gingersoft.gsa.cloud.main.di.module.EditFoodModul
e
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.EditFoodContrac
t
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.EditFoodFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.FoodItemsModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodItemsContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodItemsFragment
;
import
dagger.BindsInstance
;
import
dagger.Component
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:28
* Created by MVPArmsTemplate on 1
1/03/2020 11:07
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -25,17 +23,17 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodItemsFragment;
* ================================================
*/
@FragmentScope
@Component
(
modules
=
FoodItems
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
FoodItems
Component
{
void
inject
(
FoodItems
Fragment
fragment
);
@Component
(
modules
=
EditFood
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
EditFood
Component
{
void
inject
(
EditFood
Fragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
FoodItemsComponent
.
Builder
view
(
FoodItems
Contract
.
View
view
);
EditFoodComponent
.
Builder
view
(
EditFood
Contract
.
View
view
);
FoodItems
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
EditFood
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
FoodItems
Component
build
();
EditFood
Component
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/
NewTimePeriod
Component.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/
EditFoodItems
Component.java
View file @
04daf44e
...
...
@@ -5,18 +5,18 @@ import dagger.Component;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.
NewTimePeriod
Module
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
NewTimePeriod
Contract
;
import
com.gingersoft.gsa.cloud.main.di.module.
EditFoodItems
Module
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
EditFoodItems
Contract
;
import
com.jess.arms.di.scope.
Activity
Scope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.
activity.menu.NewTimePeriodActivity
;
import
com.jess.arms.di.scope.
Fragment
Scope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.
fragment.menu.EditFoodItemsFragment
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/30/2020 18:16
* Created by MVPArmsTemplate on 1
1/03/2020 17:54
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -24,18 +24,18 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.NewTimePeriodActivity;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@
Activity
Scope
@Component
(
modules
=
NewTimePeriod
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
NewTimePeriod
Component
{
void
inject
(
NewTimePeriodActivity
activity
);
@
Fragment
Scope
@Component
(
modules
=
EditFoodItems
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
EditFoodItems
Component
{
void
inject
(
EditFoodItemsFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
NewTimePeriodComponent
.
Builder
view
(
NewTimePeriod
Contract
.
View
view
);
EditFoodItemsComponent
.
Builder
view
(
EditFoodItems
Contract
.
View
view
);
NewTimePeriod
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
EditFoodItems
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
NewTimePeriod
Component
build
();
EditFoodItems
Component
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/Food
Properties
Component.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/Food
Menu
Component.java
View file @
04daf44e
...
...
@@ -5,18 +5,18 @@ import dagger.Component;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.Food
Properties
Module
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.Food
Properties
Contract
;
import
com.gingersoft.gsa.cloud.main.di.module.Food
Menu
Module
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.Food
Menu
Contract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.Food
Properties
Fragment
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.Food
Menu
Fragment
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/28/2020 17:29
* Created by MVPArmsTemplate on 1
1/03/2020 09:31
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -25,17 +25,17 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodPropertiesFragment
* ================================================
*/
@FragmentScope
@Component
(
modules
=
Food
Properties
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
Food
Properties
Component
{
void
inject
(
Food
Properties
Fragment
fragment
);
@Component
(
modules
=
Food
Menu
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
Food
Menu
Component
{
void
inject
(
Food
Menu
Fragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
Food
PropertiesComponent
.
Builder
view
(
FoodProperties
Contract
.
View
view
);
Food
MenuComponent
.
Builder
view
(
FoodMenu
Contract
.
View
view
);
Food
Properties
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
Food
Menu
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
Food
Properties
Component
build
();
Food
Menu
Component
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/NewAddFoodGroupComponent.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.NewAddFoodGroupModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewAddFoodGroupContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.NewAddFoodGroupActivity
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:21
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component
(
modules
=
NewAddFoodGroupModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
NewAddFoodGroupComponent
{
void
inject
(
NewAddFoodGroupActivity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
NewAddFoodGroupComponent
.
Builder
view
(
NewAddFoodGroupContract
.
View
view
);
NewAddFoodGroupComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
NewAddFoodGroupComponent
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/NewFoodComponent.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.NewFoodModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewFoodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.NewFoodFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.NewFoodActivity
;
import
dagger.BindsInstance
;
import
dagger.Component
;
/**
...
...
@@ -27,7 +25,7 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.NewFoodActivity;
@ActivityScope
@Component
(
modules
=
NewFoodModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
NewFoodComponent
{
void
inject
(
NewFood
Activity
activity
);
void
inject
(
NewFood
Fragment
activity
);
@Component
.
Builder
interface
Builder
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/NewSelectPeriodComponent.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.NewSelectPeriodModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewSelectPeriodContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.NewSelectPeriodActivity
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:30
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component
(
modules
=
NewSelectPeriodModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
NewSelectPeriodComponent
{
void
inject
(
NewSelectPeriodActivity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
NewSelectPeriodComponent
.
Builder
view
(
NewSelectPeriodContract
.
View
view
);
NewSelectPeriodComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
NewSelectPeriodComponent
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/New
FoodType
Component.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/New
lyAdded
Component.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstanc
e
;
import
dagger.Componen
t
;
import
com.gingersoft.gsa.cloud.main.di.module.NewlyAddedModul
e
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewlyAddedContrac
t
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.NewlyAddedFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.main.di.module.NewFoodTypeModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewFoodTypeContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.NewFoodTypeActivity
;
import
dagger.BindsInstance
;
import
dagger.Component
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:25
* Created by MVPArmsTemplate on 1
1/03/2020 09:53
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -24,18 +22,18 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.NewFoodTypeActivity;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@
Activity
Scope
@Component
(
modules
=
New
FoodType
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
New
FoodType
Component
{
void
inject
(
New
FoodTypeActivity
activity
);
@
Fragment
Scope
@Component
(
modules
=
New
lyAdded
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
New
lyAdded
Component
{
void
inject
(
New
lyAddedFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
New
FoodTypeComponent
.
Builder
view
(
NewFoodType
Contract
.
View
view
);
New
lyAddedComponent
.
Builder
view
(
NewlyAdded
Contract
.
View
view
);
New
FoodType
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
New
lyAdded
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
New
FoodType
Component
build
();
New
lyAdded
Component
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/SelectFoodGroupComponent.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.SelectFoodGroupModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodGroupContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.SelectFoodGroupActivity
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component
(
modules
=
SelectFoodGroupModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
SelectFoodGroupComponent
{
void
inject
(
SelectFoodGroupActivity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
SelectFoodGroupComponent
.
Builder
view
(
SelectFoodGroupContract
.
View
view
);
SelectFoodGroupComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
SelectFoodGroupComponent
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/SelectFoodTypeComponent.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.SelectFoodTypeModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodTypeContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.SelectFoodTypeActivity
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:25
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component
(
modules
=
SelectFoodTypeModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
SelectFoodTypeComponent
{
void
inject
(
SelectFoodTypeActivity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
SelectFoodTypeComponent
.
Builder
view
(
SelectFoodTypeContract
.
View
view
);
SelectFoodTypeComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
SelectFoodTypeComponent
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/SelectTimePeriodComponent.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.SelectTimePeriodModule
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectTimePeriodContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.SelectTimePeriodActivity
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:29
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
@Component
(
modules
=
SelectTimePeriodModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
SelectTimePeriodComponent
{
void
inject
(
SelectTimePeriodActivity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
SelectTimePeriodComponent
.
Builder
view
(
SelectTimePeriodContract
.
View
view
);
SelectTimePeriodComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
SelectTimePeriodComponent
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/
FoodDetails
Component.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/component/
Shell
Component.java
View file @
04daf44e
...
...
@@ -5,18 +5,18 @@ import dagger.Component;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.main.di.module.
FoodDetails
Module
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodDetails
Contract
;
import
com.gingersoft.gsa.cloud.main.di.module.
Shell
Module
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
Shell
Contract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.
FoodDetails
Activity
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.
Shell
Activity
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:24
* Created by MVPArmsTemplate on 1
1/03/2020 16:32
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -25,17 +25,17 @@ import com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.FoodDetailsActivity;
* ================================================
*/
@ActivityScope
@Component
(
modules
=
FoodDetails
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
FoodDetails
Component
{
void
inject
(
FoodDetails
Activity
activity
);
@Component
(
modules
=
Shell
Module
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
Shell
Component
{
void
inject
(
Shell
Activity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
FoodDetailsComponent
.
Builder
view
(
FoodDetails
Contract
.
View
view
);
ShellComponent
.
Builder
view
(
Shell
Contract
.
View
view
);
FoodDetails
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
Shell
Component
.
Builder
appComponent
(
AppComponent
appComponent
);
FoodDetails
Component
build
();
Shell
Component
build
();
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/
NewTimePeriod
Module.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/
EditFoodItems
Module.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
module
;
import
com.jess.arms.di.scope.
Activity
Scope
;
import
com.jess.arms.di.scope.
Fragment
Scope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
NewTimePeriod
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.
NewTimePeriod
Model
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
EditFoodItems
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.
EditFoodItems
Model
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/30/2020 18:16
* Created by MVPArmsTemplate on 1
1/03/2020 17:54
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -23,8 +23,8 @@ import com.gingersoft.gsa.cloud.main.mvp.model.NewTimePeriodModel;
* ================================================
*/
@Module
public
abstract
class
NewTimePeriod
Module
{
public
abstract
class
EditFoodItems
Module
{
@Binds
abstract
NewTimePeriodContract
.
Model
bindNewTimePeriodModel
(
NewTimePeriod
Model
model
);
abstract
EditFoodItemsContract
.
Model
bindEditFoodItemsModel
(
EditFoodItems
Model
model
);
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/
FoodItems
Module.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/
EditFood
Module.java
View file @
04daf44e
...
...
@@ -6,15 +6,15 @@ import dagger.Binds;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodItems
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.
FoodItems
Model
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
EditFood
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.
EditFood
Model
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:28
* Created by MVPArmsTemplate on 1
1/03/2020 11:07
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -23,8 +23,8 @@ import com.gingersoft.gsa.cloud.main.mvp.model.FoodItemsModel;
* ================================================
*/
@Module
public
abstract
class
FoodItems
Module
{
public
abstract
class
EditFood
Module
{
@Binds
abstract
FoodItemsContract
.
Model
bindFoodItemsModel
(
FoodItems
Model
model
);
abstract
EditFoodContract
.
Model
bindEditFoodModel
(
EditFood
Model
model
);
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/Food
Properties
Module.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/Food
Menu
Module.java
View file @
04daf44e
...
...
@@ -6,15 +6,15 @@ import dagger.Binds;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.Food
Properties
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.Food
Properties
Model
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.Food
Menu
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.Food
Menu
Model
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/28/2020 17:29
* Created by MVPArmsTemplate on 1
1/03/2020 09:31
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -23,8 +23,8 @@ import com.gingersoft.gsa.cloud.main.mvp.model.FoodPropertiesModel;
* ================================================
*/
@Module
public
abstract
class
Food
Properties
Module
{
public
abstract
class
Food
Menu
Module
{
@Binds
abstract
Food
PropertiesContract
.
Model
bindFoodPropertiesModel
(
FoodProperties
Model
model
);
abstract
Food
MenuContract
.
Model
bindFoodMenuModel
(
FoodMenu
Model
model
);
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/NewFoodModule.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
module
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewFoodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.NewFoodModel
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewFoodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.NewFoodModel
;
/**
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/New
AddFoodGroup
Module.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/New
lyAdded
Module.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
module
;
import
com.jess.arms.di.scope.
Activity
Scope
;
import
com.jess.arms.di.scope.
Fragment
Scope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.New
AddFoodGroup
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.New
AddFoodGroup
Model
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.New
lyAdded
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.New
lyAdded
Model
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:21
* Created by MVPArmsTemplate on 1
1/03/2020 09:53
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -23,8 +23,8 @@ import com.gingersoft.gsa.cloud.main.mvp.model.NewAddFoodGroupModel;
* ================================================
*/
@Module
public
abstract
class
New
AddFoodGroup
Module
{
public
abstract
class
New
lyAdded
Module
{
@Binds
abstract
New
AddFoodGroupContract
.
Model
bindNewAddFoodGroupModel
(
NewAddFoodGroup
Model
model
);
abstract
New
lyAddedContract
.
Model
bindNewlyAddedModel
(
NewlyAdded
Model
model
);
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/SelectFoodGroupModule.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
module
;
import
com.jess.arms.di.scope.ActivityScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodGroupContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.SelectFoodGroupModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
SelectFoodGroupModule
{
@Binds
abstract
SelectFoodGroupContract
.
Model
bindSelectFoodGroupModel
(
SelectFoodGroupModel
model
);
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/SelectFoodTypeModule.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
module
;
import
com.jess.arms.di.scope.ActivityScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodTypeContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.SelectFoodTypeModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:25
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
SelectFoodTypeModule
{
@Binds
abstract
SelectFoodTypeContract
.
Model
bindSelectFoodTypeModel
(
SelectFoodTypeModel
model
);
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/SelectTimePeriodModule.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
module
;
import
com.jess.arms.di.scope.ActivityScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectTimePeriodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.SelectTimePeriodModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:29
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
SelectTimePeriodModule
{
@Binds
abstract
SelectTimePeriodContract
.
Model
bindSelectTimePeriodModel
(
SelectTimePeriodModel
model
);
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/
NewFoodType
Module.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/di/module/
Shell
Module.java
View file @
04daf44e
...
...
@@ -6,15 +6,15 @@ import dagger.Binds;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
NewFoodType
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.
NewFoodType
Model
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
Shell
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.
Shell
Model
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:25
* Created by MVPArmsTemplate on 1
1/03/2020 16:32
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -23,8 +23,8 @@ import com.gingersoft.gsa.cloud.main.mvp.model.NewFoodTypeModel;
* ================================================
*/
@Module
public
abstract
class
NewFoodType
Module
{
public
abstract
class
Shell
Module
{
@Binds
abstract
NewFoodTypeContract
.
Model
bindNewFoodTypeModel
(
NewFoodType
Model
model
);
abstract
ShellContract
.
Model
bindShellModel
(
Shell
Model
model
);
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
FoodItems
Contract.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
EditFood
Contract.java
View file @
04daf44e
...
...
@@ -8,7 +8,7 @@ import com.jess.arms.mvp.IModel;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:28
* Created by MVPArmsTemplate on 1
1/03/2020 11:07
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -16,7 +16,7 @@ import com.jess.arms.mvp.IModel;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
FoodItems
Contract
{
public
interface
EditFood
Contract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
FoodPropertie
sContract.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
EditFoodItem
sContract.java
View file @
04daf44e
...
...
@@ -8,7 +8,7 @@ import com.jess.arms.mvp.IModel;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/28/2020 17:29
* Created by MVPArmsTemplate on 1
1/03/2020 17:54
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -16,7 +16,7 @@ import com.jess.arms.mvp.IModel;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
FoodPropertie
sContract
{
public
interface
EditFoodItem
sContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
SelectFoodType
Contract.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
FoodMenu
Contract.java
View file @
04daf44e
...
...
@@ -8,7 +8,7 @@ import com.jess.arms.mvp.IModel;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:25
* Created by MVPArmsTemplate on 1
1/03/2020 09:31
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -16,7 +16,7 @@ import com.jess.arms.mvp.IModel;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
SelectFoodType
Contract
{
public
interface
FoodMenu
Contract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
SelectTimePerio
dContract.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/contract/
NewlyAdde
dContract.java
View file @
04daf44e
...
...
@@ -8,7 +8,7 @@ import com.jess.arms.mvp.IModel;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:29
* Created by MVPArmsTemplate on 1
1/03/2020 09:53
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -16,7 +16,7 @@ import com.jess.arms.mvp.IModel;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
SelectTimePerio
dContract
{
public
interface
NewlyAdde
dContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/
di/module/NewSelectPeriodModule
.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/
mvp/contract/ShellContract
.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
di
.
module
;
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
contract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewSelectPeriodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.NewSelectPeriodModel
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:30
* Created by MVPArmsTemplate on 1
1/03/2020 16:32
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -22,9 +16,14 @@ import com.gingersoft.gsa.cloud.main.mvp.model.NewSelectPeriodModel;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
NewSelectPeriodModule
{
public
interface
ShellContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
@Binds
abstract
NewSelectPeriodContract
.
Model
bindNewSelectPeriodModel
(
NewSelectPeriodModel
model
);
}
\ No newline at end of file
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/FoodItemsModel.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/
Edit
FoodItemsModel.java
View file @
04daf44e
...
...
@@ -10,14 +10,14 @@ import com.jess.arms.di.scope.FragmentScope;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodItemsContract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
Edit
FoodItemsContract
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:28
* Created by MVPArmsTemplate on 1
1/03/2020 17:54
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -26,14 +26,14 @@ import com.gingersoft.gsa.cloud.main.mvp.contract.FoodItemsContract;
* ================================================
*/
@FragmentScope
public
class
FoodItemsModel
extends
BaseModel
implements
FoodItemsContract
.
Model
{
public
class
EditFoodItemsModel
extends
BaseModel
implements
Edit
FoodItemsContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
FoodItemsModel
(
IRepositoryManager
repositoryManager
)
{
public
Edit
FoodItemsModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/
SelectTimePeri
odModel.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/
EditFo
odModel.java
View file @
04daf44e
...
...
@@ -6,18 +6,18 @@ import com.google.gson.Gson;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
com.jess.arms.di.scope.
Activity
Scope
;
import
com.jess.arms.di.scope.
Fragment
Scope
;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
SelectTimePeri
odContract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
EditFo
odContract
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:29
* Created by MVPArmsTemplate on 1
1/03/2020 11:07
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -25,15 +25,15 @@ import com.gingersoft.gsa.cloud.main.mvp.contract.SelectTimePeriodContract;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@
Activity
Scope
public
class
SelectTimePeriodModel
extends
BaseModel
implements
SelectTimePeri
odContract
.
Model
{
@
Fragment
Scope
public
class
EditFoodModel
extends
BaseModel
implements
EditFo
odContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
SelectTimePeri
odModel
(
IRepositoryManager
repositoryManager
)
{
public
EditFo
odModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/
presenter/NewSelectPeriodPresenter
.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/
model/FoodMenuModel
.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
presenter
;
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
model
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
NewSelectPeriod
Contract
;
import
com.
jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.
http.imageloader.ImageLoader
;
import
com.jess.arms.integration.
App
Manager
;
import
com.jess.arms.mvp.Base
Presenter
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodMenu
Contract
;
import
com.
google.gson.Gson
;
import
com.jess.arms.
di.scope.FragmentScope
;
import
com.jess.arms.integration.
IRepository
Manager
;
import
com.jess.arms.mvp.Base
Model
;
import
javax.inject.Inject
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:30
* Created by MVPArmsTemplate on 1
1/03/2020 09:31
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -25,28 +23,22 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@
Activity
Scope
public
class
NewSelectPeriodPresenter
extends
BasePresenter
<
NewSelectPeriodContract
.
Model
,
NewSelectPeriodContract
.
View
>
{
@
Fragment
Scope
public
class
FoodMenuModel
extends
BaseModel
implements
FoodMenuContract
.
Model
{
@Inject
RxErrorHandler
mErrorHandler
;
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
NewSelectPeriodPresenter
(
NewSelectPeriodContract
.
Model
model
,
NewSelectPeriodContract
.
View
rootView
)
{
super
(
model
,
rootView
);
public
FoodMenuModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mGson
=
null
;
this
.
mApplication
=
null
;
}
}
}
\ No newline at end of file
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/
FoodProperties
Model.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/
NewlyAdded
Model.java
View file @
04daf44e
...
...
@@ -10,14 +10,14 @@ import com.jess.arms.di.scope.FragmentScope;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodProperties
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
NewlyAdded
Contract
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/28/2020 17:29
* Created by MVPArmsTemplate on 1
1/03/2020 09:53
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -26,14 +26,14 @@ import com.gingersoft.gsa.cloud.main.mvp.contract.FoodPropertiesContract;
* ================================================
*/
@FragmentScope
public
class
FoodPropertiesModel
extends
BaseModel
implements
FoodProperties
Contract
.
Model
{
public
class
NewlyAddedModel
extends
BaseModel
implements
NewlyAdded
Contract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
FoodProperties
Model
(
IRepositoryManager
repositoryManager
)
{
public
NewlyAdded
Model
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/S
electFoodType
Model.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/S
hell
Model.java
View file @
04daf44e
...
...
@@ -10,14 +10,14 @@ import com.jess.arms.di.scope.ActivityScope;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.S
electFoodType
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.S
hell
Contract
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:25
* Created by MVPArmsTemplate on 1
1/03/2020 16:32
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -26,14 +26,14 @@ import com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodTypeContract;
* ================================================
*/
@ActivityScope
public
class
S
electFoodTypeModel
extends
BaseModel
implements
SelectFoodType
Contract
.
Model
{
public
class
S
hellModel
extends
BaseModel
implements
Shell
Contract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
S
electFoodType
Model
(
IRepositoryManager
repositoryManager
)
{
public
S
hell
Model
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/bean/FoodMenuEditBean.java
View file @
04daf44e
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.main.mvp.model.bean;
import
java.util.List
;
import
lombok.Data
;
import
me.yokeyword.fragmentation.ISupportFragment
;
@Data
public
class
FoodMenuEditBean
{
...
...
@@ -38,6 +39,10 @@ public class FoodMenuEditBean {
*/
public
final
static
int
EDIT_FOOD_ITEM_UPLOAD_PIC
=
6
;
/**
* 單選
*/
public
final
static
int
EDIT_FOOD_ITEM_RADIO
=
7
;
public
int
itemType
;
...
...
@@ -94,12 +99,20 @@ public class FoodMenuEditBean {
*/
private
String
showValue
;
private
Class
<?>
cls
;
private
Class
<?
extends
ISupportFragment
>
toFragment
;
/**
* {@link com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodMenuFragment.FRAGMENT_TYPE}
*/
private
int
fragmentType
;
/**
* 是否控制客戶端顯示
*/
private
boolean
isShowClient
=
false
;
/**
* 是否可編輯
*/
private
boolean
isEdit
=
true
;
/**
* 顯示端
*/
...
...
@@ -126,7 +139,13 @@ public class FoodMenuEditBean {
this
.
showTitle
=
showTitle
;
this
.
isRequired
=
isRequired
;
}
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
,
boolean
isEdit
)
{
this
.
itemType
=
itemType
;
this
.
showTitle
=
showTitle
;
this
.
isRequired
=
isRequired
;
this
.
hintText
=
hintText
;
this
.
isEdit
=
isEdit
;
}
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
)
{
this
.
itemType
=
itemType
;
this
.
showTitle
=
showTitle
;
...
...
@@ -142,12 +161,12 @@ public class FoodMenuEditBean {
this
.
showValue
=
showValue
;
}
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
,
Class
<?>
cls
)
{
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
String
hintText
,
int
fragmentType
)
{
this
.
itemType
=
itemType
;
this
.
showTitle
=
showTitle
;
this
.
isRequired
=
isRequired
;
this
.
hintText
=
hintText
;
this
.
cls
=
cls
;
this
.
fragmentType
=
fragmentType
;
}
public
FoodMenuEditBean
(
int
itemType
,
String
showTitle
,
boolean
isRequired
,
boolean
showState
)
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/
NewTimePeriod
Presenter.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/
EditFoodItems
Presenter.java
View file @
04daf44e
...
...
@@ -2,8 +2,8 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
NewTimePeriod
Contract
;
import
com.jess.arms.di.scope.
Activity
Scope
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
EditFoodItems
Contract
;
import
com.jess.arms.di.scope.
Fragment
Scope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
...
...
@@ -14,19 +14,10 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/30/2020 18:16
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
* 細項的編輯頁面
*/
@
Activity
Scope
public
class
NewTimePeriodPresenter
extends
BasePresenter
<
NewTimePeriodContract
.
Model
,
NewTimePeriod
Contract
.
View
>
{
@
Fragment
Scope
public
class
EditFoodItemsPresenter
extends
BasePresenter
<
EditFoodItemsContract
.
Model
,
EditFoodItems
Contract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
...
...
@@ -37,7 +28,7 @@ public class NewTimePeriodPresenter extends BasePresenter<NewTimePeriodContract.
AppManager
mAppManager
;
@Inject
public
NewTimePeriodPresenter
(
NewTimePeriodContract
.
Model
model
,
NewTimePeriod
Contract
.
View
rootView
)
{
public
EditFoodItemsPresenter
(
EditFoodItemsContract
.
Model
model
,
EditFoodItems
Contract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/
FoodItems
Presenter.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/
EditFood
Presenter.java
View file @
04daf44e
...
...
@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodItems
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
EditFood
Contract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
...
...
@@ -17,7 +17,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/29/2020 15:28
* Created by MVPArmsTemplate on 1
1/03/2020 11:07
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -26,7 +26,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
*/
@FragmentScope
public
class
FoodItemsPresenter
extends
BasePresenter
<
FoodItemsContract
.
Model
,
FoodItems
Contract
.
View
>
{
public
class
EditFoodPresenter
extends
BasePresenter
<
EditFoodContract
.
Model
,
EditFood
Contract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
...
...
@@ -37,7 +37,7 @@ public class FoodItemsPresenter extends BasePresenter<FoodItemsContract.Model, F
AppManager
mAppManager
;
@Inject
public
FoodItemsPresenter
(
FoodItemsContract
.
Model
model
,
FoodItems
Contract
.
View
rootView
)
{
public
EditFoodPresenter
(
EditFoodContract
.
Model
model
,
EditFood
Contract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/Food
Properties
Presenter.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/Food
Menu
Presenter.java
View file @
04daf44e
...
...
@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.Food
Properties
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.Food
Menu
Contract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
...
...
@@ -17,7 +17,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/28/2020 17:29
* Created by MVPArmsTemplate on 1
1/03/2020 09:31
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -26,7 +26,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
*/
@FragmentScope
public
class
Food
PropertiesPresenter
extends
BasePresenter
<
FoodPropertiesContract
.
Model
,
FoodProperties
Contract
.
View
>
{
public
class
Food
MenuPresenter
extends
BasePresenter
<
FoodMenuContract
.
Model
,
FoodMenu
Contract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
...
...
@@ -37,7 +37,7 @@ public class FoodPropertiesPresenter extends BasePresenter<FoodPropertiesContrac
AppManager
mAppManager
;
@Inject
public
Food
PropertiesPresenter
(
FoodPropertiesContract
.
Model
model
,
FoodProperties
Contract
.
View
rootView
)
{
public
Food
MenuPresenter
(
FoodMenuContract
.
Model
model
,
FoodMenu
Contract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/New
FoodType
Presenter.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/New
lyAdded
Presenter.java
View file @
04daf44e
...
...
@@ -2,8 +2,8 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.New
FoodType
Contract
;
import
com.jess.arms.di.scope.
Activity
Scope
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.New
lyAdded
Contract
;
import
com.jess.arms.di.scope.
Fragment
Scope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
...
...
@@ -17,7 +17,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:25
* Created by MVPArmsTemplate on 1
1/03/2020 09:53
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -25,8 +25,8 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@
Activity
Scope
public
class
New
FoodTypePresenter
extends
BasePresenter
<
NewFoodTypeContract
.
Model
,
NewFoodType
Contract
.
View
>
{
@
Fragment
Scope
public
class
New
lyAddedPresenter
extends
BasePresenter
<
NewlyAddedContract
.
Model
,
NewlyAdded
Contract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
...
...
@@ -37,7 +37,7 @@ public class NewFoodTypePresenter extends BasePresenter<NewFoodTypeContract.Mode
AppManager
mAppManager
;
@Inject
public
New
FoodTypePresenter
(
NewFoodTypeContract
.
Model
model
,
NewFoodType
Contract
.
View
rootView
)
{
public
New
lyAddedPresenter
(
NewlyAddedContract
.
Model
model
,
NewlyAdded
Contract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SelectFoodGroupPresenter.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
presenter
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodGroupContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
javax.inject.Inject
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public
class
SelectFoodGroupPresenter
extends
BasePresenter
<
SelectFoodGroupContract
.
Model
,
SelectFoodGroupContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
SelectFoodGroupPresenter
(
SelectFoodGroupContract
.
Model
model
,
SelectFoodGroupContract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SelectFoodTypePresenter.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
presenter
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodTypeContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
javax.inject.Inject
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:25
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public
class
SelectFoodTypePresenter
extends
BasePresenter
<
SelectFoodTypeContract
.
Model
,
SelectFoodTypeContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
SelectFoodTypePresenter
(
SelectFoodTypeContract
.
Model
model
,
SelectFoodTypeContract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SelectTimePeriodPresenter.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
presenter
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectTimePeriodContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
javax.inject.Inject
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:29
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public
class
SelectTimePeriodPresenter
extends
BasePresenter
<
SelectTimePeriodContract
.
Model
,
SelectTimePeriodContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
SelectTimePeriodPresenter
(
SelectTimePeriodContract
.
Model
model
,
SelectTimePeriodContract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/
FoodDetails
Presenter.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/
Shell
Presenter.java
View file @
04daf44e
...
...
@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
FoodDetails
Contract
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.
Shell
Contract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
...
...
@@ -17,7 +17,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:24
* Created by MVPArmsTemplate on 1
1/03/2020 16:32
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -26,7 +26,7 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
*/
@ActivityScope
public
class
FoodDetailsPresenter
extends
BasePresenter
<
FoodDetailsContract
.
Model
,
FoodDetails
Contract
.
View
>
{
public
class
ShellPresenter
extends
BasePresenter
<
ShellContract
.
Model
,
Shell
Contract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
...
...
@@ -37,7 +37,7 @@ public class FoodDetailsPresenter extends BasePresenter<FoodDetailsContract.Mode
AppManager
mAppManager
;
@Inject
public
FoodDetailsPresenter
(
FoodDetailsContract
.
Model
model
,
FoodDetails
Contract
.
View
rootView
)
{
public
ShellPresenter
(
ShellContract
.
Model
model
,
Shell
Contract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/FoodDetailsActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodDetailsComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodDetailsContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodDetailsPresenter
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:24
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
FoodDetailsActivity
extends
BaseActivity
<
FoodDetailsPresenter
>
implements
FoodDetailsContract
.
View
{
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerFoodDetailsComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_food_details
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/FoodMenuManageActivity.java
View file @
04daf44e
...
...
@@ -2,34 +2,19 @@ package com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.widget.Button
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodMenuManageComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodMenuManageContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodMenuManagePresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuMangerLeftAdapter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuMangerRightAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodMenuFragment
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.base.Base
Fragment
Activity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaImageButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.Arrays
;
import
java.util.List
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
...
@@ -46,19 +31,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
FoodMenuManageActivity
extends
BaseActivity
<
FoodMenuManagePresenter
>
implements
FoodMenuManageContract
.
View
,
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
topbar_food_menu
)
QMUITopBar
topbarFoodMenu
;
@BindView
(
R2
.
id
.
btn_add_food_group
)
Button
btnAddFoodGroup
;
@BindView
(
R2
.
id
.
rv_food_menu_food_classification
)
RecyclerView
leftRv
;
@BindView
(
R2
.
id
.
rv_food_menu_all_food
)
RecyclerView
rightRv
;
private
List
<
String
>
category
=
Arrays
.
asList
(
"A食品"
,
"B食品"
,
"C食品"
,
"D食品"
,
"E食品"
);
public
class
FoodMenuManageActivity
extends
BaseFragmentActivity
<
FoodMenuManagePresenter
>
implements
FoodMenuManageContract
.
View
{
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
...
...
@@ -77,43 +50,7 @@ public class FoodMenuManageActivity extends BaseActivity<FoodMenuManagePresenter
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
leftRv
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
leftRv
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
FoodMenuMangerLeftAdapter
foodMenuMangerLeftAdapter
=
new
FoodMenuMangerLeftAdapter
(
this
,
category
);
leftRv
.
setAdapter
(
foodMenuMangerLeftAdapter
);
String
[]
foods
=
new
String
[
50
];
for
(
int
i
=
0
;
i
<
50
;
i
++)
{
int
x
=
i
/
10
;
String
foodName
=
category
.
get
(
x
);
foods
[
i
]
=
foodName
+
i
;
}
rightRv
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
rightRv
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
FoodMenuMangerRightAdapter
foodMenuMangerRightAdapter
=
new
FoodMenuMangerRightAdapter
(
category
,
foods
);
rightRv
.
setAdapter
(
foodMenuMangerRightAdapter
);
foodMenuMangerLeftAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
int
section
=
foodMenuMangerRightAdapter
.
getPositionForSection
(
position
);
foodMenuMangerLeftAdapter
.
setSelectIndex
(
position
);
((
LinearLayoutManager
)
rightRv
.
getLayoutManager
()).
scrollToPositionWithOffset
(
section
,
0
);
});
rightRv
.
addOnScrollListener
(
new
RecyclerView
.
OnScrollListener
()
{
@Override
public
void
onScrollStateChanged
(
@NonNull
RecyclerView
recyclerView
,
int
newState
)
{
super
.
onScrollStateChanged
(
recyclerView
,
newState
);
}
@Override
public
void
onScrolled
(
@NonNull
RecyclerView
recyclerView
,
int
dx
,
int
dy
)
{
super
.
onScrolled
(
recyclerView
,
dx
,
dy
);
}
});
loadRootFragment
(
R
.
id
.
layout_food_menu_content
,
FoodMenuFragment
.
newInstance
());
}
@Override
...
...
@@ -123,12 +60,7 @@ public class FoodMenuManageActivity extends BaseActivity<FoodMenuManagePresenter
@Override
public
void
initTopBar
()
{
topbarFoodMenu
.
setTitle
(
"餐牌管理"
);
topbarFoodMenu
.
addLeftBackImageButton
().
setOnClickListener
(
v
->
killMyself
());
QMUIAlphaImageButton
rightButton
=
topbarFoodMenu
.
addRightImageButton
(
R
.
drawable
.
ic_add_have_border
,
R
.
id
.
topbar_right_add_button
);
rightButton
.
setOnClickListener
(
v
->
{
launchActivity
(
new
Intent
(
mContext
,
NewFoodActivity
.
class
));
});
}
@Override
...
...
@@ -176,12 +108,4 @@ public class FoodMenuManageActivity extends BaseActivity<FoodMenuManagePresenter
finish
();
}
@OnClick
({
R2
.
id
.
btn_add_food_group
})
@Override
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
btn_add_food_group
)
{
launchActivity
(
new
Intent
(
mContext
,
NewAddFoodGroupActivity
.
class
));
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewAddFoodGroupActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.graphics.drawable.Drawable
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.content.ContextCompat
;
import
androidx.recyclerview.widget.DividerItemDecoration
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewAddFoodGroupComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewAddFoodGroupContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.NewAddFoodGroupPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuAdapter
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* 新增食品組----編輯食品組
* 傳了食品組信息就是編輯
*/
public
class
NewAddFoodGroupActivity
extends
BaseActivity
<
NewAddFoodGroupPresenter
>
implements
NewAddFoodGroupContract
.
View
{
@BindView
(
R2
.
id
.
topbar_list
)
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btnSave
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerNewAddFoodGroupComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_new_add_food_group
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
//添加自定义分割线
DividerItemDecoration
divider
=
new
DividerItemDecoration
(
this
,
DividerItemDecoration
.
VERTICAL
);
Drawable
drawable
=
ContextCompat
.
getDrawable
(
this
,
R
.
drawable
.
divider_f5
);
assert
drawable
!=
null
;
divider
.
setDrawable
(
drawable
);
rvContent
.
addItemDecoration
(
divider
);
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
rvContent
.
setAdapter
(
FoodMenuAdapter
.
getFoodMenuAdapter
(
mContext
,
FoodMenuAdapter
.
NEW_FOOD_GROUP
));
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
topbarList
.
setTitle
(
"新增食品組"
);
topbarList
.
addLeftBackImageButton
().
setOnClickListener
(
v
->
killMyself
());
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewFoodActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.ViewPager
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewFoodComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewFoodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.NewFoodPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodItemsFragment
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodPropertiesFragment
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.FoodSetFragment
;
import
com.gingersoft.gsa.cloud.ui.adapter.TabFragmentAdapter
;
import
com.gingersoft.gsa.cloud.ui.view.MyTableView
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
NewFoodActivity
extends
BaseFragmentActivity
<
NewFoodPresenter
>
implements
NewFoodContract
.
View
{
@BindView
(
R2
.
id
.
topbar_new_food
)
QMUITopBar
topbarNewFood
;
@BindView
(
R2
.
id
.
table_view_new_food
)
MyTableView
tableViewNewFood
;
@BindView
(
R2
.
id
.
new_food_viewpager
)
ViewPager
newFoodViewpager
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerNewFoodComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_new_food
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
initViewPager
();
}
private
void
initViewPager
()
{
List
<
String
>
titles
=
new
ArrayList
<>();
List
<
Fragment
>
mFragments
=
new
ArrayList
<>();
titles
.
add
(
"基本屬性"
);
titles
.
add
(
"細項"
);
titles
.
add
(
"套餐"
);
mFragments
.
add
(
FoodPropertiesFragment
.
newInstance
());
mFragments
.
add
(
FoodItemsFragment
.
newInstance
());
mFragments
.
add
(
FoodSetFragment
.
newInstance
());
//实例化适配器
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getSupportFragmentManager
(),
1
);
//设置加载的Fragment集合
mTabFragmentAdapter
.
setFragments
(
mFragments
);
//设置Viewpager的适配器
newFoodViewpager
.
setAdapter
(
mTabFragmentAdapter
);
//TabLayout绑定ViewPager
tableViewNewFood
.
setTitles
(
titles
).
setupWithViewPager
(
newFoodViewpager
);
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
topbarNewFood
.
setTitle
(
"新增食品"
);
topbarNewFood
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
finish
());
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewFoodTypeActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewFoodTypeComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewFoodTypeContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.NewFoodTypePresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:25
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
NewFoodTypeActivity
extends
BaseActivity
<
NewFoodTypePresenter
>
implements
NewFoodTypeContract
.
View
{
@BindView
(
R2
.
id
.
topbar_list
)
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btnSave
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerNewFoodTypeComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_new_food_type
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
rvContent
.
setAdapter
(
FoodMenuAdapter
.
getFoodMenuAdapter
(
mContext
,
FoodMenuAdapter
.
NEW_FOOD_TYPE
));
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
topbarList
.
setTitle
(
"新增餐種"
);
topbarList
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
finish
());
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewSelectPeriodActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewSelectPeriodComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewSelectPeriodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.NewSelectPeriodPresenter
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 10/27/2020 15:30
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
NewSelectPeriodActivity
extends
BaseActivity
<
NewSelectPeriodPresenter
>
implements
NewSelectPeriodContract
.
View
{
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerNewSelectPeriodComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_new_select_period
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/NewTimePeriodActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewTimePeriodComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewTimePeriodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.NewTimePeriodPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* 新增時段
*/
public
class
NewTimePeriodActivity
extends
BaseActivity
<
NewTimePeriodPresenter
>
implements
NewTimePeriodContract
.
View
{
@BindView
(
R2
.
id
.
topbar_list
)
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btnSave
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerNewTimePeriodComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_new_time_period
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
rvContent
.
setAdapter
(
FoodMenuAdapter
.
getFoodMenuAdapter
(
mContext
,
FoodMenuAdapter
.
NEW_TIME_PERIOD
));
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
topbarList
.
setTitle
(
"新增時段"
);
topbarList
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
finish
());
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/SelectFoodGroupActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerSelectFoodGroupComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodGroupContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodGroupBean
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.SelectFoodGroupPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodGroupEditAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.utils.AppDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* 選擇食品組
*/
public
class
SelectFoodGroupActivity
extends
BaseActivity
<
SelectFoodGroupPresenter
>
implements
SelectFoodGroupContract
.
View
,
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
topbar_list
)
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btnSave
;
private
FoodGroupEditAdapter
foodGroupEditAdapter
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerSelectFoodGroupComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_select_food_group
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
btnSave
.
setVisibility
(
View
.
GONE
);
List
<
FoodGroupBean
>
data
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
data
.
add
(
new
FoodGroupBean
(
"食品組名稱"
+
i
));
}
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
foodGroupEditAdapter
=
new
FoodGroupEditAdapter
(
data
);
rvContent
.
setAdapter
(
foodGroupEditAdapter
);
foodGroupEditAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
launchActivity
(
new
Intent
(
mContext
,
NewAddFoodGroupActivity
.
class
)));
foodGroupEditAdapter
.
setOnItemChildClickListener
((
adapter
,
view
,
position
)
->
{
if
(
view
.
getId
()
==
R
.
id
.
iv_food_group_delete
)
{
new
AppDialog
().
showWaringDialog
(
mContext
,
"是否確認刪除"
+
data
.
get
(
position
).
getFoodGroupName
(),
(
view1
,
dialog
)
->
{
foodGroupEditAdapter
.
removeAt
(
position
);
dialog
.
dismiss
();
});
}
});
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
topbarList
.
setTitle
(
"選擇食品組"
);
topbarList
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
finish
());
topbarList
.
addRightImageButton
(
R
.
drawable
.
ic_white_add
,
R
.
id
.
topbar_right_add_button
).
setOnClickListener
(
this
);
topbarList
.
addRightImageButton
(
R
.
drawable
.
ic_white_edit
,
R
.
id
.
topbar_right_edit_button
).
setOnClickListener
(
this
);
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
@Override
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
topbar_right_add_button
)
{
launchActivity
(
new
Intent
(
this
,
NewAddFoodGroupActivity
.
class
));
}
else
if
(
viewId
==
R
.
id
.
topbar_right_edit_button
)
{
if
(
foodGroupEditAdapter
!=
null
)
{
foodGroupEditAdapter
.
setShowEdit
();
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/SelectFoodTypeActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerSelectFoodTypeComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectFoodTypeContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodGroupBean
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.SelectFoodTypePresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodGroupEditAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.utils.AppDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* 選擇餐種頁面
*/
public
class
SelectFoodTypeActivity
extends
BaseActivity
<
SelectFoodTypePresenter
>
implements
SelectFoodTypeContract
.
View
,
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
topbar_list
)
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btnSave
;
private
FoodGroupEditAdapter
foodGroupEditAdapter
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerSelectFoodTypeComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_select_food_type
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
btnSave
.
setVisibility
(
View
.
GONE
);
List
<
FoodGroupBean
>
data
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
data
.
add
(
new
FoodGroupBean
(
"餐種名稱"
+
i
));
}
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
foodGroupEditAdapter
=
new
FoodGroupEditAdapter
(
data
);
rvContent
.
setAdapter
(
foodGroupEditAdapter
);
foodGroupEditAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
launchActivity
(
new
Intent
(
mContext
,
NewAddFoodGroupActivity
.
class
)));
foodGroupEditAdapter
.
setOnItemChildClickListener
((
adapter
,
view
,
position
)
->
{
if
(
view
.
getId
()
==
R
.
id
.
iv_food_group_delete
)
{
new
AppDialog
().
showWaringDialog
(
mContext
,
"是否確認刪除"
+
data
.
get
(
position
).
getFoodGroupName
(),
(
view1
,
dialog
)
->
{
foodGroupEditAdapter
.
removeAt
(
position
);
dialog
.
dismiss
();
});
}
});
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
topbarList
.
setTitle
(
"選擇餐種"
);
topbarList
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
finish
());
topbarList
.
addRightImageButton
(
R
.
drawable
.
ic_white_add
,
R
.
id
.
topbar_right_add_button
).
setOnClickListener
(
this
);
topbarList
.
addRightImageButton
(
R
.
drawable
.
ic_white_edit
,
R
.
id
.
topbar_right_edit_button
).
setOnClickListener
(
this
);
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
@Override
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
topbar_right_add_button
)
{
launchActivity
(
new
Intent
(
this
,
NewFoodTypeActivity
.
class
));
}
else
if
(
viewId
==
R
.
id
.
topbar_right_edit_button
)
{
if
(
foodGroupEditAdapter
!=
null
)
{
foodGroupEditAdapter
.
setShowEdit
();
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/SelectTimePeriodActivity.java
deleted
100644 → 0
View file @
4cce725c
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
activity
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerSelectTimePeriodComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.SelectTimePeriodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodGroupBean
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.SelectTimePeriodPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodGroupEditAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.utils.AppDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* 選擇時段
*/
public
class
SelectTimePeriodActivity
extends
BaseActivity
<
SelectTimePeriodPresenter
>
implements
SelectTimePeriodContract
.
View
,
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
topbar_list
)
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btnSave
;
private
FoodGroupEditAdapter
foodGroupEditAdapter
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerSelectTimePeriodComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_select_time_period
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
btnSave
.
setVisibility
(
View
.
GONE
);
List
<
FoodGroupBean
>
data
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
data
.
add
(
new
FoodGroupBean
(
"時段名稱"
+
i
));
}
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
foodGroupEditAdapter
=
new
FoodGroupEditAdapter
(
data
);
rvContent
.
setAdapter
(
foodGroupEditAdapter
);
foodGroupEditAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
launchActivity
(
new
Intent
(
mContext
,
NewAddFoodGroupActivity
.
class
)));
foodGroupEditAdapter
.
setOnItemChildClickListener
((
adapter
,
view
,
position
)
->
{
if
(
view
.
getId
()
==
R
.
id
.
iv_food_group_delete
)
{
new
AppDialog
().
showWaringDialog
(
mContext
,
"是否確認刪除"
+
data
.
get
(
position
).
getFoodGroupName
(),
(
view1
,
dialog
)
->
{
foodGroupEditAdapter
.
removeAt
(
position
);
dialog
.
dismiss
();
});
}
});
}
@Override
public
void
initIntent
()
{
}
@Override
public
void
initTopBar
()
{
topbarList
.
setTitle
(
"選擇時段"
);
topbarList
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
finish
());
topbarList
.
addRightImageButton
(
R
.
drawable
.
ic_white_add
,
R
.
id
.
topbar_right_add_button
).
setOnClickListener
(
this
);
topbarList
.
addRightImageButton
(
R
.
drawable
.
ic_white_edit
,
R
.
id
.
topbar_right_edit_button
).
setOnClickListener
(
this
);
}
@Override
public
void
initLanguage
()
{
}
@Override
public
void
initLayoutParams
()
{
}
@Override
public
void
initLayoutVisible
()
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
{
LoadingDialog
.
showDialogForLoading
(
this
,
message
,
true
);
}
else
{
LoadingDialog
.
showDialogForLoading
(
this
);
}
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
ArmsUtils
.
makeText
(
this
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
finish
();
}
@Override
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
topbar_right_add_button
)
{
launchActivity
(
new
Intent
(
this
,
NewTimePeriodActivity
.
class
));
}
else
if
(
viewId
==
R
.
id
.
topbar_right_edit_button
)
{
if
(
foodGroupEditAdapter
!=
null
)
{
foodGroupEditAdapter
.
setShowEdit
();
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/
AddFoodItems
Activity.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/menu/
Shell
Activity.java
View file @
04daf44e
...
...
@@ -7,14 +7,18 @@ import androidx.annotation.NonNull;
import
androidx.annotation.Nullable
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerAddFoodItemsComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.AddFoodItemsContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.AddFoodItemsPresenter
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerShellComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.ShellContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.ShellPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.fragment.menu.BaseFoodMenuFragment
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseActivity
;
import
com.jess.arms.base.Base
Fragment
Activity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
me.yokeyword.fragmentation.ISupportFragment
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
FRAGMENT_TYPE
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
...
@@ -22,7 +26,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 1
0/27/2020 15:34
* Created by MVPArmsTemplate on 1
1/03/2020 16:32
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -30,11 +34,11 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
AddFoodItemsActivity
extends
BaseActivity
<
AddFoodItemsPresenter
>
implements
AddFoodItems
Contract
.
View
{
public
class
ShellActivity
extends
BaseFragmentActivity
<
ShellPresenter
>
implements
Shell
Contract
.
View
{
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
Dagger
AddFoodItems
Component
//如找不到该类,请编译一下项目
Dagger
Shell
Component
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
...
...
@@ -44,12 +48,19 @@ public class AddFoodItemsActivity extends BaseActivity<AddFoodItemsPresenter> im
@Override
public
int
initView
(
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_
add_food_items
;
return
R
.
layout
.
activity_
shell
;
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
int
intExtra
=
getIntent
().
getIntExtra
(
FRAGMENT_TYPE
,
0
);
ISupportFragment
fragmentByType
=
BaseFoodMenuFragment
.
getFragmentByType
(
intExtra
);
if
(
fragmentByType
!=
null
){
loadRootFragment
(
R
.
id
.
layout_food_menu_shell_content
,
fragmentByType
);
}
else
{
showMessage
(
"加載失敗.."
);
killMyself
();
}
}
@Override
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/FoodMenuAdapter.java
View file @
04daf44e
...
...
@@ -4,9 +4,6 @@ import android.content.Context;
import
com.chad.library.adapter.base.BaseProviderMultiAdapter
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodMenuEditBean
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.SelectFoodGroupActivity
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.SelectFoodTypeActivity
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.SelectTimePeriodActivity
;
import
org.jetbrains.annotations.NotNull
;
...
...
@@ -15,16 +12,20 @@ import java.util.Calendar;
import
java.util.List
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
utils
.
time
.
TimeUtils
.
DATE_FORMAT_DATE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
ADD_FOOD_ITEM
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
EDIT_FOOD_ITEM_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
FOOD_PROPERTIES
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
BaseFoodMenuFragment
.
NEW_TIME_PERIOD
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_FOOD_GROUP
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_FOOD_TYPE
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
.
FoodMenuFragment
.
SELECT_TIME_PERIOD
;
/**
* @author admin
*/
public
class
FoodMenuAdapter
extends
BaseProviderMultiAdapter
<
FoodMenuEditBean
>
{
public
final
static
int
NEW_FOOD_GROUP
=
1
;
public
final
static
int
NEW_FOOD_PROPERTIES
=
2
;
public
final
static
int
NEW_FOOD_TYPE
=
3
;
public
final
static
int
NEW_TIME_PERIOD
=
4
;
private
static
FoodMenuEditBean
showClient
;
public
static
FoodMenuAdapter
getFoodMenuAdapter
(
Context
context
,
int
listType
)
{
...
...
@@ -33,7 +34,7 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
case
NEW_FOOD_GROUP:
foodMenuEditBeans
=
getNewFoodGroupData
();
break
;
case
NEW_
FOOD_PROPERTIES:
case
FOOD_PROPERTIES:
foodMenuEditBeans
=
getNewFoodProperties
();
break
;
case
NEW_FOOD_TYPE:
...
...
@@ -42,6 +43,9 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
case
NEW_TIME_PERIOD:
foodMenuEditBeans
=
getNewTimePeriod
();
break
;
case
ADD_FOOD_ITEM:
foodMenuEditBeans
=
getAddFoodItems
();
break
;
default
:
foodMenuEditBeans
=
null
;
break
;
...
...
@@ -57,6 +61,7 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
addItemProvider
(
new
BooleanItemProvider
());
addItemProvider
(
new
CheckBoxItemProvider
(
context
));
addItemProvider
(
new
PicUploadPicProvider
(
context
));
addItemProvider
(
new
RadioItemProvider
(
context
));
}
@Override
...
...
@@ -74,8 +79,8 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品組名稱1"
,
true
,
"請輸入食品組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品組名稱2"
,
false
,
"請輸入食品組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品組名稱3"
,
false
,
"請輸入食品組名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"時段"
,
false
,
"默認為全時段"
,
S
electTimePeriodActivity
.
class
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"餐種"
,
false
,
"請選擇餐種"
,
S
electFoodTypeActivity
.
class
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"時段"
,
false
,
"默認為全時段"
,
S
ELECT_TIME_PERIOD
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"餐種"
,
false
,
"請選擇餐種"
,
S
ELECT_FOOD_TYPE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_BOOLEAN
,
"顯示狀態"
,
false
,
true
,
true
));
...
...
@@ -104,15 +109,15 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
*/
public
static
List
<
FoodMenuEditBean
>
getNewFoodProperties
()
{
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"食品組"
,
true
,
"請選擇食品組"
,
S
electFoodGroupActivity
.
class
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"食品組"
,
true
,
"請選擇食品組"
,
S
ELECT_FOOD_GROUP
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品名稱1"
,
true
,
"請輸入食品名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品名稱2"
,
false
,
"請輸入食品名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品名稱3"
,
false
,
"請輸入食品名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品金額"
,
true
,
"請輸入食品金額"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品原價"
,
true
,
"請輸入食品原價"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"打印位置"
,
true
,
"請選擇打印位置"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"餐種"
,
true
,
"請選擇餐種"
,
S
electFoodTypeActivity
.
class
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"時段"
,
false
,
"全時段"
,
S
electTimePeriodActivity
.
class
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"餐種"
,
true
,
"請選擇餐種"
,
S
ELECT_FOOD_TYPE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"時段"
,
false
,
"全時段"
,
S
ELECT_TIME_PERIOD
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品描述"
,
false
,
""
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
...
...
@@ -155,8 +160,8 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"開始日期"
,
false
,
""
,
DATE_FORMAT_DATE
.
format
(
calendar
.
getTime
())));
calendar
.
set
(
Calendar
.
YEAR
,
calendar
.
get
(
Calendar
.
YEAR
)
+
10
);
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"結束日期"
,
false
,
""
,
DATE_FORMAT_DATE
.
format
(
calendar
.
getTime
())));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"開始時間"
,
false
,
""
,
"00:00:00"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"結束時間"
,
false
,
""
,
"23:59:59"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"開始時間"
,
false
,
""
,
"00:00:00"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"結束時間"
,
false
,
""
,
"23:59:59"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_THICK_LINE
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_CHECKBOX
,
"週期"
,
false
));
...
...
@@ -172,4 +177,34 @@ public class FoodMenuAdapter extends BaseProviderMultiAdapter<FoodMenuEditBean>
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_CHECKBOX
,
""
,
false
,
checkBoxList
));
return
foodMenuEditBeans
;
}
/**
* 加配細項
*
* @return
*/
public
static
List
<
FoodMenuEditBean
>
getAddFoodItems
()
{
List
<
FoodMenuEditBean
>
foodMenuEditBeans
=
new
ArrayList
<>();
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"食品名稱"
,
false
,
"請輸入時段名稱"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"細線組"
,
false
,
"請選擇"
,
EDIT_FOOD_ITEM_GROUP
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"最小數量"
,
false
,
"請輸入最小數量"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"最大數量"
,
false
,
"請輸入最大數量"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"優惠金額"
,
false
,
"請輸入優惠金額"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_INPUT
,
"整組優惠金額"
,
false
,
"請輸入整組優惠金額"
));
List
<
FoodMenuEditBean
.
ShowClient
>
showTypes
=
new
ArrayList
<>();
showTypes
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"普通組別"
,
false
));
showTypes
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"加配食品"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_RADIO
,
"展示類型"
,
false
,
showTypes
));
List
<
FoodMenuEditBean
.
ShowClient
>
selectCount
=
new
ArrayList
<>();
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"選擇一次"
,
false
));
selectCount
.
add
(
new
FoodMenuEditBean
.
ShowClient
(
"選擇多次"
,
false
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_RADIO
,
"選擇次數"
,
false
,
selectCount
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"默認選擇"
,
false
,
"請選擇"
));
foodMenuEditBeans
.
add
(
new
FoodMenuEditBean
(
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
,
"排除選項"
,
false
,
"請選擇"
));
return
foodMenuEditBeans
;
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/RadioItemProvider.java
0 → 100644
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
adapter
.
foodmenu
;
import
android.content.Context
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodMenuEditBean
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.multi.RadioAdapter
;
import
org.jetbrains.annotations.NotNull
;
/**
* @author 宇航.
* User: admin
* Date: 2020/10/28
* Time: 11:54
*/
public
class
RadioItemProvider
extends
FoodMenuItemProvider
{
private
Context
context
;
private
int
selectIndex
;
public
RadioItemProvider
(
Context
context
)
{
this
.
context
=
context
;
}
@Override
public
int
getItemViewType
()
{
return
FoodMenuEditBean
.
EDIT_FOOD_ITEM_RADIO
;
}
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
item_food_menu_radio
;
}
@Override
public
void
convert
(
@NotNull
BaseViewHolder
baseViewHolder
,
FoodMenuEditBean
foodMenuEditBean
)
{
super
.
convert
(
baseViewHolder
,
foodMenuEditBean
);
RecyclerView
rv
=
baseViewHolder
.
getView
(
R
.
id
.
rv_radio
);
rv
.
setLayoutManager
(
new
GridLayoutManager
(
context
,
2
));
rv
.
setAdapter
(
new
RadioAdapter
(
foodMenuEditBean
.
getCheckBoxList
()));
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/SelectItemProvider.java
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
adapter
.
foodmenu
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.view.View
;
import
android.widget.TextView
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
...
...
@@ -42,12 +40,4 @@ public class SelectItemProvider extends FoodMenuItemProvider {
textView
.
setText
(
foodMenuEditBean
.
getHintText
());
}
}
@Override
public
void
onClick
(
@NotNull
BaseViewHolder
helper
,
@NotNull
View
view
,
FoodMenuEditBean
data
,
int
position
)
{
super
.
onClick
(
helper
,
view
,
data
,
position
);
if
(
data
.
getCls
()
!=
null
)
{
context
.
startActivity
(
new
Intent
(
context
,
data
.
getCls
()));
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/adapter/foodmenu/multi/RadioAdapter.java
0 → 100644
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
adapter
.
foodmenu
.
multi
;
import
android.widget.RadioButton
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodMenuEditBean
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
import
java.util.List
;
/**
* @author 宇航.
* User: admin
* Date: 2020/10/28
* Time: 16:04
* Use:
*/
public
class
RadioAdapter
extends
BaseQuickAdapter
<
FoodMenuEditBean
.
ShowClient
,
BaseViewHolder
>
{
private
int
checkedIndex
;
public
RadioAdapter
(
@Nullable
List
<
FoodMenuEditBean
.
ShowClient
>
data
)
{
super
(
R
.
layout
.
item_child_radio
,
data
);
}
@Override
protected
void
convert
(
@NotNull
BaseViewHolder
baseViewHolder
,
FoodMenuEditBean
.
ShowClient
showClient
)
{
RadioButton
radioButton
=
baseViewHolder
.
getView
(
R
.
id
.
rb_food_menu_item
);
radioButton
.
setText
(
showClient
.
getClientName
());
radioButton
.
setChecked
(
baseViewHolder
.
getAdapterPosition
()
==
checkedIndex
);
radioButton
.
setOnCheckedChangeListener
((
buttonView
,
isChecked
)
->
{
checkedIndex
=
baseViewHolder
.
getAdapterPosition
();
notifyDataSetChanged
();
});
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/BaseFoodMenuFragment.java
0 → 100644
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodMenuEditBean
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuAdapter
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.mvp.IPresenter
;
import
me.yokeyword.fragmentation.ISupportFragment
;
/**
* @author 宇航.
* User: admin
* Date: 2020/11/3
* Time: 14:22
* Use:
*/
public
abstract
class
BaseFoodMenuFragment
<
P
extends
IPresenter
>
extends
BaseFragment
<
P
>
{
public
final
static
String
FRAGMENT_TYPE
=
"fragmentType"
;
public
final
static
String
TITLE_KEY
=
"title"
;
public
final
static
String
TO_SHELL_ACTIVITY
=
"toShellActivity"
;
/**
* 新增食品組
*/
public
final
static
int
NEW_FOOD_GROUP
=
1
;
/**
* 食品詳情的基本屬性頁面
*/
public
final
static
int
FOOD_PROPERTIES
=
2
;
/**
* 選擇時段
*/
public
final
static
int
SELECT_TIME_PERIOD
=
3
;
/**
* 新增時段
*/
public
final
static
int
NEW_TIME_PERIOD
=
4
;
/**
* 選擇食品組
*/
public
final
static
int
SELECT_FOOD_GROUP
=
5
;
/**
* 選擇餐種
*/
public
final
static
int
SELECT_FOOD_TYPE
=
6
;
/**
* 新增餐種
*/
public
final
static
int
NEW_FOOD_TYPE
=
7
;
/**
* 加配細項
*/
public
final
static
int
ADD_FOOD_ITEM
=
8
;
/**
* 編輯細項組
*/
public
final
static
int
EDIT_FOOD_ITEM_GROUP
=
9
;
protected
void
toFragmentByAdapter
(
FoodMenuAdapter
adapter
,
int
position
)
{
if
(
adapter
.
getItemViewType
(
position
)
==
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
)
{
toFragmentByFragmentType
(
adapter
.
getData
().
get
(
position
).
getFragmentType
());
}
}
public
static
ISupportFragment
getFragmentByType
(
int
fragmentType
)
{
ISupportFragment
fragment
=
null
;
switch
(
fragmentType
)
{
case
NEW_FOOD_GROUP:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"新增食品組"
,
false
);
break
;
case
FOOD_PROPERTIES:
fragment
=
NewFoodFragment
.
newInstance
();
break
;
case
SELECT_TIME_PERIOD:
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇時段"
);
break
;
case
SELECT_FOOD_GROUP:
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇食品組"
);
break
;
case
SELECT_FOOD_TYPE:
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇餐種"
);
break
;
case
NEW_TIME_PERIOD:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"新增時段"
);
break
;
case
NEW_FOOD_TYPE:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"新增餐種"
);
break
;
case
ADD_FOOD_ITEM:
fragment
=
NewlyAddedFragment
.
newInstance
(
fragmentType
,
"加配細項"
);
break
;
case
EDIT_FOOD_ITEM_GROUP:
fragment
=
EditFoodFragment
.
newInstance
(
fragmentType
,
"選擇細項組"
);
break
;
default
:
break
;
}
return
fragment
;
}
protected
void
toFragmentByFragmentType
(
int
fragmentType
)
{
ISupportFragment
fragment
=
getFragmentByType
(
fragmentType
);
if
(
fragment
!=
null
)
{
start
(
fragment
);
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/EditFoodFragment.java
0 → 100644
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerEditFoodComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.EditFoodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodGroupBean
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodMenuEditBean
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.EditFoodPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodGroupEditAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.utils.AppDialog
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* 餐牌 -- 編輯共用fragment
*/
public
class
EditFoodFragment
extends
BaseFoodMenuFragment
<
EditFoodPresenter
>
implements
EditFoodContract
.
View
,
View
.
OnClickListener
{
public
static
EditFoodFragment
newInstance
(
int
fragmentType
,
String
title
)
{
return
newInstance
(
fragmentType
,
title
,
false
);
}
public
static
EditFoodFragment
newInstance
(
int
fragmentType
,
String
title
,
boolean
isToShellActivity
)
{
EditFoodFragment
fragment
=
new
EditFoodFragment
();
fragment
.
setArguments
(
getBundle
(
fragmentType
,
title
,
isToShellActivity
));
return
fragment
;
}
private
static
Bundle
getBundle
(
int
fragmentType
,
String
title
,
boolean
isToShellActivity
)
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
FRAGMENT_TYPE
,
fragmentType
);
bundle
.
putString
(
TITLE_KEY
,
title
);
bundle
.
putBoolean
(
TO_SHELL_ACTIVITY
,
isToShellActivity
);
return
bundle
;
}
@BindView
(
R2
.
id
.
topbar_list
)
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
private
int
fragmentType
;
private
String
title
;
private
boolean
toShellActivity
;
private
FoodGroupEditAdapter
foodGroupEditAdapter
;
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerEditFoodComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_edit_food
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
if
(
arguments
!=
null
)
{
fragmentType
=
arguments
.
getInt
(
FRAGMENT_TYPE
);
title
=
arguments
.
getString
(
TITLE_KEY
);
toShellActivity
=
arguments
.
getBoolean
(
TO_SHELL_ACTIVITY
);
}
initTopBar
(
title
);
List
<
FoodGroupBean
>
data
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
data
.
add
(
new
FoodGroupBean
(
"時段名稱"
+
i
));
}
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
foodGroupEditAdapter
=
new
FoodGroupEditAdapter
(
data
);
rvContent
.
setAdapter
(
foodGroupEditAdapter
);
foodGroupEditAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
if
(
adapter
.
getItemViewType
(
position
)
==
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
)
{
if
(
toShellActivity
)
{
// Intent intent = new Intent(mContext, ShellActivity.class);
// intent.putExtra(FRAGMENT_TYPE, foodGroupEditAdapter.getData().get(position).getFragmentType());
// startActivity(intent);
}
else
{
// toFragmentByFragmentType(foodGroupEditAdapter.getData().get(position).getFragmentType());
}
}
else
{
}
});
foodGroupEditAdapter
.
setOnItemChildClickListener
((
adapter
,
view
,
position
)
->
{
if
(
view
.
getId
()
==
R
.
id
.
iv_food_group_delete
)
{
new
AppDialog
().
showWaringDialog
(
mContext
,
"是否確認刪除"
+
data
.
get
(
position
).
getFoodGroupName
(),
(
view1
,
dialog
)
->
{
foodGroupEditAdapter
.
removeAt
(
position
);
dialog
.
dismiss
();
});
}
});
}
public
void
initTopBar
(
String
title
)
{
topbarList
.
setTitle
(
title
);
topbarList
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
{
FragmentActivity
activity
=
getActivity
();
if
(
activity
!=
null
)
{
activity
.
onBackPressed
();
}
});
topbarList
.
addRightImageButton
(
R
.
drawable
.
ic_white_add
,
R
.
id
.
topbar_right_add_button
).
setOnClickListener
(
this
);
topbarList
.
addRightImageButton
(
R
.
drawable
.
ic_white_edit
,
R
.
id
.
topbar_right_edit_button
).
setOnClickListener
(
this
);
}
@Override
public
boolean
onBackPressedSupport
()
{
return
super
.
onBackPressedSupport
();
}
/**
* 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
* 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
* 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
* <p>
* 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
* 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
* 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
* <p>
* Example usage:
* <pre>
* public void setData(@Nullable Object data) {
* if (data != null && data instanceof Message) {
* switch (((Message) data).what) {
* case 0:
* loadData(((Message) data).arg1);
* break;
* case 1:
* refreshUI();
* break;
* default:
* //do something
* break;
* }
* }
* }
*
* // call setData(Object):
* Message data = new Message();
* data.what = 0;
* data.arg1 = 1;
* fragment.setData(data);
* </pre>
*
* @param data 当不需要参数时 {@code data} 可以为 {@code null}
*/
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
@Override
public
void
showLoading
(
String
message
)
{
}
@Override
public
void
hideLoading
()
{
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
checkNotNull
(
message
);
ArmsUtils
.
snackbarText
(
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
}
@Override
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
topbar_right_add_button
)
{
int
toFragmentType
=
0
;
switch
(
fragmentType
)
{
case
SELECT_FOOD_GROUP:
toFragmentType
=
NEW_FOOD_GROUP
;
break
;
case
SELECT_FOOD_TYPE:
toFragmentType
=
NEW_FOOD_TYPE
;
break
;
case
SELECT_TIME_PERIOD:
toFragmentType
=
NEW_TIME_PERIOD
;
break
;
default
:
break
;
}
start
(
getFragmentByType
(
toFragmentType
));
}
else
if
(
viewId
==
R
.
id
.
topbar_right_edit_button
)
{
if
(
foodGroupEditAdapter
!=
null
)
{
foodGroupEditAdapter
.
setShowEdit
();
}
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/FoodItemsFragment.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/
Edit
FoodItemsFragment.java
View file @
04daf44e
...
...
@@ -6,35 +6,57 @@ import android.os.Message;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodItemsComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodItemsContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodItemsPresenter
;
import
com.jess.arms.base.BaseFragment
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerEditFoodItemsComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.EditFoodItemsContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.EditFoodItemsPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.ShellActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* 新增食品--細項編輯頁面
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 11/03/2020 17:54
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
FoodItemsFragment
extends
BaseFragment
<
FoodItemsPresenter
>
implements
FoodItemsContract
.
View
{
public
class
EditFoodItemsFragment
extends
BaseFoodMenuFragment
<
EditFoodItemsPresenter
>
implements
EditFoodItemsContract
.
View
,
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
tv_add_item
)
TextView
tvAddItem
;
@BindView
(
R2
.
id
.
tv_food_item_manger
)
TextView
tvFoodItemManger
;
@BindView
(
R2
.
id
.
rv_food_items
)
RecyclerView
rvFoodItems
;
public
static
FoodItemsFragment
newInstance
()
{
FoodItemsFragment
fragment
=
new
FoodItemsFragment
();
public
static
Edit
FoodItemsFragment
newInstance
()
{
EditFoodItemsFragment
fragment
=
new
Edit
FoodItemsFragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerFoodItemsComponent
//如找不到该类,请编译一下项目
Dagger
Edit
FoodItemsComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
...
...
@@ -44,7 +66,7 @@ public class FoodItemsFragment extends BaseFragment<FoodItemsPresenter> implemen
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_food_items
,
container
,
false
);
return
inflater
.
inflate
(
R
.
layout
.
fragment_
edit_
food_items
,
container
,
false
);
}
@Override
...
...
@@ -119,4 +141,20 @@ public class FoodItemsFragment extends BaseFragment<FoodItemsPresenter> implemen
public
void
killMyself
()
{
}
@OnClick
({
R2
.
id
.
tv_add_item
,
R2
.
id
.
tv_food_item_manger
})
@Override
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
tv_add_item
){
//加配細項
Intent
intent
=
new
Intent
(
mContext
,
ShellActivity
.
class
);
intent
.
putExtra
(
FRAGMENT_TYPE
,
ADD_FOOD_ITEM
);
startActivity
(
intent
);
}
else
if
(
viewId
==
R
.
id
.
tv_food_item_manger
){
//細項管理
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/FoodMenuFragment.java
0 → 100644
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Button
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodMenuComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodMenuContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodMenuPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuMangerLeftAdapter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuMangerRightAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaImageButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.Arrays
;
import
java.util.List
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 11/03/2020 09:31
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
FoodMenuFragment
extends
BaseFoodMenuFragment
<
FoodMenuPresenter
>
implements
FoodMenuContract
.
View
,
View
.
OnClickListener
{
@BindView
(
R2
.
id
.
topbar_food_menu
)
QMUITopBar
topbarFoodMenu
;
@BindView
(
R2
.
id
.
btn_add_food_group
)
Button
btnAddFoodGroup
;
@BindView
(
R2
.
id
.
rv_food_menu_food_classification
)
RecyclerView
leftRv
;
@BindView
(
R2
.
id
.
rv_food_menu_all_food
)
RecyclerView
rightRv
;
private
List
<
String
>
category
=
Arrays
.
asList
(
"A食品"
,
"B食品"
,
"C食品"
,
"D食品"
,
"E食品"
);
public
static
FoodMenuFragment
newInstance
()
{
FoodMenuFragment
fragment
=
new
FoodMenuFragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerFoodMenuComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_food_menu
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
initTopBar
();
leftRv
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
leftRv
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
FoodMenuMangerLeftAdapter
foodMenuMangerLeftAdapter
=
new
FoodMenuMangerLeftAdapter
(
mContext
,
category
);
leftRv
.
setAdapter
(
foodMenuMangerLeftAdapter
);
String
[]
foods
=
new
String
[
50
];
for
(
int
i
=
0
;
i
<
50
;
i
++)
{
int
x
=
i
/
10
;
String
foodName
=
category
.
get
(
x
);
foods
[
i
]
=
foodName
+
i
;
}
rightRv
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
rightRv
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
FoodMenuMangerRightAdapter
foodMenuMangerRightAdapter
=
new
FoodMenuMangerRightAdapter
(
category
,
foods
);
rightRv
.
setAdapter
(
foodMenuMangerRightAdapter
);
foodMenuMangerLeftAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
int
section
=
foodMenuMangerRightAdapter
.
getPositionForSection
(
position
);
foodMenuMangerLeftAdapter
.
setSelectIndex
(
position
);
((
LinearLayoutManager
)
rightRv
.
getLayoutManager
()).
scrollToPositionWithOffset
(
section
,
0
);
});
rightRv
.
addOnScrollListener
(
new
RecyclerView
.
OnScrollListener
()
{
@Override
public
void
onScrollStateChanged
(
@NonNull
RecyclerView
recyclerView
,
int
newState
)
{
super
.
onScrollStateChanged
(
recyclerView
,
newState
);
}
@Override
public
void
onScrolled
(
@NonNull
RecyclerView
recyclerView
,
int
dx
,
int
dy
)
{
super
.
onScrolled
(
recyclerView
,
dx
,
dy
);
}
});
}
public
void
initTopBar
()
{
topbarFoodMenu
.
setTitle
(
"餐牌管理"
);
topbarFoodMenu
.
addLeftBackImageButton
().
setOnClickListener
(
v
->
onBackPressedSupport
());
QMUIAlphaImageButton
rightButton
=
topbarFoodMenu
.
addRightImageButton
(
R
.
drawable
.
ic_add_have_border
,
R
.
id
.
topbar_right_add_button
);
rightButton
.
setOnClickListener
(
v
->
toFragmentByFragmentType
(
FOOD_PROPERTIES
));
}
/**
* 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
* 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
* 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
* <p>
* 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
* 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
* 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
* <p>
* Example usage:
* <pre>
* public void setData(@Nullable Object data) {
* if (data != null && data instanceof Message) {
* switch (((Message) data).what) {
* case 0:
* loadData(((Message) data).arg1);
* break;
* case 1:
* refreshUI();
* break;
* default:
* //do something
* break;
* }
* }
* }
*
* // call setData(Object):
* Message data = new Message();
* data.what = 0;
* data.arg1 = 1;
* fragment.setData(data);
* </pre>
*
* @param data 当不需要参数时 {@code data} 可以为 {@code null}
*/
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
@Override
public
void
showLoading
(
String
message
)
{
}
@Override
public
void
hideLoading
()
{
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
checkNotNull
(
message
);
ArmsUtils
.
snackbarText
(
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
}
@OnClick
({
R2
.
id
.
btn_add_food_group
})
@Override
public
void
onClick
(
View
v
)
{
int
viewId
=
v
.
getId
();
if
(
viewId
==
R
.
id
.
btn_add_food_group
)
{
toFragmentByFragmentType
(
NEW_FOOD_GROUP
);
}
}
}
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/FoodSetFragment.java
View file @
04daf44e
...
...
@@ -15,7 +15,6 @@ import com.gingersoft.gsa.cloud.main.R;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodSetComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodSetContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodSetPresenter
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
...
...
@@ -25,7 +24,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* 新增食品--套餐編輯頁面
*/
public
class
FoodSetFragment
extends
BaseFragment
<
FoodSetPresenter
>
implements
FoodSetContract
.
View
{
public
class
FoodSetFragment
extends
BaseF
oodMenuF
ragment
<
FoodSetPresenter
>
implements
FoodSetContract
.
View
{
public
static
FoodSetFragment
newInstance
()
{
FoodSetFragment
fragment
=
new
FoodSetFragment
();
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/
FoodProperties
Fragment.java
→
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/
NewFood
Fragment.java
View file @
04daf44e
...
...
@@ -10,47 +10,56 @@ import android.view.ViewGroup;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.viewpager.widget.ViewPager
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerFoodPropertiesComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.FoodPropertiesContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.FoodPropertiesPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.jess.arms.base.BaseFragment
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewFoodComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewFoodContract
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.NewFoodPresenter
;
import
com.gingersoft.gsa.cloud.ui.adapter.TabFragmentAdapter
;
import
com.gingersoft.gsa.cloud.ui.view.MyTableView
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* 食品的基本屬性,新增食品
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 11/03/2020 10:02
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
FoodPropertiesFragment
extends
BaseFragment
<
FoodPropertiesPresenter
>
implements
FoodProperties
Contract
.
View
{
public
class
NewFoodFragment
extends
BaseFoodMenuFragment
<
NewFoodPresenter
>
implements
NewFood
Contract
.
View
{
@BindView
(
R2
.
id
.
topbar_
list
)
QMUITopBar
topbar
List
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btnSave
;
@BindView
(
R2
.
id
.
topbar_
new_food
)
QMUITopBar
topbar
NewFood
;
@BindView
(
R2
.
id
.
table_view_new_food
)
MyTableView
tableViewNewFood
;
@BindView
(
R2
.
id
.
new_food_viewpager
)
ViewPager
newFoodViewpager
;
public
static
FoodProperties
Fragment
newInstance
()
{
FoodPropertiesFragment
fragment
=
new
FoodProperties
Fragment
();
public
static
NewFood
Fragment
newInstance
()
{
NewFoodFragment
fragment
=
new
NewFood
Fragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
Dagger
FoodProperties
Component
//如找不到该类,请编译一下项目
Dagger
NewFood
Component
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
...
...
@@ -60,15 +69,39 @@ public class FoodPropertiesFragment extends BaseFragment<FoodPropertiesPresenter
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_
food_properties
,
container
,
false
);
return
inflater
.
inflate
(
R
.
layout
.
fragment_
new_food
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
topbarList
.
setVisibility
(
View
.
GONE
);
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
LinearLayoutManager
.
VERTICAL
));
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
rvContent
.
setAdapter
(
FoodMenuAdapter
.
getFoodMenuAdapter
(
mContext
,
FoodMenuAdapter
.
NEW_FOOD_PROPERTIES
));
initTopBar
();
initViewPager
();
}
private
void
initViewPager
()
{
List
<
String
>
titles
=
new
ArrayList
<>();
List
<
Fragment
>
mFragments
=
new
ArrayList
<>();
titles
.
add
(
"基本屬性"
);
titles
.
add
(
"細項"
);
titles
.
add
(
"套餐"
);
mFragments
.
add
(
NewlyAddedFragment
.
newInstance
(
FOOD_PROPERTIES
,
null
,
true
));
mFragments
.
add
(
EditFoodItemsFragment
.
newInstance
());
mFragments
.
add
(
FoodSetFragment
.
newInstance
());
//实例化适配器
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getParentFragmentManager
(),
1
);
//设置加载的Fragment集合
mTabFragmentAdapter
.
setFragments
(
mFragments
);
//设置Viewpager的适配器
newFoodViewpager
.
setAdapter
(
mTabFragmentAdapter
);
//TabLayout绑定ViewPager
tableViewNewFood
.
setTitles
(
titles
).
setupWithViewPager
(
newFoodViewpager
);
}
public
void
initTopBar
()
{
topbarNewFood
.
setTitle
(
"新增食品"
);
topbarNewFood
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
getParentFragmentManager
().
popBackStack
());
}
/**
...
...
@@ -112,7 +145,6 @@ public class FoodPropertiesFragment extends BaseFragment<FoodPropertiesPresenter
}
@Override
public
void
showLoading
(
String
message
)
{
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/menu/NewlyAddedFragment.java
0 → 100644
View file @
04daf44e
package
com
.
gingersoft
.
gsa
.
cloud
.
main
.
mvp
.
ui
.
fragment
.
menu
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerNewlyAddedComponent
;
import
com.gingersoft.gsa.cloud.main.mvp.contract.NewlyAddedContract
;
import
com.gingersoft.gsa.cloud.main.mvp.model.bean.FoodMenuEditBean
;
import
com.gingersoft.gsa.cloud.main.mvp.presenter.NewlyAddedPresenter
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.activity.menu.ShellActivity
;
import
com.gingersoft.gsa.cloud.main.mvp.ui.adapter.foodmenu.FoodMenuAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
butterknife.BindView
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
recylcler
.
decorator
.
DividerItemDecoration
.
VERTICAL_LIST
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 11/03/2020 09:53
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
NewlyAddedFragment
extends
BaseFoodMenuFragment
<
NewlyAddedPresenter
>
implements
NewlyAddedContract
.
View
{
public
static
NewlyAddedFragment
newInstance
(
int
fragmentType
,
String
title
)
{
return
newInstance
(
fragmentType
,
title
,
false
);
}
/**
* @param fragmentType fragment類型
* @param title 標題
* @param isToShellActivity 是否打開帶activity的fragment
*/
public
static
NewlyAddedFragment
newInstance
(
int
fragmentType
,
String
title
,
boolean
isToShellActivity
)
{
NewlyAddedFragment
fragment
=
new
NewlyAddedFragment
();
fragment
.
setArguments
(
getBundle
(
fragmentType
,
title
,
isToShellActivity
));
return
fragment
;
}
private
static
Bundle
getBundle
(
int
fragmentType
,
String
title
,
boolean
isToShellActivity
)
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
FRAGMENT_TYPE
,
fragmentType
);
bundle
.
putString
(
TITLE_KEY
,
title
);
bundle
.
putBoolean
(
TO_SHELL_ACTIVITY
,
isToShellActivity
);
return
bundle
;
}
private
int
fragmentType
;
private
String
title
;
private
boolean
toShellActivity
;
@BindView
(
R2
.
id
.
topbar_list
)
QMUITopBar
topbarList
;
@BindView
(
R2
.
id
.
rv_content
)
RecyclerView
rvContent
;
@BindView
(
R2
.
id
.
btn_save
)
QMUIAlphaButton
btnSave
;
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerNewlyAddedComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_newly_added
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
if
(
arguments
!=
null
)
{
fragmentType
=
arguments
.
getInt
(
FRAGMENT_TYPE
);
title
=
arguments
.
getString
(
TITLE_KEY
);
toShellActivity
=
arguments
.
getBoolean
(
TO_SHELL_ACTIVITY
);
}
initTopBar
(
title
);
//添加自定义分割线
rvContent
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
VERTICAL_LIST
));
rvContent
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
FoodMenuAdapter
foodMenuAdapter
=
FoodMenuAdapter
.
getFoodMenuAdapter
(
mContext
,
fragmentType
);
foodMenuAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
if
(
adapter
.
getItemViewType
(
position
)
==
FoodMenuEditBean
.
EDIT_FOOD_ITEM_SELECT
)
{
if
(
toShellActivity
)
{
Intent
intent
=
new
Intent
(
mContext
,
ShellActivity
.
class
);
intent
.
putExtra
(
FRAGMENT_TYPE
,
foodMenuAdapter
.
getData
().
get
(
position
).
getFragmentType
());
startActivity
(
intent
);
}
else
{
toFragmentByFragmentType
(
foodMenuAdapter
.
getData
().
get
(
position
).
getFragmentType
());
}
}
else
{
}
});
rvContent
.
setAdapter
(
foodMenuAdapter
);
}
public
void
initTopBar
(
String
title
)
{
if
(
TextUtil
.
isNotEmptyOrNullOrUndefined
(
title
))
{
topbarList
.
setTitle
(
title
);
topbarList
.
addLeftImageButton
(
R
.
drawable
.
icon_return
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
{
FragmentActivity
activity
=
getActivity
();
if
(
activity
!=
null
)
{
activity
.
onBackPressed
();
}
});
}
else
{
topbarList
.
setVisibility
(
View
.
GONE
);
}
}
/**
* 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
* 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
* 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
* <p>
* 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
* 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
* 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
* <p>
* Example usage:
* <pre>
* public void setData(@Nullable Object data) {
* if (data != null && data instanceof Message) {
* switch (((Message) data).what) {最近更新
* case 0:
* loadData(((Message) data).arg1);
* break;
* case 1:
* refreshUI();
* break;
* default:
* //do something
* break;
* }
* }
* }
*
* // call setData(Object):
* Message data = new Message();
* data.what = 0;
* data.arg1 = 1;
* fragment.setData(data);
* </pre>
*
* @param data 当不需要参数时 {@code data} 可以为 {@code null}
*/
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
@Override
public
void
showLoading
(
String
message
)
{
}
@Override
public
void
hideLoading
()
{
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
checkNotNull
(
message
);
ArmsUtils
.
snackbarText
(
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
boolean
onBackPressedSupport
()
{
return
super
.
onBackPressedSupport
();
}
@Override
public
void
killMyself
()
{
}
}
main-module/src/main/res/drawable-xhdpi/ic_radio_checked.png
0 → 100644
View file @
04daf44e
1.45 KB
main-module/src/main/res/drawable-xhdpi/ic_radio_uncheck.png
0 → 100644
View file @
04daf44e
1.34 KB
main-module/src/main/res/drawable/selector_radio_bg.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@drawable/ic_radio_checked"
android:state_checked=
"true"
/>
<item
android:drawable=
"@drawable/ic_radio_uncheck"
/>
</selector>
\ No newline at end of file
main-module/src/main/res/layout/activity_food_menu_manage.xml
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:id=
"@+id/layout_food_menu_content"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUITopBar
android:id=
"@+id/topbar_food_menu"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/head_height"
android:background=
"@color/theme_color"
android:fitsSystemWindows=
"true"
app:qmui_topbar_title_color=
"@color/theme_white_color"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"horizontal"
>
<RelativeLayout
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_food_menu_food_classification"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@id/btn_add_food_group"
android:background=
"@color/color_f3"
/>
<Button
android:id=
"@+id/btn_add_food_group"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:background=
"@color/theme_color"
android:text=
"+食品組"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dp_16"
/>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_food_menu_all_food"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"3.5"
android:orientation=
"vertical"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
android:orientation=
"vertical"
/>
main-module/src/main/res/layout/activity_food_menu_new.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/activity_shell.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:id=
"@+id/layout_food_menu_shell_content"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
/>
main-module/src/main/res/layout/fragment_edit_food.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUITopBar
android:id=
"@+id/topbar_list"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/head_height"
android:background=
"@color/theme_color"
android:fitsSystemWindows=
"true"
app:qmui_topbar_title_color=
"@color/theme_white_color"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_content"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/fragment_edit_food_items.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<TextView
style=
"@style/MainFoodMenuEditItemLayoutStyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_20"
android:layout_marginBottom=
"@dimen/dp_20"
android:textColor=
"@color/theme_color"
android:textSize=
"@dimen/dp_16"
android:textStyle=
"bold"
tools:text=
"三文魚刺身:"
/>
<include
layout=
"@layout/item_thick_line"
/>
<FrameLayout
style=
"@style/MainFoodMenuEditItemLayoutStyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_add_item"
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_20"
android:layout_marginBottom=
"@dimen/dp_20"
android:text=
"加配細項+"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_food_item_manger"
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right|center_vertical"
android:background=
"@drawable/shape_border_no_corner_bg"
android:paddingLeft=
"@dimen/dp_8"
android:paddingTop=
"@dimen/dp_6"
android:paddingRight=
"@dimen/dp_8"
android:paddingBottom=
"@dimen/dp_6"
android:text=
"細項管理"
/>
</FrameLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:paddingTop=
"@dimen/dp_10"
android:paddingBottom=
"@dimen/dp_10"
>
<TextView
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"細項組名稱"
/>
<TextView
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"最小數量"
/>
<TextView
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:gravity=
"center"
android:text=
"最大數量"
/>
<TextView
style=
"@style/MainFoodMenuThemeColorTitleStyle"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"0.8"
android:gravity=
"center"
android:text=
"操作"
/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_food_items"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/fragment_food_menu.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUITopBar
android:id=
"@+id/topbar_food_menu"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/head_height"
android:background=
"@color/theme_color"
android:fitsSystemWindows=
"true"
app:qmui_topbar_title_color=
"@color/theme_white_color"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"horizontal"
>
<RelativeLayout
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_food_menu_food_classification"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@id/btn_add_food_group"
android:background=
"@color/color_f3"
/>
<Button
android:id=
"@+id/btn_add_food_group"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:background=
"@color/theme_color"
android:text=
"+食品組"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dp_16"
/>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_food_menu_all_food"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"3.5"
android:orientation=
"vertical"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/fragment_new_food.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/white"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUITopBar
android:id=
"@+id/topbar_new_food"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/head_height"
android:background=
"@color/theme_color"
android:fitsSystemWindows=
"true"
app:qmui_topbar_text_btn_color_state_list=
"@color/theme_white_color"
app:qmui_topbar_title_color=
"@color/theme_white_color"
/>
<com.gingersoft.gsa.cloud.ui.view.MyTableView
android:id=
"@+id/table_view_new_food"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/tabIndicator_height"
app:tabBackground=
"@color/white"
app:tabIndicator=
"@drawable/tablayout_indicator"
app:tabIndicatorColor=
"@color/theme_color"
app:tabIndicatorFullWidth=
"true"
/>
<androidx.viewpager.widget.ViewPager
android:id=
"@+id/new_food_viewpager"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/fragment_new_time_period.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/fragment_newly_added.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<include
layout=
"@layout/include_list_save_layout"
/>
</FrameLayout>
\ No newline at end of file
main-module/src/main/res/layout/fragment_select_time_period.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/layout/item_child_radio.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_gravity=
"center"
>
<RadioButton
android:id=
"@+id/rb_food_menu_item"
style=
"@style/MainFoodMenuEditItemTitleStyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:drawableLeft=
"@drawable/selector_radio_bg"
android:button=
"@null"
android:background=
"@null"
android:drawablePadding=
"@dimen/dp_6"
tools:text=
"H5"
/>
</FrameLayout>
\ No newline at end of file
main-module/src/main/res/layout/item_food_menu_radio.xml
0 → 100644
View file @
04daf44e
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tool=
"http://schemas.android.com/tools"
android:id=
"@+id/layout_food_menu_select"
style=
"@style/MainFoodMenuEditItemLayoutStyle"
android:layout_width=
"match_parent"
>
<TextView
android:id=
"@+id/tv_food_menu_required"
style=
"@style/MainFoodMenuRequiredStyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"*"
/>
<TextView
android:id=
"@+id/tv_food_menu_title"
style=
"@style/MainFoodMenuEditItemTitleStyle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
tool:text=
"顯示端"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_radio"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_20"
/>
</LinearLayout>
\ No newline at end of file
main-module/src/main/res/values/styles.xml
View file @
04daf44e
...
...
@@ -31,7 +31,10 @@
<item
name=
"android:textColor"
>
@color/color_3c
</item>
<item
name=
"android:textSize"
>
@dimen/dp_16
</item>
</style>
<style
name=
"MainFoodMenuThemeColorTitleStyle"
>
<item
name=
"android:textColor"
>
@color/theme_color
</item>
<item
name=
"android:textSize"
>
@dimen/dp_16
</item>
</style>
<style
name=
"MainFoodMenuEditItemHintStyle"
>
<item
name=
"android:textColor"
>
@color/theme_333_color
</item>
<item
name=
"android:textSize"
>
@dimen/dp_16
</item>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment