|
@@ -13,6 +13,10 @@ import androidx.core.content.ContextCompat
|
|
|
import androidx.core.content.FileProvider.getUriForFile
|
|
import androidx.core.content.FileProvider.getUriForFile
|
|
|
import androidx.fragment.app.Fragment
|
|
import androidx.fragment.app.Fragment
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
|
|
+import coil3.ImageLoader
|
|
|
|
|
+import coil3.request.ImageRequest
|
|
|
|
|
+import coil3.request.crossfade
|
|
|
|
|
+import coil3.toBitmap
|
|
|
import com.example.modifier.BuildConfig
|
|
import com.example.modifier.BuildConfig
|
|
|
import com.example.modifier.Frida
|
|
import com.example.modifier.Frida
|
|
|
import com.example.modifier.R
|
|
import com.example.modifier.R
|
|
@@ -27,7 +31,10 @@ import com.example.modifier.databinding.FragmentUtilsBinding
|
|
|
import com.example.modifier.extension.kill
|
|
import com.example.modifier.extension.kill
|
|
|
import com.example.modifier.http.ktorClient
|
|
import com.example.modifier.http.ktorClient
|
|
|
import com.example.modifier.http.api.SysConfigApi
|
|
import com.example.modifier.http.api.SysConfigApi
|
|
|
|
|
+import com.example.modifier.http.downloadImage
|
|
|
import com.example.modifier.http.response.SysConfigResponse
|
|
import com.example.modifier.http.response.SysConfigResponse
|
|
|
|
|
+import com.example.modifier.service.TaskRunner
|
|
|
|
|
+import com.example.modifier.service.TaskRunner.Companion
|
|
|
import com.example.modifier.utils.clear
|
|
import com.example.modifier.utils.clear
|
|
|
import com.example.modifier.utils.clearConv
|
|
import com.example.modifier.utils.clearConv
|
|
|
import com.example.modifier.utils.killPhoneProcess
|
|
import com.example.modifier.utils.killPhoneProcess
|
|
@@ -60,6 +67,11 @@ class UtilsFragment : Fragment() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private lateinit var binding: FragmentUtilsBinding
|
|
private lateinit var binding: FragmentUtilsBinding
|
|
|
|
|
+ private val imageLoader by lazy {
|
|
|
|
|
+ ImageLoader.Builder(requireContext())
|
|
|
|
|
+ .crossfade(true)
|
|
|
|
|
+ .build()
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
override fun onCreateView(
|
|
override fun onCreateView(
|
|
|
inflater: LayoutInflater, container: ViewGroup?,
|
|
inflater: LayoutInflater, container: ViewGroup?,
|
|
@@ -271,25 +283,33 @@ class UtilsFragment : Fragment() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
binding.btnSendImg.setOnClickListener {
|
|
binding.btnSendImg.setOnClickListener {
|
|
|
- val intent = Intent(Intent.ACTION_SENDTO)
|
|
|
|
|
- intent.data = Uri.parse("sms:+18583199738")
|
|
|
|
|
- intent.putExtra("exit_on_sent", true)
|
|
|
|
|
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
|
|
|
|
- intent.setPackage(PACKAGE_MESSAGING)
|
|
|
|
|
|
|
+ lifecycleScope.launch {
|
|
|
|
|
+ withContext(Dispatchers.IO) {
|
|
|
|
|
+ val file =
|
|
|
|
|
+ downloadImage("https://nebuai.oss-cn-hangzhou.aliyuncs.com/image/20241112/l57qnhga.jpg")
|
|
|
|
|
+ Log.i(TAG, "file: ${file.path}")
|
|
|
|
|
+ val intent = Intent(Intent.ACTION_SENDTO)
|
|
|
|
|
+ intent.data = Uri.parse("sms:+18583199738")
|
|
|
|
|
+ intent.putExtra("exit_on_sent", true)
|
|
|
|
|
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
|
|
|
|
+ intent.setPackage(PACKAGE_MESSAGING)
|
|
|
|
|
|
|
|
- val context = com.example.modifier.utils.getContext()
|
|
|
|
|
- val imagePath: File = ContextCompat.getExternalFilesDirs(context, "images")[0]
|
|
|
|
|
- val newFile = File(imagePath, "1.jpg")
|
|
|
|
|
- val contentUri: Uri =
|
|
|
|
|
- getUriForFile(com.example.modifier.utils.getContext(), "${BuildConfig.APPLICATION_ID}.fileprovider", newFile)
|
|
|
|
|
- intent.putExtra(Intent.EXTRA_STREAM, contentUri)
|
|
|
|
|
- Log.i(TAG, "contentUri: ${contentUri}")
|
|
|
|
|
- requireContext().grantUriPermission(
|
|
|
|
|
- PACKAGE_MESSAGING,
|
|
|
|
|
- contentUri,
|
|
|
|
|
- Intent.FLAG_GRANT_READ_URI_PERMISSION
|
|
|
|
|
- )
|
|
|
|
|
- startActivity(intent)
|
|
|
|
|
|
|
+ val contentUri: Uri =
|
|
|
|
|
+ getUriForFile(
|
|
|
|
|
+ com.example.modifier.utils.getContext(),
|
|
|
|
|
+ "${BuildConfig.APPLICATION_ID}.fileprovider",
|
|
|
|
|
+ file
|
|
|
|
|
+ )
|
|
|
|
|
+ intent.putExtra(Intent.EXTRA_STREAM, contentUri)
|
|
|
|
|
+ Log.i(TAG, "contentUri: ${contentUri}")
|
|
|
|
|
+ requireContext().grantUriPermission(
|
|
|
|
|
+ PACKAGE_MESSAGING,
|
|
|
|
|
+ contentUri,
|
|
|
|
|
+ Intent.FLAG_GRANT_READ_URI_PERMISSION
|
|
|
|
|
+ )
|
|
|
|
|
+ startActivity(intent)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return binding.root
|
|
return binding.root
|