Commit 4cbfe6ca authored by wanglei's avatar wanglei

...

parent e21a282f
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
...@@ -168,55 +167,46 @@ ...@@ -168,55 +167,46 @@
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".luma.CleanJunkActivity" android:name=".luma.CleanJunkActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".ui.main.ScanAc" android:name=".ui.main.ScanAc"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".luma.CleanResultActivity" android:name=".luma.CleanResultActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".luma.AppProcessActivity" android:name=".luma.AppProcessActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".luma.ScreenshotCleanActivity" android:name=".luma.ScreenshotCleanActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".luma.SimilarPhotosActivity" android:name=".luma.SimilarPhotosActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".luma.WhatsappCleanActivity" android:name=".luma.WhatsappCleanActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".luma.WhatsappCleanDetailActivity" android:name=".luma.WhatsappCleanDetailActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity <activity
android:name=".luma.WeatherInterface" android:name=".luma.WeatherInterface"
android:exported="false" android:exported="false"
...@@ -228,6 +218,11 @@ ...@@ -228,6 +218,11 @@
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.exportpdf.ExportPdfActivity"
android:exported="false"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
......
...@@ -11,6 +11,7 @@ class FunctionUIBean( ...@@ -11,6 +11,7 @@ class FunctionUIBean(
var isPlaying: Boolean = false var isPlaying: Boolean = false
companion object { companion object {
const val KEY_SCAN = "key_scan"
const val KEY_WIFI = "key_wifi" const val KEY_WIFI = "key_wifi"
const val KEY_TEXT = "key_text" const val KEY_TEXT = "key_text"
const val KEY_EMAIL = "key_email" const val KEY_EMAIL = "key_email"
......
package com.base.scanqrclear.ui.exportpdf
import android.annotation.SuppressLint
import android.view.Gravity
import android.widget.LinearLayout
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import com.base.scanqrclear.R
import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.base.BaseActivity
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_PRODUCT
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_TEXT
import com.base.scanqrclear.databinding.ActivityExportPdfBinding
import com.base.scanqrclear.utils.BarUtils
import com.base.scanqrclear.utils.QRCodeUtils
import com.base.scanqrclear.utils.QRCodeUtils.generateQRCode
import com.gyf.immersionbar.ktx.immersionBar
class ExportPdfActivity : BaseActivity<ActivityExportPdfBinding>(ActivityExportPdfBinding::inflate) {
private var qrType: String = KEY_TEXT
private var qrString: String = ""
@SuppressLint("SetTextI18n")
override fun initView() {
super.initView()
binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
qrType = intent.extras?.getString("qrType", "") ?: ""
qrString = intent.extras?.getString("qrString", "") ?: ""
AdsMgr.showBanner(binding.flBanner, false)
when (qrType) {
KEY_TEXT -> {
binding.tvQrType.text = "QR_TEXT"
binding.tvQr.text = qrString
generateQRCode()
}
KEY_PRODUCT -> {
binding.tvQrType.text = "QR_PRODUCT"
binding.tvQr.text = qrString
val newWidth = this.resources.getDimensionPixelSize(R.dimen.dp_260)
val newHeight = this.resources.getDimensionPixelSize(R.dimen.dp_155)
val layoutParams: LinearLayout.LayoutParams = LinearLayout.LayoutParams(newWidth, newHeight)
layoutParams.gravity = Gravity.CENTER_HORIZONTAL
binding.ivQr.setLayoutParams(layoutParams)
generateEAN13Barcode()
}
}
}
fun generateQRCode() {
Thread {
val bitmap = generateQRCode(qrString, 735, 735, 5)
runOnUiThread { binding.ivQr.setImageBitmap(bitmap) }
}.start()
}
fun generateEAN13Barcode() {
Thread {
val bitmap = QRCodeUtils.generateEAN13Barcode(qrString, 648, 255)
runOnUiThread { binding.ivQr.setImageBitmap(bitmap) }
}.start()
}
override fun initListener() {
super.initListener()
onBackPressedDispatcher.addCallback {
finishToMainTop()
}
binding.flBack.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
binding.tvSave.setOnClickListener {
}
}
override fun configSystemBar() {
immersionBar {
statusBarColor("#FFFFFFFF")
statusBarDarkFont(false)
// navigationBarDarkIcon(true)
// fitsSystemWindows(true)
// navigationBarColor("#FFFFFFFF")
}
}
}
\ No newline at end of file
...@@ -15,6 +15,7 @@ import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_CONTACT ...@@ -15,6 +15,7 @@ import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_CONTACT
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_EMAIL import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_EMAIL
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_EVENT import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_EVENT
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_MESSAGE import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_MESSAGE
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_SCAN
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_TELEPHONE import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_TELEPHONE
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_TEXT import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_TEXT
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_WEBSITE import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_WEBSITE
...@@ -46,6 +47,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding ...@@ -46,6 +47,7 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
private val functions by lazy(LazyThreadSafetyMode.NONE) { private val functions by lazy(LazyThreadSafetyMode.NONE) {
listOf( listOf(
FunctionUIBean(KEY_SCAN, R.mipmap.h_scan, resources.getString(R.string.scan)),
FunctionUIBean(KEY_WIFI, R.mipmap.h_wifi, resources.getString(R.string.wifi)), FunctionUIBean(KEY_WIFI, R.mipmap.h_wifi, resources.getString(R.string.wifi)),
FunctionUIBean(KEY_TEXT, R.mipmap.h_text, resources.getString(R.string.text)), FunctionUIBean(KEY_TEXT, R.mipmap.h_text, resources.getString(R.string.text)),
FunctionUIBean(KEY_EMAIL, R.mipmap.h_email, resources.getString(R.string.email)), FunctionUIBean(KEY_EMAIL, R.mipmap.h_email, resources.getString(R.string.email)),
...@@ -146,6 +148,10 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding ...@@ -146,6 +148,10 @@ class CreateFragment : BaseFragment<FragmentCreateBinding>(FragmentCreateBinding
AppPreferences.getInstance().put("${key}_guide", false) AppPreferences.getInstance().put("${key}_guide", false)
} }
when (key) { when (key) {
KEY_SCAN -> {
startActivity(Intent(requireContext(), ScanAc::class.java))
}
KEY_WIFI -> { KEY_WIFI -> {
startActivity(Intent(requireContext(), WifiActivity::class.java)) startActivity(Intent(requireContext(), WifiActivity::class.java))
} }
......
...@@ -12,9 +12,12 @@ import com.base.scanqrclear.ads.AdsMgr ...@@ -12,9 +12,12 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.base.BaseActivity import com.base.scanqrclear.base.BaseActivity
import com.base.scanqrclear.bean.FunctionUIBean import com.base.scanqrclear.bean.FunctionUIBean
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_PRODUCT
import com.base.scanqrclear.bean.ProductUIBean import com.base.scanqrclear.bean.ProductUIBean
import com.base.scanqrclear.bean.config.AdConfigBean import com.base.scanqrclear.bean.config.AdConfigBean
import com.base.scanqrclear.databinding.ActivityProductCodeBinding import com.base.scanqrclear.databinding.ActivityProductCodeBinding
import com.base.scanqrclear.ui.exportpdf.ExportPdfActivity
import com.base.scanqrclear.ui.text.TextCodeActivity
import com.base.scanqrclear.ui.vm.QrViewModel import com.base.scanqrclear.ui.vm.QrViewModel
import com.base.scanqrclear.ui.widget.InputNameDialog.showInputNameDialog import com.base.scanqrclear.ui.widget.InputNameDialog.showInputNameDialog
import com.base.scanqrclear.utils.BarUtils import com.base.scanqrclear.utils.BarUtils
...@@ -156,6 +159,12 @@ class ProductCodeActivity : BaseActivity<ActivityProductCodeBinding>(ActivityPro ...@@ -156,6 +159,12 @@ class ProductCodeActivity : BaseActivity<ActivityProductCodeBinding>(ActivityPro
} }
} }
binding.llPdf.setOnClickListener {
startActivity(Intent(this, ExportPdfActivity::class.java).apply {
putExtra("qrType", KEY_PRODUCT)
putExtra("qrString", qrString)
})
}
} }
fun useDownload() { fun useDownload() {
...@@ -167,7 +176,7 @@ class ProductCodeActivity : BaseActivity<ActivityProductCodeBinding>(ActivityPro ...@@ -167,7 +176,7 @@ class ProductCodeActivity : BaseActivity<ActivityProductCodeBinding>(ActivityPro
} }
} }
fun useSearch(){ fun useSearch() {
val intent = Intent(Intent.ACTION_VIEW) val intent = Intent(Intent.ACTION_VIEW)
intent.setData(Uri.parse("https://www.google.com/search?q=${productUIBean.content}")) intent.setData(Uri.parse("https://www.google.com/search?q=${productUIBean.content}"))
......
...@@ -12,9 +12,11 @@ import com.base.scanqrclear.ads.AdsMgr ...@@ -12,9 +12,11 @@ import com.base.scanqrclear.ads.AdsMgr
import com.base.scanqrclear.ads.AdsShowCallBack import com.base.scanqrclear.ads.AdsShowCallBack
import com.base.scanqrclear.base.BaseActivity import com.base.scanqrclear.base.BaseActivity
import com.base.scanqrclear.bean.FunctionUIBean import com.base.scanqrclear.bean.FunctionUIBean
import com.base.scanqrclear.bean.FunctionUIBean.Companion.KEY_TEXT
import com.base.scanqrclear.bean.TextUIBean import com.base.scanqrclear.bean.TextUIBean
import com.base.scanqrclear.bean.config.AdConfigBean import com.base.scanqrclear.bean.config.AdConfigBean
import com.base.scanqrclear.databinding.ActivityTextCodeBinding import com.base.scanqrclear.databinding.ActivityTextCodeBinding
import com.base.scanqrclear.ui.exportpdf.ExportPdfActivity
import com.base.scanqrclear.ui.vm.QrViewModel import com.base.scanqrclear.ui.vm.QrViewModel
import com.base.scanqrclear.ui.widget.InputNameDialog.showInputNameDialog import com.base.scanqrclear.ui.widget.InputNameDialog.showInputNameDialog
import com.base.scanqrclear.utils.BarUtils import com.base.scanqrclear.utils.BarUtils
...@@ -108,7 +110,10 @@ class TextCodeActivity : BaseActivity<ActivityTextCodeBinding>(ActivityTextCodeB ...@@ -108,7 +110,10 @@ class TextCodeActivity : BaseActivity<ActivityTextCodeBinding>(ActivityTextCodeB
} }
} }
binding.llPdf.setOnClickListener { binding.llPdf.setOnClickListener {
toast("没实现") startActivity(Intent(this, ExportPdfActivity::class.java).apply {
putExtra("qrType", KEY_TEXT)
putExtra("qrString", qrString)
})
} }
binding.llDownload.setOnClickListener { binding.llDownload.setOnClickListener {
if (AdConfigBean.adsConfigBean.functionUseShowAd) { if (AdConfigBean.adsConfigBean.functionUseShowAd) {
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="-90"
android:endColor="#6672F7"
android:startColor="#8559EA" />
<corners android:radius="10dp" />
</shape>
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<!-- <stroke--> <!-- <stroke-->
<!-- android:width="1px"--> <!-- android:width="1px"-->
<!-- android:color="#FF3835" />--> <!-- android:color="#FF3835" />-->
<solid android:color="#42FFFFFF" /> <solid android:color="#ffffff" />
<corners android:radius="80dp" /> <corners android:radius="80dp" />
</shape> </shape>
</item> </item>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<scale android:scaleWidth="100%"> <scale android:scaleWidth="100%">
<shape> <shape>
<corners android:radius="80dp" /> <corners android:radius="80dp" />
<solid android:color="#ffffff" /> <solid android:color="#5CCBFF" />
</shape> </shape>
</scale> </scale>
</item> </item>
......
<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff">
<FrameLayout
android:id="@+id/flBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
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:id="@+id/tvSave"
android:layout_width="80dp"
android:layout_height="36dp"
android:layout_marginEnd="10dp"
android:background="@drawable/bg_8559ea_6672f7_10"
android:gravity="center"
android:text="@string/save"
android:textColor="#ffffff"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="@id/flBack"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/flBack" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/tvQrType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textColor="#000000"
android:textSize="18sp"
android:textStyle="bold"
tools:text="QR_PRODUCT" />
<ImageView
android:id="@+id/ivQr"
android:layout_width="195dp"
android:layout_height="195dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/tvQr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp"
android:textColor="#000000"
android:textSize="16sp"
tools:text="6922858201399" />
</LinearLayout>
<FrameLayout
android:id="@+id/flBanner"
android:layout_width="match_parent"
android:layout_height="60dp"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -210,7 +210,6 @@ ...@@ -210,7 +210,6 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:orientation="vertical" android:orientation="vertical"
android:visibility="gone"
tools:ignore="UseCompoundDrawables"> tools:ignore="UseCompoundDrawables">
<ImageView <ImageView
......
...@@ -209,7 +209,6 @@ ...@@ -209,7 +209,6 @@
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:orientation="vertical" android:orientation="vertical"
android:visibility="gone"
tools:ignore="UseCompoundDrawables"> tools:ignore="UseCompoundDrawables">
<ImageView <ImageView
......
...@@ -30,4 +30,6 @@ ...@@ -30,4 +30,6 @@
<dimen name="dp_114">114dp</dimen> <dimen name="dp_114">114dp</dimen>
<dimen name="fab_margin">16dp</dimen> <dimen name="fab_margin">16dp</dimen>
<dimen name="dp_5">5dp</dimen> <dimen name="dp_5">5dp</dimen>
<dimen name="dp_260">260dp</dimen>
<dimen name="dp_155">155dp</dimen>
</resources> </resources>
\ No newline at end of file
...@@ -255,5 +255,6 @@ ...@@ -255,5 +255,6 @@
<string name="screen_pop">Clear screenshot clutter to free up space!</string> <string name="screen_pop">Clear screenshot clutter to free up space!</string>
<string name="similar_pop">Clear similar file to free up space!</string> <string name="similar_pop">Clear similar file to free up space!</string>
<string name="zodiac">Zodiac</string> <string name="zodiac">Zodiac</string>
<string name="save">Save</string>
</resources> </resources>
\ No newline at end of file
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