Commit a1ebbd54720b86967663299989803225f2e430e4
1 parent
b7f8e6f8
1 优化基类权限申请逻辑
Showing
8 changed files
with
301 additions
and
41 deletions
app/strike/src/main/java/com/cnlive/strike/MainActivity.java
| @@ -34,6 +34,7 @@ public class MainActivity extends AppCompatActivity { | @@ -34,6 +34,7 @@ public class MainActivity extends AppCompatActivity { | ||
| 34 | public void onClick(View v) { | 34 | public void onClick(View v) { |
| 35 | if (TextUtils.isEmpty(UserService.getUid(MainActivity.this))) { | 35 | if (TextUtils.isEmpty(UserService.getUid(MainActivity.this))) { |
| 36 | startActivity(new Intent(MainActivity.this, LoginActivity.class)); | 36 | startActivity(new Intent(MainActivity.this, LoginActivity.class)); |
| 37 | +// finish(); | ||
| 37 | } else { | 38 | } else { |
| 38 | startActivity(new Intent(MainActivity.this, MyActivity.class)); | 39 | startActivity(new Intent(MainActivity.this, MyActivity.class)); |
| 39 | } | 40 | } |
app/strike/src/main/java/com/cnlive/strike/MyActivity.java
| @@ -44,6 +44,8 @@ public class MyActivity extends BaseActivity { | @@ -44,6 +44,8 @@ public class MyActivity extends BaseActivity { | ||
| 44 | binding.btnChange.setOnClickListener(new View.OnClickListener() { | 44 | binding.btnChange.setOnClickListener(new View.OnClickListener() { |
| 45 | @Override | 45 | @Override |
| 46 | public void onClick(View v) { | 46 | public void onClick(View v) { |
| 47 | + startActivity(new Intent(MyActivity.this, RunLineActivity.class)); | ||
| 48 | + | ||
| 47 | // WjjPay.passwordIsExisting(UserService.getUid(me), new NetCallBack<BaseResult<GroupBalanceInfo>>() { | 49 | // WjjPay.passwordIsExisting(UserService.getUid(me), new NetCallBack<BaseResult<GroupBalanceInfo>>() { |
| 48 | // @Override | 50 | // @Override |
| 49 | // public void onRequestState(int state) { | 51 | // public void onRequestState(int state) { |
| @@ -60,24 +62,24 @@ public class MyActivity extends BaseActivity { | @@ -60,24 +62,24 @@ public class MyActivity extends BaseActivity { | ||
| 60 | // QMUITipDialogUtil.failedDialog(me, errMsg, 3); | 62 | // QMUITipDialogUtil.failedDialog(me, errMsg, 3); |
| 61 | // } | 63 | // } |
| 62 | // }); | 64 | // }); |
| 63 | - WjjPay.setPassword(UserService.getUid(me), "123456", new NetCallBack<BaseResult>() { | ||
| 64 | - @Override | ||
| 65 | - public void onRequestState(int state) { | ||
| 66 | - if (state == HttpConn.ON_START) { | ||
| 67 | - QMUITipDialogUtil.loadingDialog(me, "修改中", true); | ||
| 68 | - } | ||
| 69 | - } | ||
| 70 | - | ||
| 71 | - @Override | ||
| 72 | - public void onSuccess(BaseResult data) { | ||
| 73 | - QMUITipDialogUtil.successDialog(me, data.getMessage(), 5); | ||
| 74 | - } | ||
| 75 | - | ||
| 76 | - @Override | ||
| 77 | - public void onFailure(String errCode, String errMsg) { | ||
| 78 | - QMUITipDialogUtil.failedDialog(me, errMsg, 3); | ||
| 79 | - } | ||
| 80 | - }); | 65 | +// WjjPay.setPassword(UserService.getUid(me), "123456", new NetCallBack<BaseResult>() { |
| 66 | +// @Override | ||
| 67 | +// public void onRequestState(int state) { | ||
| 68 | +// if (state == HttpConn.ON_START) { | ||
| 69 | +// QMUITipDialogUtil.loadingDialog(me, "修改中", true); | ||
| 70 | +// } | ||
| 71 | +// } | ||
| 72 | +// | ||
| 73 | +// @Override | ||
| 74 | +// public void onSuccess(BaseResult data) { | ||
| 75 | +// QMUITipDialogUtil.successDialog(me, data.getMessage(), 5); | ||
| 76 | +// } | ||
| 77 | +// | ||
| 78 | +// @Override | ||
| 79 | +// public void onFailure(String errCode, String errMsg) { | ||
| 80 | +// QMUITipDialogUtil.failedDialog(me, errMsg, 3); | ||
| 81 | +// } | ||
| 82 | +// }); | ||
| 81 | } | 83 | } |
| 82 | }); | 84 | }); |
| 83 | } | 85 | } |
cloud/user/src/main/AndroidManifest.xml
| @@ -39,7 +39,6 @@ | @@ -39,7 +39,6 @@ | ||
| 39 | android:name="WEIBO_CHANNEL" | 39 | android:name="WEIBO_CHANNEL" |
| 40 | android:value="weibo" /> | 40 | android:value="weibo" /> |
| 41 | 41 | ||
| 42 | - <activity android:name="com.cnlive.strike.moudle.user.ui.activity.MainTestActivity" /> | ||
| 43 | <activity | 42 | <activity |
| 44 | android:name=".ui.activity.LoginActivity" | 43 | android:name=".ui.activity.LoginActivity" |
| 45 | android:configChanges="keyboardHidden|screenSize|orientation|smallestScreenSize|screenLayout" | 44 | android:configChanges="keyboardHidden|screenSize|orientation|smallestScreenSize|screenLayout" |
| @@ -50,12 +49,6 @@ | @@ -50,12 +49,6 @@ | ||
| 50 | <action android:name="android.accounts.AccountAuthenticator" /> | 49 | <action android:name="android.accounts.AccountAuthenticator" /> |
| 51 | </intent-filter> | 50 | </intent-filter> |
| 52 | </activity> | 51 | </activity> |
| 53 | - | ||
| 54 | - <activity | ||
| 55 | - android:name="com.cnlive.strike.moudle.user.ui.activity.BindPhoneNumberActivity" | ||
| 56 | - android:configChanges="keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation" | ||
| 57 | - android:launchMode="singleTop" | ||
| 58 | - android:screenOrientation="portrait" /> | ||
| 59 | <activity | 52 | <activity |
| 60 | android:name=".ui.activity.FirstLoginActivity" | 53 | android:name=".ui.activity.FirstLoginActivity" |
| 61 | android:configChanges="keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation" | 54 | android:configChanges="keyboardHidden|screenSize|smallestScreenSize|screenLayout|orientation" |
cloud/user/src/main/java/com/cnlive/strike/user/sms/SmsVerifyCatcher.java
| @@ -27,6 +27,9 @@ import androidx.core.app.ActivityCompat; | @@ -27,6 +27,9 @@ import androidx.core.app.ActivityCompat; | ||
| 27 | import androidx.core.content.ContextCompat; | 27 | import androidx.core.content.ContextCompat; |
| 28 | import androidx.fragment.app.Fragment; | 28 | import androidx.fragment.app.Fragment; |
| 29 | 29 | ||
| 30 | +import com.cnlive.core.libs.base.frame.fragment.BaseFragment; | ||
| 31 | +import com.cnlive.core.libs.base.interfaces.OnPermissionResponseListener; | ||
| 32 | + | ||
| 30 | /** | 33 | /** |
| 31 | * Created by Anton Bevza on 8/15/16. | 34 | * Created by Anton Bevza on 8/15/16. |
| 32 | */ | 35 | */ |
| @@ -35,7 +38,7 @@ public class SmsVerifyCatcher { | @@ -35,7 +38,7 @@ public class SmsVerifyCatcher { | ||
| 35 | public static int PERMISSION_REQUEST_CODE = 12; | 38 | public static int PERMISSION_REQUEST_CODE = 12; |
| 36 | 39 | ||
| 37 | private Activity activity; | 40 | private Activity activity; |
| 38 | - private Fragment fragment; | 41 | + private BaseFragment fragment; |
| 39 | private OnSmsCatchListener<String> onSmsCatchListener; | 42 | private OnSmsCatchListener<String> onSmsCatchListener; |
| 40 | private SmsReceiver smsReceiver; | 43 | private SmsReceiver smsReceiver; |
| 41 | private String phoneNumber; | 44 | private String phoneNumber; |
| @@ -49,13 +52,17 @@ public class SmsVerifyCatcher { | @@ -49,13 +52,17 @@ public class SmsVerifyCatcher { | ||
| 49 | smsReceiver.setCallback(this.onSmsCatchListener); | 52 | smsReceiver.setCallback(this.onSmsCatchListener); |
| 50 | } | 53 | } |
| 51 | 54 | ||
| 52 | - public SmsVerifyCatcher(Activity activity, Fragment fragment, OnSmsCatchListener<String> onSmsCatchListener) { | 55 | + public SmsVerifyCatcher(Activity activity, BaseFragment fragment, OnSmsCatchListener<String> onSmsCatchListener) { |
| 53 | this(activity, onSmsCatchListener); | 56 | this(activity, onSmsCatchListener); |
| 54 | this.fragment = fragment; | 57 | this.fragment = fragment; |
| 58 | + | ||
| 55 | } | 59 | } |
| 56 | 60 | ||
| 57 | //For fragments | 61 | //For fragments |
| 58 | - public static boolean isStoragePermissionGranted(Activity activity, Fragment fragment) { | 62 | + public static boolean isStoragePermissionGranted(Activity activity, BaseFragment fragment) { |
| 63 | + if (null==fragment){ | ||
| 64 | + return false; | ||
| 65 | + } | ||
| 59 | if (Build.VERSION.SDK_INT >= 23) { | 66 | if (Build.VERSION.SDK_INT >= 23) { |
| 60 | if (ContextCompat.checkSelfPermission(activity, Manifest.permission.RECEIVE_SMS) | 67 | if (ContextCompat.checkSelfPermission(activity, Manifest.permission.RECEIVE_SMS) |
| 61 | == PackageManager.PERMISSION_GRANTED && | 68 | == PackageManager.PERMISSION_GRANTED && |
cloud/user/src/main/java/com/cnlive/strike/user/ui/activity/LoginActivity.java
| @@ -15,6 +15,8 @@ import com.cnlive.core.libs.base.frame.fragment.BaseFragment; | @@ -15,6 +15,8 @@ import com.cnlive.core.libs.base.frame.fragment.BaseFragment; | ||
| 15 | import com.cnlive.core.libs.base.util.FragmentUtil; | 15 | import com.cnlive.core.libs.base.util.FragmentUtil; |
| 16 | import com.cnlive.strike.user.R; | 16 | import com.cnlive.strike.user.R; |
| 17 | import com.cnlive.strike.user.ui.fragment.QuickLoginFragment; | 17 | import com.cnlive.strike.user.ui.fragment.QuickLoginFragment; |
| 18 | +import com.me.yokeyword.fragmentation.anim.DefaultHorizontalAnimator; | ||
| 19 | +import com.me.yokeyword.fragmentation.anim.FragmentAnimator; | ||
| 18 | 20 | ||
| 19 | /** | 21 | /** |
| 20 | * @author Lynn | 22 | * @author Lynn |
| @@ -24,7 +26,6 @@ import com.cnlive.strike.user.ui.fragment.QuickLoginFragment; | @@ -24,7 +26,6 @@ import com.cnlive.strike.user.ui.fragment.QuickLoginFragment; | ||
| 24 | @Route(path = LoginActivity.PATH) | 26 | @Route(path = LoginActivity.PATH) |
| 25 | public class LoginActivity extends BaseActivity { | 27 | public class LoginActivity extends BaseActivity { |
| 26 | public static final String PATH = "/cloud/user/ui/activity/login"; | 28 | public static final String PATH = "/cloud/user/ui/activity/login"; |
| 27 | - | ||
| 28 | public static String FROM_TOKEN_ERROR = "from_token_error"; | 29 | public static String FROM_TOKEN_ERROR = "from_token_error"; |
| 29 | public static String TAG_MSG = "tagMsg"; | 30 | public static String TAG_MSG = "tagMsg"; |
| 30 | public static String TAG_SHARE = "tagValue"; | 31 | public static String TAG_SHARE = "tagValue"; |
| @@ -71,13 +72,17 @@ public class LoginActivity extends BaseActivity { | @@ -71,13 +72,17 @@ public class LoginActivity extends BaseActivity { | ||
| 71 | context.startActivity(intent); | 72 | context.startActivity(intent); |
| 72 | } | 73 | } |
| 73 | 74 | ||
| 74 | - | ||
| 75 | @Override | 75 | @Override |
| 76 | - protected void initView() { | 76 | + protected void initParam() { |
| 77 | + super.initParam(); | ||
| 77 | fromTokenError = getIntent().getBooleanExtra(FROM_TOKEN_ERROR, false); | 78 | fromTokenError = getIntent().getBooleanExtra(FROM_TOKEN_ERROR, false); |
| 78 | tagMsg = getIntent().getStringExtra(TAG_MSG) == null ? "" : getIntent().getStringExtra(TAG_MSG); | 79 | tagMsg = getIntent().getStringExtra(TAG_MSG) == null ? "" : getIntent().getStringExtra(TAG_MSG); |
| 79 | shareType = getIntent().getStringExtra(TAG_SHARE); | 80 | shareType = getIntent().getStringExtra(TAG_SHARE); |
| 80 | clickAd = getIntent().getBooleanExtra(TAG_CLICK_AD, false); | 81 | clickAd = getIntent().getBooleanExtra(TAG_CLICK_AD, false); |
| 82 | + } | ||
| 83 | + | ||
| 84 | + @Override | ||
| 85 | + protected void initView() { | ||
| 81 | addFragment(); | 86 | addFragment(); |
| 82 | } | 87 | } |
| 83 | 88 | ||
| @@ -105,4 +110,5 @@ public class LoginActivity extends BaseActivity { | @@ -105,4 +110,5 @@ public class LoginActivity extends BaseActivity { | ||
| 105 | if (quickLoginFragment != null) | 110 | if (quickLoginFragment != null) |
| 106 | quickLoginFragment.onRequestPermissionsResult(requestCode, permissions, grantResults); | 111 | quickLoginFragment.onRequestPermissionsResult(requestCode, permissions, grantResults); |
| 107 | } | 112 | } |
| 113 | + | ||
| 108 | } | 114 | } |
core/base/src/main/java/com/cnlive/core/libs/base/frame/activity/BaseActivity.java
| @@ -99,6 +99,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -99,6 +99,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 99 | private final SwipeBackActivityDelegate mSwipeDelegate = new SwipeBackActivityDelegate(this); | 99 | private final SwipeBackActivityDelegate mSwipeDelegate = new SwipeBackActivityDelegate(this); |
| 100 | private boolean isDefinePermissionCloseActivity = false; | 100 | private boolean isDefinePermissionCloseActivity = false; |
| 101 | private boolean isUserClickAllowBtn = false;//用户是否点击允许按钮 | 101 | private boolean isUserClickAllowBtn = false;//用户是否点击允许按钮 |
| 102 | + private boolean isShowRefuseDialog = true;//是否显示拒绝提示框 | ||
| 102 | private String[] userSetPermission; | 103 | private String[] userSetPermission; |
| 103 | 104 | ||
| 104 | @Override | 105 | @Override |
| @@ -281,6 +282,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -281,6 +282,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 281 | isUserClickAllowBtn = false; | 282 | isUserClickAllowBtn = false; |
| 282 | int requestCode = DEFAULT_REQUEST_CODE_PERMISSION; | 283 | int requestCode = DEFAULT_REQUEST_CODE_PERMISSION; |
| 283 | String tip = defaultDefinePermissionTip; | 284 | String tip = defaultDefinePermissionTip; |
| 285 | + boolean isShowDialog = isShowRefuseDialog; | ||
| 284 | if (null != onPermissionResponseListener && null != userSetPermission) { | 286 | if (null != onPermissionResponseListener && null != userSetPermission) { |
| 285 | if (null != userSetDefinePermissionTip) { | 287 | if (null != userSetDefinePermissionTip) { |
| 286 | tip = userSetDefinePermissionTip; | 288 | tip = userSetDefinePermissionTip; |
| @@ -289,7 +291,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -289,7 +291,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 289 | requestCode = USER_SET_REQUEST_CODE_PERMISSION; | 291 | requestCode = USER_SET_REQUEST_CODE_PERMISSION; |
| 290 | } | 292 | } |
| 291 | //开始请求 | 293 | //开始请求 |
| 292 | - requestPermission(requestCode, tip, isDefinePermissionCloseActivity, userSetPermission, onPermissionResponseListener); | 294 | + requestPermission(requestCode, tip, isDefinePermissionCloseActivity, userSetPermission, isShowDialog, onPermissionResponseListener); |
| 293 | } | 295 | } |
| 294 | } | 296 | } |
| 295 | } | 297 | } |
| @@ -482,6 +484,20 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -482,6 +484,20 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 482 | } | 484 | } |
| 483 | } | 485 | } |
| 484 | 486 | ||
| 487 | + public void requestPermission(String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener | ||
| 488 | + onPermissionResponseListener) { | ||
| 489 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 490 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 491 | + if (checkPermissions(permissions)) { | ||
| 492 | + if (onPermissionResponseListener != null) { | ||
| 493 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 494 | + } | ||
| 495 | + } else { | ||
| 496 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 497 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), DEFAULT_REQUEST_CODE_PERMISSION); | ||
| 498 | + } | ||
| 499 | + } | ||
| 500 | + | ||
| 485 | /** | 501 | /** |
| 486 | * 请求权限 | 502 | * 请求权限 |
| 487 | * <p> | 503 | * <p> |
| @@ -491,6 +507,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -491,6 +507,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 491 | * @param permissions 请求的权限 | 507 | * @param permissions 请求的权限 |
| 492 | * @param onPermissionResponseListener 回调监听器 | 508 | * @param onPermissionResponseListener 回调监听器 |
| 493 | */ | 509 | */ |
| 510 | + | ||
| 494 | public void requestPermission(boolean isDefineActivity, String[] permissions, OnPermissionResponseListener | 511 | public void requestPermission(boolean isDefineActivity, String[] permissions, OnPermissionResponseListener |
| 495 | onPermissionResponseListener) { | 512 | onPermissionResponseListener) { |
| 496 | this.onPermissionResponseListener = onPermissionResponseListener; | 513 | this.onPermissionResponseListener = onPermissionResponseListener; |
| @@ -505,6 +522,21 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -505,6 +522,21 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 505 | } | 522 | } |
| 506 | } | 523 | } |
| 507 | 524 | ||
| 525 | + public void requestPermission(boolean isDefineActivity, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener | ||
| 526 | + onPermissionResponseListener) { | ||
| 527 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 528 | + this.isDefinePermissionCloseActivity = isDefineActivity; | ||
| 529 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 530 | + if (checkPermissions(permissions)) { | ||
| 531 | + if (onPermissionResponseListener != null) { | ||
| 532 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 533 | + } | ||
| 534 | + } else { | ||
| 535 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 536 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), DEFAULT_REQUEST_CODE_PERMISSION); | ||
| 537 | + } | ||
| 538 | + } | ||
| 539 | + | ||
| 508 | /** | 540 | /** |
| 509 | * 请求权限 | 541 | * 请求权限 |
| 510 | * <p> | 542 | * <p> |
| @@ -514,6 +546,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -514,6 +546,7 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 514 | * @param permissions 请求的权限 | 546 | * @param permissions 请求的权限 |
| 515 | * @param onPermissionResponseListener 回调监听器 | 547 | * @param onPermissionResponseListener 回调监听器 |
| 516 | */ | 548 | */ |
| 549 | + | ||
| 517 | public void requestPermission(String defineTip, boolean isDefineActivity, String[] permissions, OnPermissionResponseListener | 550 | public void requestPermission(String defineTip, boolean isDefineActivity, String[] permissions, OnPermissionResponseListener |
| 518 | onPermissionResponseListener) { | 551 | onPermissionResponseListener) { |
| 519 | this.isDefinePermissionCloseActivity = isDefineActivity; | 552 | this.isDefinePermissionCloseActivity = isDefineActivity; |
| @@ -530,6 +563,23 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -530,6 +563,23 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 530 | } | 563 | } |
| 531 | } | 564 | } |
| 532 | 565 | ||
| 566 | + public void requestPermission(String defineTip, boolean isDefineActivity, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener | ||
| 567 | + onPermissionResponseListener) { | ||
| 568 | + this.isDefinePermissionCloseActivity = isDefineActivity; | ||
| 569 | + this.userSetDefinePermissionTip = defineTip; | ||
| 570 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 571 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 572 | + this.userSetPermission = permissions; | ||
| 573 | + if (checkPermissions(permissions)) { | ||
| 574 | + if (onPermissionResponseListener != null) { | ||
| 575 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 576 | + } | ||
| 577 | + } else { | ||
| 578 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 579 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), DEFAULT_REQUEST_CODE_PERMISSION); | ||
| 580 | + } | ||
| 581 | + } | ||
| 582 | + | ||
| 533 | /** | 583 | /** |
| 534 | * 请求权限 | 584 | * 请求权限 |
| 535 | * <p> | 585 | * <p> |
| @@ -553,6 +603,21 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -553,6 +603,21 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 553 | } | 603 | } |
| 554 | } | 604 | } |
| 555 | 605 | ||
| 606 | + public void requestPermission(String defineTip, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener | ||
| 607 | + onPermissionResponseListener) { | ||
| 608 | + this.userSetDefinePermissionTip = defineTip; | ||
| 609 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 610 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 611 | + if (checkPermissions(permissions)) { | ||
| 612 | + if (onPermissionResponseListener != null) { | ||
| 613 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 614 | + } | ||
| 615 | + } else { | ||
| 616 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 617 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), DEFAULT_REQUEST_CODE_PERMISSION); | ||
| 618 | + } | ||
| 619 | + } | ||
| 620 | + | ||
| 556 | /** | 621 | /** |
| 557 | * 自定义权限申请码 | 622 | * 自定义权限申请码 |
| 558 | * | 623 | * |
| @@ -575,6 +640,22 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -575,6 +640,22 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 575 | } | 640 | } |
| 576 | } | 641 | } |
| 577 | 642 | ||
| 643 | + public void requestPermission(int requestCode, boolean isDefineActivity, String[] | ||
| 644 | + permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 645 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 646 | + this.USER_SET_REQUEST_CODE_PERMISSION = requestCode; | ||
| 647 | + this.isDefinePermissionCloseActivity = isDefineActivity; | ||
| 648 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 649 | + if (checkPermissions(permissions)) { | ||
| 650 | + if (onPermissionResponseListener != null) { | ||
| 651 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 652 | + } | ||
| 653 | + } else { | ||
| 654 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 655 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), USER_SET_REQUEST_CODE_PERMISSION); | ||
| 656 | + } | ||
| 657 | + } | ||
| 658 | + | ||
| 578 | /** | 659 | /** |
| 579 | * 自定义权限申请码 | 660 | * 自定义权限申请码 |
| 580 | * | 661 | * |
| @@ -596,6 +677,21 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -596,6 +677,21 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 596 | } | 677 | } |
| 597 | } | 678 | } |
| 598 | 679 | ||
| 680 | + public void requestPermission(int requestCode, String[] | ||
| 681 | + permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 682 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 683 | + this.USER_SET_REQUEST_CODE_PERMISSION = requestCode; | ||
| 684 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 685 | + if (checkPermissions(permissions)) { | ||
| 686 | + if (onPermissionResponseListener != null) { | ||
| 687 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 688 | + } | ||
| 689 | + } else { | ||
| 690 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 691 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), USER_SET_REQUEST_CODE_PERMISSION); | ||
| 692 | + } | ||
| 693 | + } | ||
| 694 | + | ||
| 599 | /** | 695 | /** |
| 600 | * 自定义权限申请码和提示信息 | 696 | * 自定义权限申请码和提示信息 |
| 601 | * | 697 | * |
| @@ -619,6 +715,23 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -619,6 +715,23 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 619 | } | 715 | } |
| 620 | } | 716 | } |
| 621 | 717 | ||
| 718 | + public void requestPermission(int requestCode, String defineTip, boolean isDefineActivity, String[] | ||
| 719 | + permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 720 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 721 | + this.USER_SET_REQUEST_CODE_PERMISSION = requestCode; | ||
| 722 | + this.isDefinePermissionCloseActivity = isDefineActivity; | ||
| 723 | + this.userSetDefinePermissionTip = defineTip; | ||
| 724 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 725 | + if (checkPermissions(permissions)) { | ||
| 726 | + if (onPermissionResponseListener != null) { | ||
| 727 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 728 | + } | ||
| 729 | + } else { | ||
| 730 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 731 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), USER_SET_REQUEST_CODE_PERMISSION); | ||
| 732 | + } | ||
| 733 | + } | ||
| 734 | + | ||
| 622 | /** | 735 | /** |
| 623 | * 自定义权限申请码和提示信息 | 736 | * 自定义权限申请码和提示信息 |
| 624 | * | 737 | * |
| @@ -641,6 +754,22 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -641,6 +754,22 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 641 | } | 754 | } |
| 642 | } | 755 | } |
| 643 | 756 | ||
| 757 | + public void requestPermission(int requestCode, String defineTip, String[] | ||
| 758 | + permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 759 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 760 | + this.USER_SET_REQUEST_CODE_PERMISSION = requestCode; | ||
| 761 | + this.userSetDefinePermissionTip = defineTip; | ||
| 762 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 763 | + if (checkPermissions(permissions)) { | ||
| 764 | + if (onPermissionResponseListener != null) { | ||
| 765 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 766 | + } | ||
| 767 | + } else { | ||
| 768 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 769 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), USER_SET_REQUEST_CODE_PERMISSION); | ||
| 770 | + } | ||
| 771 | + } | ||
| 772 | + | ||
| 644 | /** | 773 | /** |
| 645 | * 自定义权限申请码和提示信息 | 774 | * 自定义权限申请码和提示信息 |
| 646 | * 可传入string字符串 | 775 | * 可传入string字符串 |
| @@ -665,6 +794,23 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -665,6 +794,23 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 665 | } | 794 | } |
| 666 | } | 795 | } |
| 667 | 796 | ||
| 797 | + public void requestPermission(int requestCode, @StringRes int defineTip, boolean isDefineActivity, String[] | ||
| 798 | + permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 799 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 800 | + this.USER_SET_REQUEST_CODE_PERMISSION = requestCode; | ||
| 801 | + this.userSetDefinePermissionTip = getResources().getString(defineTip); | ||
| 802 | + this.isDefinePermissionCloseActivity = isDefineActivity; | ||
| 803 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 804 | + if (checkPermissions(permissions)) { | ||
| 805 | + if (onPermissionResponseListener != null) { | ||
| 806 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 807 | + } | ||
| 808 | + } else { | ||
| 809 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 810 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), USER_SET_REQUEST_CODE_PERMISSION); | ||
| 811 | + } | ||
| 812 | + } | ||
| 813 | + | ||
| 668 | /** | 814 | /** |
| 669 | * 自定义权限申请码和提示信息 | 815 | * 自定义权限申请码和提示信息 |
| 670 | * 可传入string字符串 | 816 | * 可传入string字符串 |
| @@ -688,6 +834,22 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -688,6 +834,22 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 688 | } | 834 | } |
| 689 | } | 835 | } |
| 690 | 836 | ||
| 837 | + public void requestPermission(int requestCode, @StringRes int defineTip, String[] | ||
| 838 | + permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 839 | + this.onPermissionResponseListener = onPermissionResponseListener; | ||
| 840 | + this.USER_SET_REQUEST_CODE_PERMISSION = requestCode; | ||
| 841 | + this.userSetDefinePermissionTip = getResources().getString(defineTip); | ||
| 842 | + this.isShowRefuseDialog = isShowRefuseDialog; | ||
| 843 | + if (checkPermissions(permissions)) { | ||
| 844 | + if (onPermissionResponseListener != null) { | ||
| 845 | + onPermissionResponseListener.onSuccess(permissions); | ||
| 846 | + } | ||
| 847 | + } else { | ||
| 848 | + List<String> needPermissions = getDeniedPermissions(permissions); | ||
| 849 | + ActivityCompat.requestPermissions(this, needPermissions.toArray(new String[needPermissions.size()]), USER_SET_REQUEST_CODE_PERMISSION); | ||
| 850 | + } | ||
| 851 | + } | ||
| 852 | + | ||
| 691 | /** | 853 | /** |
| 692 | * 获取权限集中需要申请权限的列表 | 854 | * 获取权限集中需要申请权限的列表 |
| 693 | * | 855 | * |
| @@ -717,6 +879,13 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -717,6 +879,13 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 717 | public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, | 879 | public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, |
| 718 | @NonNull int[] grantResults) { | 880 | @NonNull int[] grantResults) { |
| 719 | super.onRequestPermissionsResult(requestCode, permissions, grantResults); | 881 | super.onRequestPermissionsResult(requestCode, permissions, grantResults); |
| 882 | + if (null != getSupportFragmentManager() && null != getSupportFragmentManager().getFragments()) { | ||
| 883 | + for (Fragment fragment : getSupportFragmentManager().getFragments()) { | ||
| 884 | + if (null != fragment) { | ||
| 885 | + fragment.onRequestPermissionsResult(requestCode, permissions, grantResults); | ||
| 886 | + } | ||
| 887 | + } | ||
| 888 | + } | ||
| 720 | //默认权限申请码 | 889 | //默认权限申请码 |
| 721 | if (requestCode == DEFAULT_REQUEST_CODE_PERMISSION) { | 890 | if (requestCode == DEFAULT_REQUEST_CODE_PERMISSION) { |
| 722 | if (verifyPermissions(grantResults)) { | 891 | if (verifyPermissions(grantResults)) { |
| @@ -727,7 +896,16 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -727,7 +896,16 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 727 | if (onPermissionResponseListener != null) { | 896 | if (onPermissionResponseListener != null) { |
| 728 | onPermissionResponseListener.onFail(); | 897 | onPermissionResponseListener.onFail(); |
| 729 | } | 898 | } |
| 730 | - showTipsDialog(); | 899 | + if (isShowRefuseDialog) { |
| 900 | + showTipsDialog(); | ||
| 901 | + } else { | ||
| 902 | + //重置显示值 | ||
| 903 | + isShowRefuseDialog = true; | ||
| 904 | + if (isDefinePermissionCloseActivity) { | ||
| 905 | + finish(); | ||
| 906 | + isDefinePermissionCloseActivity = false; | ||
| 907 | + } | ||
| 908 | + } | ||
| 731 | } | 909 | } |
| 732 | } | 910 | } |
| 733 | //用户自定义权限申请码 | 911 | //用户自定义权限申请码 |
| @@ -740,7 +918,16 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -740,7 +918,16 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 740 | if (onPermissionResponseListener != null) { | 918 | if (onPermissionResponseListener != null) { |
| 741 | onPermissionResponseListener.onFail(); | 919 | onPermissionResponseListener.onFail(); |
| 742 | } | 920 | } |
| 743 | - showTipsDialog(); | 921 | + if (isShowRefuseDialog) { |
| 922 | + showTipsDialog(); | ||
| 923 | + } else { | ||
| 924 | + //重置显示值 | ||
| 925 | + isShowRefuseDialog = true; | ||
| 926 | + if (isDefinePermissionCloseActivity) { | ||
| 927 | + finish(); | ||
| 928 | + isDefinePermissionCloseActivity = false; | ||
| 929 | + } | ||
| 930 | + } | ||
| 744 | } | 931 | } |
| 745 | //重置用户提示语 | 932 | //重置用户提示语 |
| 746 | userSetDefinePermissionTip = ""; | 933 | userSetDefinePermissionTip = ""; |
| @@ -812,16 +999,11 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -812,16 +999,11 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 812 | .setNegativeButton("取消", new DialogInterface.OnClickListener() { | 999 | .setNegativeButton("取消", new DialogInterface.OnClickListener() { |
| 813 | @Override | 1000 | @Override |
| 814 | public void onClick(DialogInterface dialog, int which) { | 1001 | public void onClick(DialogInterface dialog, int which) { |
| 1002 | + isUserClickAllowBtn = false; | ||
| 1003 | + isShowRefuseDialog = true; | ||
| 815 | if (isDefinePermissionCloseActivity) { | 1004 | if (isDefinePermissionCloseActivity) { |
| 816 | isDefinePermissionCloseActivity = false; | 1005 | isDefinePermissionCloseActivity = false; |
| 817 | - //先判断当前是否是多个activity | ||
| 818 | -// if (null != getSupportFragmentManager().getFragments() && getSupportFragmentManager().getFragments().size() > 1) { | ||
| 819 | -// //移除最上层的 | ||
| 820 | -// pop(); | ||
| 821 | -// } else { | ||
| 822 | finish(); | 1006 | finish(); |
| 823 | -// } | ||
| 824 | - | ||
| 825 | } | 1007 | } |
| 826 | 1008 | ||
| 827 | } | 1009 | } |
| @@ -997,6 +1179,10 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -997,6 +1179,10 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 997 | mDelegate.loadRootFragment(R.id.root_container, toFragment); | 1179 | mDelegate.loadRootFragment(R.id.root_container, toFragment); |
| 998 | } | 1180 | } |
| 999 | 1181 | ||
| 1182 | + public void loadRootFragment(@NonNull ISupportFragment toFragment, boolean allowAnimation) { | ||
| 1183 | + mDelegate.loadRootFragment(R.id.root_container, toFragment, allowAnimation); | ||
| 1184 | + } | ||
| 1185 | + | ||
| 1000 | /** | 1186 | /** |
| 1001 | * 加载根Fragment, 即Activity内的第一个Fragment 或 Fragment内的第一个子Fragment | 1187 | * 加载根Fragment, 即Activity内的第一个Fragment 或 Fragment内的第一个子Fragment |
| 1002 | * | 1188 | * |
| @@ -1007,6 +1193,16 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -1007,6 +1193,16 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 1007 | mDelegate.loadRootFragment(containerId, toFragment); | 1193 | mDelegate.loadRootFragment(containerId, toFragment); |
| 1008 | } | 1194 | } |
| 1009 | 1195 | ||
| 1196 | + /** | ||
| 1197 | + * 加载根Fragment, 即Activity内的第一个Fragment 或 Fragment内的第一个子Fragment | ||
| 1198 | + * | ||
| 1199 | + * @param containerId 容器id | ||
| 1200 | + * @param toFragment 目标Fragment | ||
| 1201 | + */ | ||
| 1202 | + public void loadRootFragment(int containerId, @NonNull ISupportFragment toFragment, boolean allowAnimation) { | ||
| 1203 | + mDelegate.loadRootFragment(containerId, toFragment, allowAnimation); | ||
| 1204 | + } | ||
| 1205 | + | ||
| 1010 | public void loadRootFragment(int containerId, ISupportFragment toFragment, boolean addToBackStack, boolean allowAnimation) { | 1206 | public void loadRootFragment(int containerId, ISupportFragment toFragment, boolean addToBackStack, boolean allowAnimation) { |
| 1011 | mDelegate.loadRootFragment(containerId, toFragment, addToBackStack, allowAnimation); | 1207 | mDelegate.loadRootFragment(containerId, toFragment, addToBackStack, allowAnimation); |
| 1012 | } | 1208 | } |
| @@ -1019,6 +1215,13 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | @@ -1019,6 +1215,13 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V | ||
| 1019 | } | 1215 | } |
| 1020 | 1216 | ||
| 1021 | /** | 1217 | /** |
| 1218 | + * 加载多个同级根Fragment,类似Wechat, QQ主页的场景 | ||
| 1219 | + */ | ||
| 1220 | + public void loadMultipleRootFragment(int showPosition, ISupportFragment... toFragments) { | ||
| 1221 | + mDelegate.loadMultipleRootFragment(R.id.root_container, showPosition, toFragments); | ||
| 1222 | + } | ||
| 1223 | + | ||
| 1224 | + /** | ||
| 1022 | * show一个Fragment,hide其他同栈所有Fragment | 1225 | * show一个Fragment,hide其他同栈所有Fragment |
| 1023 | * 使用该方法时,要确保同级栈内无多余的Fragment,(只有通过loadMultipleRootFragment()载入的Fragment) | 1226 | * 使用该方法时,要确保同级栈内无多余的Fragment,(只有通过loadMultipleRootFragment()载入的Fragment) |
| 1024 | * <p> | 1227 | * <p> |
core/base/src/main/java/com/cnlive/core/libs/base/frame/fragment/BaseFragment.java
| @@ -268,51 +268,95 @@ public abstract class BaseFragment<V extends BaseView, P extends BasePresenter<V | @@ -268,51 +268,95 @@ public abstract class BaseFragment<V extends BaseView, P extends BasePresenter<V | ||
| 268 | me.requestPermission(permissions, onPermissionResponseListener); | 268 | me.requestPermission(permissions, onPermissionResponseListener); |
| 269 | } | 269 | } |
| 270 | 270 | ||
| 271 | + public void requestPermission(String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 272 | + me.requestPermission(permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 273 | + } | ||
| 274 | + | ||
| 271 | //权限申请 | 275 | //权限申请 |
| 272 | public void requestPermission(boolean isDefineActivity, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { | 276 | public void requestPermission(boolean isDefineActivity, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { |
| 273 | me.requestPermission(isDefineActivity, permissions, onPermissionResponseListener); | 277 | me.requestPermission(isDefineActivity, permissions, onPermissionResponseListener); |
| 274 | } | 278 | } |
| 275 | 279 | ||
| 280 | + public void requestPermission(boolean isDefineActivity, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 281 | + me.requestPermission(isDefineActivity, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 282 | + } | ||
| 283 | + | ||
| 276 | //权限申请 | 284 | //权限申请 |
| 277 | public void requestPermission(int requestCode, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { | 285 | public void requestPermission(int requestCode, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { |
| 278 | me.requestPermission(requestCode, permissions, onPermissionResponseListener); | 286 | me.requestPermission(requestCode, permissions, onPermissionResponseListener); |
| 279 | } | 287 | } |
| 280 | 288 | ||
| 289 | + public void requestPermission(int requestCode, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 290 | + me.requestPermission(requestCode, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 291 | + } | ||
| 292 | + | ||
| 281 | //权限申请 | 293 | //权限申请 |
| 282 | public void requestPermission(int requestCode, boolean isDefineActivity, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { | 294 | public void requestPermission(int requestCode, boolean isDefineActivity, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { |
| 283 | me.requestPermission(requestCode, isDefineActivity, permissions, onPermissionResponseListener); | 295 | me.requestPermission(requestCode, isDefineActivity, permissions, onPermissionResponseListener); |
| 284 | } | 296 | } |
| 285 | 297 | ||
| 298 | + public void requestPermission(int requestCode, boolean isDefineActivity, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 299 | + me.requestPermission(requestCode, isDefineActivity, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 300 | + } | ||
| 301 | + | ||
| 286 | //权限申请 | 302 | //权限申请 |
| 287 | public void requestPermission(int requestCode, String defineTip, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { | 303 | public void requestPermission(int requestCode, String defineTip, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { |
| 288 | me.requestPermission(requestCode, defineTip, permissions, onPermissionResponseListener); | 304 | me.requestPermission(requestCode, defineTip, permissions, onPermissionResponseListener); |
| 289 | } | 305 | } |
| 290 | 306 | ||
| 307 | + public void requestPermission(int requestCode, String defineTip, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 308 | + me.requestPermission(requestCode, defineTip, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 309 | + } | ||
| 310 | + | ||
| 291 | //权限申请 | 311 | //权限申请 |
| 292 | public void requestPermission(int requestCode, String defineTip, boolean isDefineActivity, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { | 312 | public void requestPermission(int requestCode, String defineTip, boolean isDefineActivity, String[] permissions, OnPermissionResponseListener onPermissionResponseListener) { |
| 293 | me.requestPermission(requestCode, defineTip, isDefineActivity, permissions, onPermissionResponseListener); | 313 | me.requestPermission(requestCode, defineTip, isDefineActivity, permissions, onPermissionResponseListener); |
| 294 | } | 314 | } |
| 295 | 315 | ||
| 316 | + public void requestPermission(int requestCode, String defineTip, boolean isDefineActivity, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 317 | + me.requestPermission(requestCode, defineTip, isDefineActivity, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 318 | + } | ||
| 319 | + | ||
| 296 | public void requestPermission(String defineTip, String[] permissions, OnPermissionResponseListener | 320 | public void requestPermission(String defineTip, String[] permissions, OnPermissionResponseListener |
| 297 | onPermissionResponseListener) { | 321 | onPermissionResponseListener) { |
| 298 | me.requestPermission(defineTip, permissions, onPermissionResponseListener); | 322 | me.requestPermission(defineTip, permissions, onPermissionResponseListener); |
| 299 | } | 323 | } |
| 300 | 324 | ||
| 325 | + public void requestPermission(String defineTip, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener | ||
| 326 | + onPermissionResponseListener) { | ||
| 327 | + me.requestPermission(defineTip, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 328 | + } | ||
| 329 | + | ||
| 301 | public void requestPermission(String defineTip, boolean isDefineActivity, String[] permissions, OnPermissionResponseListener | 330 | public void requestPermission(String defineTip, boolean isDefineActivity, String[] permissions, OnPermissionResponseListener |
| 302 | onPermissionResponseListener) { | 331 | onPermissionResponseListener) { |
| 303 | me.requestPermission(defineTip, isDefineActivity, permissions, onPermissionResponseListener); | 332 | me.requestPermission(defineTip, isDefineActivity, permissions, onPermissionResponseListener); |
| 304 | } | 333 | } |
| 305 | 334 | ||
| 335 | + public void requestPermission(String defineTip, boolean isDefineActivity, String[] permissions, boolean isShowRefuseDialog, OnPermissionResponseListener | ||
| 336 | + onPermissionResponseListener) { | ||
| 337 | + me.requestPermission(defineTip, isDefineActivity, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 338 | + } | ||
| 339 | + | ||
| 306 | public void requestPermission(int requestCode, @StringRes int defineTip, String[] | 340 | public void requestPermission(int requestCode, @StringRes int defineTip, String[] |
| 307 | permissions, OnPermissionResponseListener onPermissionResponseListener) { | 341 | permissions, OnPermissionResponseListener onPermissionResponseListener) { |
| 308 | me.requestPermission(requestCode, defineTip, permissions, onPermissionResponseListener); | 342 | me.requestPermission(requestCode, defineTip, permissions, onPermissionResponseListener); |
| 309 | } | 343 | } |
| 310 | 344 | ||
| 345 | + public void requestPermission(int requestCode, @StringRes int defineTip, String[] | ||
| 346 | + permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 347 | + me.requestPermission(requestCode, defineTip, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 348 | + } | ||
| 349 | + | ||
| 311 | public void requestPermission(int requestCode, @StringRes int defineTip, boolean isDefineActivity, String[] | 350 | public void requestPermission(int requestCode, @StringRes int defineTip, boolean isDefineActivity, String[] |
| 312 | permissions, OnPermissionResponseListener onPermissionResponseListener) { | 351 | permissions, OnPermissionResponseListener onPermissionResponseListener) { |
| 313 | me.requestPermission(requestCode, defineTip, isDefineActivity, permissions, onPermissionResponseListener); | 352 | me.requestPermission(requestCode, defineTip, isDefineActivity, permissions, onPermissionResponseListener); |
| 314 | } | 353 | } |
| 315 | 354 | ||
| 355 | + public void requestPermission(int requestCode, @StringRes int defineTip, boolean isDefineActivity, String[] | ||
| 356 | + permissions, boolean isShowRefuseDialog, OnPermissionResponseListener onPermissionResponseListener) { | ||
| 357 | + me.requestPermission(requestCode, defineTip, isDefineActivity, permissions, isShowRefuseDialog, onPermissionResponseListener); | ||
| 358 | + } | ||
| 359 | + | ||
| 316 | //多权限检查 | 360 | //多权限检查 |
| 317 | public boolean checkPermissions(String[] permissions) { | 361 | public boolean checkPermissions(String[] permissions) { |
| 318 | return me.checkPermissions(permissions); | 362 | return me.checkPermissions(permissions); |
core/base/src/main/java/com/me/yokeyword/fragmentation/SupportActivityDelegate.java
| @@ -192,6 +192,10 @@ public class SupportActivityDelegate { | @@ -192,6 +192,10 @@ public class SupportActivityDelegate { | ||
| 192 | loadRootFragment(containerId, toFragment, true, false); | 192 | loadRootFragment(containerId, toFragment, true, false); |
| 193 | } | 193 | } |
| 194 | 194 | ||
| 195 | + public void loadRootFragment(int containerId, ISupportFragment toFragment, boolean allowAnimation) { | ||
| 196 | + loadRootFragment(containerId, toFragment, true, allowAnimation); | ||
| 197 | + } | ||
| 198 | + | ||
| 195 | public void loadRootFragment(int containerId, ISupportFragment toFragment, boolean addToBackStack, boolean allowAnimation) { | 199 | public void loadRootFragment(int containerId, ISupportFragment toFragment, boolean addToBackStack, boolean allowAnimation) { |
| 196 | mTransactionDelegate.loadRootTransaction(getSupportFragmentManager(), containerId, toFragment, addToBackStack, allowAnimation); | 200 | mTransactionDelegate.loadRootTransaction(getSupportFragmentManager(), containerId, toFragment, addToBackStack, allowAnimation); |
| 197 | } | 201 | } |