个人信息与权限
This commit is contained in:
6
app/src/common/res/drawable/bg_f6f7f9_8_radius.xml
Normal file
6
app/src/common/res/drawable/bg_f6f7f9_8_radius.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="@dimen/dp_8" />
|
||||
<solid android:color="#F6F7F9" />
|
||||
</shape>
|
@@ -1233,6 +1233,14 @@
|
||||
android:name=".avroom.firstcharge.FirstChargeDialog"
|
||||
android:theme="@style/dialogactivity" />
|
||||
|
||||
<activity
|
||||
android:name=".ui.setting.GrantedPermissionsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".ui.setting.PermissionGuideActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
@@ -0,0 +1,87 @@
|
||||
package com.yizhuan.erban.ui.setting
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseActivity
|
||||
import com.yizhuan.erban.common.EmptyViewHelper
|
||||
import com.yizhuan.erban.ui.setting.bean.PermissionEntity
|
||||
import com.yizhuan.erban.ui.utils.RVDelegate
|
||||
import com.yizhuan.erban.ui.widget.DividerItemDecoration
|
||||
import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil
|
||||
import com.yizhuan.erban.utils.PermissionUtil
|
||||
import kotlin.collections.ArrayList
|
||||
|
||||
class GrantedPermissionsActivity : BaseActivity() {
|
||||
private var recyclerView: RecyclerView? = null
|
||||
|
||||
companion object {
|
||||
fun start(context: Context) {
|
||||
val intent = Intent(context, GrantedPermissionsActivity::class.java)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_granted_permissions)
|
||||
initTitleBar("系统权限管理")
|
||||
initView()
|
||||
val permissionList = getPermissions()
|
||||
val rvDelegate = RVDelegate.Builder<PermissionEntity>()
|
||||
.setLayoutManager(LinearLayoutManager(this, LinearLayoutManager.VERTICAL,false))
|
||||
.setRecyclerView(recyclerView)
|
||||
.setEmptyView(EmptyViewHelper.createEmptyView(this, "未有已授权的系统权限"))
|
||||
.setAdapter(PermissionAdapter())
|
||||
.build()
|
||||
rvDelegate.setNewData(permissionList)
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
recyclerView = findViewById(R.id.recycler_view)
|
||||
recyclerView?.addItemDecoration(
|
||||
DividerItemDecoration(
|
||||
this, LinearLayoutManager.VERTICAL,
|
||||
UIUtil.dip2px(this, 16.toDouble()),
|
||||
R.color.transparent
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
fun jumpToSystemSetting(view: View) {
|
||||
PermissionUtil.instance.jumpToSetting(this)
|
||||
}
|
||||
|
||||
private fun getPermissions(): MutableList<PermissionEntity> {
|
||||
val permissionList = ArrayList<PermissionEntity>()
|
||||
PermissionUtil.instance.getGrantedPermissions(this)?.forEach {
|
||||
PermissionEntity.fetchPermission(it)
|
||||
?.let { permission ->
|
||||
if (!permissionList.contains(permission)) permissionList.add(
|
||||
permission
|
||||
)
|
||||
}
|
||||
}
|
||||
return permissionList
|
||||
}
|
||||
|
||||
class PermissionAdapter :
|
||||
BaseQuickAdapter<PermissionEntity, BaseViewHolder>(R.layout.item_permission_granted) {
|
||||
override fun convert(helper: BaseViewHolder, item: PermissionEntity?) {
|
||||
item?.let {
|
||||
helper.getView<TextView>(R.id.tv_name)?.text = it.alias
|
||||
helper.getView<TextView>(R.id.tv_desc)?.text = it.description
|
||||
helper.getView<ImageView>(R.id.icon)?.setImageResource(it.icon)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,38 @@
|
||||
package com.yizhuan.erban.ui.setting
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.databinding.DataBindingUtil
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseActivity
|
||||
import com.yizhuan.erban.databinding.ActivityPermissionGuideBinding
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity
|
||||
|
||||
class PermissionGuideActivity : BaseActivity(), View.OnClickListener {
|
||||
|
||||
companion object {
|
||||
fun start(context: Context) {
|
||||
val intent = Intent(context, PermissionGuideActivity::class.java)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
val settingBinding: ActivityPermissionGuideBinding =
|
||||
DataBindingUtil.setContentView(this, R.layout.activity_permission_guide)
|
||||
settingBinding.click = this
|
||||
initTitleBar("个人信息与权限")
|
||||
}
|
||||
|
||||
override fun onClick(v: View?) {
|
||||
when (v?.id) {
|
||||
R.id.tv_system_permission -> GrantedPermissionsActivity.start(this)
|
||||
//R.id.tv_privacy_guide -> CommonWebViewActivity.start()
|
||||
// R.id.tv_sdk_permission -> CommonWebViewActivity.start()
|
||||
// R.id.tv_device_permission -> CommonWebViewActivity.start()
|
||||
}
|
||||
}
|
||||
}
|
@@ -228,6 +228,9 @@ public class SettingActivity extends BaseActivity implements View.OnClickListene
|
||||
case R.id.tv_notice_setting:
|
||||
NoticeSettingActivity.start(context);
|
||||
break;
|
||||
case R.id.rly_permission:
|
||||
PermissionGuideActivity.Companion.start(context);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,61 @@
|
||||
package com.yizhuan.erban.ui.setting.bean
|
||||
|
||||
import android.Manifest
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.xchat_android_core.utils.TextUtils
|
||||
|
||||
enum class PermissionEntity(
|
||||
val alias: String,
|
||||
val description: String,
|
||||
var icon: Int = R.drawable.icon_permission_common,
|
||||
val permissionName: Array<String>
|
||||
) {
|
||||
|
||||
|
||||
PHONE(
|
||||
"电话",
|
||||
"读取通话状态、移动网络信息和设备信息",
|
||||
R.drawable.icon_permission_phone,
|
||||
arrayOf(Manifest.permission.READ_PHONE_STATE)
|
||||
),
|
||||
LOCATOIN(
|
||||
"位置",
|
||||
"访问大致位置(通过网络定位)",
|
||||
R.drawable.icon_permission_location,
|
||||
arrayOf(
|
||||
Manifest.permission.ACCESS_FINE_LOCATION,
|
||||
Manifest.permission.ACCESS_COARSE_LOCATION
|
||||
)
|
||||
|
||||
),
|
||||
MICROPHONE(
|
||||
"录音",
|
||||
"录制音频",
|
||||
R.drawable.icon_permission_mic,
|
||||
arrayOf(Manifest.permission.RECORD_AUDIO)
|
||||
),
|
||||
CAMERA(
|
||||
"相机",
|
||||
"拍摄相片或录制视频",
|
||||
R.drawable.icon_permission_camera,
|
||||
arrayOf(Manifest.permission.CAMERA)
|
||||
),
|
||||
STORAGE(
|
||||
"存储", "读取手机存储,修改/删除手机储存", R.drawable.icon_permission_storage,
|
||||
arrayOf(
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||
)
|
||||
);
|
||||
|
||||
companion object {
|
||||
fun fetchPermission(name: String): PermissionEntity? {
|
||||
if (TextUtils.isEmptyText(name)) return null
|
||||
|
||||
values().forEach {
|
||||
if (it.permissionName.contains(name)) return it
|
||||
}
|
||||
return null
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,4 @@
|
||||
package com.yizhuan.erban.ui.utils.sys
|
||||
|
||||
class PermissionUtil {
|
||||
}
|
117
app/src/main/java/com/yizhuan/erban/utils/PermissionUtil.kt
Normal file
117
app/src/main/java/com/yizhuan/erban/utils/PermissionUtil.kt
Normal file
@@ -0,0 +1,117 @@
|
||||
package com.yizhuan.erban.utils
|
||||
|
||||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import com.microquation.linkedme.android.v4.ContextCompatLKMe
|
||||
import com.yizhuan.erban.BuildConfig
|
||||
import java.lang.Exception
|
||||
|
||||
class PermissionUtil {
|
||||
companion object {
|
||||
val instance = PermissionUtil()
|
||||
}
|
||||
|
||||
fun getGrantedPermissions(context: Context): List<String>? {
|
||||
val packageInfo = context.packageManager.getPackageInfo(
|
||||
context.packageName,
|
||||
PackageManager.GET_PERMISSIONS,
|
||||
)
|
||||
val permissions = packageInfo.requestedPermissions
|
||||
val list = permissions?.filter { str -> str.startsWith("android.permission") }
|
||||
return if (Build.VERSION.SDK_INT < 23) {
|
||||
list
|
||||
} else {
|
||||
list?.filter {
|
||||
ContextCompatLKMe.checkSelfPermission(
|
||||
context,
|
||||
it
|
||||
) == PackageManager.PERMISSION_GRANTED
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun jumpToSetting(context: Context) {
|
||||
when (Build.BRAND?.toLowerCase()) {
|
||||
"redmi", "xiaomi" -> toXiaomiPermission(context)
|
||||
"huawei", "honor" -> toHuaWeiPermission(context)
|
||||
"meizu" -> toMeizuPermission(context)
|
||||
else -> toCommonPermission(context)
|
||||
}
|
||||
}
|
||||
|
||||
private fun toHuaWeiPermission(context: Context) {
|
||||
try {
|
||||
val intent = Intent()
|
||||
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
val comp = ComponentName(
|
||||
"com.huawei.systemmanager",
|
||||
"com.huawei.permissionmanager.ui.MainActivity"
|
||||
)//华为权限管理
|
||||
intent.component = comp
|
||||
context.startActivity(intent)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
toCommonPermission(context)
|
||||
}
|
||||
}
|
||||
|
||||
private fun toXiaomiPermission(context: Context) {
|
||||
try { // MIUI 8
|
||||
val localIntent = Intent("miui.intent.action.APP_PERM_EDITOR")
|
||||
localIntent.setClassName(
|
||||
"com.miui.securitycenter",
|
||||
"com.miui.permcenter.permissions.PermissionsEditorActivity"
|
||||
)
|
||||
localIntent.putExtra("extra_pkgname", context.packageName)
|
||||
context.startActivity(localIntent)
|
||||
} catch (e: Exception) {
|
||||
try { // MIUI 5/6/7
|
||||
val localIntent = Intent("miui.intent.action.APP_PERM_EDITOR")
|
||||
localIntent.setClassName(
|
||||
"com.miui.securitycenter",
|
||||
"com.miui.permcenter.permissions.AppPermissionsEditorActivity"
|
||||
)
|
||||
localIntent.putExtra("extra_pkgname", context.packageName)
|
||||
context.startActivity(localIntent)
|
||||
} catch (e1: Exception) { // 否则跳转到应用详情
|
||||
toCommonPermission(context)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun toMeizuPermission(context: Context) {
|
||||
try {
|
||||
val intent = Intent("com.meizu.safe.security.SHOW_APPSEC")
|
||||
intent.addCategory(Intent.CATEGORY_DEFAULT)
|
||||
intent.putExtra("packageName", BuildConfig.APPLICATION_ID)
|
||||
context.startActivity(intent)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
toCommonPermission(context)
|
||||
}
|
||||
}
|
||||
|
||||
private fun toCommonPermission(context: Context) {
|
||||
val localIntent = Intent()
|
||||
localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
if (Build.VERSION.SDK_INT >= 9) {
|
||||
localIntent.action = "android.settings.APPLICATION_DETAILS_SETTINGS"
|
||||
localIntent.data = Uri.fromParts("package", context.packageName, null)
|
||||
} else if (Build.VERSION.SDK_INT <= 8) {
|
||||
localIntent.action = Intent.ACTION_VIEW
|
||||
localIntent.setClassName(
|
||||
"com.android.settings",
|
||||
"com.android.settings.InstalledAppDetails"
|
||||
)
|
||||
localIntent.putExtra(
|
||||
"com.android.settings.ApplicationPkgName",
|
||||
context.packageName
|
||||
)
|
||||
}
|
||||
context.startActivity(localIntent)
|
||||
}
|
||||
}
|
BIN
app/src/main/res/drawable-xhdpi/icon_permission_camera.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/icon_permission_camera.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 850 B |
BIN
app/src/main/res/drawable-xhdpi/icon_permission_common.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/icon_permission_common.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
app/src/main/res/drawable-xhdpi/icon_permission_location.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/icon_permission_location.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
BIN
app/src/main/res/drawable-xhdpi/icon_permission_mic.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/icon_permission_mic.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
BIN
app/src/main/res/drawable-xhdpi/icon_permission_phone.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/icon_permission_phone.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
BIN
app/src/main/res/drawable-xhdpi/icon_permission_storage.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/icon_permission_storage.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
69
app/src/main/res/layout/activity_granted_permissions.xml
Normal file
69
app/src/main/res/layout/activity_granted_permissions.xml
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.yizhuan.erban.base.TitleBar
|
||||
android:id="@+id/title_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/color_transparent10_0A333333" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_margin="@dimen/dp_16"
|
||||
android:layout_weight="1"
|
||||
android:overScrollMode="never" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:layout_gravity="center_horizontal"
|
||||
|
||||
>
|
||||
<View
|
||||
android:layout_width="@dimen/dp_50"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:background="@color/color_grey_999999"
|
||||
/>
|
||||
<TextView
|
||||
android:layout_marginLeft="@dimen/dp_8"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:onClick="jumpToSystemSetting"
|
||||
android:text="仅展示能查询到的已授权系统权限"
|
||||
android:textColor="@color/color_999999"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
<View
|
||||
android:layout_width="@dimen/dp_50"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginLeft="@dimen/dp_8"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:background="@color/color_grey_999999"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_marginBottom="@dimen/dp_35"
|
||||
android:onClick="jumpToSystemSetting"
|
||||
android:text="前往系统设置>"
|
||||
android:textColor="#7154EE"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
</LinearLayout>
|
116
app/src/main/res/layout/activity_permission_guide.xml
Normal file
116
app/src/main/res/layout/activity_permission_guide.xml
Normal file
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<data>
|
||||
<variable
|
||||
name="click"
|
||||
type="android.view.View.OnClickListener" />
|
||||
</data>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:background="@color/white"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<com.yizhuan.erban.base.TitleBar
|
||||
android:id="@+id/title_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/color_transparent10_0A333333" />
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar"
|
||||
android:id="@+id/tv_system_permission"
|
||||
style="@style/permission_text_style"
|
||||
android:text="系统权限管理"
|
||||
android:onClick="@{click}"
|
||||
tools:ignore="MissingConstraints" />
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar"
|
||||
android:id="@+id/tv_privacy_guide"
|
||||
style="@style/permission_text_style"
|
||||
android:text="隐私保护指引"
|
||||
android:onClick="@{click}"
|
||||
tools:ignore="MissingConstraints" />
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar"
|
||||
android:id="@+id/tv_sdk_permission"
|
||||
style="@style/permission_text_style"
|
||||
android:text="第三方SDK目录"
|
||||
android:onClick="@{click}"
|
||||
tools:ignore="MissingConstraints" />
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar"
|
||||
android:id="@+id/tv_device_permission"
|
||||
style="@style/permission_text_style"
|
||||
android:text="设备权限清单"
|
||||
android:onClick="@{click}"
|
||||
tools:ignore="MissingConstraints" />
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="horizontal"
|
||||
android:layout_gravity="center_horizontal"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_jump_setting"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/dp_60"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:onClick="@{click}"
|
||||
android:text="前往系统设置>"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:textColor="#7154EE"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_tip"
|
||||
android:layout_marginLeft="@dimen/dp_8"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:onClick="jumpToSystemSetting"
|
||||
android:text="仅展示能查询到的已授权系统权限"
|
||||
android:layout_marginBottom="@dimen/dp_40"
|
||||
android:textColor="@color/color_999999"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/tv_jump_setting"
|
||||
android:textSize="@dimen/sp_12" />
|
||||
|
||||
<View
|
||||
android:layout_width="@dimen/dp_50"
|
||||
android:layout_height="1dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:background="@color/color_grey_999999"
|
||||
app:layout_constraintRight_toLeftOf="@id/tv_tip"
|
||||
android:layout_marginRight="@dimen/dp_8"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_tip"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_tip"
|
||||
/>
|
||||
|
||||
<View
|
||||
app:layout_constraintTop_toTopOf="@id/tv_tip"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_tip"
|
||||
android:layout_width="@dimen/dp_50"
|
||||
android:layout_height="1dp"
|
||||
app:layout_constraintLeft_toRightOf="@id/tv_tip"
|
||||
android:layout_marginLeft="@dimen/dp_8"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:background="@color/color_grey_999999"
|
||||
/>
|
||||
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</LinearLayout>
|
||||
</layout>
|
@@ -308,6 +308,37 @@
|
||||
android:textColor="@color/text_title_white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="10dp"
|
||||
android:background="@color/line_height_201F27" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/rly_permission"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:onClick="@{click}">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:text="@string/text_setting_permission"
|
||||
android:textColor="@color/text_title_white"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:src="@drawable/arrow_right" />
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="10dp"
|
||||
|
44
app/src/main/res/layout/item_permission_granted.xml
Normal file
44
app/src/main/res/layout/item_permission_granted.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/dp_16"
|
||||
android:paddingBottom="@dimen/dp_16"
|
||||
android:background="@drawable/bg_f6f7f9_8_radius">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="@dimen/dp_23"
|
||||
android:layout_marginLeft="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:src="@drawable/icon_permission_common" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_7"
|
||||
android:textColor="@color/color_black_333333"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:layout_constraintLeft_toRightOf="@id/icon"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="存储" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_desc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:textColor="@color/color_grey_999999"
|
||||
android:textSize="@dimen/sp_12"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tv_name"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_name"
|
||||
tools:text="读取手机存储,修改/删除手机储存" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -683,6 +683,7 @@
|
||||
<string name="text_setting_about">关于&app_name;</string>
|
||||
<string name="text_setting_check_for_update">检查版本</string>
|
||||
<string name="text_setting_lab">实验室</string>
|
||||
<string name="text_setting_permission">个人信息与权限</string>
|
||||
<string name="text_setting_logout">退出当前账号</string>
|
||||
<string name="text_setting_clear_cache">清除缓存</string>
|
||||
|
||||
|
@@ -546,4 +546,19 @@
|
||||
<item name="android:windowExitAnimation">@anim/anim_message_tip_out</item>
|
||||
</style>
|
||||
|
||||
<style name="permission_text_style">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">@dimen/dp_44</item>
|
||||
<item name="android:background">@drawable/bg_f6f7f9_8_radius</item>
|
||||
<item name="android:layout_marginTop">@dimen/dp_16</item>
|
||||
<item name="android:layout_marginLeft">@dimen/dp_16</item>
|
||||
<item name="android:layout_marginRight">@dimen/dp_16</item>
|
||||
<item name="android:textSize">@dimen/sp_14</item>
|
||||
<item name="android:gravity">center_vertical</item>
|
||||
<item name="android:paddingLeft">@dimen/dp_12</item>
|
||||
<item name="android:paddingRight">@dimen/dp_17</item>
|
||||
<item name="android:drawableRight">@drawable/setting_right</item>
|
||||
<item name="android:textColor">@color/color_black_333333</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
@@ -61,6 +61,7 @@
|
||||
|
||||
<!-- setting -->
|
||||
<color name="color_black_ff333333">#ff333333</color>
|
||||
<color name="color_transparent10_0A333333">#0A333333</color>
|
||||
<color name="color_black_ff666666">#ff666666</color>
|
||||
<color name="color_black_ff999999">#ff999999</color>
|
||||
<color name="color_gray_bfc2c5">#bfc2c5</color>
|
||||
|
Reference in New Issue
Block a user