Skip to content

Commit

Permalink
Merge pull request #51 from CofbroTeam/features/signTogether_cofbro
Browse files Browse the repository at this point in the history
增加输入框手机输入位数的限制
  • Loading branch information
cofbro committed Nov 5, 2023
2 parents 98dc005 + 4724db9 commit 71943bd
Show file tree
Hide file tree
Showing 15 changed files with 273 additions and 6 deletions.
Binary file removed app.apk
Binary file not shown.
Binary file added app/app-20231105.apk
Binary file not shown.
4 changes: 2 additions & 2 deletions app/src/main/java/com/cofbro/qian/login/LoginActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,8 @@ class LoginActivity : BaseActivity<LoginViewModel, ActivityLoginBinding>() {

private fun toVerifyCodeActivity() {
val phoneNumber = binding?.ipUsername?.getTextString() ?: ""
if (phoneNumber.isEmpty()) {
ToastUtils.show("请先输入手机号")
if (phoneNumber.length == 11) {
ToastUtils.show("请输入正确的手机号")
return
}
val intent = Intent(this, SMSActivity::class.java)
Expand Down
8 changes: 6 additions & 2 deletions app/src/main/java/com/cofbro/qian/profile/ProfileFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,15 @@ import com.cofbro.qian.account.manager.AccountManagerActivity
import com.cofbro.qian.data.URL
import com.cofbro.qian.databinding.FragmentProfileBinding
import com.cofbro.qian.login.LoginActivity
import com.cofbro.qian.profile.advice.AdviceFragment
import com.cofbro.qian.record.SignRecordActivity
import com.cofbro.qian.utils.CacheUtils
import com.cofbro.qian.utils.Constants
import com.cofbro.qian.utils.Downloader
import com.cofbro.qian.utils.HtmlParser
import com.cofbro.qian.utils.dp2px
import com.cofbro.qian.utils.getStatusBarHeight
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext

class ProfileFragment : BaseFragment<ProfileViewModel, FragmentProfileBinding>() {
override fun onAllViewCreated(savedInstanceState: Bundle?) {
Expand Down Expand Up @@ -111,6 +110,11 @@ class ProfileFragment : BaseFragment<ProfileViewModel, FragmentProfileBinding>()
val intent = Intent(requireActivity(), SignRecordActivity::class.java)
startActivity(intent)
}

binding?.advice?.setOnClickListener {
val fragment = AdviceFragment()
fragment.show(requireActivity().supportFragmentManager, "AdviceFragment")
}
}
private fun clearUserInfo(context: Context){
context.saveUsedSp("username", "")
Expand Down
63 changes: 63 additions & 0 deletions app/src/main/java/com/cofbro/qian/profile/advice/AdviceFragment.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.cofbro.qian.profile.advice

import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import android.widget.TextView
import androidx.fragment.app.DialogFragment
import com.cofbro.qian.R
import com.hjq.toast.ToastUtils


class AdviceFragment : DialogFragment() {
private var tvQQ: TextView? = null
private var tvGithub: TextView? = null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val height = context?.resources?.displayMetrics?.heightPixels?.minus(100)
val window = this.dialog?.window
window?.decorView?.setPadding(0, 0, 0, 0)
val lp = window?.attributes
lp?.width = WindowManager.LayoutParams.MATCH_PARENT
lp?.height = height ?: WindowManager.LayoutParams.MATCH_PARENT
lp?.gravity = Gravity.BOTTOM
lp?.windowAnimations = R.style.BottomDialogAnimation
window?.attributes = lp
window?.setBackgroundDrawable(ColorDrawable())
val root = layoutInflater.inflate(R.layout.fragment_advice, container, false)

tvQQ = root.findViewById(R.id.tv_qq)
tvGithub = root.findViewById(R.id.tv_github)

return root
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
tvQQ?.setOnClickListener {
copyToClipboard("567290278")
}

tvGithub?.setOnClickListener {
copyToClipboard("https://github.com/CofbroTeam/Doraemon")
}
}

private fun copyToClipboard(text: String) {
val clipboard: ClipboardManager? =
context?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager?
val clip = ClipData.newPlainText("qian", text)
clipboard?.setPrimaryClip(clip)
ToastUtils.show("已复制到系统剪切板")
}

}
8 changes: 8 additions & 0 deletions app/src/main/res/anim/dialog_slide_down.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="0"
android:toYDelta="100%p"/>
</set>
8 changes: 8 additions & 0 deletions app/src/main/res/anim/dialog_slide_up.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="100%p"
android:toYDelta="0"/>
</set>
7 changes: 7 additions & 0 deletions app/src/main/res/drawable/bottom_dialog_bg.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/white" />
<corners
android:topLeftRadius="16dp"
android:topRightRadius="16dp" />
</shape>
4 changes: 4 additions & 0 deletions app/src/main/res/layout/page/drawable/ic_github.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="1024"
android:viewportWidth="1024" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M0,525q0,166 95.5,298.5t247.5,185.5q6,1 10,1t6.5,-1.5 4,-3 2,-5 0.5,-5v-100.5q-37,4 -66,-0.5t-45.5,-14 -29,-23.5 -17,-25.5 -9,-24 -5.5,-14.5q-9,-15 -27,-27.5t-27,-20 -2,-14.5q50,-26 113,66 34,51 119,30 10,-41 40,-70Q294,736 238,671t-56,-158q0,-87 55,-151 -22,-65 6,-137 29,-2 65,11.5t50.5,23 25.5,17.5q57,-16 128.5,-16t129.5,16q13,-9 29,-19t49,-21.5 61,-9.5q27,71 7,135 56,64 56,151 0,93 -57,158.5t-172,85.5q43,43 43,104v129q0,1 1,3 0,6 0.5,9t4.5,6 12,3q153,-52 250.5,-185.5t97.5,-300.5q0,-104 -40.5,-199t-109,-163.5 -163.5,-109T512,13 313,53.5 149.5,162.5t-109,163.5 -40.5,199z"/>
</vector>
4 changes: 4 additions & 0 deletions app/src/main/res/layout/page/drawable/ic_qq.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="1024"
android:viewportWidth="1024" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#5F5F5F" android:pathData="M869.4,627.6c-18.3,-58.7 -39.3,-108.1 -71.7,-188.9C803,226.5 714.6,54.9 511.5,54.9c-205.5,0 -291.8,175.1 -286.3,383.9 -32.5,81 -53.4,130 -71.7,188.9C114.7,752.8 127.3,804.6 136.8,805.7c20.6,2.5 80.2,-94.2 80.2,-94.2 0,56 28.7,129 91.2,181.8 -30.2,9.2 -98,34.2 -81.9,61.4 13.1,22.1 224.3,14 285.3,7.2 60.9,6.8 272.1,14.8 285.1,-7.2 16.1,-27.2 -51.8,-52.2 -81.9,-61.4 62.5,-52.8 91.3,-125.8 91.3,-181.8 0,0 59.5,96.7 80.1,94.2 9.7,-1.3 22.3,-53 -16.6,-178.1z"/>
</vector>
4 changes: 4 additions & 0 deletions app/src/main/res/layout/page/drawable/ic_right.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<vector android:height="24dp" android:viewportHeight="1024"
android:viewportWidth="1024" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#3BA9F6" android:pathData="M512,1010.3c-274.9,0 -498.5,-223.6 -498.5,-498.3 0,-274.8 223.6,-498.3 498.5,-498.3 274.8,0 498.5,223.6 498.5,498.3 0,274.8 -223.6,498.3 -498.5,498.3zM801.1,320c-13.9,-13.8 -45.9,-21.4 -59.8,-7.4L442.2,611.7 282.7,452.2c-13.7,-14.1 -42.4,-2 -56.4,11.7 -14.1,13.7 -14.4,36.3 -0.7,50.3l190,193.9c0.1,0.1 0.2,0.1 0.3,0.2 0.1,0.1 0.1,0.2 0.2,0.3 2.2,2.2 5.1,3.6 7.7,5.1 1.4,0.8 2.5,1.9 3.9,2.5a35.8,35.8 0,0 0,13.4 2.6c4.5,0 9.1,-0.9 13.3,-2.6 1.4,-0.6 2.4,-1.8 3.8,-2.4 2.6,-1.5 5.4,-2.8 7.7,-5.1 0.1,-0.1 0.1,-0.2 0.2,-0.3 0.1,-0.1 0.2,-0.1 0.3,-0.2l334.9,-337.9c13.8,-13.9 13.6,-36.4 -0.3,-50.2zM801.1,320"/>
</vector>
147 changes: 147 additions & 0 deletions app/src/main/res/layout/page/layout/fragment_advice.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="700dp"
android:layout_gravity="bottom"
android:background="@drawable/bottom_dialog_bg">

<ImageView
android:id="@+id/iv_right"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginStart="16dp"
android:layout_marginTop="24dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_right" />

<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:text="@string/advice_title"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/iv_right"
app:layout_constraintStart_toEndOf="@+id/iv_right"
app:layout_constraintTop_toTopOf="@+id/iv_right" />

<TextView
android:id="@+id/textView10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="@string/advice_qq_title"
android:textColor="@color/black"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="@+id/iv_right"
app:layout_constraintTop_toBottomOf="@+id/iv_right" />

<TextView
android:id="@+id/textView11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/advice_qq_content"
android:textColor="@color/black"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView10"
app:layout_constraintTop_toBottomOf="@+id/textView10" />

<TextView
android:id="@+id/tv_qq"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/advice_qq_number"
android:textColor="@color/appColor"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@+id/textView11"
app:layout_constraintTop_toBottomOf="@+id/textView11" />

<TextView
android:id="@+id/textView13"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="@string/advice_github_title"
android:textColor="@color/black"
android:textSize="16sp"
app:layout_constraintStart_toStartOf="@+id/tv_qq"
app:layout_constraintTop_toBottomOf="@+id/tv_qq" />

<TextView
android:id="@+id/textView14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:text="@string/advice_github_content"
android:textColor="@color/black"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView13"
app:layout_constraintTop_toBottomOf="@+id/textView13" />

<TextView
android:id="@+id/tv_github"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/advice_github_number"
android:textColor="@color/appColor"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/textView14"
app:layout_constraintStart_toStartOf="@+id/textView14"
app:layout_constraintTop_toBottomOf="@+id/textView14" />

<TextView
android:id="@+id/textView16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="32dp"
android:text="@string/advice_tip"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/tv_github" />

<ImageView
android:id="@+id/imageView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toTopOf="@+id/textView16"
app:layout_constraintEnd_toStartOf="@+id/view5"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/ic_qq" />

<View
android:id="@+id/view5"
android:layout_width="1dp"
android:layout_height="24dp"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:background="#cccccc"
app:layout_constraintEnd_toStartOf="@+id/imageView8"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/imageView7"
app:layout_constraintTop_toTopOf="@+id/imageView7" />

<ImageView
android:id="@+id/imageView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/view5"
app:layout_constraintTop_toTopOf="@+id/imageView7"
app:srcCompat="@drawable/ic_github" />


</androidx.constraintlayout.widget.ConstraintLayout>
4 changes: 2 additions & 2 deletions app/src/main/res/layout/page/layout/fragment_profile.xml
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@
</androidx.constraintlayout.widget.ConstraintLayout>

<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout22"
android:id="@+id/advice"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="16dp"
Expand Down Expand Up @@ -231,7 +231,7 @@
android:background="@drawable/app_white_radius_bg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout22">
app:layout_constraintTop_toBottomOf="@+id/advice">

<ImageView
android:id="@+id/imageView21"
Expand Down
9 changes: 9 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,13 @@

<string name="add_file">添加附件</string>
<string name="submit_file">提 交</string>

<string name="advice_title">如何与我们取得联系?</string>
<string name="advice_qq_title">1. 我们拥有QQ群聊</string>
<string name="advice_qq_content">目前已经拥有 100+ 群友,在这里你可以发表任何关于技术或者使用体验方面的话题。无论您是否懂技术,欢迎随时加入我们!</string>
<string name="advice_qq_number">QQ群聊:567290278</string>
<string name="advice_github_title">2. Github当然必不可少</string>
<string name="advice_github_content">Github作为最出名的开源社区,当然不能少。如果您使用本软件的同时,恰好也喜欢技术,欢迎在fork后进行pr,或者您可以在issue中留下更好的建议!</string>
<string name="advice_github_number">Github地址:https://github.com/CofbroTeam/Doraemon</string>
<string name="advice_tip">点击蓝色字体可复制至剪切板</string>
</resources>
9 changes: 9 additions & 0 deletions app/src/main/res/values/themes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,13 @@
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/transparent</item>
</style>

<!-- 带动画的底部弹出dialog-->
<style name="BottomDialog" parent="android:Animation">
<item name="android:windowAnimationStyle">@style/BottomDialogAnimation</item>
</style>
<style name="BottomDialogAnimation">
<item name="android:windowEnterAnimation">@anim/dialog_slide_up</item>
<item name="android:windowExitAnimation">@anim/dialog_slide_down</item>
</style>
</resources>

0 comments on commit 71943bd

Please sign in to comment.