Skip to content

Commit c9dcdce

Browse files
committed
【ID869532311】App数据隐私合规检测风险问题修复--注册登录页面添加查看用户协议,隐私政策入口。修改弹出权限样式,启动页添加询问隐私政策用户协议的弹窗。
http://tapd.oa.com/NEW_IOT/prong/stories/view/1020393192869532311 Change-Id: Iec36cda2a429728c638edc48810a8a634844655c
1 parent 926c10b commit c9dcdce

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1095
-487
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 207 additions & 209 deletions
Large diffs are not rendered by default.

app/src/main/java/com/tencent/iot/explorer/link/App.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,9 @@ class App : Application(), Application.ActivityLifecycleCallbacks, PayloadMessag
172172
// App enters foreground
173173
data.isForeground = true
174174
L.e("App foreground")
175-
requestDeviceList()
175+
if (!TextUtils.isEmpty(data.getToken())) {
176+
requestDeviceList()
177+
}
176178
if (activity is AppLifeCircleListener) {
177179
activity.onAppGoforeground()
178180
}

app/src/main/java/com/tencent/iot/explorer/link/customview/dialog/PermissionDialog.java

Lines changed: 14 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,73 +2,41 @@
22

33
import android.content.Context;
44
import android.view.View;
5+
import android.widget.ImageView;
56
import android.widget.TextView;
67

78
import androidx.constraintlayout.widget.ConstraintLayout;
89

910
import com.tencent.iot.explorer.link.R;
1011
import com.tencent.iot.explorer.link.customview.dialog.entity.UpgradeInfo;
1112

