Compare commits

..

2 commits

Author SHA1 Message Date
e8eeb9e53d Make naming consistent 2022-05-02 21:30:13 -04:00
fb1f698398 Make TelephonyManager and EuiccChannelManager lazy 2022-05-02 21:29:21 -04:00
6 changed files with 30 additions and 14 deletions

View file

@ -11,7 +11,7 @@
<uses-permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION" />
<application
android:name=".OpenEUICCApplication"
android:name=".OpenEuiccApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"

View file

@ -1,8 +0,0 @@
package im.angry.openeuicc
import android.app.Application
import im.angry.openeuicc.core.EuiccChannelManager
class OpenEUICCApplication : Application() {
val euiccChannelManager = EuiccChannelManager(this)
}

View file

@ -0,0 +1,15 @@
package im.angry.openeuicc
import android.app.Application
import android.telephony.TelephonyManager
import im.angry.openeuicc.core.EuiccChannelManager
class OpenEuiccApplication : Application() {
val telephonyManager by lazy {
getSystemService(TelephonyManager::class.java)!!
}
val euiccChannelManager by lazy {
EuiccChannelManager(this)
}
}

View file

@ -2,9 +2,9 @@ package im.angry.openeuicc.ui
import android.os.Bundle
import androidx.fragment.app.Fragment
import im.angry.openeuicc.OpenEUICCApplication
import im.angry.openeuicc.core.EuiccChannel
import im.angry.openeuicc.core.EuiccChannelManager
import im.angry.openeuicc.util.openEuiccApplication
interface EuiccFragmentMarker
@ -20,7 +20,7 @@ val <T> T.slotId: Int where T: Fragment, T: EuiccFragmentMarker
get() = requireArguments().getInt("slotId")
val <T> T.euiccChannelManager: EuiccChannelManager where T: Fragment, T: EuiccFragmentMarker
get() = (requireActivity().application as OpenEUICCApplication).euiccChannelManager
get() = openEuiccApplication.euiccChannelManager
val <T> T.channel: EuiccChannel where T: Fragment, T: EuiccFragmentMarker
get() =

View file

@ -12,11 +12,11 @@ import android.widget.Spinner
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import im.angry.openeuicc.OpenEUICCApplication
import im.angry.openeuicc.R
import im.angry.openeuicc.core.EuiccChannelManager
import im.angry.openeuicc.databinding.ActivityMainBinding
import im.angry.openeuicc.util.dsdsEnabled
import im.angry.openeuicc.util.openEuiccApplication
import im.angry.openeuicc.util.supportsDSDS
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@ -43,9 +43,9 @@ class MainActivity : AppCompatActivity() {
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
tm = getSystemService(TelephonyManager::class.java)
tm = openEuiccApplication.telephonyManager
manager = (application as OpenEUICCApplication).euiccChannelManager
manager = openEuiccApplication.euiccChannelManager
spinnerAdapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item)

View file

@ -1,9 +1,18 @@
package im.angry.openeuicc.util
import android.app.Activity
import android.content.res.Resources
import android.graphics.Rect
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment
import im.angry.openeuicc.OpenEuiccApplication
val Activity.openEuiccApplication: OpenEuiccApplication
get() = application as OpenEuiccApplication
val Fragment.openEuiccApplication: OpenEuiccApplication
get() = requireActivity().openEuiccApplication
// Source: <https://stackoverflow.com/questions/12478520/how-to-set-dialogfragments-width-and-height>
/**