[1/n] Remove dependency on databinding
This is not going to work with AOSP
This commit is contained in:
parent
a85546b9aa
commit
83fc7ac7ab
|
@ -14,7 +14,6 @@ import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import im.angry.openeuicc.R
|
import im.angry.openeuicc.R
|
||||||
import im.angry.openeuicc.core.EuiccChannelManager
|
import im.angry.openeuicc.core.EuiccChannelManager
|
||||||
import im.angry.openeuicc.databinding.ActivityMainBinding
|
|
||||||
import im.angry.openeuicc.util.*
|
import im.angry.openeuicc.util.*
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
@ -32,14 +31,14 @@ class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private val fragments = arrayListOf<EuiccManagementFragment>()
|
private val fragments = arrayListOf<EuiccManagementFragment>()
|
||||||
|
|
||||||
private lateinit var binding: ActivityMainBinding
|
private lateinit var noEuiccPlaceholder: View
|
||||||
|
|
||||||
private lateinit var tm: TelephonyManager
|
private lateinit var tm: TelephonyManager
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
setContentView(R.layout.activity_main)
|
||||||
setContentView(binding.root)
|
noEuiccPlaceholder = findViewById(R.id.no_euicc_placeholder)
|
||||||
|
|
||||||
tm = openEuiccApplication.telephonyManager
|
tm = openEuiccApplication.telephonyManager
|
||||||
|
|
||||||
|
@ -108,7 +107,7 @@ class MainActivity : AppCompatActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fragments.isNotEmpty()) {
|
if (fragments.isNotEmpty()) {
|
||||||
binding.noEuiccPlaceholder.visibility = View.GONE
|
noEuiccPlaceholder.visibility = View.GONE
|
||||||
supportFragmentManager.beginTransaction().replace(R.id.fragment_root, fragments.first()).commit()
|
supportFragmentManager.beginTransaction().replace(R.id.fragment_root, fragments.first()).commit()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,15 +4,16 @@ import android.app.Dialog
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.*
|
import android.view.*
|
||||||
|
import android.widget.ProgressBar
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
|
import com.google.android.material.textfield.TextInputLayout
|
||||||
import com.journeyapps.barcodescanner.ScanContract
|
import com.journeyapps.barcodescanner.ScanContract
|
||||||
import com.journeyapps.barcodescanner.ScanOptions
|
import com.journeyapps.barcodescanner.ScanOptions
|
||||||
import com.truphone.lpa.progress.DownloadProgress
|
import com.truphone.lpa.progress.DownloadProgress
|
||||||
import im.angry.openeuicc.R
|
import im.angry.openeuicc.R
|
||||||
import im.angry.openeuicc.databinding.FragmentProfileDownloadBinding
|
|
||||||
import im.angry.openeuicc.util.setWidthPercent
|
import im.angry.openeuicc.util.setWidthPercent
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
@ -27,8 +28,10 @@ class ProfileDownloadFragment : DialogFragment(), EuiccFragmentMarker, Toolbar.O
|
||||||
newInstanceEuicc(ProfileDownloadFragment::class.java, slotId)
|
newInstanceEuicc(ProfileDownloadFragment::class.java, slotId)
|
||||||
}
|
}
|
||||||
|
|
||||||
private var _binding: FragmentProfileDownloadBinding? = null
|
private lateinit var toolbar: Toolbar
|
||||||
private val binding get() = _binding!!
|
private lateinit var profileDownloadServer: TextInputLayout
|
||||||
|
private lateinit var profileDownloadCode: TextInputLayout
|
||||||
|
private lateinit var progress: ProgressBar
|
||||||
|
|
||||||
private var downloading = false
|
private var downloading = false
|
||||||
|
|
||||||
|
@ -37,8 +40,8 @@ class ProfileDownloadFragment : DialogFragment(), EuiccFragmentMarker, Toolbar.O
|
||||||
Log.d(TAG, content)
|
Log.d(TAG, content)
|
||||||
val components = content.split("$")
|
val components = content.split("$")
|
||||||
if (components.size < 3 || components[0] != "LPA:1") return@registerForActivityResult
|
if (components.size < 3 || components[0] != "LPA:1") return@registerForActivityResult
|
||||||
binding.profileDownloadServer.editText?.setText(components[1])
|
profileDownloadServer.editText?.setText(components[1])
|
||||||
binding.profileDownloadCode.editText?.setText(components[2])
|
profileDownloadCode.editText?.setText(components[2])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,14 +50,19 @@ class ProfileDownloadFragment : DialogFragment(), EuiccFragmentMarker, Toolbar.O
|
||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
_binding = FragmentProfileDownloadBinding.inflate(inflater, container, false)
|
val view = inflater.inflate(R.layout.fragment_profile_download, container, false)
|
||||||
binding.toolbar.inflateMenu(R.menu.fragment_profile_download)
|
|
||||||
return binding.root
|
toolbar = view.findViewById(R.id.toolbar)
|
||||||
|
profileDownloadServer = view.findViewById(R.id.profile_download_server)
|
||||||
|
profileDownloadCode = view.findViewById(R.id.profile_download_code)
|
||||||
|
progress = view.findViewById(R.id.progress)
|
||||||
|
|
||||||
|
return view
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
binding.toolbar.apply {
|
toolbar.apply {
|
||||||
setTitle(R.string.profile_download)
|
setTitle(R.string.profile_download)
|
||||||
setNavigationOnClickListener {
|
setNavigationOnClickListener {
|
||||||
if (!downloading) dismiss()
|
if (!downloading) dismiss()
|
||||||
|
@ -92,7 +100,7 @@ class ProfileDownloadFragment : DialogFragment(), EuiccFragmentMarker, Toolbar.O
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun startDownloadProfile() {
|
private fun startDownloadProfile() {
|
||||||
val server = binding.profileDownloadServer.editText!!.let {
|
val server = profileDownloadServer.editText!!.let {
|
||||||
it.text.toString().trim().apply {
|
it.text.toString().trim().apply {
|
||||||
if (isEmpty()) {
|
if (isEmpty()) {
|
||||||
it.requestFocus()
|
it.requestFocus()
|
||||||
|
@ -101,15 +109,15 @@ class ProfileDownloadFragment : DialogFragment(), EuiccFragmentMarker, Toolbar.O
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val code = binding.profileDownloadCode.editText!!.text.toString().trim()
|
val code = profileDownloadCode.editText!!.text.toString().trim()
|
||||||
|
|
||||||
downloading = true
|
downloading = true
|
||||||
|
|
||||||
binding.profileDownloadServer.editText!!.isEnabled = false
|
profileDownloadServer.editText!!.isEnabled = false
|
||||||
binding.profileDownloadCode.editText!!.isEnabled = false
|
profileDownloadCode.editText!!.isEnabled = false
|
||||||
|
|
||||||
binding.progress.isIndeterminate = true
|
progress.isIndeterminate = true
|
||||||
binding.progress.visibility = View.VISIBLE
|
progress.visibility = View.VISIBLE
|
||||||
|
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
try {
|
try {
|
||||||
|
@ -130,8 +138,8 @@ class ProfileDownloadFragment : DialogFragment(), EuiccFragmentMarker, Toolbar.O
|
||||||
private suspend fun doDownloadProfile(server: String, code: String) = withContext(Dispatchers.IO) {
|
private suspend fun doDownloadProfile(server: String, code: String) = withContext(Dispatchers.IO) {
|
||||||
channel.lpa.downloadProfile("1\$${server}\$${code}", channel.imei, DownloadProgress().apply {
|
channel.lpa.downloadProfile("1\$${server}\$${code}", channel.imei, DownloadProgress().apply {
|
||||||
setProgressListener { _, _, percentage, _ ->
|
setProgressListener { _, _, percentage, _ ->
|
||||||
binding.progress.isIndeterminate = false
|
progress.isIndeterminate = false
|
||||||
binding.progress.progress = (percentage * 100).toInt()
|
progress.progress = (percentage * 100).toInt()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue