Commit 865913ca authored by wanglei's avatar wanglei

...

parent 938aa54d
......@@ -27,25 +27,39 @@
tools:targetApi="31">
<activity
android:name=".ui.email.EmailCodeActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.email.EmailActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.text.TextCodeActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.text.TextActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.wifi.WifiCodeActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.wifi.WifiActivity"
android:exported="false" />
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.main.MainActivity"
android:exported="true">
android:exported="true"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
......
......@@ -8,6 +8,7 @@ import com.base.scanqr.bean.EmailUIBean
import com.base.scanqr.databinding.ActivityEmailBinding
import com.base.scanqr.utils.BarUtils
import com.base.scanqr.utils.ToastUtils.toast
import com.google.gson.Gson
class EmailActivity : BaseActivity<ActivityEmailBinding>(ActivityEmailBinding::inflate) {
......@@ -43,7 +44,9 @@ class EmailActivity : BaseActivity<ActivityEmailBinding>(ActivityEmailBinding::i
email.address = binding.editAddress.text.toString()
email.subject = binding.editSubject.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
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.bean.EmailUIBean
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) {
private val email = EmailUIBean()
private var email = EmailUIBean()
private var tempImage: String = ""
private var content: String = ""
override fun 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() {
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
......@@ -90,7 +90,7 @@
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_height="wrap_content"
android:orientation="vertical"
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