package com.yuyh.library.permission; /** * Created by hupei on 2016/4/26. */ public final class AcpOptions { private String mRationalMessage; private String mDeniedMessage; private String mDeniedCloseBtn; private String mDeniedSettingBtn; private String mRationalBtn; private String[] mPermissions; private AcpOptions(Builder builder) { mRationalMessage = builder.mRationalMessage; mDeniedMessage = builder.mDeniedMessage; mDeniedCloseBtn = builder.mDeniedCloseBtn; mDeniedSettingBtn = builder.mDeniedSettingBtn; mRationalBtn = builder.mRationalBtn; this.mPermissions = builder.mPermissions; } public String getRationalMessage() { return mRationalMessage; } public String getDeniedMessage() { return mDeniedMessage; } public String getDeniedCloseBtn() { return mDeniedCloseBtn; } public String getDeniedSettingBtn() { return mDeniedSettingBtn; } public String getRationalBtnText() { return mRationalBtn; } public String[] getPermissions() { return mPermissions; } public static class Builder { private static final String DEF_RATIONAL_MESSAGE = "以下权限需要您授权,否则将不能正常使用App"; private static final String DEF_DENIED_MESSAGE = "您拒绝权限申请,可能会导致App异常退出,您可以去设置页面重新授权"; private static final String DEF_DENIED_CLOSE_BTN_TEXT = "关闭"; private static final String DEF_DENIED_SETTINGS_BTN_TEXT = "设置权限"; private static final String DEF_RATIONAL_BTN_TEXT = "我知道了"; private String mRationalMessage = DEF_RATIONAL_MESSAGE; private String mDeniedMessage = DEF_DENIED_MESSAGE; private String mDeniedCloseBtn = DEF_DENIED_CLOSE_BTN_TEXT; private String mDeniedSettingBtn = DEF_DENIED_SETTINGS_BTN_TEXT; private String mRationalBtn = DEF_RATIONAL_BTN_TEXT; private String[] mPermissions; /** * 申请权限框提示语 * * @param rationalMessage * @return */ public Builder setRationalMessage(String rationalMessage) { mRationalMessage = rationalMessage; return this; } /** * 申请权限框按钮 * * @param rationalBtnText * @return */ public Builder setRationalBtn(String rationalBtnText) { this.mRationalBtn = rationalBtnText; return this; } /** * 拒绝框提示语 * * @param deniedMessage * @return */ public Builder setDeniedMessage(String deniedMessage) { mDeniedMessage = deniedMessage; return this; } /** * 拒绝框关闭按钮 * * @param deniedCloseBtnText * @return */ public Builder setDeniedCloseBtn(String deniedCloseBtnText) { this.mDeniedCloseBtn = deniedCloseBtnText; return this; } /** * 拒绝框跳转设置权限按钮 * * @param deniedSettingText * @return */ public Builder setDeniedSettingBtn(String deniedSettingText) { this.mDeniedSettingBtn = deniedSettingText; return this; } /** * 需要申请的权限 * * @param mPermissions {@linkplain android.Manifest.permission android.Manifest.permission} * @return */ public Builder setPermissions(String... mPermissions) { this.mPermissions = mPermissions; return this; } public AcpOptions build() { if (this.mPermissions == null || this.mPermissions.length == 0) { throw new IllegalArgumentException("mPermissions no found..."); } return new AcpOptions(this); } } }