From 293fe2c3efaa3edbecf878f36718fcc90a4e8bf1 Mon Sep 17 00:00:00 2001 From: kaixed Date: Sun, 15 Dec 2024 16:20:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E9=A6=96=E6=AC=A1=E7=99=BB=E9=99=86=E7=BC=93=E5=AD=98=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E6=A1=86=E4=B8=80=E7=9B=B4=E5=AD=98=E5=9C=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 8 +- .../java/com/kaixed/kchat/data/DataBase.kt | 23 +++ .../com/kaixed/kchat/data/LocalDatabase.kt | 11 +- .../kaixed/kchat/ui/activity/LoginActivity.kt | 4 + .../kaixed/kchat/ui/activity/MainActivity.kt | 22 ++- .../kchat/ui/activity/SettingActivity.kt | 22 --- .../SettingsActivity.kt} | 54 +++--- .../setting/AccountSecurityActivity.kt | 22 +++ .../setting/UpdatePasswordActivity.kt | 25 +++ .../kaixed/kchat/ui/fragment/MineFragment.kt | 5 +- .../settings/AccountSecurityFragment.kt | 27 --- .../ui/fragment/settings/ChatFragment.kt | 60 ------- .../fragment/settings/NewMessageFragment.kt | 60 ------- .../com/kaixed/kchat/utils/ConstantsUtil.kt | 2 +- .../java/com/kaixed/kchat/utils/TextUtil.kt | 6 + ...rity.xml => activity_account_security.xml} | 4 +- app/src/main/res/layout/activity_setting.xml | 157 +++++++++++++++++- .../res/layout/activity_update_password.xml | 37 +++++ app/src/main/res/navigation/nav_graph.xml | 23 --- 19 files changed, 331 insertions(+), 241 deletions(-) create mode 100644 app/src/main/java/com/kaixed/kchat/data/DataBase.kt delete mode 100644 app/src/main/java/com/kaixed/kchat/ui/activity/SettingActivity.kt rename app/src/main/java/com/kaixed/kchat/ui/{fragment/SettingsFragment.kt => activity/SettingsActivity.kt} (74%) create mode 100644 app/src/main/java/com/kaixed/kchat/ui/activity/setting/AccountSecurityActivity.kt create mode 100644 app/src/main/java/com/kaixed/kchat/ui/activity/setting/UpdatePasswordActivity.kt delete mode 100644 app/src/main/java/com/kaixed/kchat/ui/fragment/settings/AccountSecurityFragment.kt delete mode 100644 app/src/main/java/com/kaixed/kchat/ui/fragment/settings/ChatFragment.kt delete mode 100644 app/src/main/java/com/kaixed/kchat/ui/fragment/settings/NewMessageFragment.kt rename app/src/main/res/layout/{fragment_account_security.xml => activity_account_security.xml} (94%) create mode 100644 app/src/main/res/layout/activity_update_password.xml delete mode 100644 app/src/main/res/navigation/nav_graph.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index dbae5dd..3b1d781 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -39,6 +39,12 @@ android:theme="@style/Theme.KChatAndroid" android:usesCleartextTraffic="true" tools:targetApi="31"> + + @@ -49,7 +55,7 @@ android:name=".ui.activity.setting.AboutActivity" android:exported="false" /> by lazy { getBoxStore().boxFor() } + + val messagesBox: Box by lazy { getBoxStore().boxFor() } + + val conversationBox: Box by lazy { getBoxStore().boxFor() } + + val userInfoBox: Box by lazy { getBoxStore().boxFor() } +} \ No newline at end of file diff --git a/app/src/main/java/com/kaixed/kchat/data/LocalDatabase.kt b/app/src/main/java/com/kaixed/kchat/data/LocalDatabase.kt index 75a3589..3ffa5e5 100644 --- a/app/src/main/java/com/kaixed/kchat/data/LocalDatabase.kt +++ b/app/src/main/java/com/kaixed/kchat/data/LocalDatabase.kt @@ -8,6 +8,7 @@ import com.kaixed.kchat.data.local.entity.Conversation import com.kaixed.kchat.data.local.entity.Conversation_ import com.kaixed.kchat.data.local.entity.Messages import com.kaixed.kchat.data.local.entity.Messages_ +import com.kaixed.kchat.data.local.entity.UserInfo import io.objectbox.Box import io.objectbox.kotlin.boxFor import io.objectbox.query.QueryBuilder @@ -20,9 +21,15 @@ object LocalDatabase { private val contactBox: Box by lazy { getBoxStore().boxFor() } - private val messagesBox: Box by lazy { getBox(Messages::class.java) } + private val messagesBox: Box by lazy { getBoxStore().boxFor() } - private val conversationBox: Box by lazy { getBox(Conversation::class.java) } + private val conversationBox: Box by lazy { getBoxStore().boxFor() } + + private val userInfoBox: Box by lazy { getBoxStore().boxFor() } + + fun saveUserInfo(userInfo: UserInfo) { + userInfoBox.put(userInfo) + } fun cleanChatHistory(contactId: String) { messagesBox.query(Messages_.talkerId.equal(contactId)).build().remove() diff --git a/app/src/main/java/com/kaixed/kchat/ui/activity/LoginActivity.kt b/app/src/main/java/com/kaixed/kchat/ui/activity/LoginActivity.kt index b10fd71..57e457c 100644 --- a/app/src/main/java/com/kaixed/kchat/ui/activity/LoginActivity.kt +++ b/app/src/main/java/com/kaixed/kchat/ui/activity/LoginActivity.kt @@ -12,6 +12,7 @@ import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels import androidx.core.content.ContextCompat import com.kaixed.kchat.R +import com.kaixed.kchat.data.LocalDatabase import com.kaixed.kchat.databinding.ActivityLoginBinding import com.kaixed.kchat.ui.base.BaseActivity import com.kaixed.kchat.utils.Constants.KEYBOARD_HEIGHT_RATIO @@ -75,6 +76,9 @@ class LoginActivity : BaseActivity() { } userViewModel.loginResult.observe(this) { loginResult -> loginResult.onSuccess { + it?.let { + LocalDatabase.saveUserInfo(it) + } navigateToMain() } loginResult.onFailure { diff --git a/app/src/main/java/com/kaixed/kchat/ui/activity/MainActivity.kt b/app/src/main/java/com/kaixed/kchat/ui/activity/MainActivity.kt index b457796..ddeb613 100644 --- a/app/src/main/java/com/kaixed/kchat/ui/activity/MainActivity.kt +++ b/app/src/main/java/com/kaixed/kchat/ui/activity/MainActivity.kt @@ -43,6 +43,8 @@ class MainActivity : BaseActivity() { private val navBinding by lazy { binding.bottomNavContainer } + private val loadingDialogFragment by lazy { LoadingDialogFragment.newInstance("同步数据中") } + private val navItems by lazy { listOf( NavItem(navBinding.ivHome, navBinding.tvHome), @@ -73,23 +75,25 @@ class MainActivity : BaseActivity() { initView() initViewPager() + setListener() + } + + private fun setListener() { + contactViewModel.contactListResult.observe(this@MainActivity) { result -> + result.onSuccess { + contactBox.put(it ?: emptyList()) + loadingDialogFragment.dismissLoading() + } + } } override fun initData() { if (isFirstLaunchApp()) { lifecycleScope.launch(Dispatchers.Main) { - val loadingDialogFragment = LoadingDialogFragment.newInstance("同步数据中") - delay(200) + delay(400) loadingDialogFragment.showLoading(supportFragmentManager) - contactViewModel.contactListResult.observe(this@MainActivity) { result -> - result.onSuccess { - contactBox.put(it ?: emptyList()) - } - } - contactViewModel.loadFriendList(getUsername()) - loadingDialogFragment.dismissLoading() } } } diff --git a/app/src/main/java/com/kaixed/kchat/ui/activity/SettingActivity.kt b/app/src/main/java/com/kaixed/kchat/ui/activity/SettingActivity.kt deleted file mode 100644 index 9849530..0000000 --- a/app/src/main/java/com/kaixed/kchat/ui/activity/SettingActivity.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.kaixed.kchat.ui.activity - -import android.os.Bundle -import androidx.activity.enableEdgeToEdge -import com.kaixed.kchat.databinding.ActivitySettingBinding -import com.kaixed.kchat.ui.base.BaseActivity - -class SettingActivity : BaseActivity() { - - override fun inflateBinding(): ActivitySettingBinding { - return ActivitySettingBinding.inflate(layoutInflater) - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - enableEdgeToEdge() - } - - override fun initData() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/kaixed/kchat/ui/fragment/SettingsFragment.kt b/app/src/main/java/com/kaixed/kchat/ui/activity/SettingsActivity.kt similarity index 74% rename from app/src/main/java/com/kaixed/kchat/ui/fragment/SettingsFragment.kt rename to app/src/main/java/com/kaixed/kchat/ui/activity/SettingsActivity.kt index 2db9f2c..d76f268 100644 --- a/app/src/main/java/com/kaixed/kchat/ui/fragment/SettingsFragment.kt +++ b/app/src/main/java/com/kaixed/kchat/ui/activity/SettingsActivity.kt @@ -1,30 +1,28 @@ -package com.kaixed.kchat.ui.fragment +package com.kaixed.kchat.ui.activity import android.content.Intent import android.os.Bundle -import android.view.LayoutInflater import android.view.View -import android.view.ViewGroup import android.widget.Toast -import androidx.navigation.NavOptions -import androidx.navigation.fragment.findNavController +import androidx.activity.enableEdgeToEdge import com.kaixed.kchat.R -import com.kaixed.kchat.databinding.FragmentSettingsBinding +import com.kaixed.kchat.databinding.ActivitySettingBinding import com.kaixed.kchat.ui.activity.setting.AboutActivity -import com.kaixed.kchat.ui.base.BaseFragment +import com.kaixed.kchat.ui.activity.setting.AccountSecurityActivity +import com.kaixed.kchat.ui.base.BaseActivity import com.kaixed.kchat.ui.widget.MyBottomSheetFragment +class SettingsActivity : BaseActivity(), View.OnClickListener { -class SettingsFragment : BaseFragment(), View.OnClickListener { - override fun inflateBinding( - inflater: LayoutInflater, - container: ViewGroup? - ): FragmentSettingsBinding { - return FragmentSettingsBinding.inflate(inflater, container, false) + private val context by lazy { this } + + override fun inflateBinding(): ActivitySettingBinding { + return ActivitySettingBinding.inflate(layoutInflater) } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() setListener() } @@ -51,15 +49,19 @@ class SettingsFragment : BaseFragment(), View.OnClickLi override fun onClick(v: View?) { when (v?.id) { R.id.item_account_security -> { + val intent = Intent(this, AccountSecurityActivity::class.java) + startActivity(intent) - val navOptions = NavOptions.Builder() - .setEnterAnim(R.anim.push_in_from_right) // 从右侧推入 - .setExitAnim(R.anim.push_out_to_left) // 从左侧推出 - .setPopEnterAnim(R.anim.push_in_from_left) // 从左侧推入 - .setPopExitAnim(R.anim.push_out_to_right) // 从右侧推出 - .build() - - findNavController().navigate(R.id.action_settings_to_security, null, navOptions) +// val intent = Intent(context, UpdatePasswordActivity::class.java) +// +// val navOptions = NavOptions.Builder() +// .setEnterAnim(R.anim.push_in_from_right) // 从右侧推入 +// .setExitAnim(R.anim.push_out_to_left) // 从左侧推出 +// .setPopEnterAnim(R.anim.push_in_from_left) // 从左侧推入 +// .setPopExitAnim(R.anim.push_out_to_right) // 从右侧推出 +// .build() +// +// findNavController().navigate(R.id.action_settings_to_security, null, navOptions) } R.id.item_teen_mode -> { @@ -138,11 +140,15 @@ class SettingsFragment : BaseFragment(), View.OnClickLi R.id.tv_logout -> { val bottomSheetFragment = MyBottomSheetFragment() - bottomSheetFragment.show(parentFragmentManager, bottomSheetFragment.tag) + bottomSheetFragment.show(supportFragmentManager, bottomSheetFragment.tag) } else -> { } } } + + override fun initData() { + + } } \ No newline at end of file diff --git a/app/src/main/java/com/kaixed/kchat/ui/activity/setting/AccountSecurityActivity.kt b/app/src/main/java/com/kaixed/kchat/ui/activity/setting/AccountSecurityActivity.kt new file mode 100644 index 0000000..b2f97c2 --- /dev/null +++ b/app/src/main/java/com/kaixed/kchat/ui/activity/setting/AccountSecurityActivity.kt @@ -0,0 +1,22 @@ +package com.kaixed.kchat.ui.activity.setting + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import com.kaixed.kchat.R +import com.kaixed.kchat.databinding.ActivityAccountSecurityBinding +import com.kaixed.kchat.ui.base.BaseActivity + +class AccountSecurityActivity : BaseActivity() { + + override fun inflateBinding(): ActivityAccountSecurityBinding { + return ActivityAccountSecurityBinding.inflate(layoutInflater) + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + } + + override fun initData() { + } +} \ No newline at end of file diff --git a/app/src/main/java/com/kaixed/kchat/ui/activity/setting/UpdatePasswordActivity.kt b/app/src/main/java/com/kaixed/kchat/ui/activity/setting/UpdatePasswordActivity.kt new file mode 100644 index 0000000..d6a0777 --- /dev/null +++ b/app/src/main/java/com/kaixed/kchat/ui/activity/setting/UpdatePasswordActivity.kt @@ -0,0 +1,25 @@ +package com.kaixed.kchat.ui.activity.setting + +import android.os.Bundle +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.kaixed.kchat.R +import com.kaixed.kchat.databinding.ActivityUpdatePasswordBinding +import com.kaixed.kchat.ui.base.BaseActivity + +class UpdatePasswordActivity : BaseActivity() { + + override fun inflateBinding(): ActivityUpdatePasswordBinding { + return ActivityUpdatePasswordBinding.inflate(layoutInflater) + } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + enableEdgeToEdge() + } + + override fun initData() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/kaixed/kchat/ui/fragment/MineFragment.kt b/app/src/main/java/com/kaixed/kchat/ui/fragment/MineFragment.kt index e748fe4..fc048eb 100644 --- a/app/src/main/java/com/kaixed/kchat/ui/fragment/MineFragment.kt +++ b/app/src/main/java/com/kaixed/kchat/ui/fragment/MineFragment.kt @@ -9,7 +9,7 @@ import com.bumptech.glide.Glide import com.kaixed.kchat.R import com.kaixed.kchat.databinding.FragmentMineBinding import com.kaixed.kchat.ui.activity.ProfileDetailActivity -import com.kaixed.kchat.ui.activity.SettingActivity +import com.kaixed.kchat.ui.activity.SettingsActivity import com.kaixed.kchat.ui.base.BaseFragment import com.kaixed.kchat.utils.ConstantsUtil import com.kaixed.kchat.utils.ConstantsUtil.getAvatarUrl @@ -33,7 +33,7 @@ class MineFragment : BaseFragment() { } binding.ciSetting.setOnClickListener { - startActivity(Intent(requireContext(), SettingActivity::class.java)) + startActivity(Intent(requireContext(), SettingsActivity::class.java)) } binding.ciSetting.setRedTipVisibility(true) @@ -49,6 +49,7 @@ class MineFragment : BaseFragment() { binding.tvNickname.text = nickname val kid = "kid: ${getUsername()}" binding.tvId.text = kid + Glide.with(requireContext()).load(getAvatarUrl()) .placeholder(R.drawable.ic_default_avatar) .error(R.drawable.ic_default_avatar) diff --git a/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/AccountSecurityFragment.kt b/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/AccountSecurityFragment.kt deleted file mode 100644 index 97757a9..0000000 --- a/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/AccountSecurityFragment.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.kaixed.kchat.ui.fragment.settings - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.navigation.fragment.findNavController -import com.kaixed.kchat.databinding.FragmentAccountSecurityBinding -import com.kaixed.kchat.ui.base.BaseFragment - - -class AccountSecurityFragment : BaseFragment() { - override fun inflateBinding( - inflater: LayoutInflater, - container: ViewGroup? - ): FragmentAccountSecurityBinding { - return FragmentAccountSecurityBinding.inflate(inflater, container, false) - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - - binding.ctbTitleBar.setOnBackClickListener { - findNavController().navigateUp() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/ChatFragment.kt b/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/ChatFragment.kt deleted file mode 100644 index 6019572..0000000 --- a/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/ChatFragment.kt +++ /dev/null @@ -1,60 +0,0 @@ -package com.kaixed.kchat.ui.fragment.settings - -import android.os.Bundle -import androidx.fragment.app.Fragment -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import com.kaixed.kchat.R - -// TODO: Rename parameter arguments, choose names that match -// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER -private const val ARG_PARAM1 = "param1" -private const val ARG_PARAM2 = "param2" - -/** - * A simple [Fragment] subclass. - * Use the [ChatFragment.newInstance] factory method to - * create an instance of this fragment. - */ -class ChatFragment : Fragment() { - // TODO: Rename and change types of parameters - private var param1: String? = null - private var param2: String? = null - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - arguments?.let { - param1 = it.getString(ARG_PARAM1) - param2 = it.getString(ARG_PARAM2) - } - } - - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_chat, container, false) - } - - companion object { - /** - * Use this factory method to create a new instance of - * this fragment using the provided parameters. - * - * @param param1 Parameter 1. - * @param param2 Parameter 2. - * @return A new instance of fragment ChatFragment. - */ - // TODO: Rename and change types and number of parameters - @JvmStatic - fun newInstance(param1: String, param2: String) = - ChatFragment().apply { - arguments = Bundle().apply { - putString(ARG_PARAM1, param1) - putString(ARG_PARAM2, param2) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/NewMessageFragment.kt b/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/NewMessageFragment.kt deleted file mode 100644 index 2b14f3d..0000000 --- a/app/src/main/java/com/kaixed/kchat/ui/fragment/settings/NewMessageFragment.kt +++ /dev/null @@ -1,60 +0,0 @@ -package com.kaixed.kchat.ui.fragment.settings - -import android.os.Bundle -import androidx.fragment.app.Fragment -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import com.kaixed.kchat.R - -// TODO: Rename parameter arguments, choose names that match -// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER -private const val ARG_PARAM1 = "param1" -private const val ARG_PARAM2 = "param2" - -/** - * A simple [Fragment] subclass. - * Use the [NewMessageFragment.newInstance] factory method to - * create an instance of this fragment. - */ -class NewMessageFragment : Fragment() { - // TODO: Rename and change types of parameters - private var param1: String? = null - private var param2: String? = null - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - arguments?.let { - param1 = it.getString(ARG_PARAM1) - param2 = it.getString(ARG_PARAM2) - } - } - - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_new_message, container, false) - } - - companion object { - /** - * Use this factory method to create a new instance of - * this fragment using the provided parameters. - * - * @param param1 Parameter 1. - * @param param2 Parameter 2. - * @return A new instance of fragment NewMessageFragment. - */ - // TODO: Rename and change types and number of parameters - @JvmStatic - fun newInstance(param1: String, param2: String) = - NewMessageFragment().apply { - arguments = Bundle().apply { - putString(ARG_PARAM1, param1) - putString(ARG_PARAM2, param2) - } - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/kaixed/kchat/utils/ConstantsUtil.kt b/app/src/main/java/com/kaixed/kchat/utils/ConstantsUtil.kt index bdc841a..7c12a16 100644 --- a/app/src/main/java/com/kaixed/kchat/utils/ConstantsUtil.kt +++ b/app/src/main/java/com/kaixed/kchat/utils/ConstantsUtil.kt @@ -31,7 +31,7 @@ object ConstantsUtil { fun getAvatarUrl(): String { val avatarUrl = userSessionMMKV.getString(AVATAR_URL, "") ?: "" - return TextUtil.extractDimensionsAndPrefix(avatarUrl)?.first ?: "" + return TextUtil.extractUrl(avatarUrl) } fun getStatusBarHeight(): Int = diff --git a/app/src/main/java/com/kaixed/kchat/utils/TextUtil.kt b/app/src/main/java/com/kaixed/kchat/utils/TextUtil.kt index c0db5f6..f8d3c81 100644 --- a/app/src/main/java/com/kaixed/kchat/utils/TextUtil.kt +++ b/app/src/main/java/com/kaixed/kchat/utils/TextUtil.kt @@ -11,6 +11,12 @@ import java.util.Locale */ object TextUtil { + fun extractUrl(url: String): String { + val regex = "(.*?)!".toRegex() + val matchResult = regex.find(url) + return matchResult?.groups?.get(1)?.value ?: url + } + /** * 从 URL 中提取图片的宽度和高度 * diff --git a/app/src/main/res/layout/fragment_account_security.xml b/app/src/main/res/layout/activity_account_security.xml similarity index 94% rename from app/src/main/res/layout/fragment_account_security.xml rename to app/src/main/res/layout/activity_account_security.xml index 5e64c5f..c2bf11c 100644 --- a/app/src/main/res/layout/fragment_account_security.xml +++ b/app/src/main/res/layout/activity_account_security.xml @@ -4,8 +4,10 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:background="@color/gray" + android:fitsSystemWindows="true" android:orientation="vertical" - tools:context=".ui.fragment.settings.AccountSecurityFragment"> + tools:context=".ui.activity.setting.AccountSecurityActivity"> + android:fitsSystemWindows="true" + android:orientation="vertical"> - + android:layout_height="wrap_content" + app:titleName="设置" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_update_password.xml b/app/src/main/res/layout/activity_update_password.xml new file mode 100644 index 0000000..213ab83 --- /dev/null +++ b/app/src/main/res/layout/activity_update_password.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml deleted file mode 100644 index c33d564..0000000 --- a/app/src/main/res/navigation/nav_graph.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - -