Commit 94f9836a authored by zhang_z's avatar zhang_z

Merge remote-tracking branch 'origin/master'

parents 69160ca2 118d4397
...@@ -133,26 +133,5 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi ...@@ -133,26 +133,5 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
} }
} }
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
dialogDismiss();
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressedSupport() {
dialogDismiss();
super.onBackPressedSupport();
}
/**
* 关闭对话框
*/
public void dialogDismiss() {
if (null != mLoadingDialog && mLoadingDialog.isShowing) {
mLoadingDialog.dismiss();
}
}
} }
package com.xingdata.zzdpos.base; package com.xingdata.zzdpos.base;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.databinding.DataBindingUtil; import android.databinding.DataBindingUtil;
...@@ -21,6 +19,7 @@ import com.blankj.utilcode.util.KeyboardUtils; ...@@ -21,6 +19,7 @@ import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ScreenUtils; import com.blankj.utilcode.util.ScreenUtils;
import com.blankj.utilcode.util.StringUtils; import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.DialogBaseBinding; import com.xingdata.zzdpos.databinding.DialogBaseBinding;
...@@ -41,7 +40,8 @@ import io.reactivex.functions.Function; ...@@ -41,7 +40,8 @@ import io.reactivex.functions.Function;
* @param <B> Fragment对应的ViewDataBinding * @param <B> Fragment对应的ViewDataBinding
* @author Zhangzhen * @author Zhangzhen
*/ */
public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBinding> extends AppCompatDialogFragment { public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBinding> extends
AppCompatDialogFragment {
private DialogBaseBinding mBaseBinding; private DialogBaseBinding mBaseBinding;
private Disposable mDisp; private Disposable mDisp;
...@@ -50,6 +50,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -50,6 +50,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
public P mPresenter; public P mPresenter;
public B mViewBinding; public B mViewBinding;
public boolean isShowing; public boolean isShowing;
private long recLen = -1;
private boolean shutDown = false;
static { static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
...@@ -139,7 +141,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -139,7 +141,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
mBaseBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false); mBaseBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false);
mBaseBinding.vsCenter.getViewStub().setLayoutResource(getLayoutId()); mBaseBinding.vsCenter.getViewStub().setLayoutResource(getLayoutId());
mBaseBinding.vsCenter.getViewStub().setOnInflateListener((viewStub, view) -> mViewBinding = DataBindingUtil.bind(view)); mBaseBinding.vsCenter.getViewStub().setOnInflateListener((viewStub, view) -> mViewBinding
= DataBindingUtil.bind(view));
mBaseBinding.vsCenter.getViewStub().inflate(); mBaseBinding.vsCenter.getViewStub().inflate();
if (!isShowTitle() || getTitle() < 0) mBaseBinding.tvTitle.setVisibility(View.GONE); if (!isShowTitle() || getTitle() < 0) mBaseBinding.tvTitle.setVisibility(View.GONE);
...@@ -179,14 +182,7 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -179,14 +182,7 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
@Override @Override
public void onDismiss(DialogInterface dialog) { public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog); super.onDismiss(dialog);
isShowing = false; dismiss();
if (getBaseActivity() != null && getBaseActivity().mDialogs != null) {
getBaseActivity().mDialogs.remove(this);
}
if (null != mDisp && (!mDisp.isDisposed())) {
mDisp.dispose();
}
} }
/** /**
...@@ -212,6 +208,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -212,6 +208,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
*/ */
public void show(BaseActivity activity) { public void show(BaseActivity activity) {
if (!isShowing) { if (!isShowing) {
this.recLen = -1;
this.shutDown = false;
super.show(activity.getSupportFragmentManager(), this.getTag()); super.show(activity.getSupportFragmentManager(), this.getTag());
isShowing = true; isShowing = true;
} }
...@@ -221,16 +219,19 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -221,16 +219,19 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
* 显示,并在一定时间之后自动关闭 * 显示,并在一定时间之后自动关闭
* *
* @param activity context * @param activity context
* @param recLen 自动关闭的时间 * @param mRecLen 自动关闭的时间
*/ */
public void show(BaseActivity activity, int recLen) { public void show(BaseActivity activity, int mRecLen) {
if (!isShowing) { if (!isShowing) {
this.recLen = mRecLen;
this.shutDown = true;
super.show(activity.getSupportFragmentManager(), this.getTag()); super.show(activity.getSupportFragmentManager(), this.getTag());
isShowing = true; isShowing = true;
Observable.interval(0, 1, TimeUnit.SECONDS).take(recLen + 1).map(new Function<Long, Long>() { Observable.interval(0, 1, TimeUnit.SECONDS).take(recLen + 1).map(new Function<Long,
Long>() {
@Override @Override
public Long apply(@io.reactivex.annotations.NonNull Long aLong) throws Exception { public Long apply(@io.reactivex.annotations.NonNull Long aLong) throws Exception {
return recLen - aLong; return mRecLen - aLong;
} }
}).observeOn(AndroidSchedulers.mainThread()).doOnSubscribe(new Consumer<Disposable>() { }).observeOn(AndroidSchedulers.mainThread()).doOnSubscribe(new Consumer<Disposable>() {
@Override @Override
...@@ -245,6 +246,7 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -245,6 +246,7 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
@Override @Override
public void onNext(@io.reactivex.annotations.NonNull Long aLong) { public void onNext(@io.reactivex.annotations.NonNull Long aLong) {
recLen = aLong;
LogUtils.e("对话框将在" + aLong + "S后关闭"); LogUtils.e("对话框将在" + aLong + "S后关闭");
} }
...@@ -256,20 +258,20 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -256,20 +258,20 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
@Override @Override
public void onComplete() { public void onComplete() {
dismiss(); dismiss();
if (null != mDisp) {
mDisp.dispose();
}
} }
}); });
} }
} }
/** /**
* 关闭 * 关闭
*/ */
public void dismiss() { public void dismiss() {
if (isShowing) { if (isShowing) {
isShowing = false;
if (getBaseActivity() != null && getBaseActivity().mDialogs != null) {
getBaseActivity().mDialogs.remove(this);
}
if (null != mDisp && (!mDisp.isDisposed())) { if (null != mDisp && (!mDisp.isDisposed())) {
mDisp.dispose(); mDisp.dispose();
} }
...@@ -277,6 +279,16 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -277,6 +279,16 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
} }
} }
public void toughDismiss() {
if (shutDown) {
if (recLen <= 0) {
dismiss();
} else {
ToastUtils.showLong(recLen + "s 后可关闭");
}
}
}
/** /**
* 设置标题 * 设置标题
* *
......
...@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.dialog; ...@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.dialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.os.Bundle; import android.os.Bundle;
import android.view.KeyEvent;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
...@@ -27,6 +28,15 @@ public class LoadingDialog extends BaseDialog<BasePresenter, DialogLoadingBindin ...@@ -27,6 +28,15 @@ public class LoadingDialog extends BaseDialog<BasePresenter, DialogLoadingBindin
@Override @Override
public void initView() { public void initView() {
this.setCancelable(false); this.setCancelable(false);
this.getDialog().setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) {
if (i == keyEvent.KEYCODE_BACK) {
toughDismiss();
}
return true;
}
});
} }
@Override @Override
......
...@@ -334,8 +334,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin ...@@ -334,8 +334,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin
} else { } else {
pop(); pop();
} }
super.onBackPressedSupport();
} }
private void closeLoading(LoadingDialog loadingDialog) { private void closeLoading(LoadingDialog loadingDialog) {
......
...@@ -59,11 +59,9 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, ...@@ -59,11 +59,9 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P,
@Override @Override
public void initView() { public void initView() {
if (!titleStr.equals("")) { if (!titleStr.equals("")) {
mViewBinding.vsTitle.getViewStub().setVisibility(View.VISIBLE);
viewStub = mViewBinding.vsTitle.getViewStub(); viewStub = mViewBinding.vsTitle.getViewStub();
if (viewStub.getParent() != null) { inflated = viewStub.inflate();
inflated = viewStub.inflate(); viewStub.setVisibility(View.VISIBLE);
}
inflated.findViewById(R.id.iv_back).setOnClickListener(new View.OnClickListener() { inflated.findViewById(R.id.iv_back).setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
......
...@@ -49,59 +49,12 @@ ...@@ -49,59 +49,12 @@
<com.xingdata.zzdpos.view.SearchBar <com.xingdata.zzdpos.view.SearchBar
android:id="@+id/v_search" android:id="@+id/v_search"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="0dp"
android:layout_marginEnd="@dimen/all_margin" app:hint="@string/store_search_hint"
android:gravity="center|left" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back" app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/> app:layout_constraintTop_toTopOf="parent"/>
<!--<LinearLayout-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_marginEnd="@dimen/all_margin"-->
<!--android:gravity="center|left"-->
<!--app:layout_constraintBottom_toTopOf="parent"-->
<!--app:layout_constraintLeft_toRightOf="@id/btn_back"-->
<!--app:layout_constraintRight_toRightOf="parent"-->
<!--app:layout_constraintTop_toBottomOf="parent">-->
<!--<EditText-->
<!--android:id="@+id/et_keyword"-->
<!--style="@style/searchBarEditor"-->
<!--android:layout_width="0dp"-->
<!--android:layout_marginEnd="@dimen/all_spacing"-->
<!--android:layout_weight="1"-->
<!--android:background="@drawable/shape_gray_r1"-->
<!--android:clickable="true"-->
<!--android:drawableLeft="@mipmap/ic_search"-->
<!--android:drawablePadding="@dimen/all_spacing"-->
<!--android:enabled="true"-->
<!--android:gravity="center|left"-->
<!--android:hint="@string/store_search_hint"-->
<!--android:maxLength="20"-->
<!--android:maxLines="1"-->
<!--android:onClick="@{OnClickListener}"-->
<!--android:paddingLeft="@dimen/all_padding"-->
<!--android:saveEnabled="false"-->
<!--android:textColor="@color/black_likui"-->
<!--android:textSize="@dimen/all_text_size_low"/>-->
<!--<TextView-->
<!--android:id="@+id/btn_seach"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="match_parent"-->
<!--android:background="@color/transparent"-->
<!--android:contentDescription="@string/store_scan"-->
<!--android:foreground="?android:attr/actionBarItemBackground"-->
<!--android:gravity="center"-->
<!--android:onClick="@{OnClickListener}"-->
<!--android:text="搜索"-->
<!--android:textColor="@color/black_baozheng"-->
<!--android:textSize="@dimen/all_body_size"-->
<!--/>-->
<!--</LinearLayout>-->
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -53,46 +53,6 @@ ...@@ -53,46 +53,6 @@
app:layout_constraintLeft_toRightOf="@id/btn_back" app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/> app:layout_constraintTop_toTopOf="parent"/>
<!--<LinearLayout-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_marginEnd="@dimen/all_margin"-->
<!--android:gravity="center"-->
<!--app:layout_constraintBottom_toTopOf="parent"-->
<!--app:layout_constraintLeft_toRightOf="@id/btn_back"-->
<!--app:layout_constraintRight_toRightOf="parent"-->
<!--app:layout_constraintTop_toBottomOf="parent">-->
<!--<EditText-->
<!--android:id="@+id/et_keyword"-->
<!--style="@style/searchBarEditor"-->
<!--android:layout_width="0dp"-->
<!--android:layout_marginEnd="@dimen/all_spacing"-->
<!--android:layout_weight="1"-->
<!--android:focusable="true"-->
<!--android:hint="@string/store_search_hint"-->
<!--android:imeOptions="actionSearch"-->
<!--android:inputType="text"-->
<!--android:labelFor="@+id/et_search"-->
<!--android:saveEnabled="false"-->
<!--android:textColor="@color/black_likui"-->
<!--android:textSize="@dimen/all_text_size_low"/>-->
<!--<TextView-->
<!--android:id="@+id/btn_seach"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="match_parent"-->
<!--android:background="@color/transparent"-->
<!--android:contentDescription="@string/store_scan"-->
<!--android:foreground="?android:attr/actionBarItemBackground"-->
<!--android:gravity="center"-->
<!--android:onClick="@{OnClickListener}"-->
<!--android:text="搜索"-->
<!--android:textColor="@color/black_baozheng"-->
<!--android:textSize="@dimen/all_body_size"-->
<!--/>-->
<!--</LinearLayout>-->
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -250,6 +250,8 @@ ...@@ -250,6 +250,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="9" android:layout_weight="9"
android:paddingLeft="@dimen/all_bounced_padding"
android:paddingRight="@dimen/all_bounced_padding"
android:visibility="visible"/> android:visibility="visible"/>
</LinearLayout> </LinearLayout>
......
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