diff --git a/app/src/main/java/com/supwisdom/activities/CrashHandler.kt b/app/src/main/java/com/supwisdom/activities/CrashHandler.kt
index 48caaf3..6c60829 100644
--- a/app/src/main/java/com/supwisdom/activities/CrashHandler.kt
+++ b/app/src/main/java/com/supwisdom/activities/CrashHandler.kt
@@ -15,6 +15,7 @@
  ** create by zzq on 2019/7/23
  ** @desc
  **/
+@Suppress("DEPRECATION")
 class CrashHandler : Thread.UncaughtExceptionHandler {
     private var context: Context? = null
     private var mDefaultHandler: Thread.UncaughtExceptionHandler? = null
diff --git a/app/src/main/java/com/supwisdom/activities/syspara/SysparaActivity.kt b/app/src/main/java/com/supwisdom/activities/syspara/SysparaActivity.kt
index f2dba5f..7e5660b 100644
--- a/app/src/main/java/com/supwisdom/activities/syspara/SysparaActivity.kt
+++ b/app/src/main/java/com/supwisdom/activities/syspara/SysparaActivity.kt
@@ -63,7 +63,7 @@
         } else {
             kvMap[index++] = ControlParaRecord("网络状态>>", "脱机")
         }
-        kvMap[index++] = ControlParaRecord("成功显时间>>", String.format("%ds", sysRecord!!.sucShowtime))
+        kvMap[index++] = ControlParaRecord("成功显时间>>", String.format("%ds", sysRecord.sucShowtime))
         kvMap[index++] = ControlParaRecord("失败显时间>>", String.format("%ds", sysRecord.failShowtime))
         kvMap[index++] = ControlParaRecord("联机流水号>>", String.format("%d", pos.getTransdtlOnlineMaxSeqno()))
         kvMap[index++] = ControlParaRecord("离线流水号>>", String.format("%d", pos.getTransdtlOfflineMaxSeqno()))
diff --git a/app/src/main/java/com/supwisdom/activities/upgrade/mode/EpayUpgradeApi.kt b/app/src/main/java/com/supwisdom/activities/upgrade/mode/EpayUpgradeApi.kt
index 91be409..fc6e915 100644
--- a/app/src/main/java/com/supwisdom/activities/upgrade/mode/EpayUpgradeApi.kt
+++ b/app/src/main/java/com/supwisdom/activities/upgrade/mode/EpayUpgradeApi.kt
@@ -41,11 +41,9 @@
     }
 
     private fun downloadUpdateFile(downUrl: String, file: File, versionName: String): Boolean {
-//            val downStep = 1// 提示step
         var downStep = 0// 提示step
         val totalSize: Int// 文件总大小
         var downloadCount = 0// 已经下载好的大小
-        var updateCount = 0// 已经上传的文件大小
         try {
             val url = URL(downUrl)
             val urlConnection = url.openConnection() as HttpURLConnection
diff --git a/app/src/main/java/com/supwisdom/view/BigProgressDialog.kt b/app/src/main/java/com/supwisdom/view/BigProgressDialog.kt
index 9fd9825..e05a2a0 100644
--- a/app/src/main/java/com/supwisdom/view/BigProgressDialog.kt
+++ b/app/src/main/java/com/supwisdom/view/BigProgressDialog.kt
@@ -1,3 +1,5 @@
+@file:Suppress("DEPRECATION")
+
 package com.supwisdom.view
 
 import android.app.Activity
diff --git a/upgrade.py b/upgrade.py
index 8de756f..75cd352 100644
--- a/upgrade.py
+++ b/upgrade.py
@@ -28,7 +28,7 @@
 def zip_file(apk):
 	fileDir = path.dirname(apk)
 	version = subprocess.check_output(['git', 'describe', '--abbrev=4','--dirty','--always','--tags']).strip().decode('utf-8')
-	zipFile = fileDir+'/posa711'+'-'+version+'.zip'
+	zipFile = fileDir+'/posa711dali'+'-'+version+'.zip'
 	print('zipFile = '+zipFile)
 	
 	zf = zipfile.ZipFile(zipFile,'w',zipfile.ZIP_DEFLATED)
