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
...@@ -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