Ver código fonte

feat 取消自动检测升级,登录和设置界面自动检测新版本

RobinTan1024 4 anos atrás
pai
commit
af990c960c

+ 2 - 41
app/src/main/java/com/doverfuelingsolutions/issp/DFSApplication.kt

@@ -1,24 +1,10 @@
 package com.doverfuelingsolutions.issp
 
 import android.app.Application
-import android.content.Intent
-import android.graphics.Color
-import android.view.Gravity
-import androidx.core.app.ActivityCompat
-import androidx.core.content.ContextCompat
-import androidx.core.graphics.ColorUtils
+import com.doverfuelingsolutions.issp.bugly.BuglyUtil
 import com.doverfuelingsolutions.issp.utils.DFSToastUtil
-import com.doverfuelingsolutions.issp.utils.DFSUtilsInitializer
-import com.doverfuelingsolutions.issp.view.UpgradeActivity
-import com.hjq.toast.IToastStyle
-import com.hjq.toast.ToastUtils
-import com.tencent.bugly.Bugly
-import com.tencent.bugly.beta.Beta
-import com.tencent.bugly.beta.UpgradeInfo
-import com.tencent.bugly.beta.upgrade.UpgradeListener
-import com.tencent.bugly.beta.upgrade.UpgradeStateListener
 
