Commit c0b80ff6 authored by 陈前's avatar 陈前

Merge remote-tracking branch 'origin/master'

parents f2e3fdf7 0d153ec2
......@@ -30,8 +30,7 @@ import me.yokeyword.fragmentation.SupportActivity;
* @author Zhangzhen
*/
public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBinding> extends
SupportActivity {
public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBinding> extends SupportActivity {
public Context mContext;
public P mPresenter;
......@@ -127,7 +126,7 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
@Override
public void start(ISupportFragment toFragment) {
if ((System.currentTimeMillis() - mTime) > 500) {
if ((System.currentTimeMillis() - mTime) > 1000) {
mTime = System.currentTimeMillis();
super.start(toFragment);
}
......
......@@ -24,13 +24,13 @@ import me.yokeyword.fragmentation.SupportFragment;
* @param <B> Fragment对应的ViewDataBinding
* @author Zhangzhen
*/
public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBinding> extends
SupportFragment {
public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBinding> extends SupportFragment {
public Context mContext;
public P mPresenter;
public B mViewBinding;
public LoadingDialog mLoadingDialog;
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
......@@ -39,8 +39,7 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mContext = ActivityUtils.getTopActivity();
mPresenter = (P) ((BaseActivity) getActivity()).mPresenter;
mLoadingDialog = ((BaseActivity) getActivity()).mLoadingDialog;
......@@ -66,7 +65,6 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
KeyboardUtils.hideSoftInput(getActivity());
}
public String getTabTitle() {
return null;
}
......
package com.xingdata.zzdpos.ui.scan;
import android.content.Context;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraManager;
import android.os.Handler;
import android.view.View;
......@@ -9,6 +10,7 @@ import android.widget.TextView;
import com.blankj.utilcode.constant.PermissionConstants;
import com.blankj.utilcode.util.PermissionUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.base.BasePresenter;
......@@ -29,6 +31,9 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
private ViewStub viewStub;
private View inflated;
private Long mTime;
@Override
public int getLayoutId() {
return R.layout.fragment_store_scan;
......@@ -66,6 +71,7 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
@Override
public void initView() {
isDenied = false;
mTime = TimeUtils.getNowMills();
PermissionUtils.permission(PermissionConstants.CAMERA).callback(new PermissionUtils.FullCallback() {
@Override
public void onGranted(List<String> permissionsGranted) {
......@@ -83,6 +89,17 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
private void initCamera() {
mCameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);
try {
if ((mCameraManager != null ? mCameraManager.getCameraIdList().length : 0) > 1) {
mViewBinding.ivChange.setVisibility(View.VISIBLE);
} else {
mViewBinding.ivChange.setVisibility(View.GONE);
}
} catch (CameraAccessException e) {
e.printStackTrace();
}
if (!titleStr.equals("")) {
viewStub = mViewBinding.vsTitle.getViewStub();
inflated = viewStub.inflate();
......@@ -116,21 +133,17 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
if (mCurCameraId == getDefaultCameraId()) {
mCurCameraId = getFrontFacingCameraId();
mScannerView.stopCamera();
mScannerView.startCamera(getFrontFacingCameraId());
} else {
mCurCameraId = getDefaultCameraId();
mScannerView.stopCamera();
mScannerView.startCamera(getDefaultCameraId());
}
});
}
private int mCurCameraId;
@Override
public void onResume() {
super.onResume();
......@@ -161,6 +174,7 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, Fragm
@Override
public boolean onBackPressedSupport() {
if (TimeUtils.getNowMills() - mTime <= 500) return true;
if (mOnBackPressedListener != null) mOnBackPressedListener.onBackPressed();
return super.onBackPressedSupport();
}
......
......@@ -4,6 +4,7 @@ import android.view.MotionEvent;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
......@@ -139,6 +140,7 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
// mPresenter.payInBank();
break;
case C.PAY_CHANNEL.ALI:
if (TimeUtils.getNowMills() - mTime < 1000) return;
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.settle_channel_ali);
mScanFragment.setOnScanCompletedListener(barcode -> {
......@@ -149,6 +151,7 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
this.start(mScanFragment);
break;
case C.PAY_CHANNEL.WECHAT:
if (TimeUtils.getNowMills() - mTime < 1000) return;
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.settle_channel_wechat);
mScanFragment.setOnScanCompletedListener(barcode -> {
......@@ -204,9 +207,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
return mSettleFragment.mViewBinding.etMark.getText().toString();
}
private long mTime;
@Override
public void backToSettleFragment() {
mTime = TimeUtils.getNowMills();
this.showTitleBarByTitleMode(C.TITLE_MODE.TEXT);
mViewBinding.tvTitle.setText(R.string.settle_title);
mViewBinding.vSearch.hideSoftInput();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment