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
9e3a4f2b
Commit
9e3a4f2b
authored
Jan 19, 2020
by
王宇航
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
打印,结账
parent
480f0737
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
928 additions
and
149 deletions
+928
-149
download-data/src/main/AndroidManifest.xml
+1
-1
download-data/src/main/java/com/gingersoft/gsa/cloud/download/mvp/ui/activity/DownloadActivity.java
+2
-8
print-module/src/main/AndroidManifest.xml
+1
-0
print-module/src/main/debug/AndroidManifest.xml
+8
-3
print-module/src/main/java/com/joe/print/PrintComponent.java
+5
-5
print-module/src/main/java/com/joe/print/di/component/PrintComponent.java
+42
-0
print-module/src/main/java/com/joe/print/di/module/PrintModule.java
+31
-0
print-module/src/main/java/com/joe/print/mvp/contract/PrintContract.java
+35
-0
print-module/src/main/java/com/joe/print/mvp/model/PrintModel.java
+57
-0
print-module/src/main/java/com/joe/print/mvp/presenter/PrintListPresenter.java
+2
-0
print-module/src/main/java/com/joe/print/mvp/presenter/PrintPresenter.java
+91
-0
print-module/src/main/java/com/joe/print/mvp/ui/activity/OldPrintActivity.java
+180
-0
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
+0
-0
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrinterAddActivity.java
+18
-9
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrinterListActivity.java
+52
-48
print-module/src/main/java/com/joe/print/mvp/ui/adapter/PrinterListAdapter.java
+6
-1
print-module/src/main/res/layout/activity_print.xml
+3
-3
print-module/src/main/res/layout/print_dialog_internet_list.xml
+16
-0
print-module/src/main/res/layout/print_dialog_select_device.xml
+32
-0
print-module/src/main/res/layout/printer_item.xml
+1
-1
print-module/src/main/res/values-v21/styles.xml
+1
-1
print-module/src/main/res/values/styles.xml
+1
-1
public-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/PrinterManger/PrinterManager.java
+1
-1
public-base/src/main/java/com/gingersoft/gsa/cloud/base/widget/DialogUtils.java
+265
-0
public-base/src/main/res/values/styles.xml
+7
-1
public-ui/src/main/res/drawable/shape_white_eight_corners_bg.xml
+7
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/app/GoldConstants.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+3
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+7
-8
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+2
-2
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+12
-21
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
+3
-2
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+1
-4
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+1
-0
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/HorizontalGridViewAdpter.java
+1
-1
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodAdapter.java
+32
-26
No files found.
download-data/src/main/AndroidManifest.xml
View file @
9e3a4f2b
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<application>
<application>
<activity
android:name=
".mvp.ui.activity.DownloadActivity"
></activity
>
<activity
android:name=
".mvp.ui.activity.DownloadActivity"
/
>
<!-- arms配置 -->
<!-- arms配置 -->
<meta-data
<meta-data
...
...
download-data/src/main/java/com/gingersoft/gsa/cloud/download/mvp/ui/activity/DownloadActivity.java
View file @
9e3a4f2b
...
@@ -79,14 +79,8 @@ public class DownloadActivity extends BaseActivity<DownloadPresenter> implements
...
@@ -79,14 +79,8 @@ public class DownloadActivity extends BaseActivity<DownloadPresenter> implements
@Override
@Override
public
void
initTopBar
()
{
public
void
initTopBar
()
{
mTopBar
.
setBackgroundColor
(
ContextCompat
.
getColor
(
this
,
R
.
color
.
theme_color
));
// mTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.white));
mTopBar
.
addLeftBackImageButton
().
setOnClickListener
(
new
View
.
OnClickListener
()
{
mTopBar
.
addLeftImageButton
(
R
.
drawable
.
icon_back
,
R
.
id
.
iv_left_back
).
setOnClickListener
(
v
->
finish
());
@Override
public
void
onClick
(
View
v
)
{
killMyself
();
}
});
mTopBar
.
addRightTextButton
(
"刷新"
,
R
.
id
.
topbar
).
setOnClickListener
(
new
View
.
OnClickListener
()
{
mTopBar
.
addRightTextButton
(
"刷新"
,
R
.
id
.
topbar
).
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
...
...
print-module/src/main/AndroidManifest.xml
View file @
9e3a4f2b
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
package=
"com.joe.print"
>
package=
"com.joe.print"
>
<application>
<application>
<activity
android:name=
".mvp.ui.activity.OldPrintActivity"
android:theme=
"@style/print_TranslucentTheme"
/>
<activity
android:name=
".mvp.ui.activity.PrintActivity"
android:theme=
"@style/print_TranslucentTheme"
/>
<activity
android:name=
".mvp.ui.activity.PrintActivity"
android:theme=
"@style/print_TranslucentTheme"
/>
<activity
android:name=
".mvp.ui.activity.PrinterListActivity"
/>
<activity
android:name=
".mvp.ui.activity.PrinterListActivity"
/>
<activity
android:name=
".mvp.ui.activity.PrinterAddActivity"
/>
<activity
android:name=
".mvp.ui.activity.PrinterAddActivity"
/>
...
...
print-module/src/main/debug/AndroidManifest.xml
View file @
9e3a4f2b
...
@@ -14,9 +14,14 @@
...
@@ -14,9 +14,14 @@
android:roundIcon=
"@mipmap/ic_launcher_round"
android:roundIcon=
"@mipmap/ic_launcher_round"
android:supportsRtl=
"true"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
android:theme=
"@style/AppTheme"
>
<activity
android:name=
".mvp.ui.activity.PrinterAddActivity"
/>
<!-- <activity-->
<activity
android:name=
".mvp.ui.activity.PrintActivity"
android:theme=
"@style/print_TranslucentTheme"
/>
<!-- android:theme="@style/print_TranslucentTheme" -->
<!-- android:name=".mvp.ui.activity.PrintActivity"-->
<activity
android:name=
".mvp.ui.activity.PrinterListActivity"
>
<!-- android:theme="@style/print_TranslucentTheme" />-->
<activity
android:name=
".mvp.ui.activity.PrinterAddActivity"
/>
<activity
android:name=
".mvp.ui.activity.OldPrintActivity"
android:theme=
"@style/print_TranslucentTheme"
/>
<!-- PrinterListActivity android:theme="@style/print_TranslucentTheme" -->
<activity
android:name=
".mvp.ui.activity.PrintActivity"
>
<intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<action
android:name=
"android.intent.action.MAIN"
/>
<action
android:name=
"android.intent.action.VIEW"
/>
<action
android:name=
"android.intent.action.VIEW"
/>
...
...
print-module/src/main/java/com/joe/print/PrintComponent.java
View file @
9e3a4f2b
...
@@ -8,6 +8,7 @@ import com.billy.cc.core.component.CC;
...
@@ -8,6 +8,7 @@ import com.billy.cc.core.component.CC;
import
com.billy.cc.core.component.CCResult
;
import
com.billy.cc.core.component.CCResult
;
import
com.billy.cc.core.component.CCUtil
;
import
com.billy.cc.core.component.CCUtil
;
import
com.billy.cc.core.component.IComponent
;
import
com.billy.cc.core.component.IComponent
;
import
com.joe.print.mvp.ui.activity.OldPrintActivity
;
import
com.joe.print.mvp.ui.activity.PrintActivity
;
import
com.joe.print.mvp.ui.activity.PrintActivity
;
import
com.joe.print.mvp.ui.activity.PrinterListActivity
;
import
com.joe.print.mvp.ui.activity.PrinterListActivity
;
...
@@ -49,6 +50,9 @@ public class PrintComponent implements IComponent {
...
@@ -49,6 +50,9 @@ public class PrintComponent implements IComponent {
break
;
break
;
case
"print_order"
:
case
"print_order"
:
return
printOrderInfo
(
cc
);
return
printOrderInfo
(
cc
);
case
"printActivity"
:
CCUtil
.
navigateTo
(
cc
,
PrintActivity
.
class
);
break
;
default
:
default
:
// cc.callAsync(new IComponentCallback() {
// cc.callAsync(new IComponentCallback() {
// @Override
// @Override
...
@@ -90,9 +94,8 @@ public class PrintComponent implements IComponent {
...
@@ -90,9 +94,8 @@ public class PrintComponent implements IComponent {
}
}
private
boolean
printOrderInfo
(
CC
cc
){
private
boolean
printOrderInfo
(
CC
cc
){
// Print.getInstance().printOrder(cc.getContext());
Context
context
=
cc
.
getContext
();
Context
context
=
cc
.
getContext
();
Intent
intent
=
new
Intent
(
context
,
PrintActivity
.
class
);
Intent
intent
=
new
Intent
(
context
,
Old
PrintActivity
.
class
);
if
(!(
context
instanceof
Activity
))
{
if
(!(
context
instanceof
Activity
))
{
//调用方没有设置context或app间组件跳转,context为application
//调用方没有设置context或app间组件跳转,context为application
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
...
@@ -100,9 +103,6 @@ public class PrintComponent implements IComponent {
...
@@ -100,9 +103,6 @@ public class PrintComponent implements IComponent {
//将cc的callId传给Activity,登录完成后通过这个callId来回传结果
//将cc的callId传给Activity,登录完成后通过这个callId来回传结果
intent
.
putExtra
(
"callId"
,
cc
.
getCallId
());
intent
.
putExtra
(
"callId"
,
cc
.
getCallId
());
context
.
startActivity
(
intent
);
context
.
startActivity
(
intent
);
// CCUtil.navigateTo(cc, PrintActivity.class);
// CC.sendCCResult(cc.getCallId(), CCResult.success());
//返回true,不立即调用CC.sendCCResult
//返回true,不立即调用CC.sendCCResult
return
true
;
return
true
;
...
...
print-module/src/main/java/com/joe/print/di/component/PrintComponent.java
0 → 100644
View file @
9e3a4f2b
package
com
.
joe
.
print
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.joe.print.di.module.PrintModule
;
import
com.joe.print.mvp.contract.PrintContract
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.joe.print.mvp.ui.activity.PrintActivity
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/18/2020 14:57
* <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
=
PrintModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
PrintComponent
{
void
inject
(
PrintActivity
activity
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
PrintComponent
.
Builder
view
(
PrintContract
.
View
view
);
PrintComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
PrintComponent
build
();
}
}
\ No newline at end of file
print-module/src/main/java/com/joe/print/di/module/PrintModule.java
0 → 100644
View file @
9e3a4f2b
package
com
.
joe
.
print
.
di
.
module
;
import
com.jess.arms.di.scope.ActivityScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.joe.print.mvp.contract.PrintContract
;
import
com.joe.print.mvp.model.PrintModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/18/2020 14:57
* <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
PrintModule
{
@Binds
abstract
PrintContract
.
Model
bindPrintModel
(
PrintModel
model
);
}
\ No newline at end of file
print-module/src/main/java/com/joe/print/mvp/contract/PrintContract.java
0 → 100644
View file @
9e3a4f2b
package
com
.
joe
.
print
.
mvp
.
contract
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
import
io.reactivex.Observable
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/18/2020 14:57
* <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
interface
PrintContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
/**
* 顯示打印機列表彈窗
*/
void
showPrinterList
();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Observable
<
BaseResult
>
getPrinterList
(
int
restaurantId
);
}
}
print-module/src/main/java/com/joe/print/mvp/model/PrintModel.java
0 → 100644
View file @
9e3a4f2b
package
com
.
joe
.
print
.
mvp
.
model
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
com.jess.arms.di.scope.ActivityScope
;
import
javax.inject.Inject
;
import
com.joe.print.mvp.contract.PrintContract
;
import
com.joe.print.mvp.model.server.PrinterService
;
import
io.reactivex.Observable
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/18/2020 14:57
* <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
PrintModel
extends
BaseModel
implements
PrintContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
PrintModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mGson
=
null
;
this
.
mApplication
=
null
;
}
@Override
public
Observable
<
BaseResult
>
getPrinterList
(
int
restaurantId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
PrinterService
.
class
)
.
getPrinterList
(
restaurantId
);
}
}
\ No newline at end of file
print-module/src/main/java/com/joe/print/mvp/presenter/PrintListPresenter.java
View file @
9e3a4f2b
...
@@ -11,6 +11,7 @@ import com.jess.arms.integration.AppManager;
...
@@ -11,6 +11,7 @@ import com.jess.arms.integration.AppManager;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.joe.print.mvp.contract.PrintListContract
;
import
com.joe.print.mvp.contract.PrintListContract
;
import
com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager
;
import
java.util.List
;
import
java.util.List
;
...
@@ -81,6 +82,7 @@ public class PrintListPresenter extends BasePresenter<PrintListContract.Model, P
...
@@ -81,6 +82,7 @@ public class PrintListPresenter extends BasePresenter<PrintListContract.Model, P
List
<
PrinterDeviceBean
>
deviceBeans
=
JsonUtils
.
parseArray
(
baseResult
.
getData
(),
PrinterDeviceBean
.
class
);
List
<
PrinterDeviceBean
>
deviceBeans
=
JsonUtils
.
parseArray
(
baseResult
.
getData
(),
PrinterDeviceBean
.
class
);
if
(
deviceBeans
!=
null
&&
deviceBeans
.
size
()
>
0
){
if
(
deviceBeans
!=
null
&&
deviceBeans
.
size
()
>
0
){
mRootView
.
loadPrinterList
(
deviceBeans
);
mRootView
.
loadPrinterList
(
deviceBeans
);
PrinterManager
.
getPrinterManager
().
setDeviceBeans
(
deviceBeans
);
}
}
}
}
}
}
...
...
print-module/src/main/java/com/joe/print/mvp/presenter/PrintPresenter.java
0 → 100644
View file @
9e3a4f2b
package
com
.
joe
.
print
.
mvp
.
presenter
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
javax.inject.Inject
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.joe.print.mvp.contract.PrintContract
;
import
com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager
;
import
java.util.List
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/18/2020 14:57
* <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
PrintPresenter
extends
BasePresenter
<
PrintContract
.
Model
,
PrintContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
PrintPresenter
(
PrintContract
.
Model
model
,
PrintContract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
/**
* 獲取打印機列表
*
* @param restaurantId 餐廳id
*/
public
void
getPrinterList
(
int
restaurantId
)
{
mModel
.
getPrinterList
(
restaurantId
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
""
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onNext
(
BaseResult
baseResult
)
{
if
(
baseResult
.
isSuccess
()){
List
<
PrinterDeviceBean
>
deviceBeans
=
JsonUtils
.
parseArray
(
baseResult
.
getData
(),
PrinterDeviceBean
.
class
);
if
(
deviceBeans
!=
null
&&
deviceBeans
.
size
()
>
0
){
//有打印機,返回true
PrinterManager
.
getPrinterManager
().
setDeviceBeans
(
deviceBeans
);
mRootView
.
showPrinterList
();
}
}
}
});
}
}
print-module/src/main/java/com/joe/print/mvp/ui/activity/OldPrintActivity.java
0 → 100644
View file @
9e3a4f2b
package
com
.
joe
.
print
.
mvp
.
ui
.
activity
;
import
android.app.Activity
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.view.WindowManager
;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CCResult
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.database.DaoManager
;
import
com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao
;
import
com.gingersoft.gsa.cloud.ui.dialog.LoadingDialog
;
import
com.joe.print.mvp.print.SendPrint
;
import
am.util.printer.PrintExecutor
;
import
am.util.printer.PrintSocketHolder
;
import
am.util.printer.PrinterWriter58mm
;
import
am.util.printer.PrinterWriter80mm
;
import
androidx.annotation.Nullable
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
database
.
DaoManager
.
getInstance
;
/**
* Created by Wyh on 2020/1/7.
*/
public
class
OldPrintActivity
extends
Activity
implements
PrintSocketHolder
.
OnStateChangedListener
,
PrintExecutor
.
OnPrintResultListener
,
DialogInterface
.
OnDismissListener
{
private
PrintExecutor
executor
;
private
SendPrint
maker
;
private
Dialog
dialog
;
private
String
callId
;
/**
* 是否打印成功 true:成功
*/
private
boolean
printStatus
=
false
;
private
String
ip
;
private
String
port
;
private
int
paperType
=
1
;
//打印紙類型 1:58mm,2::80mm
private
int
printWidth
=
560
;
//打印出來的內容寬度
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
getWindow
().
setBackgroundDrawable
(
null
);
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
initIntent
();
callId
=
getIntent
().
getStringExtra
(
"callId"
);
printOrder
(
this
);
}
private
void
initIntent
()
{
Intent
intent
=
getIntent
();
ip
=
intent
.
getStringExtra
(
"ip"
);
port
=
intent
.
getStringExtra
(
"port"
);
paperType
=
intent
.
getIntExtra
(
"paperType"
,
1
);
if
(
ip
==
null
||
ip
.
equals
(
""
))
{
ip
=
"192.168.1.217"
;
}
if
(
port
==
null
||
port
.
equals
(
""
))
{
port
=
"9100"
;
}
if
(
paperType
==
1
)
{
paperType
=
PrinterWriter58mm
.
TYPE_58
;
printWidth
=
580
-
20
;
//兩邊留20的空隙
}
else
{
paperType
=
PrinterWriter80mm
.
TYPE_80
;
printWidth
=
800
-
20
;
//兩邊留20的空隙
}
}
public
void
printOrder
(
Context
context
)
{
if
(
dialog
!=
null
)
{
dialog
.
dismiss
();
}
dialog
=
LoadingDialog
.
showNewDialogForLoading
(
this
,
"初始化..."
,
false
);
dialog
.
setOnDismissListener
(
this
);
if
(
executor
==
null
)
{
executor
=
new
PrintExecutor
(
ip
,
Integer
.
parseInt
(
port
),
paperType
);
executor
.
setOnStateChangedListener
(
this
);
executor
.
setOnPrintResultListener
(
this
);
}
if
(
maker
==
null
)
{
maker
=
new
SendPrint
(
context
,
255
,
printWidth
);
}
executor
.
setIp
(
ip
,
Integer
.
parseInt
(
port
));
executor
.
doPrinterRequestAsync
(
maker
);
executor
.
setReconnectTimes
(
3
);
// executor.doPrinterRequest()
}
@Override
public
void
onResult
(
int
errorCode
)
{
Log
.
e
(
"ccc"
,
"錯誤碼:"
+
errorCode
);
String
msg
=
""
;
switch
(
errorCode
)
{
case
PrintSocketHolder
.
ERROR_0
:
//打印成功
msg
=
"打印成功"
;
printStatus
=
true
;
dismiss
(
msg
);
break
;
case
PrintSocketHolder
.
ERROR_2
:
case
PrintSocketHolder
.
ERROR_100
:
//创建Socket失败
msg
=
"連接打印機失敗"
;
printStatus
=
false
;
dismiss
(
msg
);
break
;
case
PrintSocketHolder
.
ERROR_1
:
case
PrintSocketHolder
.
ERROR_3
:
case
PrintSocketHolder
.
ERROR_4
:
case
PrintSocketHolder
.
ERROR_5
:
//打印失敗
msg
=
"打印失敗"
;
dismiss
(
msg
);
printStatus
=
false
;
break
;
default
:
break
;
}
LoadingDialog
.
setText
(
msg
);
}
@Override
public
void
onStateChanged
(
int
state
)
{
Log
.
e
(
"ccc"
,
"onStateChanged:"
+
state
);
String
msg
=
""
;
switch
(
state
)
{
case
PrintSocketHolder
.
STATE_0
:
case
PrintSocketHolder
.
STATE_1
:
//创建Socket连接
msg
=
"連接打印機..."
;
break
;
case
PrintSocketHolder
.
STATE_2
:
case
PrintSocketHolder
.
STATE_3
:
//写入测试页面数据
msg
=
"正在打印..."
;
break
;
case
PrintSocketHolder
.
STATE_4
:
msg
=
"正在關閉..."
;
dismiss
(
msg
);
break
;
}
LoadingDialog
.
setText
(
msg
);
}
private
void
dismiss
(
String
msg
)
{
ToastUtils
.
show
(
this
,
msg
);
//延遲一秒
dialog
.
dismiss
();
//判断是否为CC调用打开本页面
if
(
callId
!=
null
)
{
CCResult
result
;
if
(
printStatus
)
{
result
=
CCResult
.
success
();
}
else
{
result
=
CCResult
.
error
(
"print error"
);
}
//为确保不管登录成功与否都会调用CC.sendCCResult,在onDestroy方法中调用
CC
.
sendCCResult
(
callId
,
result
);
}
finish
();
}
@Override
public
void
onDismiss
(
DialogInterface
dialog
)
{
finish
();
}
}
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
View file @
9e3a4f2b
This diff is collapsed.
Click to expand it.
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrinterAddActivity.java
View file @
9e3a4f2b
...
@@ -155,10 +155,8 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
...
@@ -155,10 +155,8 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
@OnClick
({
R2
.
id
.
print_test
})
@OnClick
({
R2
.
id
.
print_test
})
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
if
(
v
.
getId
()
==
R
.
id
.
print_test
)
{
if
(
v
.
getId
()
==
R
.
id
.
printer_add
||
v
.
getId
()
==
R
.
id
.
print_test
)
{
//打印測試
startActivity
(
new
Intent
(
mContext
,
PrintActivity
.
class
));
}
else
if
(
v
.
getId
()
==
R
.
id
.
printer_add
)
{
//保存打印機信息
//保存打印機信息
StringBuilder
ipAddress
=
new
StringBuilder
();
StringBuilder
ipAddress
=
new
StringBuilder
();
for
(
EditText
editText
:
ipEdits
)
{
for
(
EditText
editText
:
ipEdits
)
{
...
@@ -174,14 +172,25 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
...
@@ -174,14 +172,25 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
return
;
return
;
}
}
hideKeyBoard
();
hideKeyBoard
();
int
paperType
=
1
;
int
paperType
=
1
;
//打印紙類型
if
(
rgPaperType
.
getCheckedRadioButtonId
()
!=
R
.
id
.
print_paper_size_58
)
{
if
(
rgPaperType
.
getCheckedRadioButtonId
()
!=
R
.
id
.
print_paper_size_58
)
{
paperType
=
2
;
paperType
=
2
;
}
}
if
(
isEditPrinter
&&
printerDeviceBean
!=
null
)
{
//添加打印機
mPresenter
.
updatePrinterInfo
(
printerDeviceBean
.
getId
(),
GsaCloudApplication
.
getRestaurantId
(
mContext
),
ipAddress
.
substring
(
0
,
ipAddress
.
lastIndexOf
(
"."
)),
etPort
.
getText
().
toString
(),
paperType
);
if
(
v
.
getId
()
==
R
.
id
.
printer_add
)
{
}
else
{
if
(
isEditPrinter
&&
printerDeviceBean
!=
null
)
{
mPresenter
.
addPrinter
(
GsaCloudApplication
.
getRestaurantId
(
mContext
),
ipAddress
.
substring
(
0
,
ipAddress
.
lastIndexOf
(
"."
)),
etPort
.
getText
().
toString
(),
paperType
);
mPresenter
.
updatePrinterInfo
(
printerDeviceBean
.
getId
(),
GsaCloudApplication
.
getRestaurantId
(
mContext
),
ipAddress
.
substring
(
0
,
ipAddress
.
lastIndexOf
(
"."
)),
etPort
.
getText
().
toString
(),
paperType
);
}
else
{
mPresenter
.
addPrinter
(
GsaCloudApplication
.
getRestaurantId
(
mContext
),
ipAddress
.
substring
(
0
,
ipAddress
.
lastIndexOf
(
"."
)),
etPort
.
getText
().
toString
(),
paperType
);
}
}
else
if
(
v
.
getId
()
==
R
.
id
.
print_test
){
//打印測試
Intent
intent
=
new
Intent
(
mContext
,
OldPrintActivity
.
class
);
intent
.
putExtra
(
"ip"
,
ipAddress
.
substring
(
0
,
ipAddress
.
lastIndexOf
(
"."
)));
intent
.
putExtra
(
"port"
,
etPort
.
getText
().
toString
());
intent
.
putExtra
(
"paperType"
,
paperType
);
startActivity
(
intent
);
}
}
}
}
}
}
...
...
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrinterListActivity.java
View file @
9e3a4f2b
...
@@ -14,7 +14,7 @@ import com.joe.print.R;
...
@@ -14,7 +14,7 @@ import com.joe.print.R;
import
com.joe.print.R2
;
import
com.joe.print.R2
;
import
com.joe.print.di.component.DaggerPrintListComponent
;
import
com.joe.print.di.component.DaggerPrintListComponent
;
import
com.joe.print.mvp.contract.PrintListContract
;
import
com.joe.print.mvp.contract.PrintListContract
;
import
com.
joe.print.mvp.model
.PrinterManager
;
import
com.
gingersoft.gsa.cloud.base.common.bean.PrinterManger
.PrinterManager
;
import
com.joe.print.mvp.presenter.PrintListPresenter
;
import
com.joe.print.mvp.presenter.PrintListPresenter
;
import
com.joe.print.mvp.ui.adapter.PrinterListAdapter
;
import
com.joe.print.mvp.ui.adapter.PrinterListAdapter
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
...
@@ -182,57 +182,61 @@ public class PrinterListActivity extends BaseActivity<PrintListPresenter> implem
...
@@ -182,57 +182,61 @@ public class PrinterListActivity extends BaseActivity<PrintListPresenter> implem
@Override
@Override
public
void
loadPrinterList
(
List
<
PrinterDeviceBean
>
deviceBeans
)
{
public
void
loadPrinterList
(
List
<
PrinterDeviceBean
>
deviceBeans
)
{
PrinterManager
.
getPrinterManager
().
setDeviceBeans
(
deviceBeans
);
PrinterManager
.
getPrinterManager
().
setDeviceBeans
(
deviceBeans
);
printListAdapter
=
new
PrinterListAdapter
(
deviceBeans
);
if
(
printListAdapter
==
null
)
{
mRvPrintList
.
setLayoutManager
(
new
LinearLayoutManager
(
this
));
printListAdapter
=
new
PrinterListAdapter
(
deviceBeans
);
//分割线
mRvPrintList
.
setLayoutManager
(
new
LinearLayoutManager
(
this
));
mRvPrintList
.
addItemDecoration
(
new
DefaultItemDecoration
(
ContextCompat
.
getColor
(
this
,
R
.
color
.
line_color
)));
//分割线
mRvPrintList
.
setOnItemClickListener
((
view
,
adapterPosition
)
->
{
mRvPrintList
.
addItemDecoration
(
new
DefaultItemDecoration
(
ContextCompat
.
getColor
(
this
,
R
.
color
.
line_color
)));
//打開打印機詳情
mRvPrintList
.
setOnItemClickListener
((
view
,
adapterPosition
)
->
{
Intent
intent
=
new
Intent
(
mContext
,
PrinterAddActivity
.
class
);
//打開打印機詳情
intent
.
putExtra
(
"printerInfo"
,
deviceBeans
.
get
(
adapterPosition
));
Intent
intent
=
new
Intent
(
mContext
,
PrinterAddActivity
.
class
);
startActivity
(
intent
);
intent
.
putExtra
(
"printerInfo"
,
deviceBeans
.
get
(
adapterPosition
));
});
startActivity
(
intent
);
//menu 右侧菜單點擊事件
});
mRvPrintList
.
setOnItemMenuClickListener
((
menuBridge
,
position
)
->
{
//menu 右侧菜單點擊事件
menuBridge
.
closeMenu
();
mRvPrintList
.
setOnItemMenuClickListener
((
menuBridge
,
position
)
->
{
// mPresenter.deletePrinter(deviceBeans.get(position).getId() + "");
menuBridge
.
closeMenu
();
deviceBeans
.
remove
(
position
);
mPresenter
.
deletePrinter
(
deviceBeans
.
get
(
position
).
getId
()
+
""
);
printListAdapter
.
notifyItemRemoved
(
position
);
deviceBeans
.
remove
(
position
);
});
// Item的Menu点击。
printListAdapter
.
notifyItemRemoved
(
position
);
});
// Item的Menu点击。
mRvPrintList
.
setSwipeMenuCreator
(
mSwipeMenuCreator
);
// 菜单创建器。
mRvPrintList
.
setSwipeMenuCreator
(
mSwipeMenuCreator
);
// 菜单创建器。
mRvPrintList
.
setOnItemStateChangedListener
(
mOnItemStateChangedListener
);
// 监听Item的手指状态,拖拽、侧滑、松开。
mRvPrintList
.
setLongPressDragEnabled
(
true
);
// 长按拖拽,默认关闭。
mRvPrintList
.
setOnItemStateChangedListener
(
mOnItemStateChangedListener
);
// 监听Item的手指状态,拖拽、侧滑、松开。
mRvPrintList
.
setLongPressDragEnabled
(
true
);
// 长按拖拽,默认关闭。
mRvPrintList
.
setOnItemMoveListener
(
new
OnItemMoveListener
()
{
@Override
mRvPrintList
.
setOnItemMoveListener
(
new
OnItemMoveListener
()
{
public
boolean
onItemMove
(
RecyclerView
.
ViewHolder
srcHolder
,
RecyclerView
.
ViewHolder
targetHolder
)
{
@Override
// 不同的ViewType不能拖拽换位置。
public
boolean
onItemMove
(
RecyclerView
.
ViewHolder
srcHolder
,
RecyclerView
.
ViewHolder
targetHolder
)
{
if
(
srcHolder
.
getItemViewType
()
!=
targetHolder
.
getItemViewType
())
return
false
;
// 不同的ViewType不能拖拽换位置。
// 真实的Position:通过ViewHolder拿到的position都需要减掉HeadView的数量。
if
(
srcHolder
.
getItemViewType
()
!=
targetHolder
.
getItemViewType
())
return
false
;
int
fromPosition
=
srcHolder
.
getAdapterPosition
()
-
mRvPrintList
.
getHeaderCount
();
// 真实的Position:通过ViewHolder拿到的position都需要减掉HeadView的数量。
int
toPosition
=
targetHolder
.
getAdapterPosition
()
-
mRvPrintList
.
getHeaderCount
();
int
fromPosition
=
srcHolder
.
getAdapterPosition
()
-
mRvPrintList
.
getHeaderCount
();
int
toPosition
=
targetHolder
.
getAdapterPosition
()
-
mRvPrintList
.
getHeaderCount
();
if
(
fromPosition
<
toPosition
)
{
for
(
int
i
=
fromPosition
;
i
<
toPosition
;
i
++)
{
if
(
fromPosition
<
toPosition
)
{
Collections
.
swap
(
deviceBeans
,
i
,
i
+
1
);
for
(
int
i
=
fromPosition
;
i
<
toPosition
;
i
++)
{
}
Collections
.
swap
(
deviceBeans
,
i
,
i
+
1
);
}
else
{
}
for
(
int
i
=
fromPosition
;
i
>
toPosition
;
i
--)
{
}
else
{
Collections
.
swap
(
deviceBeans
,
i
,
i
-
1
);
for
(
int
i
=
fromPosition
;
i
>
toPosition
;
i
--)
{
Collections
.
swap
(
deviceBeans
,
i
,
i
-
1
);
}
}
}
printListAdapter
.
notifyItemMoved
(
fromPosition
,
toPosition
);
return
true
;
// 返回true表示处理了,返回false表示你没有处理。
}
}
printListAdapter
.
notifyItemMoved
(
fromPosition
,
toPosition
);
return
true
;
// 返回true表示处理了,返回false表示你没有处理。
}
@Override
@Override
public
void
onItemDismiss
(
RecyclerView
.
ViewHolder
srcHolder
)
{
public
void
onItemDismiss
(
RecyclerView
.
ViewHolder
srcHolder
)
{
// int adapterPosition = srcHolder.getAdapterPosition();
// int adapterPosition = srcHolder.getAdapterPosition();
// int position = adapterPosition - mRvPrintList.getHeaderCount();
// int position = adapterPosition - mRvPrintList.getHeaderCount();
}
}
});
// 监听拖拽和侧滑删除,更新UI和数据源。
});
// 监听拖拽和侧滑删除,更新UI和数据源。
mRvPrintList
.
setAdapter
(
printListAdapter
);
mRvPrintList
.
setAdapter
(
printListAdapter
);
}
else
{
printListAdapter
.
notifyData
(
deviceBeans
);
}
}
}
}
}
print-module/src/main/java/com/joe/print/mvp/ui/adapter/PrinterListAdapter.java
View file @
9e3a4f2b
...
@@ -20,6 +20,11 @@ public class PrinterListAdapter extends BaseQuickAdapter<PrinterDeviceBean, Base
...
@@ -20,6 +20,11 @@ public class PrinterListAdapter extends BaseQuickAdapter<PrinterDeviceBean, Base
@Override
@Override
protected
void
convert
(
BaseViewHolder
helper
,
PrinterDeviceBean
item
)
{
protected
void
convert
(
BaseViewHolder
helper
,
PrinterDeviceBean
item
)
{
helper
.
setText
(
R
.
id
.
tv_printer_name
,
item
.
getIp
()
+
""
);
helper
.
setText
(
R
.
id
.
tv_printer_name
,
item
.
getIp
()
+
""
);
}
public
void
notifyData
(
List
<
PrinterDeviceBean
>
data
)
{
this
.
mData
=
data
;
super
.
notifyDataSetChanged
();
}
}
}
}
print-module/src/main/
debug/
res/layout/activity_print.xml
→
print-module/src/main/res/layout/activity_print.xml
View file @
9e3a4f2b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
>
android:orientation=
"vertical"
>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
print-module/src/main/res/layout/print_dialog_internet_list.xml
0 → 100644
View file @
9e3a4f2b
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_white_eight_corners_bg"
android:gravity=
"center"
android:orientation=
"vertical"
android:padding=
"@dimen/dp_10"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_print_list"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
print-module/src/main/res/layout/print_dialog_select_device.xml
0 → 100644
View file @
9e3a4f2b
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_white_eight_corners_bg"
android:gravity=
"center"
android:orientation=
"vertical"
android:padding=
"@dimen/dp_20"
>
<TextView
android:id=
"@+id/local_print"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"@dimen/dp_10"
android:text=
"本機打印"
android:textColor=
"@color/theme_333_color"
android:textSize=
"@dimen/sp_20"
/>
<include
layout=
"@layout/include_dividing_line"
/>
<TextView
android:id=
"@+id/internet_print"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"@dimen/dp_10"
android:text=
"網絡打印"
android:textColor=
"@color/theme_333_color"
android:textSize=
"@dimen/sp_20"
/>
</LinearLayout>
\ No newline at end of file
print-module/src/main/res/layout/printer_item.xml
View file @
9e3a4f2b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"
match_par
ent"
android:layout_height=
"
wrap_cont
ent"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<TextView
<TextView
...
...
print-module/src/main/res/values-v21/styles.xml
View file @
9e3a4f2b
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<resources>
<style
name=
"print_TranslucentTheme"
>
<style
name=
"print_TranslucentTheme"
parent=
"AppTheme"
>
<item
name=
"android:windowBackground"
>
@android:color/transparent
</item>
<item
name=
"android:windowBackground"
>
@android:color/transparent
</item>
<item
name=
"android:colorBackgroundCacheHint"
>
@null
</item>
<item
name=
"android:colorBackgroundCacheHint"
>
@null
</item>
<item
name=
"android:windowIsTranslucent"
>
true
</item>
<item
name=
"android:windowIsTranslucent"
>
true
</item>
...
...
print-module/src/main/res/values/styles.xml
View file @
9e3a4f2b
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<item
name=
"android:textColor"
>
#333
</item>
<item
name=
"android:textColor"
>
#333
</item>
<item
name=
"android:textSize"
>
16sp
</item>
<item
name=
"android:textSize"
>
16sp
</item>
</style>
</style>
<style
name=
"print_TranslucentTheme"
parent=
"
Theme.AppCompat
"
>
<style
name=
"print_TranslucentTheme"
parent=
"
AppTheme
"
>
<item
name=
"android:windowBackground"
>
@android:color/transparent
</item>
<item
name=
"android:windowBackground"
>
@android:color/transparent
</item>
<item
name=
"android:colorBackgroundCacheHint"
>
@null
</item>
<item
name=
"android:colorBackgroundCacheHint"
>
@null
</item>
<item
name=
"android:windowIsTranslucent"
>
true
</item>
<item
name=
"android:windowIsTranslucent"
>
true
</item>
...
...
p
rint-module/src/main/java/com/joe/print/mvp/model
/PrinterManager.java
→
p
ublic-base/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/PrinterManger
/PrinterManager.java
View file @
9e3a4f2b
package
com
.
joe
.
print
.
mvp
.
model
;
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
common
.
bean
.
PrinterManger
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
...
...
public-base/src/main/java/com/gingersoft/gsa/cloud/base/widget/DialogUtils.java
0 → 100644
View file @
9e3a4f2b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
widget
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.content.DialogInterface
;
import
android.graphics.Bitmap
;
import
android.graphics.Color
;
import
android.graphics.drawable.ColorDrawable
;
import
android.util.SparseArray
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
import
com.bumptech.glide.load.resource.bitmap.RoundedCorners
;
import
com.bumptech.glide.request.RequestOptions
;
import
com.gingersoft.gsa.cloud.base.R
;
/**
* Created by Wyh on 2019/11/1.
*/
public
abstract
class
DialogUtils
{
private
Context
mContext
;
// private int xmlLayout;
private
Dialog
dialog
=
null
;
private
View
view
;
private
int
style
=
R
.
style
.
PhotoDialog
;
private
int
mWidth
=
WindowManager
.
LayoutParams
.
WRAP_CONTENT
;
private
int
mHeight
=
WindowManager
.
LayoutParams
.
WRAP_CONTENT
;
public
DialogUtils
(
Context
mContext
,
int
xmlLayout
)
{
this
.
mContext
=
mContext
;
view
=
LayoutInflater
.
from
(
mContext
).
inflate
(
xmlLayout
,
null
);
}
public
DialogUtils
(
Context
mContext
,
View
view
)
{
this
.
mContext
=
mContext
;
this
.
view
=
view
;
}
public
DialogUtils
setWidth
(
int
width
)
{
mWidth
=
width
;
return
this
;
}
public
DialogUtils
setHeight
(
int
height
)
{
mHeight
=
height
;
return
this
;
}
public
DialogUtils
createDialogView
()
{
dialog
=
new
Dialog
(
mContext
,
style
);
final
ViewHepler
viewHepler
=
getViewHepler
();
initLayout
(
viewHepler
,
dialog
);
dialog
.
setContentView
(
viewHepler
.
getContentView
());
Window
dialogWindow
=
dialog
.
getWindow
();
WindowManager
.
LayoutParams
lp
=
dialogWindow
.
getAttributes
();
dialogWindow
.
setGravity
(
Gravity
.
CENTER
);
//将对话框的大小按屏幕大小的百分比设置
// WindowManager m = activity.getWindowManager();
// Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用
WindowManager
.
LayoutParams
p
=
dialogWindow
.
getAttributes
();
// 获取对话框当前的参数值
Window
window
=
dialog
.
getWindow
();
if
(
window
!=
null
)
{
window
.
setBackgroundDrawable
(
new
ColorDrawable
(
Color
.
TRANSPARENT
));
window
.
getDecorView
().
setBackgroundResource
(
android
.
R
.
color
.
transparent
);
}
p
.
height
=
mHeight
;
p
.
width
=
mWidth
;
dialogWindow
.
setAttributes
(
p
);
// android Activity改成dialog样式后 怎设置点击空白处关闭窗体,点击窗体以外的地方关闭窗体
dialog
.
setCanceledOnTouchOutside
(
true
);
dialog
.
setOnDismissListener
(
dialog
->
{
});
dialog
.
setCancelable
(
true
);
// dialog.show();
return
this
;
}
public
Dialog
getDialog
()
{
return
dialog
;
}
public
DialogUtils
dismiss
()
{
dialog
.
dismiss
();
return
this
;
}
public
DialogUtils
show
()
{
dialog
.
show
();
return
this
;
}
public
DialogUtils
setOnDismissListener
(
DialogInterface
.
OnDismissListener
dismissListener
)
{
dialog
.
setOnDismissListener
(
dismissListener
);
return
this
;
}
public
abstract
void
initLayout
(
ViewHepler
hepler
,
Dialog
dialog
);
private
ViewHepler
getViewHepler
()
{
return
ViewHepler
.
get
(
mContext
,
view
);
}
public
static
class
ViewHepler
{
private
final
SparseArray
<
View
>
mViews
;
private
View
mConvertView
;
private
static
ViewHepler
viewHepler
=
null
;
private
Context
context
;
private
ViewHepler
(
Context
context
,
int
layoutId
)
{
this
.
mViews
=
new
SparseArray
<>();
this
.
context
=
context
;
mConvertView
=
LayoutInflater
.
from
(
context
).
inflate
(
layoutId
,
null
);
}
private
ViewHepler
(
Context
context
,
View
view
)
{
this
.
mViews
=
new
SparseArray
<>();
this
.
context
=
context
;
mConvertView
=
view
;
}
public
static
ViewHepler
get
(
Context
context
,
int
layoutId
)
{
viewHepler
=
new
ViewHepler
(
context
,
layoutId
);
return
viewHepler
;
}
public
static
ViewHepler
get
(
Context
context
,
View
view
)
{
viewHepler
=
new
ViewHepler
(
context
,
view
);
return
viewHepler
;
}
public
View
getContentView
()
{
return
mConvertView
;
}
/**
* 通过控件的Id获取对于的控件,如果没有则加入views
*
* @param viewId
* @return
*/
public
<
T
extends
View
>
T
getView
(
int
viewId
)
{
View
view
=
mViews
.
get
(
viewId
);
if
(
view
==
null
)
{
view
=
mConvertView
.
findViewById
(
viewId
);
mViews
.
put
(
viewId
,
view
);
}
return
(
T
)
view
;
}
/**
* 为TextView设置字符串
*
* @param viewId
* @param text
* @return
*/
public
ViewHepler
setText
(
int
viewId
,
String
text
)
{
if
(
text
==
null
)
{
text
=
""
;
}
TextView
view
=
getView
(
viewId
);
view
.
setText
(
text
);
return
this
;
}
/**
* 为ImageView设置图片
*
* @param viewId
* @param drawableId
* @return
*/
public
ViewHepler
setImageResource
(
int
viewId
,
int
drawableId
)
{
ImageView
view
=
getView
(
viewId
);
view
.
setImageResource
(
drawableId
);
return
this
;
}
/**
* 为ImageView设置图片
*
* @param viewId
* @param bm
* @return
*/
public
ViewHepler
setImageBitmap
(
int
viewId
,
Bitmap
bm
)
{
ImageView
view
=
getView
(
viewId
);
view
.
setImageBitmap
(
bm
);
return
this
;
}
/**
* 为ImageView设置图片
*
* @param viewId ImageView的id
* @param url 圖片鏈接
* @param roundedCorners 圖片圓角
* @param defaultImg 默認圖
* @return ViewHepler
*/
public
ViewHepler
setImageByUrl
(
int
viewId
,
String
url
,
int
roundedCorners
,
int
defaultImg
)
{
ImageView
view
=
(
ImageView
)
isHaveView
(
viewId
);
Glide
.
with
(
context
).
load
(
url
)
.
diskCacheStrategy
(
DiskCacheStrategy
.
ALL
)
.
apply
(
RequestOptions
.
bitmapTransform
(
new
RoundedCorners
(
roundedCorners
)))
.
error
(
defaultImg
)
.
fallback
(
defaultImg
)
.
placeholder
(
defaultImg
)
.
into
(
view
);
return
this
;
}
/**
* 获取view,如果缓存中已存在,则直接取出来
*
* @param viewId
* @return
*/
private
View
isHaveView
(
int
viewId
)
{
ImageView
view
=
(
ImageView
)
mViews
.
get
(
viewId
);
if
(
view
==
null
)
{
view
=
mConvertView
.
findViewById
(
viewId
);
mViews
.
put
(
viewId
,
view
);
}
return
view
;
}
public
ViewHepler
setLayoutParams
(
int
viewId
,
ViewGroup
.
LayoutParams
params
)
{
View
view
=
isHaveView
(
viewId
);
view
.
setLayoutParams
(
params
);
return
this
;
}
private
View
.
OnClickListener
mListener
;
public
void
setViewClick
(
int
viewId
,
final
ViewClickCallBack
callBack
)
{
View
view
=
mViews
.
get
(
viewId
);
if
(
view
==
null
)
{
view
=
mConvertView
.
findViewById
(
viewId
);
mViews
.
put
(
viewId
,
view
);
}
view
.
setOnClickListener
(
v
->
callBack
.
doClickAction
(
v
));
}
public
static
interface
ViewClickCallBack
{
public
void
doClickAction
(
View
v
);
}
}
}
public-base/src/main/res/values/styles.xml
View file @
9e3a4f2b
...
@@ -4,5 +4,11 @@
...
@@ -4,5 +4,11 @@
<item
name=
"shadow_right"
>
@drawable/shadow_right
</item>
<item
name=
"shadow_right"
>
@drawable/shadow_right
</item>
<item
name=
"shadow_bottom"
>
@drawable/shadow_bottom
</item>
<item
name=
"shadow_bottom"
>
@drawable/shadow_bottom
</item>
</style>
</style>
<style
name=
"PhotoDialog"
parent=
"@android:style/Theme.Light"
>
<item
name=
"android:windowFrame"
>
@null
</item>
<!--边框-->
<item
name=
"android:windowIsFloating"
>
true
</item>
<!--是否浮现在activity之上-->
<item
name=
"android:windowNoTitle"
>
true
</item>
<!--无标题-->
<item
name=
"android:windowBackground"
>
@color/transparent
</item>
<!--背景透明-->
<item
name=
"android:backgroundDimEnabled"
>
true
</item>
<!--背景遮罩效果-->
</style>
</resources>
</resources>
public-ui/src/main/res/drawable/shape_white_eight_corners_bg.xml
0 → 100644
View file @
9e3a4f2b
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"@color/white"
/>
<corners
android:radius=
"@dimen/dp_8"
/>
</shape>
\ No newline at end of file
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/app/GoldConstants.java
View file @
9e3a4f2b
...
@@ -16,7 +16,7 @@ public interface GoldConstants {
...
@@ -16,7 +16,7 @@ public interface GoldConstants {
// boolean isRefreshData = false;
// boolean isRefreshData = false;
int
DetailColCount
=
4
;
int
DetailColCount
=
4
;
int
foodGriupColCount
=
5
;
//食品組列數
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
9e3a4f2b
...
@@ -325,7 +325,7 @@ public class MealStandPresenter extends BasePresenter<MealStandContract.Model, M
...
@@ -325,7 +325,7 @@ public class MealStandPresenter extends BasePresenter<MealStandContract.Model, M
}
else
{
}
else
{
int
deletePosition
=
mSelectMealAdapter
.
removeFoodItem
();
int
deletePosition
=
mSelectMealAdapter
.
removeFoodItem
();
mRootView
.
setMealRvScrollToPosition
(
deletePosition
);
mRootView
.
setMealRvScrollToPosition
(
deletePosition
);
deleteFood
(
deleteFood
.
getId
());
//
deleteFood(deleteFood.getId());
}
}
}
}
updateOrderFoodNumber
();
updateOrderFoodNumber
();
...
@@ -333,6 +333,7 @@ public class MealStandPresenter extends BasePresenter<MealStandContract.Model, M
...
@@ -333,6 +333,7 @@ public class MealStandPresenter extends BasePresenter<MealStandContract.Model, M
public
void
changedMealByParentId
(
long
parentId
)
{
public
void
changedMealByParentId
(
long
parentId
)
{
List
<
Food
>
foodList
=
mModel
.
queryDB_FoodList
(
parentId
);
List
<
Food
>
foodList
=
mModel
.
queryDB_FoodList
(
parentId
);
mFoodAdapter
.
resetSelect
(-
1
,
null
);
if
(
foodList
!=
null
)
{
if
(
foodList
!=
null
)
{
mFoodList
.
clear
();
mFoodList
.
clear
();
mFoodList
.
addAll
(
foodList
);
mFoodList
.
addAll
(
foodList
);
...
@@ -341,6 +342,7 @@ public class MealStandPresenter extends BasePresenter<MealStandContract.Model, M
...
@@ -341,6 +342,7 @@ public class MealStandPresenter extends BasePresenter<MealStandContract.Model, M
mFoodAdapter
.
notifyDataSetChanged
();
mFoodAdapter
.
notifyDataSetChanged
();
}
}
mRootView
.
showViewModeVisibility
(
MealConstant
.
food_ViewMode
,
MealConstant
.
food_group_ViewMode
);
mRootView
.
showViewModeVisibility
(
MealConstant
.
food_ViewMode
,
MealConstant
.
food_group_ViewMode
);
}
}
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
9e3a4f2b
...
@@ -4,6 +4,7 @@ import android.app.Activity;
...
@@ -4,6 +4,7 @@ import android.app.Activity;
import
android.app.Application
;
import
android.app.Application
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.print.PrintManager
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
...
@@ -12,6 +13,7 @@ import com.billy.cc.core.component.CCResult;
...
@@ -12,6 +13,7 @@ import com.billy.cc.core.component.CCResult;
import
com.billy.cc.core.component.IComponentCallback
;
import
com.billy.cc.core.component.IComponentCallback
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.common.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.common.bean.PrinterManger.PrinterManager
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableContract
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableContract
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
...
@@ -31,6 +33,7 @@ import com.jess.arms.di.scope.ActivityScope;
...
@@ -31,6 +33,7 @@ import com.jess.arms.di.scope.ActivityScope;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.qmuiteam.qmui.widget.popup.QMUIPopup
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
...
@@ -125,12 +128,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -125,12 +128,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
}
}
}
});
});
mOrderTopFunctionAdapter
.
setOnItemClickListener
(
new
OrderTopFunctionAdapter
.
OnItemClickListener
()
{
mOrderTopFunctionAdapter
.
setOnItemClickListener
(
(
datasBean
,
position
)
->
{
@Override
public
void
onItemClick
(
Function
datasBean
,
int
position
)
{
}
});
});
}
}
...
@@ -219,7 +218,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -219,7 +218,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public
void
onNext
(
@NonNull
BaseRespose
info
)
{
public
void
onNext
(
@NonNull
BaseRespose
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
CC
.
obtainBuilder
(
"Component.Print"
)
CC
.
obtainBuilder
(
"Component.Print"
)
.
setActionName
(
"print
_order
"
)
.
setActionName
(
"print
Activity
"
)
.
build
()
.
build
()
.
callAsync
((
cc
,
result
)
->
{
.
callAsync
((
cc
,
result
)
->
{
if
(
result
.
isSuccess
())
{
if
(
result
.
isSuccess
())
{
...
@@ -227,7 +226,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -227,7 +226,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mRootView
.
printSuccess
();
mRootView
.
printSuccess
();
}
}
});
});
// mRootView.killMyself();
//打印
//打印
}
else
{
}
else
{
mRootView
.
showMessage
(
"印單失敗!"
);
mRootView
.
showMessage
(
"印單失敗!"
);
...
@@ -255,8 +253,10 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -255,8 +253,10 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
OrderRequest
request
=
new
OrderRequest
();
OrderRequest
request
=
new
OrderRequest
();
request
.
setOrderDetails
(
foodBeanToFoodRequest
(
foodList
));
request
.
setOrderDetails
(
foodBeanToFoodRequest
(
foodList
));
request
.
setPerson
(
OpenTableContract
.
getDefault
().
getTableBean
().
getPeopleNumber
());
request
.
setPerson
(
OpenTableContract
.
getDefault
().
getTableBean
().
getPeopleNumber
());
request
.
setTableId
(
OpenTableContract
.
getDefault
().
getTableBean
().
getId
());
return
request
;
return
request
;
}
}
private
OrderRequest
getAddOrderFoodRequest
(
List
<
Food
>
foodList
)
{
private
OrderRequest
getAddOrderFoodRequest
(
List
<
Food
>
foodList
)
{
OrderRequest
request
=
new
OrderRequest
();
OrderRequest
request
=
new
OrderRequest
();
request
.
setOrderDetails
(
foodBeanToFoodRequest
(
foodList
));
request
.
setOrderDetails
(
foodBeanToFoodRequest
(
foodList
));
...
@@ -278,5 +278,4 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -278,5 +278,4 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
}
}
}
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
9e3a4f2b
...
@@ -261,8 +261,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -261,8 +261,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
if
(
respose
.
isSuccess
())
{
if
(
respose
.
isSuccess
())
{
if
(
showMessage
)
//
if (showMessage)
mRootView
.
showMessage
(
"重置成功!"
);
//
mRootView.showMessage("重置成功!");
mRootView
.
canceOperat
();
mRootView
.
canceOperat
();
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
9e3a4f2b
...
@@ -5,6 +5,7 @@ import android.content.Intent;
...
@@ -5,6 +5,7 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.SystemClock
;
import
android.os.SystemClock
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.util.SparseArray
;
import
android.util.SparseArray
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.BaseAdapter
;
import
android.widget.BaseAdapter
;
...
@@ -273,34 +274,24 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
...
@@ -273,34 +274,24 @@ public class MealStandActivity extends BaseActivity<MealStandPresenter> implemen
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
//每个页面都是inflate出一个新实例
//每个页面都是inflate出一个新实例
LineGridView
gridView
=
(
LineGridView
)
View
.
inflate
(
this
,
R
.
layout
.
meal_food_group_grid
,
null
);
LineGridView
gridView
=
(
LineGridView
)
View
.
inflate
(
this
,
R
.
layout
.
meal_food_group_grid
,
null
);
gridView
.
setNumColumns
(
6
);
gridView
.
setNumColumns
(
GoldConstants
.
foodGriupColCount
);
HorizontalGridViewAdpter
horizontalGridViewAdpter
=
new
HorizontalGridViewAdpter
(
this
,
foodGroupList
,
i
,
mPageSize
);
HorizontalGridViewAdpter
horizontalGridViewAdpter
=
new
HorizontalGridViewAdpter
(
this
,
foodGroupList
,
i
,
mPageSize
);
gridView
.
setAdapter
(
horizontalGridViewAdpter
);
gridView
.
setAdapter
(
horizontalGridViewAdpter
);
if
(
i
==
0
)
{
if
(
i
==
0
)
{
mFoodGroupGridViewAdapter
=
horizontalGridViewAdpter
;
mFoodGroupGridViewAdapter
=
horizontalGridViewAdpter
;
}
}
//添加item点击监听
//添加item点击监听
horizontalGridViewAdpter
.
setOnItemClickListener
(
new
HorizontalGridViewAdpter
.
OnItemClickListener
()
{
horizontalGridViewAdpter
.
setOnItemClickListener
((
food
,
position
)
->
{
recordOperat
(
true
);
@Override
if
(!
ViewUtils
.
isFastClick2
())
{
public
void
onItemClick
(
Food
food
,
int
position
)
{
return
;
}
recordOperat
(
true
);
if
(!
foodGroupConditionFilter
(
food
,
false
))
{
return
;
if
(!
ViewUtils
.
isFastClick2
())
{
return
;
}
if
(!
foodGroupConditionFilter
(
food
,
false
))
{
return
;
}
mFoodGroupGridViewAdapter
=
horizontalGridViewAdpter
;
mPresenter
.
setRvMealClicked
(
false
);
mPresenter
.
changedMealByParentId
(
food
.
getId
());
}
}
mFoodGroupGridViewAdapter
=
horizontalGridViewAdpter
;
mPresenter
.
setRvMealClicked
(
false
);
mPresenter
.
changedMealByParentId
(
food
.
getId
());
});
});
//每一个GridView作为一个View对象添加到ViewPager集合中
//每一个GridView作为一个View对象添加到ViewPager集合中
viewPagerList
.
add
(
gridView
);
viewPagerList
.
add
(
gridView
);
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
View file @
9e3a4f2b
...
@@ -79,6 +79,7 @@ public class OrderContentActivity extends BaseActivity<OrderContentPresenter> im
...
@@ -79,6 +79,7 @@ public class OrderContentActivity extends BaseActivity<OrderContentPresenter> im
private
ChooseNumberDialog
chooseNumberDialog
;
private
ChooseNumberDialog
chooseNumberDialog
;
public
static
final
int
BILL_CODE
=
1002
;
public
static
final
int
BILL_CODE
=
1002
;
@Override
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerOrderContentComponent
//如找不到该类,请编译一下项目
DaggerOrderContentComponent
//如找不到该类,请编译一下项目
...
@@ -325,8 +326,8 @@ public class OrderContentActivity extends BaseActivity<OrderContentPresenter> im
...
@@ -325,8 +326,8 @@ public class OrderContentActivity extends BaseActivity<OrderContentPresenter> im
@Override
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
BILL_CODE
)
{
if
(
requestCode
==
BILL_CODE
)
{
if
(
resultCode
==
Activity
.
RESULT_OK
)
{
if
(
resultCode
==
Activity
.
RESULT_OK
)
{
setResult
(
Activity
.
RESULT_OK
,
null
);
setResult
(
Activity
.
RESULT_OK
,
null
);
killMyself
();
killMyself
();
}
}
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
9e3a4f2b
...
@@ -3,16 +3,14 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
...
@@ -3,16 +3,14 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableContract
;
import
com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableContract
;
import
com.gingersoft.gsa.cloud.base.qmui.arch.Utils
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.base.utils.view.ViewUtils
;
import
com.gingersoft.gsa.cloud.base.utils.view.ViewUtils
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
...
@@ -20,7 +18,6 @@ import com.gingersoft.gsa.cloud.table.R2;
...
@@ -20,7 +18,6 @@ import com.gingersoft.gsa.cloud.table.R2;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerOrderPayComponent
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerOrderPayComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.BillMethodBean
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.BillMethodBean
;
import
com.gingersoft.gsa.cloud.table.mvp.model.constant.MealConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.OrderPayPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.OrderPayPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillMethodAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillMethodAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillMoneyAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillMoneyAdapter
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
9e3a4f2b
...
@@ -6,6 +6,7 @@ import android.os.Bundle;
...
@@ -6,6 +6,7 @@ import android.os.Bundle;
import
android.os.Message
;
import
android.os.Message
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.DisplayMetrics
;
import
android.util.DisplayMetrics
;
import
android.util.Log
;
import
android.util.TypedValue
;
import
android.util.TypedValue
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/HorizontalGridViewAdpter.java
View file @
9e3a4f2b
...
@@ -60,7 +60,7 @@ public class HorizontalGridViewAdpter extends BaseAdapter {
...
@@ -60,7 +60,7 @@ public class HorizontalGridViewAdpter extends BaseAdapter {
if
(
convertView
==
null
)
{
if
(
convertView
==
null
)
{
holder
=
new
ViewHolder
();
holder
=
new
ViewHolder
();
convertView
=
View
.
inflate
(
context
,
R
.
layout
.
meal_item_name
,
null
);
convertView
=
View
.
inflate
(
context
,
R
.
layout
.
meal_item_name
,
null
);
holder
.
tv_name
=
(
TextView
)
convertView
.
findViewById
(
R
.
id
.
tv_text
);
holder
.
tv_name
=
convertView
.
findViewById
(
R
.
id
.
tv_text
);
convertView
.
setTag
(
holder
);
convertView
.
setTag
(
holder
);
}
else
{
}
else
{
holder
=
(
ViewHolder
)
convertView
.
getTag
();
holder
=
(
ViewHolder
)
convertView
.
getTag
();
...
...
table-mode/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodAdapter.java
View file @
9e3a4f2b
...
@@ -101,32 +101,9 @@ public class FoodAdapter extends DefaultAdapter<Food> {
...
@@ -101,32 +101,9 @@ public class FoodAdapter extends DefaultAdapter<Food> {
setColor
(
datasBean
);
setColor
(
datasBean
);
setStatus
(
datasBean
);
setStatus
(
datasBean
);
setOnItemClickListener
(
new
OnViewClickListener
()
{
setOnItemClickListener
((
view
,
position1
)
->
{
if
(
ViewUtils
.
isFastClick2
())
{
@Override
resetSelect
(
position1
,
datasBean
);
public
void
onViewClick
(
View
view
,
int
position
)
{
if
(
ViewUtils
.
isFastClick2
())
{
if
(
currentSelectPosition
==
0
||
currentSelectPosition
!=
position
)
{
if
(
currentSelectPosition
<
mInfos
.
size
())
{
//重置上次选中item的颜色
mInfos
.
get
(
currentSelectPosition
).
setSelected
(
false
);
notifyItemChanged
(
currentSelectPosition
);
}
//设置当前选中item颜色
datasBean
.
setSelected
(
true
);
notifyItemChanged
(
position
);
//保存上次操作的position
currentSelectPosition
=
position
;
}
if
(
mOnItemClickListener
!=
null
)
mOnItemClickListener
.
onItemClick
(
datasBean
,
position
);
}
}
}
});
});
}
}
...
@@ -222,6 +199,35 @@ public class FoodAdapter extends DefaultAdapter<Food> {
...
@@ -222,6 +199,35 @@ public class FoodAdapter extends DefaultAdapter<Food> {
}
}
}
}
public
void
resetSelect
(
int
position
,
Food
datasBean
)
{
if
(
position
<
0
)
{
if
(
mInfos
!=
null
&&
mInfos
.
size
()
>
currentSelectPosition
)
{
//重置上次選中
mInfos
.
get
(
currentSelectPosition
).
setSelected
(
false
);
notifyItemChanged
(
currentSelectPosition
);
}
return
;
}
if
(
currentSelectPosition
==
0
||
currentSelectPosition
!=
position
)
{
if
(
currentSelectPosition
<
mInfos
.
size
())
{
//重置上次选中item的颜色
mInfos
.
get
(
currentSelectPosition
).
setSelected
(
false
);
notifyItemChanged
(
currentSelectPosition
);
}
//设置当前选中item颜色
datasBean
.
setSelected
(
true
);
notifyItemChanged
(
position
);
//保存上次操作的position
currentSelectPosition
=
position
;
}
if
(
mOnItemClickListener
!=
null
)
mOnItemClickListener
.
onItemClick
(
mInfos
.
get
(
position
),
position
);
}
public
int
getCurrentSelectPosition
()
{
public
int
getCurrentSelectPosition
()
{
return
currentSelectPosition
;
return
currentSelectPosition
;
...
...
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