-class DFSApplication : Application(), UpgradeListener, UpgradeStateListener {
+class DFSApplication : Application() {
 
     companion object {
 
@@ -30,30 +16,5 @@ class DFSApplication : Application(), UpgradeListener, UpgradeStateListener {
         instance = this
 
         DFSToastUtil.init(this)
-
-        Beta.autoInstallApk = true
-        Beta.autoInit = true
-        Beta.autoCheckUpgrade = true
-        Beta.initDelay = 1000
-        Beta.upgradeListener = this
-        Bugly.init(applicationContext, "789ca54e1f", BuildConfig.DEBUG)
     }
-
-    override fun onUpgrade(ret: Int, upgradeInfo: UpgradeInfo?, isManual: Boolean, isSilence: Boolean) {
-        if (upgradeInfo == null) {
-            DFSToastUtil.info(R.string.no_update_version)
-            return
-        }
-
-        Intent(applicationContext, UpgradeActivity::class.java).let {
-            it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
-            startActivity(it)
-        }
-    }
-
-    override fun onUpgradeNoVersion(isManual: Boolean) = DFSToastUtil.info(R.string.current_version_is_latest)
-    override fun onUpgradeFailed(isManual: Boolean) = DFSToastUtil.info(R.string.download_fail)
-    override fun onUpgrading(isManual: Boolean) {}
-    override fun onDownloadCompleted(isManual: Boolean) {}
-    override fun onUpgradeSuccess(isManual: Boolean) {}
 }

+ 48 - 0
app/src/main/java/com/doverfuelingsolutions/issp/bugly/BuglyUtil.kt

@@ -0,0 +1,48 @@
+package com.doverfuelingsolutions.issp.bugly
+
+import android.content.Context
+import android.content.Intent
+import com.doverfuelingsolutions.issp.BuildConfig
+import com.doverfuelingsolutions.issp.DFSApplication
+import com.doverfuelingsolutions.issp.R
+import com.doverfuelingsolutions.issp.utils.DFSToastUtil
+import com.doverfuelingsolutions.issp.view.UpgradeActivity
+import com.tencent.bugly.Bugly
+import com.tencent.bugly.beta.Beta
+import com.tencent.bugly.beta.UpgradeInfo
+import com.tencent.bugly.beta.upgrade.UpgradeListener
+import com.tencent.bugly.beta.upgrade.UpgradeStateListener
+
+object BuglyUtil : UpgradeListener, UpgradeStateListener {
+
+    override fun onUpgrade(ret: Int, upgradeInfo: UpgradeInfo?, isManual: Boolean, isSilence: Boolean) {
+        if (upgradeInfo == null) {
+            DFSToastUtil.info(R.string.no_update_version)
+            return
+        }
+
+        Intent(DFSApplication.instance.applicationContext, UpgradeActivity::class.java).let {
+            it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+            DFSApplication.instance.applicationContext.startActivity(it)
+        }
+    }
+
+    override fun onUpgradeNoVersion(isManual: Boolean) = DFSToastUtil.info(R.string.current_version_is_latest)
+    override fun onUpgradeFailed(isManual: Boolean) = DFSToastUtil.info(R.string.download_fail)
+    override fun onUpgrading(isManual: Boolean) {}
+    override fun onDownloadCompleted(isManual: Boolean) {}
+    override fun onUpgradeSuccess(isManual: Boolean) {}
+
+    fun init(applicationContext: Context) {
+        Beta.autoInit = true
+        Beta.autoInstallApk = true
+        Beta.autoCheckUpgrade = false
+        Beta.upgradeCheckPeriod = 5 * 60_000
+        Beta.upgradeListener = this
+        Bugly.init(applicationContext, "789ca54e1f", BuildConfig.DEBUG)
+    }
+
+    fun checkUpgrade() {
+        Beta.checkUpgrade(false, false)
+    }
+}

+ 3 - 1
app/src/main/java/com/doverfuelingsolutions/issp/utils/DFSUtil.kt

@@ -1,6 +1,7 @@
 package com.doverfuelingsolutions.issp.utils
 
 import android.content.Context
+import com.doverfuelingsolutions.issp.bugly.BuglyUtil
 import com.doverfuelingsolutions.issp.utils.crash.DFSCrashUtil
 import com.doverfuelingsolutions.issp.utils.sp.SPUtil
 import com.hjq.toast.ToastUtils
@@ -9,7 +10,8 @@ import java.lang.ref.WeakReference
 object DFSUtil {
 
     fun init(context: Context) {
-        DFSCrashUtil.init(context)
+        BuglyUtil.init(context)
+        DFSCrashUtil.init(context) // TODO change into bugly
         StringUtil.ctxBeforeApplication = WeakReference(context)
         SPUtil.init(context)
     }

+ 12 - 7
app/src/main/java/com/doverfuelingsolutions/issp/view/LoginActivity.kt

@@ -2,16 +2,17 @@ package com.doverfuelingsolutions.issp.view
 
 import android.content.Context
 import android.content.Intent
-import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import android.view.View
 import androidx.activity.viewModels
+import androidx.appcompat.app.AppCompatActivity
 import androidx.databinding.DataBindingUtil
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.lifecycleScope
 import com.doverfuelingsolutions.issp.R
 import com.doverfuelingsolutions.issp.api.SystemApi
+import com.doverfuelingsolutions.issp.bugly.BuglyUtil
 import com.doverfuelingsolutions.issp.data.GlobalData
 import com.doverfuelingsolutions.issp.databinding.ActivityLoginBinding
 import com.doverfuelingsolutions.issp.utils.PermissionUtil
@@ -59,13 +60,17 @@ class LoginActivity : AppCompatActivity(),
         }
 
         val autoLogin = intent.getBooleanExtra(autoLogin, true)
-        if (!autoLogin) {
-            return
-        } else if (GlobalData.isLogin) {
-            startMain()
-        } else if (!loginViewModel.accountName.value.isNullOrBlank() && !loginViewModel.password.value.isNullOrBlank()) {
-            submit()
+        if (autoLogin) {
+            if (GlobalData.isLogin) {
+                startMain()
+                return
+            } else if (!loginViewModel.accountName.value.isNullOrBlank() && !loginViewModel.password.value.isNullOrBlank()) {
+                submit()
+                return
+            }
         }
+
+        BuglyUtil.checkUpgrade()
     }
 
     override fun onClick(v: View?) {

+ 3 - 0
app/src/main/java/com/doverfuelingsolutions/issp/view/PreferenceActivity.kt

@@ -13,6 +13,7 @@ import androidx.lifecycle.lifecycleScope
 import com.doverfuelingsolutions.issp.R
 import com.doverfuelingsolutions.issp.api.FuelInfoApi
 import com.doverfuelingsolutions.issp.api.SystemApi
+import com.doverfuelingsolutions.issp.bugly.BuglyUtil
 import com.doverfuelingsolutions.issp.databinding.ActivityPreferenceBinding
 import com.doverfuelingsolutions.issp.utils.AppUtil
 import com.doverfuelingsolutions.issp.utils.DFSToastUtil
@@ -78,6 +79,8 @@ class PreferenceActivity : AppCompatActivity(),
         } else {
             isForResult = false
         }
+
+        BuglyUtil.checkUpgrade()
     }
 
     override fun onResume() {

+ 1 - 1
app/src/main/java/com/doverfuelingsolutions/issp/view/fragment/FragmentNozzle.kt

@@ -36,7 +36,7 @@ class FragmentNozzle private constructor(private val pumpList: List<PumpInfo>) :
         )
     }
 
-    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
+    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
         if (!this::binding.isInitialized) {
             binding = DataBindingUtil.inflate(inflater, R.layout.fragment_nozzle, container, false)
 

+ 0 - 1
app/src/main/java/com/doverfuelingsolutions/issp/view/fragment/FragmentSelect.kt

@@ -6,7 +6,6 @@ import android.view.View
 import android.view.ViewGroup
 import androidx.core.os.bundleOf
 import androidx.databinding.DataBindingUtil
-import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -143,7 +143,7 @@
     <!-- 版本迭代 -->
     <string name="check_update">检查更新</string>
     <string name="find_new_version">发现新版本</string>
-    <string name="new_version">新版本 %1$s</string>
+    <string name="new_version">检测到新版本 %1$s</string>
     <string name="publish_at">发布时间:%1$s</string>
     <string name="version_info_is">版本信息:</string>
     <string name="in_check_update">检查更新中</string>