Commit 865913ca authored by wanglei's avatar wanglei

...

parent 938aa54d
...@@ -27,25 +27,39 @@ ...@@ -27,25 +27,39 @@
tools:targetApi="31"> tools:targetApi="31">
<activity <activity
android:name=".ui.email.EmailCodeActivity" android:name=".ui.email.EmailCodeActivity"
android:exported="false" /> android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.email.EmailActivity" android:name=".ui.email.EmailActivity"
android:exported="false" /> android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.text.TextCodeActivity" android:name=".ui.text.TextCodeActivity"
android:exported="false" /> android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.text.TextActivity" android:name=".ui.text.TextActivity"
android:exported="false" /> android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.wifi.WifiCodeActivity" android:name=".ui.wifi.WifiCodeActivity"
android:exported="false" /> android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.wifi.WifiActivity" android:name=".ui.wifi.WifiActivity"
android:exported="false" /> android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.main.MainActivity" android:name=".ui.main.MainActivity"
android:exported="true"> android:exported="true"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
......
...@@ -8,6 +8,7 @@ import com.base.scanqr.bean.EmailUIBean ...@@ -8,6 +8,7 @@ import com.base.scanqr.bean.EmailUIBean
import com.base.scanqr.databinding.ActivityEmailBinding import com.base.scanqr.databinding.ActivityEmailBinding
import com.base.scanqr.utils.BarUtils import com.base.scanqr.utils.BarUtils
import com.base.scanqr.utils.ToastUtils.toast import com.base.scanqr.utils.ToastUtils.toast
import com.google.gson.Gson
class EmailActivity : BaseActivity<ActivityEmailBinding>(ActivityEmailBinding::inflate) { class EmailActivity : BaseActivity<ActivityEmailBinding>(ActivityEmailBinding::inflate) {
...@@ -43,7 +44,9 @@ class EmailActivity : BaseActivity<ActivityEmailBinding>(ActivityEmailBinding::i ...@@ -43,7 +44,9 @@ class EmailActivity : BaseActivity<ActivityEmailBinding>(ActivityEmailBinding::i
email.address = binding.editAddress.text.toString() email.address = binding.editAddress.text.toString()
email.subject = binding.editSubject.text.toString() email.subject = binding.editSubject.text.toString()
email.message = binding.editMessage.text.toString() email.message = binding.editMessage.text.toString()
startActivity(Intent()) startActivity(Intent(this, EmailCodeActivity::class.java).apply {
putExtra("data", Gson().toJson(email))
})
} }
} }
} }
\ No newline at end of file
package com.base.scanqr.ui.email package com.base.scanqr.ui.email
import android.os.Environment
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import com.base.scanqr.R
import com.base.scanqr.base.BaseActivity import com.base.scanqr.base.BaseActivity
import com.base.scanqr.bean.EmailUIBean import com.base.scanqr.bean.EmailUIBean
import com.base.scanqr.databinding.ActivityEmailCodeBinding import com.base.scanqr.databinding.ActivityEmailCodeBinding
import com.base.scanqr.ui.widget.InputNameDialog.showInputNameDialog
import com.base.scanqr.utils.BarUtils
import com.base.scanqr.utils.BitmapUtils.saveBitmapToFile
import com.base.scanqr.utils.ClipboardUtils.copyText
import com.base.scanqr.utils.IntentUtils.intentShareImage
import com.base.scanqr.utils.LogEx
import com.base.scanqr.utils.QRCodeGenerator.generateQRCode
import com.base.scanqr.utils.ToastUtils.toast
import com.google.gson.Gson
import java.io.File
class EmailCodeActivity : BaseActivity<ActivityEmailCodeBinding>(ActivityEmailCodeBinding::inflate) { class EmailCodeActivity : BaseActivity<ActivityEmailCodeBinding>(ActivityEmailCodeBinding::inflate) {
private val email = EmailUIBean() private var email = EmailUIBean()
private var tempImage: String = ""
private var content: String = ""
override fun initView() { override fun initView() {
super.initView() super.initView()
binding.clTop.updatePadding(top = BarUtils.getStatusBarHeight())
val data = intent.extras?.getString("data")
email = Gson().fromJson(data, EmailUIBean::class.java)
binding.tvAddress.text = email.address
binding.tvSubject.text = email.subject
binding.tvMessage.text = email.message
val qrContent = StringBuilder()
qrContent.append("MATMSG:TO:").append(email.address).append(";")
qrContent.append("SUB:").append(email.subject).append(";")
qrContent.append("BODY:").append(email.message).append(";")
content = qrContent.toString()
Thread {
val bitmap = generateQRCode(content, 735, 735, 5)
runOnUiThread {
binding.ivQr.setImageBitmap(bitmap)
val file = File(cacheDir, System.currentTimeMillis().toString() + ".jpg")
bitmap?.let {
val flag = saveBitmapToFile(it, file.absolutePath)
LogEx.logDebug(TAG, "flag=$flag tempImage=${file.absolutePath}")
if (flag) {
tempImage = file.absolutePath
}
}
}
}.start()
} }
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
onBackPressedDispatcher.addCallback {
finishToMainTop()
}
binding.flBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.llShare.setOnClickListener {
val intent = intentShareImage(this, tempImage)
runCatching {
startActivity(intent)
}
}
binding.llPdf.setOnClickListener {
toast("没实现")
}
binding.llDownload.setOnClickListener {
kotlin.runCatching {
val appFile = File(
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),
this.resources.getString(R.string.app_name)
)
if (!appFile.exists()) appFile.mkdirs()
var newName = File(tempImage).name
showInputNameDialog(newName) { name ->
if (name.endsWith(".jpg")) {
name.also { newName = it }
} else {
newName = "$name.jpg"
}
val downFile = File(appFile, newName)
downFile.createNewFile()
File(tempImage).copyTo(downFile, true)
toast("Save to:${appFile.absolutePath}", true)
}
}
}
binding.llCopy.setOnClickListener {
copyText(TAG, content)
toast("Copied to clipboard", true)
}
binding.flSearch.setOnClickListener {
toast("没有做")
}
} }
} }
\ No newline at end of file
...@@ -7,4 +7,314 @@ ...@@ -7,4 +7,314 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".ui.email.EmailCodeActivity"> tools:context=".ui.email.EmailCodeActivity">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/fl_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/fanhui"
tools:ignore="ContentDescription" />
</FrameLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="@string/email"
android:textColor="@color/black"
android:textSize="19sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/fl_back"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/cl_top">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="195dp"
android:layout_height="195dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
app:cardCornerRadius="20dp"
app:cardElevation="5dp">
<ImageView
android:id="@+id/iv_qr"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:scaleType="fitXY"
tools:ignore="ContentDescription" />
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="15dp"
android:layout_marginBottom="8dp"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="15dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tv_address"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="14dp"
android:layout_marginTop="12dp"
android:textColor="@color/black"
android:textSize="14sp"
android:textStyle="bold"
tools:text="5869076328@qq.com" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="17dp"
android:src="@mipmap/youxiang"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_subject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="5dp"
android:textColor="@color/black"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="17dp"
android:src="@mipmap/xiaoxi"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tv_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="5dp"
android:textColor="@color/black"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginHorizontal="14dp"
android:layout_marginTop="8dp"
android:background="#E2E2E2" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="98dp"
android:layout_marginVertical="8dp"
app:layout_constraintBottom_toTopOf="@id/fl_search"
app:layout_constraintTop_toBottomOf="@id/ll_content"
tools:ignore="DisableBaselineAlignment">
<LinearLayout
android:id="@+id/ll_share"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/w_share"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="@string/share"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_pdf"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/w_export"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="@string/export_to_pdf"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_download"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/w_download"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="@string/download"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_copy"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:src="@mipmap/w_copy"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="8dp"
android:text="@string/copy"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/fl_search"
android:layout_width="171dp"
android:layout_height="30dp"
android:layout_marginBottom="12dp"
android:background="@drawable/bg_stroke_6473f8_90"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
tools:ignore="UseCompoundDrawables,UselessParent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:src="@mipmap/h_lianjie"
tools:ignore="ContentDescription" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="4dp"
android:includeFontPadding="false"
android:text="@string/search_on_the_web"
android:textColor="#6473F8"
android:textSize="11sp" />
</LinearLayout>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
<LinearLayout <LinearLayout
android:id="@+id/ll_content" android:id="@+id/ll_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="70dp" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment