Commit 116196ae33f535b9cd5a6fc59d2fd365fdd2a2c4
Merge branch 'master' of bj.gitlab.cnlive.com:cnlive-team/ModulePedometer
Conflicts: config.gradle
Showing
3 changed files
with
41 additions
and
33 deletions
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/view/OnGoingFragmentView.java
| ... | ... | @@ -351,10 +351,6 @@ public class OnGoingFragmentView implements MvpView { |
| 351 | 351 | if (runRaceDetailInfo.isIndividualAchievement()) { |
| 352 | 352 | //显示 |
| 353 | 353 | fragment.binding.includePersonScore.llPersonScoreRoot.setVisibility(View.VISIBLE); |
| 354 | - //设置完成人数 | |
| 355 | - if (!TextUtils.isEmpty(runRaceDetailInfo.getFinishNum())) { | |
| 356 | - fragment.binding.includeRank.tvFinishPerson.setText(runRaceDetailInfo.getFinishNum()); | |
| 357 | - } | |
| 358 | 354 | //设置个人行走距离 |
| 359 | 355 | if (!TextUtils.isEmpty(runRaceDetailInfo.getUserMileage())) { |
| 360 | 356 | fragment.binding.includePersonScore.tvUserDistance.setText(runRaceDetailInfo.getUserMileage()); |
| ... | ... | @@ -378,6 +374,10 @@ public class OnGoingFragmentView implements MvpView { |
| 378 | 374 | //设置是否显示排行榜 |
| 379 | 375 | if (runRaceDetailInfo.isRanking()) { |
| 380 | 376 | fragment.binding.includeRank.llRankRoot.setVisibility(View.VISIBLE); |
| 377 | + //设置完成人数 | |
| 378 | + if (!TextUtils.isEmpty(runRaceDetailInfo.getFinishNum())) { | |
| 379 | + fragment.binding.includeRank.tvFinishPerson.setText(runRaceDetailInfo.getFinishNum()); | |
| 380 | + } | |
| 381 | 381 | //设置第一名头像 |
| 382 | 382 | GlideApp.with(getContext()).load(runRaceDetailInfo.getFirstFaceUrl()).into(fragment.binding.includeRank.ivFirstPersonUrl); |
| 383 | 383 | //设置排行榜头像 | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/activity/RunRaceDetailActivity.java
| ... | ... | @@ -2,7 +2,6 @@ package com.cnlive.moudle.pedometer.ui.activity; |
| 2 | 2 | |
| 3 | 3 | import android.Manifest; |
| 4 | 4 | import android.app.Activity; |
| 5 | -import android.content.Context; | |
| 6 | 5 | import android.content.Intent; |
| 7 | 6 | import android.content.pm.PackageManager; |
| 8 | 7 | import android.net.Uri; |
| ... | ... | @@ -10,41 +9,26 @@ import android.os.Build; |
| 10 | 9 | import android.os.Bundle; |
| 11 | 10 | import android.provider.Settings; |
| 12 | 11 | import android.support.annotation.NonNull; |
| 13 | -import android.support.annotation.Nullable; | |
| 14 | -import android.support.design.widget.BottomSheetDialog; | |
| 15 | 12 | import android.support.v4.app.ActivityCompat; |
| 16 | 13 | import android.text.TextUtils; |
| 17 | 14 | import android.util.Log; |
| 18 | -import android.view.View; | |
| 19 | -import android.widget.FrameLayout; | |
| 20 | 15 | import android.widget.Toast; |
| 21 | 16 | |
| 22 | 17 | import com.alibaba.android.arouter.facade.annotation.Route; |
| 23 | -import com.baidu.mapapi.CoordType; | |
| 24 | -import com.baidu.mapapi.SDKInitializer; | |
| 25 | 18 | import com.cnlive.libs.base.ui.QMUIFragment; |
| 26 | 19 | import com.cnlive.libs.base.ui.QMUIFragmentActivity; |
| 27 | -import com.cnlive.libs.base.util.StatusBarUtil; | |
| 28 | -import com.cnlive.libs.base.util.StatusBarUtil2; | |
| 29 | 20 | import com.cnlive.moudle.pedometer.commonInfo.CommonInfo; |
| 30 | -import com.cnlive.moudle.pedometer.model.RunningMapBean; | |
| 31 | -import com.cnlive.moudle.pedometer.sql.entity.UserStepEntity; | |
| 32 | 21 | import com.cnlive.moudle.pedometer.ui.fragment.RunMainFragment; |
| 33 | 22 | import com.cnlive.moudle.pedometer.ui.fragment.RunRaceDetailFragment; |
| 34 | -import com.cnlive.moudle.pedometer.ui.fragment.RunningMapFragment; | |
| 35 | -import com.cnlive.moudle.pedometer.ui.widget.FivePersonIconView; | |
| 36 | 23 | import com.cnlive.moudle.pedometer.ui.widget.SelectDialog; |
| 37 | 24 | import com.cnlive.moudle.pedometer.utils.CheckUtil; |
| 38 | 25 | import com.cnlive.moudle.pedometer.utils.MyMapUtil; |
| 39 | 26 | import com.cnlive.moudle.pedometer.utils.NotificationUtil; |
| 40 | -import com.cnlive.moudle.pedometer.utils.StepUtil; | |
| 27 | +import com.cnlive.moudle.pedometer.utils.PermissionResultUtil; | |
| 41 | 28 | import com.cnlive.moudle.pedometer.utils.lib_permisshelper.PermissionsListener; |
| 42 | 29 | import com.cnlive.moudle.pedometer.utils.lib_permisshelper.PermissionsUtils; |
| 43 | 30 | import com.example.moudle_pedometer.R; |
| 44 | 31 | |
| 45 | -import java.util.ArrayList; | |
| 46 | -import java.util.List; | |
| 47 | - | |
| 48 | 32 | /** |
| 49 | 33 | * 活动赛事详情页 |
| 50 | 34 | * |
| ... | ... | @@ -116,16 +100,15 @@ public class RunRaceDetailActivity extends QMUIFragmentActivity { |
| 116 | 100 | @Override |
| 117 | 101 | public void onClick(SelectDialog dialog) { |
| 118 | 102 | dialog.dismiss(); |
| 119 | -// if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[i])) { | |
| 120 | -// showToast("点击权限,并打开全部权限"); | |
| 121 | 103 | Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); |
| 122 | 104 | Uri uri = Uri.fromParts("package", getPackageName(), null); |
| 123 | 105 | intent.setData(uri); |
| 124 | 106 | startActivityForResult(intent, 0); |
| 125 | 107 | permissionRequestCount = 0; |
| 126 | -// } | |
| 127 | 108 | } |
| 128 | 109 | }); |
| 110 | + selectDialog.setCancelable(false); | |
| 111 | + selectDialog.setCanceledOnTouchOutside(false); | |
| 129 | 112 | } |
| 130 | 113 | |
| 131 | 114 | @Override |
| ... | ... | @@ -305,20 +288,14 @@ public class RunRaceDetailActivity extends QMUIFragmentActivity { |
| 305 | 288 | return; |
| 306 | 289 | } |
| 307 | 290 | boolean isShowPermissionTip = true; |
| 308 | - for (int i = 0; i < grantResults.length; i++) {//判断权限的结果,如果有被拒绝,就return | |
| 309 | - if (grantResults[i] == PackageManager.PERMISSION_DENIED) { | |
| 310 | - if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[i])) { | |
| 311 | - isShowPermissionTip = false; | |
| 312 | - break; | |
| 313 | - } | |
| 314 | - } | |
| 291 | + boolean isAllow = PermissionResultUtil.checkPermissions(this, permissions); | |
| 292 | + if (!isAllow) { | |
| 293 | + isShowPermissionTip = false; | |
| 315 | 294 | } |
| 316 | 295 | if (isShowPermissionTip) { |
| 317 | 296 | mPermissionsUtils.dealResult(requestCode, permissions, grantResults); |
| 318 | 297 | } else { |
| 319 | 298 | if (0 == permissionRequestCount) { |
| 320 | - selectDialog.setCancelable(false); | |
| 321 | - selectDialog.setCanceledOnTouchOutside(false); | |
| 322 | 299 | if (!selectDialog.isShowing()) { |
| 323 | 300 | selectDialog.show(); |
| 324 | 301 | permissionRequestCount = 1; | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/utils/PermissionResultUtil.java
0 → 100644
| 1 | +package com.cnlive.moudle.pedometer.utils; | |
| 2 | + | |
| 3 | +import android.content.Context; | |
| 4 | +import android.content.pm.PackageManager; | |
| 5 | +import android.os.Build; | |
| 6 | +import android.support.v4.content.ContextCompat; | |
| 7 | + | |
| 8 | +public class PermissionResultUtil { | |
| 9 | + | |
| 10 | + /** | |
| 11 | + * 检测所有的权限是否都已授权 | |
| 12 | + * | |
| 13 | + * @param permissions | |
| 14 | + * @return | |
| 15 | + */ | |
| 16 | + public static boolean checkPermissions(Context context, String[] permissions) { | |
| 17 | + boolean isAllow = true; | |
| 18 | + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { | |
| 19 | + isAllow = true; | |
| 20 | + } else { | |
| 21 | + for (String permission : permissions) { | |
| 22 | + if (ContextCompat.checkSelfPermission(context, permission) != | |
| 23 | + PackageManager.PERMISSION_GRANTED) { | |
| 24 | + isAllow = false; | |
| 25 | + break; | |
| 26 | + } | |
| 27 | + } | |
| 28 | + } | |
| 29 | + return isAllow; | |
| 30 | + } | |
| 31 | +} | ... | ... |