diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 220c571..737195e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -66,11 +66,7 @@ - - + android:label="@string/built_in_browser" /> @@ -81,9 +77,6 @@ - @@ -99,9 +92,6 @@ - diff --git a/app/src/main/java/com/coldmint/rust/pro/OrderListActivity.kt b/app/src/main/java/com/coldmint/rust/pro/OrderListActivity.kt deleted file mode 100644 index 4759d11..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/OrderListActivity.kt +++ /dev/null @@ -1,182 +0,0 @@ -package com.coldmint.rust.pro - -import android.content.Context -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.PopupMenu -import androidx.core.view.isVisible -import androidx.recyclerview.widget.LinearLayoutManager -import com.coldmint.dialog.CoreDialog -import com.coldmint.rust.core.dataBean.ApiResponse -import com.coldmint.rust.core.dataBean.OrderListDataBean -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.ActivationApp -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.pro.adapters.OrderAdapter -import com.coldmint.rust.pro.base.BaseActivity -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ActivityOrderListBinding -import com.coldmint.rust.pro.tool.AppSettings -import com.coldmint.rust.pro.tool.GlobalMethod -import com.coldmint.rust.pro.ui.StableLinearLayoutManager -import com.google.android.material.snackbar.Snackbar - -/** - * @author Cold Mint - * @date 2022/1/12 17:52 - */ -class OrderListActivity : BaseActivity() { - private var loadAll = false - val account by lazy { - AppSettings.getValue(AppSettings.Setting.Account, "") - } - val appId by lazy { - AppSettings.getValue(AppSettings.Setting.AppID, "") - } - - override fun whenCreateActivity(savedInstanceState: Bundle?, canUseView: Boolean) { - if (canUseView) { - title = getText(R.string.order_list) - setReturnButton() - if (account.isBlank()) { - showError(getString(R.string.please_login_first)) - return - } - val thisIntent = intent - loadAll = thisIntent.getBooleanExtra("loadAll", false) - viewBinding.recyclerview.layoutManager = StableLinearLayoutManager(this) - loadList(loadAll) - } - } - - - fun loadList(canLoadAll: Boolean) { - ActivationApp.instance.getOrderList( - object : ApiCallBack { - override fun onResponse(t: OrderListDataBean) { - val dataList = t.data - if (t.code == ServerConfiguration.Success_Code && dataList != null && dataList.isNotEmpty()) { - viewBinding.progressBar.isVisible = false - viewBinding.recyclerview.isVisible = true - viewBinding.tipView.isVisible = false - viewBinding.toolbar.title = - getString(R.string.order_list) + "(" + dataList.size + ")" - val adapter = OrderAdapter(this@OrderListActivity, dataList) - adapter.loadAll = canLoadAll - adapter.setItemEvent { i, itemOrderBinding, viewHolder, data -> - itemOrderBinding.root.setOnClickListener { - if (canLoadAll) { - //如果可以加载全部用户资料(是管理员模式) - val popupMenu = - GlobalMethod.createPopMenu(itemOrderBinding.root) - popupMenu.menu.add("设置订单") - popupMenu.menu.add("查看用户资料") - popupMenu.show() - popupMenu.setOnMenuItemClickListener { - val title = it.title - when (title) { - "设置订单" -> { - when (data.state) { - "false" -> { - CoreDialog(this@OrderListActivity).setTitle(data.name).setMessage("确认收到" + data.account + "的付款了嘛?\n订单创建时间:" + data.createTime).setPositiveButton(R.string.pay_yes){ - confirmOrder(data.flag, true) - }.setNegativeButton(R.string.pay_no){ - confirmOrder(data.flag, false) - }.show() - } - else -> { - showToast("无需处理") - } - } - } - } - true - } - - } else { - CoreDialog(this@OrderListActivity).setTitle(String.format( - getString(R.string.copy_orderid), - data.flag - )).setPositiveButton(R.string.copy){ - val flag = data.flag - GlobalMethod.copyText(this@OrderListActivity, flag) - Snackbar.make( - viewBinding.progressBar, - String.format( - getString(R.string.copy_complete), - flag - ), - Snackbar.LENGTH_SHORT - ).show() - }.setNegativeButton(R.string.dialog_cancel){ - - }.setCancelable(false).show() - } - } - } - viewBinding.recyclerview.adapter = adapter - } else { - showInfoToView(text = t.message) - } - } - - override fun onFailure(e: Exception) { - showInfoToView(R.string.network_error) - } - - }, if (canLoadAll) { - null - } else { - account - } - ) - } - - /** - * 激活订单 - * @param flag String - * @param payState Boolean - */ - fun confirmOrder(flag: String, payState: Boolean) { - ActivationApp.instance.confirmOrder( - account, - appId, - flag, - payState, - object : ApiCallBack { - override fun onResponse(t: ApiResponse) { - showToast(t.message) - } - - override fun onFailure(e: Exception) { - showToast(getString(R.string.network_error)) - } - - }) - } - - /** - * 在视图里显示内容 - * @param resId Int? - * @param text String? - */ - fun showInfoToView(resId: Int? = null, text: String? = null) { - viewBinding.progressBar.isVisible = false - viewBinding.recyclerview.isVisible = false - viewBinding.tipView.isVisible = true - if (resId != null) { - viewBinding.tipView.setText(resId) - } - if (text != null) { - viewBinding.tipView.text = text - } - } - - override fun getViewBindingObject(layoutInflater: LayoutInflater): ActivityOrderListBinding { - return ActivityOrderListBinding.inflate(layoutInflater) - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/TagActivity.kt b/app/src/main/java/com/coldmint/rust/pro/TagActivity.kt index 1058c50..2fdea3b 100644 --- a/app/src/main/java/com/coldmint/rust/pro/TagActivity.kt +++ b/app/src/main/java/com/coldmint/rust/pro/TagActivity.kt @@ -84,15 +84,7 @@ class TagActivity : BaseActivity() { if (t.code == ServerConfiguration.Success_Code && dataList != null) { val adapter = WebModAdapter(this, dataList) adapter.setItemEvent { i, webModItemBinding, viewHolder, data -> - webModItemBinding.root.setOnClickListener { - val bundle = Bundle() - bundle.putString("modId", data.id) - bundle.putString("modName", data.name) - val intent = - Intent(this@TagActivity, WebModInfoActivity::class.java) - intent.putExtra("data", bundle) - this@TagActivity.startActivity(intent) - } + } viewBinding.recyclerView.adapter = adapter viewBinding.recyclerView.isVisible = true diff --git a/app/src/main/java/com/coldmint/rust/pro/UserListActivity.kt b/app/src/main/java/com/coldmint/rust/pro/UserListActivity.kt deleted file mode 100644 index 1ffcb99..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/UserListActivity.kt +++ /dev/null @@ -1,182 +0,0 @@ -package com.coldmint.rust.pro - -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import androidx.core.view.isVisible -import com.afollestad.materialdialogs.MaterialDialog -import com.afollestad.materialdialogs.checkbox.BooleanCallback -import com.afollestad.materialdialogs.checkbox.checkBoxPrompt -import com.coldmint.rust.core.dataBean.ApiResponse -import com.coldmint.rust.core.dataBean.follow.FollowUserListData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.Community -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.pro.adapters.UserAdapter -import com.coldmint.rust.pro.base.BaseActivity -import com.coldmint.rust.pro.databinding.ActivityUserListBinding -import com.coldmint.rust.pro.ui.StableLinearLayoutManager -import com.google.android.material.divider.MaterialDividerItemDecoration - -class UserListActivity : BaseActivity() { - - /** - * 显示加载失败的错误提示 - * @param tip String 提示 - */ - fun showErrorTip(tip: String) { - viewBinding.progressBar.isVisible = false - viewBinding.tipView.isVisible = true - viewBinding.tipView.text = tip - } - - - override fun getViewBindingObject(layoutInflater: LayoutInflater): ActivityUserListBinding { - return ActivityUserListBinding.inflate(layoutInflater) - } - - override fun whenCreateActivity(savedInstanceState: Bundle?, canUseView: Boolean) { - if (canUseView) { - setReturnButton() - val thisIntent = intent - val bundle = thisIntent.getBundleExtra("data") - if (bundle == null) { - showError("请输入data") - return - } else { - val account = bundle.getString("account") - if (account == null) { - showError("请输入account") - return - } - val isFollowMode = bundle.getBoolean("isFollowMode", true) - val canRemoveFans = if (isFollowMode) { - false - } else { - bundle.getBoolean("canRemoveFans", false) - } - title = if (isFollowMode) { - getString(R.string.follow) - } else { - if (canRemoveFans) { - getString(R.string.fans_management) - } else { - getString(R.string.fans) - } - } - viewBinding.recyclerView.layoutManager = - StableLinearLayoutManager(this@UserListActivity) - val divider = MaterialDividerItemDecoration( - this, - MaterialDividerItemDecoration.VERTICAL - ) - - viewBinding.recyclerView.addItemDecoration( - divider - ) - loadList(account, isFollowMode, canRemoveFans) - } - } - } - - /** - * 加载列表 - * @param account String - * @param isFollowMode Boolean - * @param canRemoveFans Boolean - */ - fun loadList(account: String, isFollowMode: Boolean, canRemoveFans: Boolean) { - Community.getUserList( - account, - isFollowMode, - apiCallBack = object : ApiCallBack { - override fun onResponse(t: FollowUserListData) { - if (t.code == ServerConfiguration.Success_Code) { - val dataList = t.data - if (dataList != null && dataList.size > 0) { - viewBinding.loadLayout.isVisible = false - viewBinding.recyclerView.isVisible = true - val adapter = UserAdapter(this@UserListActivity, dataList) - - adapter.setItemEvent { i, itemUserBinding, viewHolder, data -> - itemUserBinding.root.setOnClickListener { - } - if (canRemoveFans) { - itemUserBinding.actionView.isVisible = true - itemUserBinding.actionView.setText(R.string.remove_fans) - var check = false - itemUserBinding.actionView.setOnClickListener { - MaterialDialog(this@UserListActivity).show { - title(R.string.remove_fans).checkBoxPrompt( - res = R.string.ban_fans, - onToggle = object : BooleanCallback { - override fun invoke(p1: Boolean) { - check = p1 - } - } - ).message( - text = String.format( - getString(R.string.remove_fans_tip), - data.userName - ) - ) - .positiveButton(R.string.dialog_ok) - .positiveButton { - Community.removeFans( - account, - data.account, - object : ApiCallBack { - override fun onResponse(t: ApiResponse) { - if (t.code == ServerConfiguration.Success_Code) { - val index = - dataList.indexOf( - data - ) - dataList.removeAt(index) - adapter.notifyItemRemoved( - index - ) - if (dataList.isEmpty()) { - loadList( - account, - isFollowMode, - canRemoveFans - ) - } - } - } - - override fun onFailure(e: Exception) { - showInternetError( - viewBinding.recyclerView, - e - ) - } - }, - check - ) - } - .negativeButton(R.string.dialog_cancel) - } - } - } - } - viewBinding.recyclerView.adapter = adapter - } else { - showErrorTip(t.message) - } - } else { - showErrorTip(t.message) - } - - } - - override fun onFailure(e: Exception) { - showErrorTip(getString(R.string.network_error)) - } - - }) - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/WebModInfoActivity.kt b/app/src/main/java/com/coldmint/rust/pro/WebModInfoActivity.kt deleted file mode 100644 index 8bfa4a3..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/WebModInfoActivity.kt +++ /dev/null @@ -1,413 +0,0 @@ -package com.coldmint.rust.pro - -import android.annotation.SuppressLint -import android.content.Intent -import android.os.Bundle -import android.os.Environment -import android.view.* -import androidx.lifecycle.MutableLiveData -import com.coldmint.dialog.CoreDialog -import com.coldmint.rust.core.dataBean.AppUpdateData -import com.coldmint.rust.core.tool.AppOperator -import com.coldmint.rust.core.tool.FileLoader -import com.coldmint.rust.core.tool.ProgressResponseBody -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.core.web.WebMod -import com.coldmint.rust.pro.adapters.ModPageDetailsAdapter -import com.coldmint.rust.pro.base.BaseActivity -import com.coldmint.rust.pro.databinding.ActivityWebModInfoBinding -import com.coldmint.rust.pro.databinding.LoadFileLayoutBinding -import com.coldmint.rust.pro.fragments.WebModDetailsFragment -import com.coldmint.rust.pro.tool.AppSettings -import com.coldmint.rust.pro.tool.GlobalMethod -import com.coldmint.rust.pro.tool.Tools -import com.google.android.material.snackbar.Snackbar -import com.google.android.material.tabs.TabLayoutMediator -import com.google.gson.Gson -import java.io.File -import java.text.NumberFormat - -class WebModInfoActivity : BaseActivity() { - - lateinit var modId: String - lateinit var tip: String - private val targetFile: File by lazy { - val modFolderPath = AppSettings.getValue( - AppSettings.Setting.ModFolder, - Environment.getExternalStorageDirectory().absolutePath + "/rustedWarfare/units/" - ) - val modFolder = File(modFolderPath) - if (!modFolder.exists()) { - modFolder.mkdirs() - } - val modFilePath = "$modFolderPath$modId.rwmod" - File(modFilePath) - } - val token by lazy { - "" - } - lateinit var adapter: ModPageDetailsAdapter - - val modName: MutableLiveData by lazy { - MutableLiveData() - } - - @SuppressLint("CommitTransaction") - private fun initView() { - setReturnButton() - val activityIntent = intent - val bundle = activityIntent.getBundleExtra("data") - if (bundle == null) { - showError("意外的请求") - return - } else { - val name = bundle.getString("modName") - title = name - val temId = bundle.getString("modId") - if (temId == null) { - showError("未知的模组id") - return - } - modId = temId - if (targetFile.exists()) { - viewBinding.button.isEnabled = false - viewBinding.button.text = getString(R.string.installated) - } - modName.observe(this) { - title = it - } - val webModDetailsFragment = WebModDetailsFragment(modId, modName) -// 检测是否处于平板模式 - if (Tools.isTabletMode(this)) { - adapter = ModPageDetailsAdapter(this, modId) - supportFragmentManager.beginTransaction() - .replace(R.id.fragment, webModDetailsFragment) - .commit() - viewBinding.viewPager2.adapter = adapter - - TabLayoutMediator(viewBinding.tabLayout, viewBinding.viewPager2) { tab, i -> - tab.text = when (i) { - 0 -> { - getString(R.string.insert_coins) - } - - 1 -> { - getString(R.string.discussion) - } - - else -> { - getString(R.string.title) - } - } - }.attach() - } else { - adapter = ModPageDetailsAdapter(this, modId, webModDetailsFragment) - viewBinding.viewPager2.adapter = adapter - TabLayoutMediator(viewBinding.tabLayout, viewBinding.viewPager2) { tab, i -> - tab.text = when (i) { - 0 -> { - getString(R.string.details) - } - - 1 -> { - getString(R.string.insert_coins) - } - - 2 -> { - getString(R.string.discussion) - } - - else -> { - getString(R.string.title) - } - } - }.attach() - } - viewBinding.button.setOnClickListener { - val type = viewBinding.button.text - val installation = getString(R.string.installation) - when (type) { - installation -> { - downloadAction(adapter.getLink()) - } - } - - } - tip = getString(R.string.file_download_progress) - } - } - - /** - * 下载事件 - * @param t WebModInfoData - */ - private fun downloadAction(link: String?) { - if (link == null) { - return - } - val fileLink = ServerConfiguration.getRealLink(link) - when (AppOperator.getNetworkType(this)) { - AppOperator.NetWorkType.NetWorkType_Moble -> { - val useMobileNetWork = - AppSettings.getValue(AppSettings.Setting.UseMobileNetwork, false) - if (useMobileNetWork) { - downloadWork(fileLink) - } else { - CoreDialog(this).setTitle(R.string.using_mobile_networks) - .setMessage(R.string.using_mobile_networks_msg) - .setPositiveButton(R.string.only_one) { - downloadWork(fileLink) - }.setNegativeButton(R.string.always_allow) { - AppSettings.setValue(AppSettings.Setting.UseMobileNetwork, true) - downloadWork(fileLink) - }.setNeutralButton(R.string.dialog_cancel) { - - }.show() - } - } - - AppOperator.NetWorkType.NetWorkType_Wifi -> { - downloadWork(fileLink) - } - - else -> {} - } - - } - - - override fun onCreateOptionsMenu(menu: Menu): Boolean { - val inflater = menuInflater - inflater.inflate(R.menu.menu_webmod, menu) - return true - } - - - @SuppressLint("StringFormatInvalid") - override fun onOptionsItemSelected(item: MenuItem): Boolean { - when (item.itemId) { - R.id.report_item -> { - if (token.isBlank()) { - Snackbar.make( - viewBinding.button, - R.string.please_login_first, - Snackbar.LENGTH_SHORT - ).show() - return true - } - if (adapter.isOpen()) { - val thisIntent = Intent(this, ReportActivity::class.java) - val bundle = Bundle() - bundle.putString("target", modId) - bundle.putString("type", "mod") - bundle.putString("name", title.toString()) - thisIntent.putExtra("data", bundle) - startActivity(thisIntent) - } else { - //不能举报未公开的模组 - Snackbar.make( - viewBinding.button, - R.string.unable_to_report, - Snackbar.LENGTH_SHORT - ).show() - } - } - - R.id.share_item -> { - val link = "" - val updateData = AppSettings.getValue(AppSettings.Setting.UpdateData, "") - var appUpdateLink = "" - if (updateData.isNotBlank()) { - val gson = Gson() - val updateDataObj = gson.fromJson(updateData, AppUpdateData.Data::class.java) - appUpdateLink = updateDataObj.link - } - - val s = String.format( - getString(R.string.share_mod_msg), - title, - link + "website/pages/modPage.php?&modId=" + modId, appUpdateLink - ) - - AppOperator.shareText(this, getString(R.string.share_mod), s) - } - - R.id.update_record -> { - GlobalMethod.showUpdateLog(this, modId) - } - } - return super.onOptionsItemSelected(item) - } - - - /** - * 下载工作 - * @param fileLink String - */ - private fun downloadWork(fileLink: String) { - GlobalMethod.requestStoragePermissions(this) { - if (it) { - viewBinding.button.setText(R.string.installation_ing) - val loadFileLayoutBinding = LoadFileLayoutBinding.inflate(layoutInflater) - loadFileLayoutBinding.LinearProgressIndicator.max = 100 - var progress = 0 - - val fileLoader = FileLoader.getInstantiate(fileLink, targetFile.absolutePath) - fileLoader.download(object : ProgressResponseBody.ResponseProgressListener { - override fun update(bytesRead: Long, contentLength: Long, done: Boolean) { - //计算百分比并更新ProgressBar - val numberFormat = NumberFormat.getNumberInstance() - numberFormat.maximumFractionDigits = 2 - val trueProgress = - numberFormat.format(bytesRead.toDouble() / contentLength.toDouble() * 100) - progress = trueProgress.toFloat().toInt() - runOnUiThread { - val progressTip = String.format(tip, progress) - viewBinding.button.text = progressTip - } - } - - override fun downloadFail(exception: Exception?) { - viewBinding.button.setText(R.string.installation) - } - - override fun downloadSuccess() { - viewBinding.button.isEnabled = false - viewBinding.button.setText(R.string.installated) - WebMod.instance.addDownloadNum(modId) - } - - }) - } - } - } - -// /** -// * 加载评论列表 -// * @param modId String -// */ -// fun loadModCommentList(modId: String) { -// viewBinding.commentLinearProgressIndicator.isVisible = true -// WebMod.instance.getCommentsList(modId, object : ApiCallBack { -// override fun onResponse(t: WebModCommentData) { -// viewBinding.commentLinearProgressIndicator.isVisible = false -// val data = t.data -// if (data == null) { -// viewBinding.modCommentRecyclerView.isVisible = false -// } else { -// val adapter = CommentAdapter(this@WebModInfoActivity, data) -// viewBinding.discussion.text = -// String.format(getString(R.string.discussion_num), data.size) -// adapter.setItemEvent { i, itemCommentBinding, viewHolder, data -> -// itemCommentBinding.iconView.setOnClickListener { -// gotoUserPage(data.account) -// } -// } -// viewBinding.modCommentRecyclerView.isVisible = true -// viewBinding.modCommentRecyclerView.adapter = adapter -// } -// } -// -// override fun onFailure(e: Exception) { -// viewBinding.commentLinearProgressIndicator.isVisible = false -// viewBinding.modCommentRecyclerView.isVisible = false -// } -// -// }) -// } -// -// fun loadDeveloperInfo(userId: String) { -// User.getSpaceInfo(userId, object : ApiCallBack { -// override fun onResponse(t: SpaceInfoData) { -// if (t.code == ServerConfiguration.Success_Code) { -// val icon = t.data.headIcon -// if (icon != null) { -// Glide.with(this@WebModInfoActivity) -// .load(ServerConfiguration.getRealLink(icon)) -// .apply(GlobalMethod.getRequestOptions(true)) -// .into(viewBinding.headIconView) -// } -// viewBinding.userNameView.text = t.data.userName -// val info = String.format( -// getString(R.string.fans_information), -// ServerConfiguration.numberToString(t.data.fans), -// ServerConfiguration.numberToString(t.data.follower), -// ServerConfiguration.numberToString(t.data.praise) -// ) -// viewBinding.userInfoView.text = info -// -// viewBinding.cardView.postDelayed({ -// viewBinding.cardView.isVisible = true -// viewBinding.openUserSpace.setOnClickListener { -// gotoUserPage(t.data.account) -// } -// }, 300) -// } -//// else { -//// viewBinding.cardView.isVisible = false -//// } -// -// } -// -// override fun onFailure(e: Exception) { -//// viewBinding.cardView.isVisible = false -// } -// -// }) -// } - - - -// private fun initAction() { -// viewBinding.sendDiscussion.setOnClickListener { -// val account = AppSettings.getValue(AppSettings.Setting.Account, "") -// if (account.isBlank()) { -// showError(getString(R.string.please_login_first)) -// return@setOnClickListener -// } -// -// -// CommentDialog(this).setCancelable(false) -// .setSubmitFun { button, textInputLayout, s, alertDialog -> -// button.isEnabled = false -// WebMod.instance.sendComment( -// AppSettings.getValue(AppSettings.Setting.Token, ""), -// modId, -// s, -// object : ApiCallBack { -// override fun onResponse(t: ApiResponse) { -// if (t.code == ServerConfiguration.Success_Code) { -// alertDialog.dismiss() -// loadModCommentList(modId) -// Snackbar.make( -// viewBinding.button, -// R.string.release_ok, -// Snackbar.LENGTH_SHORT -// ).show() -// } else { -// textInputLayout.error = t.message -// } -// } -// -// override fun onFailure(e: Exception) { -// textInputLayout.error = e.toString() -// } -// -// }) -// }.show() -// } -// -// } - - override fun getViewBindingObject(layoutInflater: LayoutInflater): ActivityWebModInfoBinding { - return ActivityWebModInfoBinding.inflate(layoutInflater) - } - - override fun whenCreateActivity(savedInstanceState: Bundle?, canUseView: Boolean) { - if (canUseView) { - initView() -// initData() -// initAction() - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/WorkManagementActivity.kt b/app/src/main/java/com/coldmint/rust/pro/WorkManagementActivity.kt index 7dbce36..4c69bee 100644 --- a/app/src/main/java/com/coldmint/rust/pro/WorkManagementActivity.kt +++ b/app/src/main/java/com/coldmint/rust/pro/WorkManagementActivity.kt @@ -100,15 +100,6 @@ class WorkManagementActivity : BaseActivity() { val title = it.title.toString() when (title) { getString(R.string.work_of_home_page) -> { - val bundle = Bundle() - bundle.putString("modId", data.id) - bundle.putString("modName", data.name) - val intent = Intent( - this@WorkManagementActivity, - WebModInfoActivity::class.java - ) - intent.putExtra("data", bundle) - startActivity(intent) } getString(R.string.update_record) -> { diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/AttachFileAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/AttachFileAdapter.kt index eaa5de0..f8c0d32 100644 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/AttachFileAdapter.kt +++ b/app/src/main/java/com/coldmint/rust/pro/adapters/AttachFileAdapter.kt @@ -1,19 +1,12 @@ package com.coldmint.rust.pro.adapters -import androidx.recyclerview.widget.RecyclerView -import android.view.ViewGroup -import android.view.LayoutInflater -import com.coldmint.rust.pro.R -import android.annotation.SuppressLint import android.content.Context -import android.view.View -import android.widget.Button -import android.widget.TextView -import com.afollestad.materialdialogs.MaterialDialog +import android.view.LayoutInflater +import android.view.ViewGroup +import com.coldmint.rust.pro.R import com.coldmint.rust.pro.base.BaseAdapter import com.coldmint.rust.pro.databinding.AttachFileItemBinding import java.io.File -import java.util.ArrayList class AttachFileAdapter( context: Context, dataList: MutableList) : BaseAdapter(context, dataList) { diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/AuditModAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/AuditModAdapter.kt deleted file mode 100644 index 9684b43..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/AuditModAdapter.kt +++ /dev/null @@ -1,52 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.view.LayoutInflater -import android.view.ViewGroup -import android.widget.Toast -import com.bumptech.glide.Glide -import com.coldmint.rust.core.dataBean.mod.WebModListData -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemAuditModBinding -import com.coldmint.rust.pro.tool.GlobalMethod - -/** - * @author Cold Mint - * @date 2022/1/10 8:49 - */ -class AuditModAdapter( context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemAuditModBinding { - return ItemAuditModBinding.inflate(layoutInflater, parent, false) - } - - override fun onBingView( - data: WebModListData.Data, - viewBinding: ItemAuditModBinding, - viewHolder: ViewHolder, - position: Int - ) { - val info = String.format( - context.getString(R.string.publisher_information), - data.developer, - data.updateTime - ) - viewBinding.modInfo.text = info - val icon = data.icon - if (icon != null && icon.isNotBlank()) { - val path: String = ServerConfiguration.getRealLink(icon) - Glide.with(context).load(path).apply(GlobalMethod.getRequestOptions()) - .into(viewBinding.modIcon) - } - viewBinding.modNameView.text = data.name - viewBinding.modIntroductionView.text = data.describe - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/CommentAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/CommentAdapter.kt deleted file mode 100644 index 424c560..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/CommentAdapter.kt +++ /dev/null @@ -1,114 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.util.Log -import android.view.LayoutInflater -import android.view.ViewGroup -import com.bumptech.glide.Glide -import com.coldmint.dialog.CoreDialog -import com.coldmint.rust.core.dataBean.ApiResponse -import com.coldmint.rust.core.dataBean.mod.WebModCommentData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.tool.AppOperator -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.core.web.WebMod -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemCommentBinding -import com.coldmint.rust.pro.tool.AppSettings -import com.coldmint.rust.pro.tool.GlobalMethod -import com.coldmint.rust.pro.tool.TextStyleMaker -import com.google.android.material.snackbar.Snackbar - -/** - * 评论 - * @author Cold Mint - * @date 2021/12/12 20:50 - */ -class CommentAdapter(context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemCommentBinding { - return ItemCommentBinding.inflate(layoutInflater, parent, false) - } - - override fun onBingView( - data: WebModCommentData.Data, - viewBinding: ItemCommentBinding, - viewHolder: ViewHolder, - position: Int - ) { - val icon = data.headIcon - Log.d("CommentAdapter", "图标路径$icon") - if (icon.isNullOrBlank()) { - viewBinding.iconView.setImageResource(R.drawable.head_icon) - } else { - Glide.with(context).load(ServerConfiguration.getRealLink(icon)) - .apply(GlobalMethod.getRequestOptions(true)) - .into(viewBinding.iconView) - } - viewBinding.nameView.text = data.userName - viewBinding.timeView.text = if (data.location == null) { - data.time - } else { - data.time + " " + data.location - } - viewBinding.thumbUpImageView.setOnClickListener { - Snackbar.make( - viewBinding.thumbUpImageView, - R.string.temporarily_unavailable, - Snackbar.LENGTH_SHORT - ).show() - } - viewBinding.shareImageView.setOnClickListener { - AppOperator.shareText(context, context.getString(R.string.share_message), data.content) - } - viewBinding.contentView.setOnLongClickListener { - GlobalMethod.copyText(context, viewBinding.contentView.text.toString()) - false - } - viewBinding.moreImageView.setOnClickListener { view -> - val menu = GlobalMethod.createPopMenu(view) -// menu.menu.add(R.string.copy) - menu.menu.add(R.string.delete_title) - menu.menu.add(R.string.report) - menu.setOnMenuItemClickListener { - when (it.title) { - context.getString(R.string.copy) -> { - GlobalMethod.copyText(context, data.content, view) - } - context.getString(R.string.delete_title) -> { - CoreDialog(context).setTitle(R.string.delete_comment).setMessage( - String.format( - context.getString(R.string.delete_comment_tip), - data.userName - ) - ).setPositiveButton(R.string.dialog_ok) { - }.setNegativeButton(R.string.dialog_cancel) { - - }.show() - } - context.getString(R.string.report) -> { - Snackbar.make( - context,view, - "暂不可用,请等待下一个版本!", - Snackbar.LENGTH_SHORT - ).show() - } - } - - true - } - menu.show() - } - TextStyleMaker.instance.load(viewBinding.contentView, data.content) { type, a -> - TextStyleMaker.instance.clickEvent(context, type, a) - } - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/CommunityAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/CommunityAdapter.kt deleted file mode 100644 index cddfb9a..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/CommunityAdapter.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import androidx.appcompat.app.AppCompatActivity -import androidx.fragment.app.Fragment -import androidx.viewpager2.adapter.FragmentStateAdapter -import com.coldmint.rust.pro.fragments.FollowFragment -import com.coldmint.rust.pro.fragments.NullFragment -import com.coldmint.rust.pro.fragments.RankingFragment -import com.coldmint.rust.pro.fragments.RecommendedFragment -import com.coldmint.rust.pro.fragments.UserInfoFragment - -class CommunityAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) { - override fun getItemCount(): Int { - return 4 - } -// -// // java.lang.IllegalStateException: Fragment no longer exists for key f0: -// override fun saveState(): Parcelable? { -// return null -// } - - - - override fun createFragment(position: Int): Fragment { - return when (position) { - 0 -> { - RecommendedFragment() - } - 1 -> { - FollowFragment() - } - 2->{ - RankingFragment() - } - 3 -> { - UserInfoFragment() - } - else -> { - NullFragment() - } - } - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/CommunityServiceAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/CommunityServiceAdapter.kt deleted file mode 100644 index 2fd7f40..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/CommunityServiceAdapter.kt +++ /dev/null @@ -1,45 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.view.LayoutInflater -import android.view.ViewGroup -import com.bumptech.glide.Glide -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databean.CommunityServiceInfo -import com.coldmint.rust.pro.databinding.ItemServiceBinding -import com.coldmint.rust.pro.tool.GlobalMethod - -/** - *社区服务适配器 - */ -class CommunityServiceAdapter( - context: Context, - dataList: MutableList -) : - BaseAdapter(context, dataList) { - - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemServiceBinding { - return ItemServiceBinding.inflate(layoutInflater, parent, false) - } - - override fun onBingView( - data: CommunityServiceInfo, - viewBinding: ItemServiceBinding, - viewHolder: BaseAdapter.ViewHolder, - position: Int - ) { - viewBinding.iconView.setImageResource(data.iconRes) -// -// Glide.with(context).load(data.iconRes).apply(GlobalMethod.getRequestOptions()) -// .into(viewBinding.iconView) - viewBinding.titleView.setText(data.titleRes) -// holder.itemView.setOnClickListener { -// val listener = itemListener -// listener?.onClickItem(communityServiceInfo) -// } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/CouponAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/CouponAdapter.kt deleted file mode 100644 index e50900f..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/CouponAdapter.kt +++ /dev/null @@ -1,58 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.view.LayoutInflater -import android.view.ViewGroup -import com.coldmint.rust.core.dataBean.CouponListDataBean -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemCouponBinding -import kotlin.math.roundToInt - -/** - * @author Cold Mint - * @date 2022/1/10 20:47 - */ -class CouponAdapter( context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - val timeLimit: String by lazy { - context.getString(R.string.time_limit) - } - val infinite: String by lazy { - context.getString(R.string.infinite) - } - - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemCouponBinding { - return ItemCouponBinding.inflate(layoutInflater, parent, false) - } - - override fun onBingView( - data: CouponListDataBean.Data, - viewBinding: ItemCouponBinding, - viewHolder: ViewHolder, - position: Int - ) { - viewBinding.titleView.text = data.name - viewBinding.descriptionView.text = data.describe - val numTip = if (data.num == -1) { - infinite - } else { - data.num.toString() - } - viewBinding.expirationTimeView.text = - String.format(timeLimit, data.expirationTime, numTip) - val value = data.value - val tip = if (value >= 1) { - "-${value}元" - } else { - "-${100 - (value * 100)}%" - } - viewBinding.numView.text = tip - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/DynamicAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/DynamicAdapter.kt deleted file mode 100644 index e4e8291..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/DynamicAdapter.kt +++ /dev/null @@ -1,128 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.text.Html -import android.text.method.LinkMovementMethod -import android.view.LayoutInflater -import android.view.ViewGroup -import android.widget.PopupMenu -import android.widget.PopupWindow -import android.widget.Toast -import com.bumptech.glide.Glide -import com.bumptech.glide.request.RequestOptions -import com.coldmint.dialog.CoreDialog -import com.coldmint.rust.core.dataBean.ApiResponse -import com.coldmint.rust.core.dataBean.DynamicItemDataBean -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.tool.AppOperator -import com.coldmint.rust.core.web.Dynamic -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemDynamicBinding -import com.coldmint.rust.pro.tool.AppSettings -import com.coldmint.rust.pro.tool.GlobalMethod -import com.coldmint.rust.pro.tool.TextStyleMaker -import com.google.android.material.snackbar.Snackbar -import org.w3c.dom.Text - -/** - * @author Cold Mint - * @date 2021/12/28 18:29 - */ -class DynamicAdapter(context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - - - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemDynamicBinding { - return ItemDynamicBinding.inflate(layoutInflater, parent, false) - } - - override fun onBingView( - data: DynamicItemDataBean.Data, - viewBinding: ItemDynamicBinding, - viewHolder: ViewHolder, - position: Int - ) { - val headIcon = data.headIcon - if (headIcon != null) { - Glide.with(context).load(ServerConfiguration.getRealLink(headIcon)) - .apply(GlobalMethod.getRequestOptions(true)) - .into(viewBinding.headIconView) - } - viewBinding.timeView.text = if (data.location == null) { - data.time - } else { - data.time + " " + data.location - } - viewBinding.nameView.text = data.userName - TextStyleMaker.instance.load(viewBinding.contentView, data.content) { type, data -> - TextStyleMaker.instance.clickEvent(context, type, data) - } - viewBinding.shareImageView.setOnClickListener { - AppOperator.shareText(context, context.getString(R.string.share_message), data.content); - } - viewBinding.thumbUpImageView.setOnClickListener { - Snackbar.make(viewBinding.thumbUpImageView,R.string.temporarily_unavailable,Snackbar.LENGTH_SHORT).show() - } - viewBinding.moreImageView.setOnClickListener { view -> - val menu = GlobalMethod.createPopMenu(view) - menu.menu.add(R.string.copy) - menu.menu.add(R.string.delete_title) - menu.setOnMenuItemClickListener { - val title = it.title - when (title) { - context.getString(R.string.copy) -> { - GlobalMethod.copyText(context, data.content, view) - } - context.getString(R.string.delete_title) -> { - CoreDialog(context).setTitle(R.string.delete_dynamic) - .setMessage(R.string.delete_dynamic_tip) - .setPositiveButton(R.string.dialog_ok) { - val account = AppSettings.getValue(AppSettings.Setting.Account, "") - val appId = - AppSettings - .getValue(AppSettings.Setting.AppID, "") - Dynamic.instance.deleteDynamic( - account, - appId, - data.id, - object : ApiCallBack { - override fun onResponse(t: ApiResponse) { - //成功与否执行都一样 - if (t.code == ServerConfiguration.Success_Code) { - removeItem(viewHolder.adapterPosition) - } - Snackbar.make( - viewBinding.root, - t.message, - Snackbar.LENGTH_SHORT - ).show() - } - - override fun onFailure(e: Exception) { - Snackbar.make( - viewBinding.root, - R.string.network_error, - Snackbar.LENGTH_SHORT - ).show() - } - - }) - }.setNegativeButton(R.string.dialog_cancel) { - - }.show() - } - } - true - } - menu.show() - } - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/ErrorInfoAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/ErrorInfoAdapter.kt index 7d13696..18fab1f 100644 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/ErrorInfoAdapter.kt +++ b/app/src/main/java/com/coldmint/rust/pro/adapters/ErrorInfoAdapter.kt @@ -3,7 +3,6 @@ package com.coldmint.rust.pro.adapters import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import androidx.core.view.isVisible import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.bottomsheets.BottomSheet import com.coldmint.rust.pro.R @@ -29,12 +28,6 @@ class ErrorInfoAdapter( context: Context, dataList: ArrayList) : position: Int ) { viewBinding.timeView.text = data.time -// if (des == null || des.isBlank()) { -// viewBinding.describeView.isVisible = false -// } else { -// viewBinding.describeView.isVisible = true -// viewBinding.describeView.text = des -// } viewBinding.root.setOnClickListener { view -> MaterialDialog(context, BottomSheet()).show { title(text = data.time).message(text = data.allErrorDetails) diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/HotSearchAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/HotSearchAdapter.kt deleted file mode 100644 index 3640459..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/HotSearchAdapter.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.view.LayoutInflater -import android.view.ViewGroup -import com.coldmint.rust.core.dataBean.HotSearchData -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemHotSearchBinding - -class HotSearchAdapter(context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemHotSearchBinding { - return ItemHotSearchBinding.inflate(layoutInflater,parent,false) - } - - override fun onBingView( - data: HotSearchData.Data, - viewBinding: ItemHotSearchBinding, - viewHolder: ViewHolder, - position: Int - ) { - viewBinding.titleView.text = data.keyword - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/InsertCoinsAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/InsertCoinsAdapter.kt deleted file mode 100644 index 96ae222..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/InsertCoinsAdapter.kt +++ /dev/null @@ -1,53 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.view.LayoutInflater -import android.view.ViewGroup -import com.bumptech.glide.Glide -import com.coldmint.rust.core.dataBean.mod.InsertCoinHistoryData -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemInsertCoinsBinding -import com.coldmint.rust.pro.tool.GlobalMethod - - -/** - * 投币记录适配器 - * @constructor - */ -class InsertCoinsAdapter(context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - - private val insertCoinsTip by lazy { - context.getString(R.string.insert_coins_tip) - } - - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemInsertCoinsBinding { - return ItemInsertCoinsBinding.inflate(layoutInflater, parent, false) - } - - override fun onBingView( - data: InsertCoinHistoryData.Data, - viewBinding: ItemInsertCoinsBinding, - viewHolder: ViewHolder, - position: Int - ) { - val icon = data.headIcon - if (icon == null) { - viewBinding.imageView.setImageResource(R.drawable.head_icon) - - } else { - Glide.with(context).load(ServerConfiguration.getRealLink(icon)) - .apply(GlobalMethod.getRequestOptions(true)).into(viewBinding.imageView) - } - viewBinding.numberOfCoinView.text = String.format(insertCoinsTip, data.number) - viewBinding.timeView.text = data.time - viewBinding.nameView.text = data.userName - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/MapAndMusicAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/MapAndMusicAdapter.kt index 54a904f..5d3d400 100644 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/MapAndMusicAdapter.kt +++ b/app/src/main/java/com/coldmint/rust/pro/adapters/MapAndMusicAdapter.kt @@ -19,7 +19,7 @@ import java.util.ArrayList class MapAndMusicAdapter(context: Context, dataList: ArrayList, val isMusic: Boolean) : BaseAdapter(context, dataList) { - val prefixName = "[noloop]" + private val prefixName = "[noloop]" fun onClickItem( diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/ModActionAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/ModActionAdapter.kt index 69b5932..a8534d2 100644 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/ModActionAdapter.kt +++ b/app/src/main/java/com/coldmint/rust/pro/adapters/ModActionAdapter.kt @@ -193,15 +193,6 @@ class ModActionAdapter( * 打开作品首页 */ private fun openHomePage() { - val modId = modConfigurationData?.modId - if (modId != null) { - val bundle = Bundle() - bundle.putString("modId", modId) - bundle.putString("modName", modId) - val intent = Intent(mContext, WebModInfoActivity::class.java) - intent.putExtra("data", bundle) - mContext.startActivity(intent) - } } /** diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/ModPageDetailsAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/ModPageDetailsAdapter.kt deleted file mode 100644 index ab21368..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/ModPageDetailsAdapter.kt +++ /dev/null @@ -1,101 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentActivity -import androidx.lifecycle.MutableLiveData -import androidx.viewpager2.adapter.FragmentStateAdapter -import com.coldmint.rust.core.dataBean.mod.WebModInfoData -import com.coldmint.rust.core.tool.DebugHelper -import com.coldmint.rust.pro.fragments.InsertCoinsFragment -import com.coldmint.rust.pro.fragments.ModCommentsFragment -import com.coldmint.rust.pro.fragments.NullFragment -import com.coldmint.rust.pro.fragments.WebModDetailsFragment - -/** - * 模组详情页面适配器 - * @constructor - */ -class ModPageDetailsAdapter(fragmentActivity: FragmentActivity, val modId: String, var A: WebModDetailsFragment? = null) : - FragmentStateAdapter(fragmentActivity) { - private lateinit var webModDetailsFragment: WebModDetailsFragment - private lateinit var modCommentsFragment: ModCommentsFragment - override fun getItemCount(): Int { - if (A == null) { - return 2 - } else - return 3 - - } - - /** - * 获取下载链接 - * @return String? - */ - fun getLink(): String? { - return if (this::webModDetailsFragment.isInitialized) { - webModDetailsFragment.getLink() - } else { - DebugHelper.printLog("获取下载路径", "详情碎片未初始化,返回null", isError = true) - null - } - } - - /** - * 获取此模组是否对外开放 - * @return Boolean - */ - fun isOpen(): Boolean { - return if (this::webModDetailsFragment.isInitialized) { - webModDetailsFragment.isOpen() - } else { - DebugHelper.printLog("获取模组公开状态", "详情碎片未初始化,返回false", isError = true) - false - } - } - - override fun createFragment(position: Int): Fragment { - if (A == null) { - return when (position) { - 0 -> { - InsertCoinsFragment(modId) - } - - 1 -> { - if (!this::modCommentsFragment.isInitialized) { - modCommentsFragment = ModCommentsFragment(modId) - } - modCommentsFragment - }else -> { - NullFragment() - } - } - - } else { - return when (position) { - 0 -> { - if (!this::webModDetailsFragment.isInitialized) { - webModDetailsFragment = A as WebModDetailsFragment - } - webModDetailsFragment - } - - 1 -> { - InsertCoinsFragment(modId) - } - - 2 -> { - if (!this::modCommentsFragment.isInitialized) { - modCommentsFragment = ModCommentsFragment(modId) - } - modCommentsFragment - }else -> { - NullFragment() - } - } - } -// -// else -> { -// NullFragment() -// } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/OrderAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/OrderAdapter.kt deleted file mode 100644 index c324700..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/OrderAdapter.kt +++ /dev/null @@ -1,70 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.view.LayoutInflater -import android.view.ViewGroup -import com.coldmint.rust.core.dataBean.OrderListDataBean -import com.coldmint.rust.core.web.ActivationApp -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemOrderBinding - -/** - * @author Cold Mint - * @date 2022/1/12 16:09 - */ -class OrderAdapter(context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - val stringBuilder = StringBuilder() - var loadAll = false - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemOrderBinding { - return ItemOrderBinding.inflate(layoutInflater, parent, false) - } - - override fun onBingView( - data: OrderListDataBean.Data, - viewBinding: ItemOrderBinding, - viewHolder: ViewHolder, - position: Int - ) { - viewBinding.titleView.text = data.name - stringBuilder.clear() - stringBuilder.append("订单名:") - stringBuilder.append(data.name) - stringBuilder.append("\n订单号:") - stringBuilder.append(data.flag) - stringBuilder.append("\n创建日期:") - stringBuilder.append(data.createTime) - stringBuilder.append("\n应付款:") - stringBuilder.append(data.price) - stringBuilder.append("元") - if (data.originalPrice != data.price) { - stringBuilder.append("\n原价:") - stringBuilder.append(data.originalPrice) - stringBuilder.append("元") - } - if (loadAll) { - stringBuilder.append("\n账号:") - stringBuilder.append(data.account) - } - val state = when (data.state) { - "true" -> { - "已完成" - } - "ignore" -> { - "已过期" - } - else -> { - "未完成" - } - } - stringBuilder.append("\n订单状态:") - stringBuilder.append(state) - viewBinding.info.text = stringBuilder.toString() - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/PlanAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/PlanAdapter.kt deleted file mode 100644 index 861f49f..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/PlanAdapter.kt +++ /dev/null @@ -1,91 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.core.view.isVisible -import com.coldmint.rust.core.dataBean.CouponListDataBean -import com.coldmint.rust.core.dataBean.PlanDataBean -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemPlanBinding -import com.coldmint.rust.pro.tool.GlobalMethod - -/** - * @author Cold Mint - * @date 2021/12/19 20:32 - */ -class PlanAdapter(context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - private val money: String = context.getString(R.string.money) - - //选中位置 - private var selectedIndex = 0 - get() = field - - /** - * 选择项目 - * @param index Int - */ - fun selectItem(index: Int) { - if (index != selectedIndex) { - //如果选中位置是新位置 - val oldIndex = selectedIndex - selectedIndex = index - notifyItemChanged(oldIndex) - notifyItemChanged(index) - } - } - - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemPlanBinding { - return ItemPlanBinding.inflate(layoutInflater, parent, false) - } - - /** - * 添加人民币符号 - * @param num Double - * @return String - */ - private fun addSymbol(num: Double): String { - return String.format(money, num) - } - - - /** - * 设置优惠券 - * @param coupon Data? - */ - fun setCoupon(coupon: CouponListDataBean.Data?) { - dataList.forEach { - it.setCoupon(coupon) - } - notifyDataSetChanged() - } - - override fun onBingView( - data: PlanDataBean.Data, - viewBinding: ItemPlanBinding, - viewHolder: ViewHolder, - position: Int - ) { - if (selectedIndex == position) { - viewBinding.linearLayout.setBackgroundResource(R.drawable.round_background_true) - } else { - viewBinding.linearLayout.setBackgroundResource(R.drawable.round_background_false) - } - viewBinding.titleView.text = data.name - if (data.originalPrice < data.price) { - viewBinding.originalPriceView.isVisible = false - } else { - viewBinding.originalPriceView.isVisible = true - viewBinding.originalPriceView.text = addSymbol(data.originalPrice) - GlobalMethod.addDeleteLine(viewBinding.originalPriceView) - } - viewBinding.priceView.text = addSymbol(data.price) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/ReportAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/ReportAdapter.kt index 9f5c674..ad22895 100644 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/ReportAdapter.kt +++ b/app/src/main/java/com/coldmint/rust/pro/adapters/ReportAdapter.kt @@ -1,25 +1,17 @@ package com.coldmint.rust.pro.adapters -import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup -import android.widget.Toast import com.bumptech.glide.Glide -import com.bumptech.glide.request.RequestOptions -import com.coldmint.rust.core.dataBean.ApiResponse import com.coldmint.rust.core.dataBean.report.ReportItemDataBean -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.Report import com.coldmint.rust.core.web.ServerConfiguration import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.WebModInfoActivity import com.coldmint.rust.pro.base.BaseAdapter import com.coldmint.rust.pro.databinding.ItemReportBinding import com.coldmint.rust.pro.tool.GlobalMethod -import java.lang.StringBuilder /** * @author Cold Mint @@ -59,13 +51,7 @@ class ReportAdapter( viewBinding.typeView.setText(R.string.report_mod) viewBinding.actionView.setText(R.string.sold_out_mod) viewBinding.openView.setOnClickListener { - val intent = Intent(context, WebModInfoActivity::class.java) - val target = data.target - val bundle = Bundle() - bundle.putString("modName", target) - bundle.putString("modId", target) - intent.putExtra("data", bundle) - context.startActivity(intent) + } } "user" -> { diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/UserAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/UserAdapter.kt deleted file mode 100644 index 790e54d..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/UserAdapter.kt +++ /dev/null @@ -1,52 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import android.content.Context -import android.view.LayoutInflater -import android.view.ViewGroup -import com.bumptech.glide.Glide -import com.bumptech.glide.request.RequestOptions -import com.coldmint.rust.core.dataBean.follow.FollowUserListData -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.base.BaseAdapter -import com.coldmint.rust.pro.databinding.ItemPlanBinding -import com.coldmint.rust.pro.databinding.ItemUserBinding -import com.coldmint.rust.pro.tool.GlobalMethod - -/** - * @author Cold Mint - * @date 2021/12/23 22:44 - */ -class UserAdapter( context: Context, dataList: MutableList) : - BaseAdapter(context, dataList) { - val defaultIntroduced = context.getString(R.string.defaultIntroduced) - override fun getViewBindingObject( - layoutInflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ItemUserBinding { - return ItemUserBinding.inflate(layoutInflater, parent, false) - } - - override fun onBingView( - data: FollowUserListData.Data, - viewBinding: ItemUserBinding, - viewHolder: ViewHolder, - position: Int - ) { - viewBinding.nameView.text = data.userName - val introduce = data.introduce - if (introduce == null || introduce.isBlank()) { - viewBinding.describeView.text = defaultIntroduced - } else { - viewBinding.describeView.text = introduce - } - val icon = data.headIcon - if (icon != null) { - Glide.with(context).load(ServerConfiguration.getRealLink(icon)).apply(GlobalMethod.getRequestOptions(true)) - .into(viewBinding.iconView) - } - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/adapters/UserHomeStateAdapter.kt b/app/src/main/java/com/coldmint/rust/pro/adapters/UserHomeStateAdapter.kt deleted file mode 100644 index 24a3f0a..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/adapters/UserHomeStateAdapter.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.coldmint.rust.pro.adapters - -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentActivity -import androidx.viewpager2.adapter.FragmentStateAdapter -import com.coldmint.rust.pro.fragments.DynamicFragment -import com.coldmint.rust.pro.fragments.PersonalHomeFragment - -class UserHomeStateAdapter(activity: FragmentActivity, val userId: String) : - FragmentStateAdapter(activity) { - private val dynamicFragment: DynamicFragment by lazy { - DynamicFragment(this.userId) - } - - override fun getItemCount(): Int = 2 - - override fun createFragment(position: Int): Fragment { - return when (position) { - 0 -> { - PersonalHomeFragment(this.userId) - } - else -> { - dynamicFragment - } - } - } - - /** - * 更新动态列表 - */ - fun updataDynamicList() { - dynamicFragment.loadList() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/CommunityFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/CommunityFragment.kt deleted file mode 100644 index 32316ae..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/CommunityFragment.kt +++ /dev/null @@ -1,82 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.appcompat.app.AppCompatActivity -import androidx.fragment.app.Fragment -import androidx.viewpager2.widget.ViewPager2 -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.adapters.CommunityAdapter -import com.coldmint.rust.pro.tool.Tools -import com.google.android.material.navigation.NavigationBarView -import com.google.android.material.navigationrail.NavigationRailView - -class CommunityFragment : Fragment() { - - /** - * 加载tab - */ - private fun loadTab() { - if (!isAdded) { - return - } - } - - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - val inflate = inflater.inflate(R.layout.fragment_community, container, false) - onViewCreated(inflate) - return inflate - - } - - private fun onViewCreated(view: View) { - val navigationBarView : NavigationBarView = view.findViewById(R.id.bottomnavigationView) - val pager : ViewPager2 = view.findViewById(R.id.pager) -// 是否是平板模式 - val tabletMode = Tools.isTabletMode(requireContext()) - if (tabletMode){ - } - pager.adapter = CommunityAdapter(this) - pager.isSaveEnabled = false - pager.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { - override fun onPageSelected(position: Int) { - when (position) { - 0 -> { - navigationBarView.selectedItemId = R.id.action_recommended - } - 1 -> { - navigationBarView.selectedItemId = R.id.action_follow - } - 2 -> { - navigationBarView.selectedItemId = R.id.action_ranking - } - 3 -> { - navigationBarView.selectedItemId = R.id.action_my - } - } - } - }) - navigationBarView.setOnItemSelectedListener { - when (it.itemId) { - R.id.action_recommended -> { - pager.setCurrentItem(0, !tabletMode) - } - R.id.action_follow -> { - pager.setCurrentItem(1, !tabletMode) - } - R.id.action_ranking -> { - pager.setCurrentItem(2, !tabletMode) - } - R.id.action_my -> { - pager.setCurrentItem(3, !tabletMode) - } - } - true - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/DynamicFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/DynamicFragment.kt deleted file mode 100644 index b4be955..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/DynamicFragment.kt +++ /dev/null @@ -1,64 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import androidx.core.view.isVisible -import androidx.recyclerview.widget.LinearLayoutManager -import com.coldmint.rust.core.dataBean.DynamicItemDataBean -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.Dynamic -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.adapters.DynamicAdapter -import com.coldmint.rust.pro.base.BaseFragment -import com.coldmint.rust.pro.databinding.FragmentDynamicBinding -import com.coldmint.rust.pro.ui.StableLinearLayoutManager - -/** - * @author Cold Mint - * @date 2021/12/30 9:43 - */ -class DynamicFragment(val userId: String) : BaseFragment() { - - /** - * 加载列表方法(公开) - */ - fun loadList() { - Dynamic.instance.getList(object : ApiCallBack { - override fun onResponse(t: DynamicItemDataBean) { - val data = t.data?.toMutableList() - if (t.code == ServerConfiguration.Success_Code && data != null) { - val adapter = DynamicAdapter(requireContext(), data) - viewBinding.recyclerView.adapter = adapter - viewBinding.recyclerView.isVisible = true - viewBinding.progressBar.isVisible = false - viewBinding.textview.isVisible = false - } else { - viewBinding.recyclerView.isVisible = false - viewBinding.progressBar.isVisible = false - viewBinding.textview.isVisible = true - viewBinding.textview.text = t.message - } - } - - override fun onFailure(e: Exception) { - viewBinding.recyclerView.isVisible = false - viewBinding.progressBar.isVisible = false - viewBinding.textview.isVisible = true - viewBinding.textview.text = requireContext().getText(R.string.network_error) - } - - }, account = userId) - } - - - override fun getViewBindingObject(layoutInflater: LayoutInflater): FragmentDynamicBinding { - return FragmentDynamicBinding.inflate(layoutInflater) - } - - override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { - viewBinding.recyclerView.layoutManager = StableLinearLayoutManager(requireContext()) - loadList() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/FollowFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/FollowFragment.kt deleted file mode 100644 index 2fd7c13..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/FollowFragment.kt +++ /dev/null @@ -1,227 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import androidx.core.view.isVisible -import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView -import com.coldmint.rust.core.dataBean.DynamicItemDataBean -import com.coldmint.rust.core.dataBean.follow.FollowUserListData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.Community -import com.coldmint.rust.core.web.Dynamic -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.adapters.DynamicAdapter -import com.coldmint.rust.pro.adapters.UserHeadAdapter -import com.coldmint.rust.pro.base.BaseFragment -import com.coldmint.rust.pro.databinding.FragmentFollowBinding -import com.coldmint.rust.pro.tool.AppSettings -import com.coldmint.rust.pro.ui.StableLinearLayoutManager - -/** - * 关注者 - * @author Cold Mint - * @date 2021/12/28 10:23 - */ -class FollowFragment : BaseFragment() { - - var oldSize: Int = 0 - var lastIndex = 0 - - /** - * 加载视图如果需要更新的话 - */ - private fun loadViewIfNeed() { - val loginStatus = AppSettings.getValue(AppSettings.Setting.LoginStatus, false) - if (loginStatus) { - val account = AppSettings.getValue(AppSettings.Setting.Account, "") - Community.getUserList( - account, - limit = -1, - apiCallBack = object : ApiCallBack { - override fun onResponse(t: FollowUserListData) { - if (t.code == ServerConfiguration.Success_Code) { - val data = t.data - if (data == null) { - showTip(R.string.no_followers) - } else { - try { - viewBinding.tipView.isVisible = false - viewBinding.progressBar.isVisible = false - viewBinding.linearLayout.isVisible = true - if (oldSize != data.size + 1 && data.isNotEmpty()) { - data.add( - 0, - FollowUserListData.Data( - account = "", - enable = "", - email = "", - cover = "", - headIcon = null, - loginTime = "", - gender = 0, - userName = getString(R.string.all_dynamic), - permission = "" - ) - ) - val adapter = UserHeadAdapter(requireContext(), data) - adapter.setItemEvent { i, itemUserHeadBinding, viewHolder, data -> - itemUserHeadBinding.root.setOnClickListener { - lastIndex = viewHolder.adapterPosition - loadDynamic(data.account) - } - - itemUserHeadBinding.root.setOnLongClickListener { - val account = data.account - if (account.isNotBlank()) { - openHomePage(data.account) - } - return@setOnLongClickListener true - } - } - oldSize = data.size - viewBinding.headRecyclerView.adapter = adapter - //如果最后查看的位置小于总长度(不会下标越界),则加载上次的位置 - if (lastIndex < oldSize) { - loadDynamic(data[lastIndex].account) - } else { - //等于或大于(加载末尾) - loadDynamic(data[oldSize - 1].account) - } - - } - } catch (e: Exception) { - showTip(R.string.network_error) - } - } - } else { - showTip(content = t.message) - } - - } - - override fun onFailure(e: Exception) { - showTip(R.string.network_error) - } - - }) - } else { - showTip(R.string.follow_introduction) - } - } - - /** - * 打开某个用户主页 - * @param account String - */ - fun openHomePage(account: String) { - } - - /** - * 动态获取完成事件 - * @param t DynamicItemDataBean - */ - fun getDynamicSuccess(t: DynamicItemDataBean) { - if (!isAdded) { - return - } - val data = t.data?.toMutableList() - if (t.code == ServerConfiguration.Success_Code && data != null) { - val adapter = DynamicAdapter(requireContext(), data) - adapter.setItemEvent { i, itemDynamicBinding, viewHolder, data -> - itemDynamicBinding.headIconView.setOnClickListener { - openHomePage(data.account) - } - } - viewBinding.textview.isVisible = false - viewBinding.progressBar2.isVisible = false - viewBinding.recyclerView.isVisible = true - viewBinding.recyclerView.adapter = adapter - } else { - viewBinding.progressBar2.isVisible = false - viewBinding.textview.isVisible = true - viewBinding.recyclerView.isVisible = false - viewBinding.textview.text = t.message - } - } - - /** - * 获取动态失败 - */ - fun getDynamicFailure() { - viewBinding.progressBar2.isVisible = false - viewBinding.textview.isVisible = true - viewBinding.recyclerView.isVisible = false - viewBinding.textview.setText(R.string.network_error) - } - - /** - * 加载动态 - * @param account String 账号 - */ - fun loadDynamic(account: String) { - if (account.isBlank()) { - val selfAccount = AppSettings.getValue(AppSettings.Setting.Account, "") - Dynamic.instance.getFollowAllDynamic(selfAccount, - object : ApiCallBack { - override fun onResponse(t: DynamicItemDataBean) { - getDynamicSuccess(t) - } - - override fun onFailure(e: Exception) { - getDynamicFailure() - } - - }) - } else { - Dynamic.instance.getList(object : ApiCallBack { - override fun onResponse(t: DynamicItemDataBean) { - getDynamicSuccess(t) - } - - override fun onFailure(e: Exception) { - getDynamicFailure() - } - - }, account = account) - } - } - - override fun onResume() { - super.onResume() - loadViewIfNeed() - } - - /** - * 显示提示 - * @param resId Int 资源ID - * @param content String? 内容 - */ - fun showTip(resId: Int = R.string.network_error, content: String? = null) { - viewBinding.linearLayout.isVisible = false - viewBinding.progressBar.isVisible = false - viewBinding.tipView.isVisible = true - if (content == null) { - viewBinding.tipView.setText(resId) - } else { - viewBinding.tipView.text = content - } - } - - override fun getViewBindingObject(layoutInflater: LayoutInflater): FragmentFollowBinding { - return FragmentFollowBinding.inflate(layoutInflater) - } - - override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { - viewBinding.rootLayout.layoutTransition.setAnimateParentHierarchy(false) - viewBinding.linearLayout2.layoutTransition.setAnimateParentHierarchy(false) - val linearLayoutManager = LinearLayoutManager(requireContext(), RecyclerView.HORIZONTAL, false) - viewBinding.headRecyclerView.layoutManager = linearLayoutManager - viewBinding.headRecyclerView.isNestedScrollingEnabled = false - val linearLayoutManager2 = StableLinearLayoutManager(requireContext()) - viewBinding.recyclerView.layoutManager = linearLayoutManager2 - loadViewIfNeed() - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/InsertCoinsFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/InsertCoinsFragment.kt deleted file mode 100644 index 72d147a..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/InsertCoinsFragment.kt +++ /dev/null @@ -1,144 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import androidx.core.view.isVisible -import com.coldmint.rust.core.dataBean.mod.CoinStatusData -import com.coldmint.rust.core.dataBean.mod.InsertCoinHistoryData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.WebMod -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.adapters.InsertCoinsAdapter -import com.coldmint.rust.pro.base.BaseFragment -import com.coldmint.rust.pro.databinding.FragmentInsertCoinsBinding -import com.coldmint.rust.pro.ui.StableLinearLayoutManager -import com.google.android.material.divider.MaterialDividerItemDecoration - -/** - * 投币碎片 - */ -class InsertCoinsFragment(val modId: String) : BaseFragment() { - private val token by lazy { - "" - } - - override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { - viewBinding.recyclerView.layoutManager = StableLinearLayoutManager(requireContext()) - val divider = MaterialDividerItemDecoration( - requireContext(), - MaterialDividerItemDecoration.VERTICAL - ) - - viewBinding.recyclerView.addItemDecoration( - divider - ) - viewBinding.swipeRefreshLayout.setOnRefreshListener { - loadList(false) - viewBinding.swipeRefreshLayout.isRefreshing = false - } - viewBinding.button.setOnClickListener { - InsertCoinsDialog(requireContext(), modId).setCallBackListener { - if (it) { - viewBinding.button.isEnabled = false - viewBinding.tipView.text = getString(R.string.insert_coins_ok) - loadList() - } - }.show() - } - loadButton() - } - - override fun onResume() { - super.onResume() - loadList() - } - - override fun getViewBindingObject(layoutInflater: LayoutInflater): FragmentInsertCoinsBinding { - return FragmentInsertCoinsBinding.inflate(layoutInflater) - } - - - fun loadList(useLinearProgressIndicator: Boolean = true) { - if (useLinearProgressIndicator) { - viewBinding.linearProgressIndicator.isVisible = true - } - WebMod.instance.getInsertCoinHistory(modId, object : ApiCallBack { - override fun onResponse(t: InsertCoinHistoryData) { - if (isAdded) { - val dataList = t.data - if (dataList.isNullOrEmpty()) { - viewBinding.recyclerView.isVisible = false - if (useLinearProgressIndicator) { - viewBinding.linearProgressIndicator.isVisible = false - } - viewBinding.loadLayout.isVisible = true - viewBinding.coinRecordsView.text = getString(R.string.coin_records) - } else { - val adapter = InsertCoinsAdapter(requireContext(), dataList) - adapter.setItemEvent { i, itemInsertCoinsBinding, viewHolder, data -> - itemInsertCoinsBinding.imageView.setOnClickListener { - gotoUserPage(data.account) - } - } - viewBinding.recyclerView.adapter = - adapter - val data = getString(R.string.coin_records) + "(" + dataList.size + ")" - viewBinding.coinRecordsView.text = data - viewBinding.recyclerView.isVisible = true - if (useLinearProgressIndicator) { - viewBinding.linearProgressIndicator.isVisible = false - } - viewBinding.loadLayout.isVisible = false - } - } - } - - override fun onFailure(e: Exception) { - e.printStackTrace() - viewBinding.recyclerView.isVisible = false - viewBinding.coinRecordsView.text = getString(R.string.coin_records) - if (useLinearProgressIndicator) { - viewBinding.linearProgressIndicator.isVisible = false - } - viewBinding.loadLayout.isVisible = true - } - - }) - } - - /** - * 打开用户主页 - * @param userId String - */ - fun gotoUserPage(userId: String) { - - } - - fun loadButton() { - if (token.isBlank()) { - viewBinding.tipView.text = getString(R.string.please_login_first) - viewBinding.button.isEnabled = false - return - } - WebMod.instance.getCoinStatus(token, modId, object : ApiCallBack { - override fun onResponse(t: CoinStatusData) { - viewBinding.button.isEnabled = !t.data - if (t.data) { - viewBinding.tipView.text = getString(R.string.insert_coins_ok) - } else { - viewBinding.tipView.text = getString(R.string.insert_coins_no) - } - } - - override fun onFailure(e: Exception) { - e.printStackTrace() - viewBinding.button.isEnabled = false - viewBinding.tipView.text = getString(R.string.insert_coins_no) - } - - }) - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/ModCommentsFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/ModCommentsFragment.kt deleted file mode 100644 index fa721fc..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/ModCommentsFragment.kt +++ /dev/null @@ -1,171 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import androidx.core.view.isVisible -import com.coldmint.rust.core.dataBean.ApiResponse -import com.coldmint.rust.core.dataBean.mod.WebModCommentData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.tool.DebugHelper -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.core.web.WebMod -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.adapters.CommentAdapter -import com.coldmint.rust.pro.base.BaseFragment -import com.coldmint.rust.pro.databinding.FragmentModCommentsBinding -import com.coldmint.rust.pro.dialog.CommentDialog -import com.coldmint.rust.pro.tool.AppSettings -import com.coldmint.rust.pro.ui.StableLinearLayoutManager -import com.google.android.material.divider.MaterialDividerItemDecoration -import com.google.android.material.snackbar.Snackbar - -/** - * 模组评论 - */ -class ModCommentsFragment(val modId: String) : BaseFragment() { - override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { - viewBinding.recyclerView.layoutManager = StableLinearLayoutManager(requireContext()) - val divider = MaterialDividerItemDecoration( - requireContext(), - MaterialDividerItemDecoration.VERTICAL - ) - - viewBinding.recyclerView.addItemDecoration( - divider - ) - //刷新评论区 - viewBinding.swipeRefreshLayout.setOnRefreshListener { - loadCommentList(modId, false) - viewBinding.swipeRefreshLayout.isRefreshing = false - } - viewBinding.sendDiscussion.setOnClickListener { - val token = "" - if (token.isBlank()) { - Snackbar.make( - viewBinding.sendDiscussion, - R.string.please_login_first, - Snackbar.LENGTH_SHORT - ).show() - return@setOnClickListener - } - - - CommentDialog(requireContext()).setCancelable(false) - .setSubmitFun { button, textInputLayout, s, alertDialog -> - button.isEnabled = false - WebMod.instance.sendComment( - token, - modId, - s, - object : ApiCallBack { - override fun onResponse(t: ApiResponse) { - if (t.code == ServerConfiguration.Success_Code) { - alertDialog.dismiss() - loadCommentList(modId) - Snackbar.make( - viewBinding.sendDiscussion, - R.string.release_ok, - Snackbar.LENGTH_SHORT - ).show() - } else { - textInputLayout.error = t.message - } - } - - override fun onFailure(e: Exception) { - textInputLayout.error = e.toString() - } - - }) - }.show() - } - } - - /** - * 打开用户主页 - * @param userId String - */ - fun gotoUserPage(userId: String) { - - } - - override fun onResume() { - super.onResume() - loadCommentList(modId) - } - - fun commentSizeChange(size: Int){ - if (size == 0){ - viewBinding.titleView.text = getString(R.string.discussion) - viewBinding.recyclerView.isVisible = false - viewBinding.noContentLayout.isVisible = true - }else{ - viewBinding.titleView.text = - getString(R.string.discussion) + "(" + size + ")" - - viewBinding.recyclerView.isVisible = true - viewBinding.noContentLayout.isVisible = false - } - - } - - /** - * 加载评论列表 - * @param modId String - */ - fun loadCommentList(modId: String, useLinearProgressIndicator: Boolean = true) { - val key = "加载评论列表" - if (useLinearProgressIndicator) { - viewBinding.linearProgressIndicator.visibility = View.VISIBLE - } - WebMod.instance.getCommentsList(modId, object : ApiCallBack { - override fun onResponse(t: WebModCommentData) { - val list = t.data - if (list.isNullOrEmpty()) { - DebugHelper.printLog(key, "为空", isError = true) - if (useLinearProgressIndicator) { - viewBinding.linearProgressIndicator.visibility = View.INVISIBLE - } - commentSizeChange(0) - } else { - DebugHelper.printLog(key, "共${list.size}条数据") - commentSizeChange(list.size) - if (useLinearProgressIndicator) { - viewBinding.linearProgressIndicator.visibility = View.INVISIBLE - } - val adapter = CommentAdapter(requireContext(), list) - adapter.setItemEvent { i, itemCommentBinding, viewHolder, data -> - itemCommentBinding.iconView.setOnClickListener { - gotoUserPage(data.account) - } - } - adapter.setItemChangeEvent { changeType, i, data, i2 -> - viewBinding.titleView.text = - getString(R.string.discussion) + "(" + i2 + ")" - commentSizeChange(i2) - } - viewBinding.recyclerView.adapter = adapter - } - } - - override fun onFailure(e: Exception) { - DebugHelper.printLog(key, "加载失败", isError = true) - if (useLinearProgressIndicator) { - viewBinding.linearProgressIndicator.visibility = View.INVISIBLE - } - viewBinding.titleView.text = getString(R.string.discussion) - viewBinding.recyclerView.isVisible = false - viewBinding.noContentLayout.isVisible = true - } - - }) - } - - override fun getViewBindingObject(layoutInflater: LayoutInflater): FragmentModCommentsBinding { - return FragmentModCommentsBinding.inflate(layoutInflater) - } - - -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/PersonalHomeFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/PersonalHomeFragment.kt deleted file mode 100644 index fe44fea..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/PersonalHomeFragment.kt +++ /dev/null @@ -1,120 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import androidx.core.view.isVisible -import androidx.recyclerview.widget.LinearLayoutManager -import com.coldmint.rust.core.dataBean.mod.WebModListData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.core.web.WebMod -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.TagActivity -import com.coldmint.rust.pro.WebModInfoActivity -import com.coldmint.rust.pro.adapters.WebModAdapter -import com.coldmint.rust.pro.base.BaseFragment -import com.coldmint.rust.pro.databinding.FragmentPersonalHomeBinding -import com.coldmint.rust.pro.ui.ScrollLinearLayoutManager -import com.coldmint.rust.pro.ui.StableLinearLayoutManager - -/** - * @author Cold Mint - * @date 2021/12/14 8:55 - */ -class PersonalHomeFragment(val userId: String) : BaseFragment() { - - override fun getViewBindingObject(layoutInflater: LayoutInflater): FragmentPersonalHomeBinding { - return FragmentPersonalHomeBinding.inflate(LayoutInflater.from(requireContext())) - } - - override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { - viewBinding.latestWorkRecycleView.layoutManager = - ScrollLinearLayoutManager(requireContext()) - viewBinding.highestScoreRecycleView.layoutManager = - ScrollLinearLayoutManager(requireContext()) - viewBinding.highestScoreActionView.setOnClickListener { - val bundle = Bundle() - bundle.putString( - "title", viewBinding.highestScoreView.text.toString() - ) - bundle.putString("action", "user-download") - bundle.putString("account", userId) - val thisIntent = - Intent(requireContext(), TagActivity::class.java) - thisIntent.putExtra("data", bundle) - startActivity(thisIntent) - } - viewBinding.latestWorkActionView.setOnClickListener { - val bundle = Bundle() - bundle.putString( - "title", viewBinding.latestWorkView.text.toString() - ) - bundle.putString("action", "user-time") - bundle.putString("account", userId) - val thisIntent = - Intent(requireContext(), TagActivity::class.java) - thisIntent.putExtra("data", bundle) - startActivity(thisIntent) - } - - WebMod.instance.getUserModList(userId, object : ApiCallBack { - override fun onResponse(t: WebModListData) { - val dataList = t.data?.toMutableList() - if (t.code == ServerConfiguration.Success_Code && dataList != null && dataList.isNotEmpty()) { - val adapter = WebModAdapter(requireContext(), dataList) - adapter.setItemEvent { i, webModItemBinding, viewHolder, data -> - webModItemBinding.root.setOnClickListener { - val bundle = Bundle() - bundle.putString("modId", data.id) - bundle.putString("modName", data.name) - val intent = Intent(requireContext(), WebModInfoActivity::class.java) - intent.putExtra("data", bundle) - requireContext().startActivity(intent) - } - } - viewBinding.latestWorkRecycleView.adapter = adapter - } else { - viewBinding.latestWorkView.text = t.message - viewBinding.latestWorkActionView.isVisible = false - } - } - - override fun onFailure(e: Exception) { - viewBinding.latestWorkView.setText(R.string.network_error) - viewBinding.latestWorkActionView.isVisible = false - } - - }, limit = "4", sortMode = WebMod.SortMode.Latest_Time) - - WebMod.instance.getUserModList(userId, object : ApiCallBack { - override fun onResponse(t: WebModListData) { - val dataList = t.data?.toMutableList() - if (t.code == ServerConfiguration.Success_Code && dataList != null && dataList.isNotEmpty()) { - val adapter = WebModAdapter(requireContext(), dataList) - adapter.setItemEvent { i, webModItemBinding, viewHolder, data -> - webModItemBinding.root.setOnClickListener { - val bundle = Bundle() - bundle.putString("modId", data.id) - bundle.putString("modName", data.name) - val intent = Intent(requireContext(), WebModInfoActivity::class.java) - intent.putExtra("data", bundle) - requireContext().startActivity(intent) - } - } - viewBinding.highestScoreRecycleView.adapter = adapter - } else { - viewBinding.highestScoreView.text = t.message - viewBinding.highestScoreActionView.isVisible = false - } - } - - override fun onFailure(e: Exception) { - viewBinding.highestScoreView.setText(R.string.network_error) - viewBinding.highestScoreActionView.isVisible = false - } - - }, limit = "4", sortMode = WebMod.SortMode.Download_Number) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/RankingFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/RankingFragment.kt deleted file mode 100644 index 13bed99..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/RankingFragment.kt +++ /dev/null @@ -1,173 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import androidx.core.view.isVisible -import androidx.recyclerview.widget.RecyclerView -import com.coldmint.rust.core.dataBean.mod.WebModListData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.core.web.WebMod -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.WebModInfoActivity -import com.coldmint.rust.pro.adapters.WebModAdapter -import com.coldmint.rust.pro.base.BaseFragment -import com.coldmint.rust.pro.databinding.FragmentRankingBinding -import com.coldmint.rust.pro.ui.StableLinearLayoutManager -import com.google.android.material.chip.Chip -import me.zhanghai.android.fastscroll.FastScrollerBuilder - - -/** - * 排行榜 - */ -class RankingFragment : BaseFragment() { - private var webModAdapter: WebModAdapter? = null - var lastOffset = 0 - var lastPosition = 0 - var linearLayoutManager: StableLinearLayoutManager? = null - private var sortMode: WebMod.SortMode = WebMod.SortMode.Download_Number - - override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { - linearLayoutManager = StableLinearLayoutManager(requireContext()) - viewBinding.recyclerView.layoutManager = linearLayoutManager - /* viewBinding.recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() { - override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { - super.onScrollStateChanged(recyclerView, newState) - val layoutManager = viewBinding.recyclerView.layoutManager - if (layoutManager != null) { - //获取第一个可视视图 - val topView = layoutManager.getChildAt(0) - if (topView != null) { - lastOffset = topView.top - lastPosition = layoutManager.getPosition(topView) - } - } - } - })*/ - viewBinding.refreshLayout.setOnRefreshListener { - it.finishRefresh(true)//传入false表示刷新失败 - loadMods() - } - viewBinding.refreshLayout.setOnLoadMoreListener { - it.finishLoadMore(false) //传入false表示加载失败 - } - /* viewBinding.swipeRefreshLayout.setOnRefreshListener { - loadMods() - viewBinding.swipeRefreshLayout.isRefreshing = false - }*/ - for (i in 0 until viewBinding.chipGroup.childCount) { - val childView = viewBinding.chipGroup.getChildAt(i) as Chip - // 根据 Chip 的 ID 或 Tag 映射到对应的 SortMode - childView.setOnCheckedChangeListener { _, isChecked -> - if (isChecked) { - sortMode = when (i) { - 0 -> WebMod.SortMode.Download_Number - 1 -> WebMod.SortMode.Unit_Number - 2 -> WebMod.SortMode.Coin_Number - 3 -> WebMod.SortMode.Update_Number - else -> sortMode // 保持当前模式不变 - } - loadMods() - } - for (j in 0 until viewBinding.chipGroup.childCount) { - val chip = viewBinding.chipGroup.getChildAt(j) as Chip - chip.isEnabled = chip != childView - } - } - - if (i == 0) { -// childView.isChecked = true - childView.isEnabled = false - loadMods() - } - } - } - - - private fun loadMods() { - viewBinding.progressBar.isVisible = true - viewBinding.textview.isVisible = false - WebMod.instance.list(object : ApiCallBack { - override fun onResponse(t: WebModListData) { - if (!isAdded) { - return - } - if (t.code == ServerConfiguration.Success_Code) { - val list = t.data - if (!list.isNullOrEmpty()) { - viewBinding.progressBar.isVisible = false - viewBinding.textview.isVisible = false -// viewBinding.swipeRefreshLayout.isVisible = true - val adapter = createAdapter(list) - viewBinding.recyclerView.adapter = adapter - linearLayoutManager?.scrollToPositionWithOffset( - lastPosition, - lastOffset - ) - /* FastScrollerBuilder(viewBinding.recyclerView).useMd2Style() - .setPopupTextProvider(adapter).build()*/ - } else { - showInfoToView(R.string.network_error) - } - } else { - showInfoToView(text = t.message) - } - } - - override fun onFailure(e: Exception) { - showInfoToView(R.string.network_error) - } - - }, sortMode = sortMode, limit = "10", sum = "0") - } - - - /** - * 创建适配器 - * @param dataList MutableList - * @return WebModAdapter - */ - fun createAdapter(dataList: MutableList): WebModAdapter { - val adapter: WebModAdapter = if (webModAdapter == null) { - webModAdapter = WebModAdapter(context = requireContext(), dataList = dataList) - webModAdapter!! - } else { - webModAdapter!!.setNewDataList(dataList) - webModAdapter!! - } - adapter.setItemEvent { _, webModItemBinding, _, data -> - webModItemBinding.root.setOnClickListener { - val bundle = Bundle() - bundle.putString("modId", data.id) - bundle.putString("modName", data.name) - val intent = Intent(requireContext(), WebModInfoActivity::class.java) - intent.putExtra("data", bundle) - requireContext().startActivity(intent) - } - } - return adapter - } - - /** - * 显示信息到视图 - * @param textRes Int? - * @param text String? - */ - fun showInfoToView(textRes: Int? = null, text: String? = null) { - viewBinding.progressBar.isVisible = false -// viewBinding.swipeRefreshLayout.isVisible = false - viewBinding.textview.isVisible = true - if (textRes == null) { - viewBinding.textview.text = textRes - } else { - viewBinding.textview.text = text ?: "" - } - } - - - override fun getViewBindingObject(layoutInflater: LayoutInflater): FragmentRankingBinding { - return FragmentRankingBinding.inflate(layoutInflater) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/RecommendedFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/RecommendedFragment.kt deleted file mode 100644 index b17db67..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/RecommendedFragment.kt +++ /dev/null @@ -1,242 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import androidx.core.view.isVisible -import com.bumptech.glide.Glide -import com.coldmint.dialog.CoreDialog -import com.coldmint.rust.core.dataBean.BannerItemDataBean -import com.coldmint.rust.core.dataBean.mod.WebModListData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.BannerManager -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.core.web.WebMod -import com.coldmint.rust.pro.MainActivity -import com.coldmint.rust.pro.R -import com.coldmint.rust.pro.WebModInfoActivity -import com.coldmint.rust.pro.adapters.WebModAdapter -import com.coldmint.rust.pro.base.BaseFragment -import com.coldmint.rust.pro.databinding.FragmentRecommendedBinding -import com.coldmint.rust.pro.tool.AppSettings -import com.coldmint.rust.pro.tool.GlobalMethod -import com.coldmint.rust.pro.tool.TextStyleMaker -import com.coldmint.rust.pro.ui.ScrollLinearLayoutManager -import com.youth.banner.adapter.BannerImageAdapter -import com.youth.banner.holder.BannerImageHolder -import com.youth.banner.indicator.CircleIndicator - - -class RecommendedFragment : BaseFragment() { - - /** - * 加载最近更新 - */ - fun loadList() { - //如果进度条可见那么为首次加载 - val isFirst = viewBinding.progressBar.isVisible - viewBinding.latestReleaseProgressIndicator.isVisible = true - WebMod.instance.list(object : ApiCallBack { - override fun onResponse(t: WebModListData) { - if (t.code == ServerConfiguration.Success_Code) { - val data = t.data?.toMutableList() - if (!data.isNullOrEmpty()) { - viewBinding.progressBar.postDelayed({ - viewBinding.latestReleaseProgressIndicator.isVisible = false - if (isFirst) { - viewBinding.progressBar.isVisible = false - viewBinding.nestedScrollView.isVisible = true - } - viewBinding.latestReleaseView.adapter = createAdapter(data) - }, MainActivity.hideViewDelay) - } - } else { - viewBinding.latestReleaseProgressIndicator.isVisible = false - } - } - - override fun onFailure(e: Exception) { - viewBinding.latestReleaseProgressIndicator.isVisible = false - } - - }, limit = "6", sortMode = WebMod.SortMode.Latest_Time) - } - - - /** - * 加载随机推荐 - */ - private fun loadRandomRecommended() { - viewBinding.randomRecommendedProgressIndicator.isVisible = true - WebMod.instance.randomRecommended(6, object : ApiCallBack { - override fun onResponse(t: WebModListData) { - val data = t.data?.toMutableList() - if (data.isNullOrEmpty()) { - viewBinding.randomRecommendedProgressIndicator.isVisible = false - viewBinding.swipeRefreshLayout.isRefreshing = false - } else { - viewBinding.randomRecommendedProgressIndicator.isVisible = false - viewBinding.randomRecommendedView.isVisible = true - viewBinding.randomRecommendedView.adapter = createAdapter(data) - viewBinding.swipeRefreshLayout.isRefreshing = false - } - } - - override fun onFailure(e: Exception) { - e.printStackTrace() - viewBinding.randomRecommendedProgressIndicator.isVisible = false - viewBinding.swipeRefreshLayout.isRefreshing = false - } - }) - } - - /** - * 加载个性化推荐 - */ - private fun loadSoleRecommended() { - viewBinding.soleRecommendedCardView.isVisible = false - viewBinding.soleRecommendedProgressIndicator.isVisible = true - val account = AppSettings.getValue(AppSettings.Setting.Account, "") - if (account.isNotBlank()) { - WebMod.instance.soleRecommended(account, object : ApiCallBack { - override fun onResponse(t: WebModListData) { - if (isAdded) { - val data = t.data?.toMutableList() - if (!data.isNullOrEmpty()) { - viewBinding.soleRecommendedCardView.isVisible = true - viewBinding.soleRecommendedProgressIndicator.isVisible = false - viewBinding.soleRecommendedRecyclerView.adapter = createAdapter(data) - } - } - } - - override fun onFailure(e: Exception) { - if (isAdded) { - viewBinding.soleRecommendedCardView.isVisible = false - viewBinding.soleRecommendedProgressIndicator.isVisible = false - } - } - - }, limit = "6") - } - } - - /** - * 加载轮播图数据 - */ - private fun loadBannerData() { - BannerManager.instance.getItems(object : ApiCallBack { - override fun onResponse(t: BannerItemDataBean) { - if (t.code == ServerConfiguration.Success_Code) { - val dataList = t.data - if (!dataList.isNullOrEmpty()) { - val textStyleMaker = TextStyleMaker.instance - val showList = dataList.filter { - var show = true - val type = textStyleMaker.getType(it.link) - //如果点击事件为激活助手,但此用户已经永久激活,那么隐藏轮播图 - if (type == "activate") { - show = false - } - show - } - viewBinding.banner.setAdapter(object : - BannerImageAdapter(showList) { - override fun onBindView( - holder: BannerImageHolder?, - data: BannerItemDataBean.Data?, - position: Int, - size: Int - ) { - if (holder != null && data != null) { - Glide.with(holder.itemView).load(data.picture) - .apply(GlobalMethod.getRequestOptions()) - .into(holder.imageView) - holder.imageView.setOnClickListener { - val type = textStyleMaker.getType(data.link) - val linkData = textStyleMaker.getData(data.link) - if (type == null || linkData == null) { - CoreDialog(requireContext()).setTitle(data.title) - .setMessage(data.link) - .setPositiveButton(R.string.dialog_ok) { - - }.setCancelable(false).show() - } else { - textStyleMaker.clickEvent( - requireContext(), - type, - linkData - ) - } - } - } - } - }) -// viewBinding.banner.setBannerGalleryEffect(16, 16, 8) -// viewBinding.banner.addPageTransformer(DepthPageTransformer()) - if (activity != null) { - viewBinding.banner.addBannerLifecycleObserver(activity) - viewBinding.banner.indicator = CircleIndicator(activity) -// viewBinding.banner.setIndicatorSelectedColorRes(R.color.pink_500) - - } - } - } else { - - } - } - - override fun onFailure(e: Exception) { - - } - - }) - } - - - fun createAdapter(dataList: MutableList): WebModAdapter? { - if (isAdded) { - val adapter = WebModAdapter(context = requireContext(), dataList = dataList) - adapter.setItemEvent { i, webModItemBinding, viewHolder, data -> - webModItemBinding.root.setOnClickListener { - val bundle = Bundle() - bundle.putString("modId", data.id) - bundle.putString("modName", data.name) - val intent = Intent(requireContext(), WebModInfoActivity::class.java) - intent.putExtra("data", bundle) - requireContext().startActivity(intent) - } - } - return adapter - } else { - return null - } - } - - override fun onResume() { - super.onResume() - loadList() - loadSoleRecommended() - loadBannerData() - } - - override fun getViewBindingObject(layoutInflater: LayoutInflater): FragmentRecommendedBinding { - return FragmentRecommendedBinding.inflate(layoutInflater) - } - - override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { - viewBinding.latestReleaseView.layoutManager = ScrollLinearLayoutManager(requireContext()) - viewBinding.soleRecommendedRecyclerView.layoutManager = - ScrollLinearLayoutManager(requireContext()) - viewBinding.randomRecommendedView.layoutManager = ScrollLinearLayoutManager(requireContext()) - loadRandomRecommended() -// 下拉刷新随机推荐的模组 - viewBinding.swipeRefreshLayout.setOnRefreshListener { - loadRandomRecommended() - } -// 动态设置Banner高度 - viewBinding.bannerCardView.layoutParams.height = (resources.displayMetrics.heightPixels / 2.5).toInt() - viewBinding.bannerCardView.requestLayout() - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/fragments/UserInfoFragment.kt b/app/src/main/java/com/coldmint/rust/pro/fragments/UserInfoFragment.kt deleted file mode 100644 index 380c38e..0000000 --- a/app/src/main/java/com/coldmint/rust/pro/fragments/UserInfoFragment.kt +++ /dev/null @@ -1,131 +0,0 @@ -package com.coldmint.rust.pro.fragments - -import android.content.Intent -import android.os.Bundle -import android.view.LayoutInflater -import android.widget.Toast -import androidx.core.view.isVisible -import androidx.recyclerview.widget.GridLayoutManager -import com.bumptech.glide.Glide -import com.bumptech.glide.request.RequestOptions -import com.coldmint.rust.core.dataBean.user.ActivationInfo -import com.coldmint.rust.core.dataBean.user.UserData -import com.coldmint.rust.core.interfaces.ApiCallBack -import com.coldmint.rust.core.web.ServerConfiguration -import com.coldmint.rust.core.web.User -import com.coldmint.rust.pro.* -import com.coldmint.rust.pro.adapters.CommunityServiceAdapter -import com.coldmint.rust.pro.base.BaseFragment -import com.coldmint.rust.pro.databean.CommunityServiceInfo -import com.coldmint.rust.pro.databinding.FragmentUserInfoBinding -import com.coldmint.rust.pro.tool.AppSettings -import com.coldmint.rust.pro.tool.GlobalMethod - -class UserInfoFragment : BaseFragment() { - lateinit var account: String - - /** - * 加载列表 - */ - fun loadRecyclerView(permission: Int) { - - val layoutManager = GridLayoutManager(RustApplication.getInstance(), 4) - viewBinding.recyclerView.layoutManager = layoutManager - viewBinding.recyclerView.isNestedScrollingEnabled = false - val dataList = ArrayList() - dataList.add(CommunityServiceInfo(R.string.work_management, R.drawable.work_management)) -// dataList.add(CommunityServiceInfo(R.string.little_black_house, R.drawable.ban)) -// dataList.add(CommunityServiceInfo(R.string.feedback, R.drawable.feedback)) - dataList.add(CommunityServiceInfo(R.string.fans_management, R.drawable.fans_management)) -// dataList.add(CommunityServiceInfo(R.string.exchange, R.drawable.prize)) - if (permission < 3) { - //管理员 - dataList.add(CommunityServiceInfo(R.string.report_to_deal, R.drawable.report)) - dataList.add(CommunityServiceInfo(R.string.review_mod, R.drawable.review_mod)) - if (permission == 1) { - //超级管理员 - dataList.add(CommunityServiceInfo(R.string.order_manager, R.drawable.order_manager)) - } - } - val adapter = CommunityServiceAdapter(RustApplication.getInstance(), dataList) - adapter.setItemEvent { i, itemServiceBinding, viewHolder, communityServiceInfo -> - itemServiceBinding.root.setOnClickListener { - when (communityServiceInfo.titleRes) { - R.string.work_management -> { - val gotoIntent = - Intent(requireContext(), WorkManagementActivity::class.java) - startActivity(gotoIntent) - } - R.string.order_manager -> { - val sIntent = Intent(requireContext(), OrderListActivity::class.java) - sIntent.putExtra("loadAll", true) - startActivity(sIntent) - } - R.string.fans_management -> { - openUserList(account, false) - } - R.string.report_to_deal -> { - val startIntent = Intent(requireContext(), ReportListActivity::class.java) - startActivity(startIntent) - } - else -> { - Toast.makeText(context, communityServiceInfo.titleRes, Toast.LENGTH_SHORT) - .show() - } - } - } - } - viewBinding.recyclerView.adapter = adapter - } - - - /** - * 打开用户列表 - * @param account String 账号 - * @param isFollowMode Boolean 是否加载偶像 - */ - fun openUserList(account: String, isFollowMode: Boolean) { - val bundle = Bundle() - bundle.putString("account", account) - bundle.putBoolean("isFollowMode", isFollowMode) - bundle.putBoolean("canRemoveFans", true) - val intent = Intent(requireContext(), UserListActivity::class.java) - intent.putExtra("data", bundle) - startActivity(intent) - } - - override fun getViewBindingObject(layoutInflater: LayoutInflater): FragmentUserInfoBinding { - return FragmentUserInfoBinding.inflate(layoutInflater) - } - - - override fun onResume() { - super.onResume() - viewBinding.progressBar.isVisible = true - viewBinding.loginLayout.root.isVisible = false - viewBinding.contentLayout.isVisible = false - val loginStatus = AppSettings.getValue(AppSettings.Setting.LoginStatus, false) - if (loginStatus) { - viewBinding.progressBar.isVisible = false - viewBinding.loginLayout.root.isVisible = false - viewBinding.contentLayout.isVisible = true -// viewBinding.root.isFillViewport = false - account = AppSettings.getValue(AppSettings.Setting.Account, "") - viewBinding.myHomeView.setOnClickListener { - - } - } else { - viewBinding.progressBar.isVisible = false - viewBinding.loginLayout.root.isVisible = true - viewBinding.contentLayout.isVisible = false -// viewBinding.root.isFillViewport = true - } - } - - override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { - viewBinding.logOutButton.setOnClickListener { - } - viewBinding.loginLayout.logView.setOnClickListener { - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/coldmint/rust/pro/tool/TextStyleMaker.kt b/app/src/main/java/com/coldmint/rust/pro/tool/TextStyleMaker.kt index af97776..7d98e28 100644 --- a/app/src/main/java/com/coldmint/rust/pro/tool/TextStyleMaker.kt +++ b/app/src/main/java/com/coldmint/rust/pro/tool/TextStyleMaker.kt @@ -245,16 +245,7 @@ class TextStyleMaker private constructor() { */ fun clickEvent(context: Context, type: String, data: String) { when (type) { - "mod" -> { - val bundle = Bundle() - bundle.putString("modId", data) - val intent = Intent( - context, - WebModInfoActivity::class.java - ) - intent.putExtra("data", bundle) - context.startActivity(intent) - } + "tag" -> { val bundle = Bundle() bundle.putString("tag", data) diff --git a/app/src/main/res/layout-land/activity_edit.xml b/app/src/main/res/layout-land/activity_edit.xml deleted file mode 100644 index 6c3f276..0000000 --- a/app/src/main/res/layout-land/activity_edit.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -