diff --git a/app/build.gradle b/app/build.gradle index f50c12f..ff8facf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,8 +104,8 @@ dependencies { implementation 'me.zhanghai.android.fastscroll:library:1.1.8' // 语种切换框架:https://github.com/getActivity/MultiLanguages implementation 'com.github.getActivity:MultiLanguages:8.0' - //权限申请 - implementation 'com.guolindev.permissionx:permissionx:1.7.1' + // 权限请求框架:https://github.com/getActivity/XXPermissions + implementation 'com.github.getActivity:XXPermissions:20.0' implementation "androidx.room:room-runtime:2.4.0" //注释处理器加上Room diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a01d4f3..220c571 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,21 +30,12 @@ android:name=".FeedbackActivity" android:exported="false" tools:ignore="LockedOrientationActivity" /> - - - - () { private val headLayout by lazy { HeadLayoutBinding.inflate(layoutInflater) } - val startViewModel by lazy { + private val startViewModel by lazy { ViewModelProvider(this)[StartViewModel::class.java] } @@ -67,7 +67,7 @@ class MainActivity : BaseActivity() { */ private fun initNav() { appBarConfiguration = AppBarConfiguration( - setOf(R.id.community_item, R.id.mod_item, R.id.database_item, R.id.template_item), + setOf(R.id.mod_item, R.id.database_item, R.id.template_item), viewBinding.drawerlayout ) val navController = findNavController(R.id.baseFragment) @@ -238,21 +238,11 @@ class MainActivity : BaseActivity() { val dataBase = menu.findItem(R.id.database_item) val template = menu.findItem(R.id.template_item) val codeTable = menu.findItem(R.id.code_table) -// val mod = menu.findItem(R.id.mod_item) - val community = menu.findItem(R.id.community_item) -// val group = menu.findItem(R.id.user_group) -// group.setOnMenuItemClickListener { -// viewBinding.drawerlayout.closeDrawer((GravityCompat.START)) -// val userGroupFragment = UserGroupFragment() -// userGroupFragment.show(supportFragmentManager, "userGroup") -// false -// } val gitHub = menu.findItem(R.id.github) gitHub.setOnMenuItemClickListener { AppOperator.useBrowserAccessWebPage(this, "https://github.com/Cold-Mint/RustAssistant") false } -// val help = menu.findItem(R.id.help) //管理可见性 dataBase.isVisible = isActive template.isVisible = isActive @@ -345,9 +335,6 @@ class MainActivity : BaseActivity() { } false }*/ - community.setOnMenuItemClickListener { - false - } menu.findItem(R.id.startGame).setOnMenuItemClickListener { val packName = AppSettings.getValue( AppSettings.Setting.GamePackage, @@ -589,6 +576,7 @@ class MainActivity : BaseActivity() { @Deprecated("Deprecated in Java") override fun onBackPressed() { + super.onBackPressed() val navController = findNavController(R.id.baseFragment) //判断是否在第一个导航 社区或者仓库 if (navController.currentDestination?.id == navController.graph.startDestinationId) { @@ -615,17 +603,6 @@ class MainActivity : BaseActivity() { * 观察启动视图 */ private fun observeStartViewModel() { - startViewModel.userLiveData.observe(this) { - headLayout.nameView.text = it.data.userName - headLayout.emailView.text = it.data.email - val headIcon = it.data.headIcon - if (headIcon != null) { - Glide.with(this).load(ServerConfiguration.getRealLink(headIcon)) - .apply(GlobalMethod.getRequestOptions(true, !it.data.activation)) - .into(headLayout.imageView) - } - } - startViewModel.dataSetMsgLiveData.observe(this) { if (it.isNotBlank()) { Snackbar.make(viewBinding.root, it, Snackbar.LENGTH_SHORT).show() @@ -657,7 +634,6 @@ class MainActivity : BaseActivity() { AppSettings.Setting.DynamicColor, DynamicColors.isDynamicColorAvailable() ) -// useToolbarSetSupportActionBar() initNav() observeStartViewModel() //偏移fab diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/WarehouseFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/WarehouseFragment.kt index d71371d..6b76466 100644 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/WarehouseFragment.kt +++ b/app/src/main/java/com/coldmint/rust/pro/fragments/WarehouseFragment.kt @@ -2,16 +2,19 @@ package com.coldmint.rust.pro.fragments import android.Manifest import android.content.Intent +import android.os.Build import android.os.Bundle import android.view.LayoutInflater +import androidx.annotation.RequiresApi import com.coldmint.rust.pro.CreationWizardActivity -import com.coldmint.rust.pro.MainActivity import com.coldmint.rust.pro.R import com.coldmint.rust.pro.adapters.WarehouseAdapter import com.coldmint.rust.pro.base.BaseFragment import com.coldmint.rust.pro.databinding.FragmentWarehouseBinding +import com.coldmint.rust.pro.tool.GlobalMethod import com.google.android.material.tabs.TabLayoutMediator -import com.permissionx.guolindev.PermissionX +import com.hjq.permissions.OnPermissionCallback +import com.hjq.permissions.XXPermissions /** @@ -19,20 +22,12 @@ import com.permissionx.guolindev.PermissionX * @date 2022/1/5 10:18 */ class WarehouseFragment : BaseFragment() { + @RequiresApi(Build.VERSION_CODES.R) private fun loadTab() { // 在需要申请权限的地方调用如下方法 - PermissionX.init(this) - .permissions(Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.WRITE_EXTERNAL_STORAGE) - .onExplainRequestReason { scope, deniedList -> - scope.showRequestReasonDialog(deniedList, "核心基础是基于这些权限", "授权", "取消") - } - .onForwardToSettings { scope, deniedList -> - scope.showForwardToSettingsDialog(deniedList, "您需要手动允许设置中的必要权限", "授权", "取消") - }.request { allGranted, _, _ -> - if (allGranted) { - } - } + GlobalMethod.requestStoragePermissions(requireActivity()) { + + } if (isAdded) { TabLayoutMediator(viewBinding.tabLayout, viewBinding.pager) { tab, position -> when (position) { diff --git a/app/src/main/java/com/coldmint/rust/pro/tool/GlobalMethod.kt b/app/src/main/java/com/coldmint/rust/pro/tool/GlobalMethod.kt index 461bacb..3e30894 100644 --- a/app/src/main/java/com/coldmint/rust/pro/tool/GlobalMethod.kt +++ b/app/src/main/java/com/coldmint/rust/pro/tool/GlobalMethod.kt @@ -31,7 +31,8 @@ import com.flask.colorpicker.ColorPickerView import com.flask.colorpicker.builder.ColorPickerDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.snackbar.Snackbar -import com.permissionx.guolindev.PermissionX +import com.hjq.permissions.OnPermissionCallback +import com.hjq.permissions.XXPermissions import jp.wasabeef.glide.transformations.BitmapTransformation import jp.wasabeef.glide.transformations.CropCircleTransformation import jp.wasabeef.glide.transformations.GrayscaleTransformation @@ -285,26 +286,11 @@ object GlobalMethod { Manifest.permission.WRITE_EXTERNAL_STORAGE ) } - PermissionX.init(activity).permissions( + XXPermissions.with(activity).permission( list - ).onForwardToSettings { scope, deniedList -> - scope.showForwardToSettingsDialog( - deniedList, - activity.getString(R.string.dialog_title), - activity.getString(R.string.dialog_confirm) - ) + ).request { _, allGranted -> + requestCompleted.invoke(allGranted) } - .onExplainRequestReason { scope, deniedList -> - scope.showRequestReasonDialog( - deniedList, - activity.getString(R.string.dialog_title), - activity.getString(R.string.dialog_confirm), - activity.getString(R.string.dialog_cancel) - ) - } - .request { allGranted, grantedList, deniedList -> - requestCompleted.invoke(allGranted) - } } diff --git a/app/src/main/java/com/coldmint/rust/pro/viewmodel/StartViewModel.kt b/app/src/main/java/com/coldmint/rust/pro/viewmodel/StartViewModel.kt index 51a63cd..9900729 100644 --- a/app/src/main/java/com/coldmint/rust/pro/viewmodel/StartViewModel.kt +++ b/app/src/main/java/com/coldmint/rust/pro/viewmodel/StartViewModel.kt @@ -44,20 +44,6 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio MutableLiveData(false) } - /** - * 用户数据的LiveData - */ - val userLiveData by lazy { - MutableLiveData() - } - - /** - * 是否需要登录的LiveData - */ - val needLoginLiveData by lazy { - MutableLiveData(false) - } - /** * 表示此应用是否已激活 */ @@ -66,13 +52,6 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio } - /** - * 用户信息验证错误LiveData - */ - val verifyErrorMsgLiveData by lazy { - MutableLiveData("") - } - /** * 数据集消息 */ diff --git a/app/src/main/res/drawable/community.xml b/app/src/main/res/drawable/community.xml deleted file mode 100644 index de3c994..0000000 --- a/app/src/main/res/drawable/community.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/head_layout.xml b/app/src/main/res/layout/head_layout.xml index 7b274f3..d0c343c 100644 --- a/app/src/main/res/layout/head_layout.xml +++ b/app/src/main/res/layout/head_layout.xml @@ -7,33 +7,19 @@ android:orientation="vertical"> + android:layout_marginBottom="16dp" + android:src="@mipmap/ic_launcher" /> - - + android:layout_height="wrap_content"/> - -