20251127_002527_502
源码重构中。。。
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Wed Nov 26 13:05:31 GMT 2025
|
#Wed Nov 26 15:54:26 GMT 2025
|
||||||
stageCount=7
|
stageCount=7
|
||||||
libraryProject=libaes
|
libraryProject=libaes
|
||||||
baseVersion=15.11
|
baseVersion=15.11
|
||||||
publishVersion=15.11.6
|
publishVersion=15.11.6
|
||||||
buildCount=27
|
buildCount=32
|
||||||
baseBetaVersion=15.11.7
|
baseBetaVersion=15.11.7
|
||||||
|
|||||||
@@ -20,18 +20,19 @@ public class SettingsActivity extends Activity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_settings);
|
setContentView(R.layout.activity_settings);
|
||||||
ADsControlView adsControlView = (ADsControlView) findViewById(R.id.ads_control_view);
|
ADsControlView adsControlView = (ADsControlView) findViewById(R.id.ads_control_view);
|
||||||
adsControlView.setOnAdsModeSelectedListener(new ADsControlView.OnAdsModeSelectedListener() {
|
|
||||||
@Override
|
// adsControlView.setOnAdsModeSelectedListener(new ADsControlView.OnAdsModeSelectedListener() {
|
||||||
public void onModeSelected(ADsMode selectedMode) {
|
// @Override
|
||||||
if (selectedMode == ADsMode.STANDALONE) {
|
// public void onModeSelected(ADsMode selectedMode) {
|
||||||
// 处理单机模式逻辑(如释放米盟资源)
|
// if (selectedMode == ADsMode.STANDALONE) {
|
||||||
ToastUtils.show("STANDALONE");
|
// // 处理单机模式逻辑(如释放米盟资源)
|
||||||
} else if (selectedMode == ADsMode.MIMO_SDK) {
|
// ToastUtils.show("STANDALONE");
|
||||||
// 处理米盟SDK模式逻辑(如初始化SDK)
|
// } else if (selectedMode == ADsMode.MIMO_SDK) {
|
||||||
ToastUtils.show("MIMO_SDK");
|
// // 处理米盟SDK模式逻辑(如初始化SDK)
|
||||||
}
|
// ToastUtils.show("MIMO_SDK");
|
||||||
}
|
// }
|
||||||
});
|
// }
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Wed Nov 26 13:05:31 GMT 2025
|
#Wed Nov 26 15:54:26 GMT 2025
|
||||||
stageCount=7
|
stageCount=7
|
||||||
libraryProject=libaes
|
libraryProject=libaes
|
||||||
baseVersion=15.11
|
baseVersion=15.11
|
||||||
publishVersion=15.11.6
|
publishVersion=15.11.6
|
||||||
buildCount=27
|
buildCount=32
|
||||||
baseBetaVersion=15.11.7
|
baseBetaVersion=15.11.7
|
||||||
|
|||||||
@@ -37,12 +37,15 @@ import cc.winboll.studio.libappbase.ToastUtils;
|
|||||||
public class ADsControlView extends LinearLayout {
|
public class ADsControlView extends LinearLayout {
|
||||||
public static final String TAG = "ADsControlView";
|
public static final String TAG = "ADsControlView";
|
||||||
|
|
||||||
private static final String PRIVACY_FILE = "privacy_pfs";
|
|
||||||
private static final String PRIVACY_VALUE = "privacy_value";//0: 拒绝,1:赞同
|
|
||||||
|
|
||||||
// SP存储配置
|
// SP存储配置
|
||||||
private static final String SP_NAME = "ads_control_config";
|
private static final String SP_NAME = "ads_control_config";
|
||||||
private static final String KEY_SELECTED_MODE = "selected_ads_mode";
|
private static final String KEY_SELECTED_MODE = "selected_ads_mode";
|
||||||
|
// 单机模式与米盟模式标志位
|
||||||
|
ADsMode mADsMode;
|
||||||
|
private static final String PRIVACY_VALUE = "privacy_value";
|
||||||
|
// 隐私协议签约结果 0: 拒绝,1:赞同 2: 未签约
|
||||||
|
String privacyAgreeValue;
|
||||||
|
|
||||||
// Handler消息标识
|
// Handler消息标识
|
||||||
private static final int MSG_UPDATE_MODE = 1001;
|
private static final int MSG_UPDATE_MODE = 1001;
|
||||||
@@ -78,6 +81,26 @@ public class ADsControlView extends LinearLayout {
|
|||||||
initView(context);
|
initView(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPrivacyAgreeValue(String privacyAgreeValue) {
|
||||||
|
this.privacyAgreeValue = privacyAgreeValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPrivacyAgreeValue() {
|
||||||
|
String privacyAgreeValue = sharedPreferences.getString(PRIVACY_VALUE, "0");
|
||||||
|
return privacyAgreeValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setADsMode(ADsMode mADsMode) {
|
||||||
|
this.mADsMode = mADsMode;
|
||||||
|
sharedPreferences.edit().putString(KEY_SELECTED_MODE, this.mADsMode.name()).apply();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ADsMode getADsMode() {
|
||||||
|
String savedModeStr = sharedPreferences.getString(KEY_SELECTED_MODE, ADsMode.STANDALONE.name());
|
||||||
|
mADsMode = ADsMode.fromValue(savedModeStr);
|
||||||
|
return mADsMode;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化视图、SP、Handler
|
* 初始化视图、SP、Handler
|
||||||
*/
|
*/
|
||||||
@@ -101,51 +124,32 @@ public class ADsControlView extends LinearLayout {
|
|||||||
registerControlView(this);
|
registerControlView(this);
|
||||||
|
|
||||||
// 从SP读取初始模式并设置
|
// 从SP读取初始模式并设置
|
||||||
String savedModeStr = sharedPreferences.getString(KEY_SELECTED_MODE, ADsMode.STANDALONE.name());
|
ToastUtils.show(String.format("savedMode : %s", getADsMode().name()));
|
||||||
ADsMode savedMode = ADsMode.fromValue(savedModeStr);
|
setSelectedMode(getADsMode());
|
||||||
setSelectedMode(savedMode);
|
|
||||||
|
|
||||||
// 单选组选择事件监听
|
// 单选组选择事件监听
|
||||||
rgAdsMode.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
|
rgAdsMode.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onCheckedChanged(RadioGroup group, int checkedId) {
|
public void onCheckedChanged(RadioGroup group, int checkedId) {
|
||||||
if (checkedId == R.id.rb_standalone) {
|
if (checkedId == R.id.rb_standalone) {
|
||||||
cleanPrivacyStatus(context);
|
setADsMode(ADsMode.STANDALONE);
|
||||||
} else if (checkedId == R.id.rb_mimo_sdk) {
|
} else if (checkedId == R.id.rb_mimo_sdk) {
|
||||||
verifyPrivacyPolicy(context, ADsMode.MIMO_SDK);
|
showPrivacy(context, new OnPrivacyChangeListener(){
|
||||||
|
@Override
|
||||||
|
public void onAgreePrivacy() {
|
||||||
|
setADsMode(ADsMode.MIMO_SDK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisagreePrivacy() {
|
||||||
|
setADsMode(ADsMode.STANDALONE);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void verifyPrivacyPolicy(final Context context, ADsMode selectedMode) {
|
|
||||||
// 检查设定值,再调用隐私协议签署对话框。
|
|
||||||
// 下面监听对话框会话结果,再最终确定选择单机还是广告SDK。
|
|
||||||
if (selectedMode == ADsMode.MIMO_SDK) {
|
|
||||||
showPrivacy(context, new OnPrivacyChangeListener(){
|
|
||||||
@Override
|
|
||||||
public void onAgreePrivacy() {
|
|
||||||
// 保存到SP
|
|
||||||
sharedPreferences.edit().putString(KEY_SELECTED_MODE, ADsMode.MIMO_SDK.name()).apply();
|
|
||||||
// 触发外部监听
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onModeSelected(ADsMode.MIMO_SDK);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDisagreePrivacy() {
|
|
||||||
cleanPrivacyStatus(context);
|
|
||||||
// 触发外部监听
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onModeSelected(ADsMode.STANDALONE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 【静态】显示隐私协议弹窗(供外部调用,带Context参数)
|
* 【静态】显示隐私协议弹窗(供外部调用,带Context参数)
|
||||||
* @param context 上下文(需传入Activity Context,用于弹窗显示)
|
* @param context 上下文(需传入Activity Context,用于弹窗显示)
|
||||||
@@ -169,8 +173,9 @@ public class ADsControlView extends LinearLayout {
|
|||||||
LogUtils.e(TAG, "showPrivacy: Activity is finishing or destroyed");
|
LogUtils.e(TAG, "showPrivacy: Activity is finishing or destroyed");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 读取隐私协议状态并处理逻辑
|
// 读取隐私协议状态并处理逻辑
|
||||||
SharedPreferences sp = getPrivacySharedPreferences(context);
|
SbhhharedPreferences sp = getPrivacySharedPreferences(context);
|
||||||
String privacyAgreeValue = sp.getString(PRIVACY_VALUE, null);
|
String privacyAgreeValue = sp.getString(PRIVACY_VALUE, null);
|
||||||
handlePrivacyLogic(activity, privacyAgreeValue, onPrivacyChangeListener);
|
handlePrivacyLogic(activity, privacyAgreeValue, onPrivacyChangeListener);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user