Removed hardcoded screen orientation and redundant network state permission from manifest

This commit is contained in:
Arty Bishop committed 2021-04-14 18:31:57 +01:00
1 parent 7cfe44ed13
commit 046ec8ee8c
4 files changed
+12 -41

No files matched your search

@@ -17,13 +17,15 @@
*/
package com.rtbishop.look4sat.ui
import android.content.pm.ActivityInfo
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.setupWithNavController
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.utility.PrefsManager
import com.rtbishop.look4sat.databinding.ActivityMainBinding
import com.rtbishop.look4sat.utility.PrefsManager
import com.rtbishop.look4sat.utility.navigateSafe
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@@ -34,16 +36,16 @@ class Look4SatActivity : AppCompatActivity() {
lateinit var prefsManager: PrefsManager
override fun onCreate(savedInstanceState: Bundle?) {
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
setTheme(R.style.AppTheme)
super.onCreate(savedInstanceState)
ActivityMainBinding.inflate(layoutInflater).apply {
setContentView(root)
val navHost = supportFragmentManager.findFragmentById(R.id.nav_host) as NavHostFragment
navBottom.setupWithNavController(navHost.navController)
if (prefsManager.isFirstLaunch()) {
prefsManager.setFirstLaunchDone()
navHost.navController.navigate(R.id.nav_dialog_splash)
}
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val navHost = supportFragmentManager.findFragmentById(R.id.nav_host) as NavHostFragment
binding.navBottom.setupWithNavController(navHost.navController)
if (prefsManager.isFirstLaunch()) {
prefsManager.setFirstLaunchDone()
navHost.navController.navigateSafe(R.id.nav_dialog_splash)
}
}
}
@@ -17,11 +17,6 @@
*/
package com.rtbishop.look4sat.utility
import android.content.Context
import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.net.NetworkRequest
import android.os.Bundle
import androidx.annotation.IdRes
import androidx.fragment.app.Fragment
@@ -33,10 +28,6 @@ import androidx.navigation.Navigator
import androidx.navigation.fragment.findNavController
import com.github.amsacode.predict4java.GroundStationPosition
import com.github.amsacode.predict4java.Satellite
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
import java.util.concurrent.TimeUnit
import kotlin.math.max
import kotlin.math.min
@@ -111,22 +102,3 @@ fun <T> Fragment.getNavResult(@IdRes id: Int, key: String, onResult: (result: T)
}
})
}
@ExperimentalCoroutinesApi
fun Context.isNetworkAvailableFlow(): Flow<Boolean> = callbackFlow {
val callback = object : ConnectivityManager.NetworkCallback() {
override fun onAvailable(network: Network) {
offer(true)
}
override fun onLost(network: Network) {
offer(false)
}
}
val manager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
manager.registerNetworkCallback(NetworkRequest.Builder().run {
addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
build()
}, callback)
awaitClose { manager.unregisterNetworkCallback(callback) }
}