12-
public class PermissionDialog extends IosCenterStyleDialog implements View.OnClickListener {
13+
public class PermissionDialog extends IosCenterStyleDialog {
1314

15+
private ImageView logo;
1416
private TextView detail;
15-
private TextView detailLips;
16-
private TextView btnRefuse;
17-
private TextView btnOK;
17+
private TextView title;
1818
private ConstraintLayout outLayout;
1919
private String detailString;
20-
private String detailLipsString;
20+
private String titleString;
21+
private int logoResId;
2122

22-
public PermissionDialog(Context context, String detail, String detailLips) {
23-
super(context, R.layout.popup_permission_layout);
23+
public PermissionDialog(Context context, int logoResId, String detail, String title) {
24+
super(context, R.layout.popup_permission_layout, false);
25+
this.logoResId = logoResId;
2426
this.detailString = detail;
25-
this.detailLipsString = detailLips;
27+
this.titleString = title;
2628
}
2729

2830
@Override
2931
public void initView() {
3032
outLayout = view.findViewById(R.id.permission_dialog_layout);
3133
detail = view.findViewById(R.id.tv_detail);
32-
detailLips = view.findViewById(R.id.tv_detail_lips);
33-
btnRefuse = view.findViewById(R.id.tv_refuse);
34-
btnOK = view.findViewById(R.id.tv_ok);
35-
36-
btnRefuse.setOnClickListener(this);
37-
btnOK.setOnClickListener(this);
34+
title = view.findViewById(R.id.tv_title);
35+
logo = view.findViewById(R.id.iv_logo);
3836

3937
detail.setText(detailString);
40-
detailLips.setText(detailLipsString);
38+
title.setText(titleString);
39+
logo.setImageResource(logoResId);
4140
outLayout.setBackgroundColor(getContext().getResources().getColor(R.color.dialog_background));
4241
}
43-
44-
@Override
45-
public void onClick(View v) {
46-
switch (v.getId()) {
47-
case R.id.tv_refuse:
48-
dismiss();
49-
if (onDismisListener != null) {
50-
onDismisListener.OnClickRefuse();
51-
}
52-
break;
53-
case R.id.tv_ok:
54-
dismiss();
55-
if (onDismisListener != null) {
56-
onDismisListener.OnClickOK();
57-
}
58-
break;
59-
default:
60-
break;
61-
}
62-
}
63-
64-
private volatile OnDismisListener onDismisListener;
65-
66-
public interface OnDismisListener {
67-
void OnClickRefuse();
68-
void OnClickOK();
69-
}
70-
71-
public void setOnDismisListener(OnDismisListener onDismisListener) {
72-
this.onDismisListener = onDismisListener;
73-
}
7442
}

app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/AccountAndSafetyActivity.kt

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import com.tencent.iot.explorer.link.T
1515
import com.tencent.iot.explorer.link.core.auth.callback.MyCallback
1616
import com.tencent.iot.explorer.link.core.auth.response.BaseResponse
1717
import com.tencent.iot.explorer.link.core.utils.Utils
18-
import com.tencent.iot.explorer.link.customview.dialog.PermissionDialog
1918
import kotlinx.android.synthetic.main.activity_account_and_safety.*
2019
import kotlinx.android.synthetic.main.menu_back_layout.*
2120

@@ -73,18 +72,7 @@ class AccountAndSafetyActivity : PActivity(), AccountAndSafetyView, View.OnClick
7372
if (App.data.userInfo.HasWxOpenID == "1") {
7473
T.show(getString(R.string.wechat_bind_already)) //微信已经绑定过了, 请勿重复绑定
7574
} else {
76-
var dlg = PermissionDialog(this@AccountAndSafetyActivity, getString(R.string.permission_of_wechat), getString(R.string.permission_of_wechat_lips))
77-
dlg.show()
78-
dlg.setOnDismisListener(object : PermissionDialog.OnDismisListener {
79-
override fun OnClickRefuse() {
80-
81-
}
82-
83-
override fun OnClickOK() {
84-
WeChatLogin.getInstance().login(this@AccountAndSafetyActivity, this@AccountAndSafetyActivity)
85-
}
86-
87-
})
75+
WeChatLogin.getInstance().login(this, this)
8876
}
8977
}
9078
tv_modify_passwd -> {// 修改密码

app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/ChooseCountryActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class ChooseCountryActivity : PActivity(), ChooseCountryView, View.OnClickListen
3434
override fun initView() {
3535
tv_title.text = getString(R.string.country_or_place)
3636
presenter = ChooseCountryPresenter(this)
37-
loadLastCountryInfo()
37+
// loadLastCountryInfo()
3838
}
3939

4040
override fun setListener() {

app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/DeviceCategoryActivity.kt

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import android.view.animation.LinearInterpolator
1919
import androidx.fragment.app.Fragment
2020
import androidx.recyclerview.widget.GridLayoutManager
2121
import com.alibaba.fastjson.JSON
22+
import com.alibaba.fastjson.JSONObject
2223
import com.example.qrcode.Constant
2324
import com.example.qrcode.ScannerActivity
2425
import com.tencent.iot.explorer.link.App
@@ -66,9 +67,9 @@ class DeviceCategoryActivity : PActivity(), MyCallback, CRecyclerView.RecyclerI
6667
Manifest.permission.CAMERA,
6768
Manifest.permission.ACCESS_WIFI_STATE,
6869
Manifest.permission.CHANGE_WIFI_STATE,
69-
Manifest.permission.CHANGE_WIFI_MULTICAST_STATE,
70-
Manifest.permission.ACCESS_FINE_LOCATION
70+
Manifest.permission.CHANGE_WIFI_MULTICAST_STATE
7171
)
72+
private var permissionDialog: PermissionDialog? = null
7273

7374
private var blueToothPermissions = arrayOf(
7475
Manifest.permission.ACCESS_COARSE_LOCATION,
@@ -308,10 +309,13 @@ class DeviceCategoryActivity : PActivity(), MyCallback, CRecyclerView.RecyclerI
308309
var intent = Intent(Intent(this, ScannerActivity::class.java))
309310
intent.putExtra(Constant.EXTRA_IS_ENABLE_SCAN_FROM_PIC,true)
310311
startActivityForResult(intent, CommonField.QR_CODE_REQUEST_CODE)
312+
permissionDialog?.dismiss()
313+
permissionDialog = null
311314
}
312315

313316
override fun permissionDenied(permission: String) {
314-
// requestPermission(arrayOf(permission))
317+
permissionDialog?.dismiss()
318+
permissionDialog = null
315319
}
316320

317321
override fun onClick(v: View?) {
@@ -322,18 +326,23 @@ class DeviceCategoryActivity : PActivity(), MyCallback, CRecyclerView.RecyclerI
322326
intent.putExtra(Constant.EXTRA_IS_ENABLE_SCAN_FROM_PIC,true)
323327
startActivityForResult(intent, CommonField.QR_CODE_REQUEST_CODE)
324328
} else {
325-
var dlg = PermissionDialog(this@DeviceCategoryActivity, getString(R.string.permission_of_wifi), getString(R.string.permission_of_wifi_lips))
326-
dlg.show()
327-
dlg.setOnDismisListener(object : PermissionDialog.OnDismisListener {
328-
override fun OnClickRefuse() {
329-
330-
}
329+
// 查看请求camera权限的时间是否大于48小时
330+
var cameraJsonString = Utils.getStringValueFromXml(T.getContext(), CommonField.PERMISSION_CAMERA, CommonField.PERMISSION_CAMERA)
331+
var cameraJson: JSONObject? = JSONObject.parse(cameraJsonString) as JSONObject?
332+
val lasttime = cameraJson?.getLong(CommonField.PERMISSION_CAMERA)
333+
if (lasttime != null && lasttime > 0 && System.currentTimeMillis() / 1000 - lasttime < 48*60*60) {
334+
T.show(getString(R.string.permission_of_camera_scan_refuse))
335+
return
336+
}
337+
requestPermission(permissions)
338+
permissionDialog = PermissionDialog(App.activity, R.mipmap.permission_camera ,getString(R.string.permission_camera_lips), getString(R.string.permission_camera))
339+
permissionDialog!!.show()
331340

332-
override fun OnClickOK() {
333-
requestPermission(permissions)
334-
}
341+
// 记录请求camera权限的时间
342+
var json = JSONObject()
343+
json.put(CommonField.PERMISSION_CAMERA, System.currentTimeMillis() / 1000)
344+
Utils.setXmlStringValue(T.getContext(), CommonField.PERMISSION_CAMERA, CommonField.PERMISSION_CAMERA, json.toJSONString())
335345

336-
})
337346
}
338347
}
339348
// iv_question -> {
@@ -489,18 +498,6 @@ class DeviceCategoryActivity : PActivity(), MyCallback, CRecyclerView.RecyclerI
489498

490499
private fun beginScanning() {
491500
if (!checkPermissions(blueToothPermissions)) {
492-
var dlg = PermissionDialog(this@DeviceCategoryActivity, getString(R.string.permission_of_wifi), getString(R.string.permission_of_wifi_lips))
493-
dlg.show()
494-
dlg.setOnDismisListener(object : PermissionDialog.OnDismisListener {
495-
override fun OnClickRefuse() {
496-
497-
}
498-
499-
override fun OnClickOK() {
500-
requestPermission(blueToothPermissions)
501-
}
502-
503-
})
504501
return
505502
}
506503

0 commit comments

Comments
 (0)