diff --git a/app/src/main/java/top/fumiama/copymanga/MainActivity.kt b/app/src/main/java/top/fumiama/copymanga/MainActivity.kt index 7ce7c32..fa59b26 100644 --- a/app/src/main/java/top/fumiama/copymanga/MainActivity.kt +++ b/app/src/main/java/top/fumiama/copymanga/MainActivity.kt @@ -64,7 +64,7 @@ class MainActivity : AppCompatActivity() { private lateinit var appBarConfiguration: AppBarConfiguration private lateinit var headPic: File - private lateinit var toolsBox: UITools + lateinit var toolsBox: UITools private var latestDestination = 0 private var isMenuWaiting = false diff --git a/app/src/main/java/top/fumiama/copymanga/tools/api/UITools.kt b/app/src/main/java/top/fumiama/copymanga/tools/api/UITools.kt index 53d5ddb..59f6f57 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/api/UITools.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/api/UITools.kt @@ -15,21 +15,28 @@ class UITools(that: Context?, w: WeakReference? = null) { private val zis = that private val weak = w constructor(w: WeakReference): this(w.get()?.applicationContext, w) - val netinfo: String + val transportStringNull = zis?.getString(R.string.TRANSPORT_NULL) ?: "TRANSPORT_NULL" + val transportStringError = zis?.getString(R.string.TRANSPORT_ERROR) ?: "TRANSPORT_ERROR" + val netInfo: String get() { val cm: ConnectivityManager = zis?.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager return cm.getNetworkCapabilities(cm.activeNetwork)?.let { when { - it.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> return@let "WIFI" - it.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> return@let "移动数据" - it.hasTransport(NetworkCapabilities.TRANSPORT_WIFI_AWARE) -> return@let "WIFI_AWARE" - it.hasTransport(NetworkCapabilities.TRANSPORT_BLUETOOTH) -> return@let "蓝牙" - it.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> return@let "以太网" - it.hasTransport(NetworkCapabilities.TRANSPORT_LOWPAN) -> return@let "LOWPAN" - else -> return@let "无网络" + it.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> return@let zis.getString( + R.string.TRANSPORT_WIFI) + it.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> return@let zis.getString( + R.string.TRANSPORT_CELLULAR) + it.hasTransport(NetworkCapabilities.TRANSPORT_BLUETOOTH) -> return@let zis.getString( + R.string.TRANSPORT_BLUETOOTH) + it.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> return@let zis.getString( + R.string.TRANSPORT_ETHERNET) + it.hasTransport(NetworkCapabilities.TRANSPORT_LOWPAN) -> return@let zis.getString( + R.string.TRANSPORT_LOWPAN) + it.hasTransport(NetworkCapabilities.TRANSPORT_VPN) -> return@let "VPN" + else -> return@let transportStringNull } - } ?: "错误" + } ?: transportStringError } fun toastError(s: String, willFinish: Boolean = true) { Toast.makeText(zis, s, Toast.LENGTH_SHORT).show() diff --git a/app/src/main/java/top/fumiama/copymanga/ui/home/HomeFragment.kt b/app/src/main/java/top/fumiama/copymanga/ui/home/HomeFragment.kt index fa80cba..6a60145 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/home/HomeFragment.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/home/HomeFragment.kt @@ -135,10 +135,14 @@ class HomeFragment : NoBackRefreshFragment(R.layout.fragment_home) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - val l = MainActivity.member?.refreshAvatar() - if (l?.code != 200) { - MainActivity.member?.logout() - } + val tb = mainWeakReference?.get()?.toolsBox + val netInfo = tb?.netInfo + if(netInfo != null && netInfo != tb.transportStringNull && netInfo != tb.transportStringError)Thread { + val l = MainActivity.member?.refreshAvatar() + if (l?.code != 200) { + MainActivity.member?.logout() + } + }.start() homeHandler = HomeHandler(WeakReference(this)) } diff --git a/app/src/main/java/top/fumiama/copymanga/ui/vm/VMHandler.kt b/app/src/main/java/top/fumiama/copymanga/ui/vm/VMHandler.kt index 3b15541..6122756 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/vm/VMHandler.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/vm/VMHandler.kt @@ -113,7 +113,7 @@ class VMHandler(activity: ViewMangaActivity, url: String) : AutoDownloadHandler( } else { showInfCardFull(); true } - 22 -> wv.get()?.idtime?.text = SimpleDateFormat("HH:mm").format(Date()) + week + wv.get()?.toolsBox?.netinfo + 22 -> wv.get()?.idtime?.text = SimpleDateFormat("HH:mm").format(Date()) + week + wv.get()?.toolsBox?.netInfo } } override fun getGsonItem() = manga diff --git a/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt b/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt index 84f4a7c..3dbc37a 100644 --- a/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt +++ b/app/src/main/java/top/fumiama/copymanga/ui/vm/ViewMangaActivity.kt @@ -258,7 +258,7 @@ class ViewMangaActivity : TitleActivityTemplate() { } private fun prepareImgFromWeb() { - if(!noCellarAlert && toolsBox.netinfo == "移动数据") alertCellar() + if(!noCellarAlert && toolsBox.netInfo == getString(R.string.TRANSPORT_CELLULAR)) alertCellar() else handler.startLoad() }