将权限申请添加到具体触发的位置

This commit is contained in:
chenjuntao
2019-07-16 17:39:52 +08:00
parent 6c5da2d787
commit 1244d838ec
9 changed files with 157 additions and 79 deletions

View File

@ -356,15 +356,17 @@ public class DownloadItemUtils {
if (!ReservationRepository.thisGameHasBeenReserved(gameEntity.getId())) {
downloadBtn.setOnClickListener(v -> {
CheckLoginUtils.checkLogin(context, entrance, () -> {
ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance(
gameEntity.getId(),
() -> adapter.notifyItemChanged(position)
);
dialogFragment.show(((AppCompatActivity) context).getSupportFragmentManager(), "reserve");
PermissionHelper.checkReadPhoneStatePermissionBeforeAction(context, () -> {
ReserveDialogFragment dialogFragment = ReserveDialogFragment.getInstance(
gameEntity.getId(),
() -> adapter.notifyItemChanged(position)
);
dialogFragment.show(((AppCompatActivity) context).getSupportFragmentManager(), "reserve");
});
if (clickCallback != null) {
clickCallback.onCallback();
}
});
if (clickCallback != null) {
clickCallback.onCallback();
}
});
} else {
downloadBtn.setOnClickListener(v -> {
@ -379,17 +381,21 @@ public class DownloadItemUtils {
if (gameEntity.getApk().size() == 1) {
downloadBtn.setOnClickListener(v -> {
onNormalClick(context, downloadBtn, gameEntity, position, adapter, entrance, location, traceEvent);
if (clickCallback != null) {
clickCallback.onCallback();
}
PermissionHelper.checkStoragePermissionBeforeAction(context, () -> {
onNormalClick(context, downloadBtn, gameEntity, position, adapter, entrance, location, traceEvent);
if (clickCallback != null) {
clickCallback.onCallback();
}
});
});
} else {
downloadBtn.setOnClickListener(v -> {
DownloadDialog.getInstance(context).showPopupWindow(v, gameEntity, entrance, location, traceEvent);
if (clickCallback != null) {
clickCallback.onCallback();
}
PermissionHelper.checkStoragePermissionBeforeAction(context, () -> {
DownloadDialog.getInstance(context).showPopupWindow(v, gameEntity, entrance, location, traceEvent);
if (clickCallback != null) {
clickCallback.onCallback();
}
});
});
}