1.修复了默认为仓库界面,启动程序后点击社区崩溃的问题。2.修复了保存源代码时,程序崩溃的问题,现在不崩溃了,改为弹出错误提示。3.修复了模组列表快速滚动时,程序崩溃的问题。4.修复了排行榜数据加载较慢,程序崩溃的问题。5.修复了最近的文件加载崩溃的问题。

This commit is contained in:
Cold-Mint 2023-01-28 21:43:40 +08:00
parent d14c4cf727
commit 7a4b00199e
30 changed files with 507 additions and 380 deletions

Binary file not shown.

View File

@ -31,8 +31,8 @@ android {
applicationId "com.coldmint.rust.pro" applicationId "com.coldmint.rust.pro"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 33 targetSdkVersion 33
versionCode 25 versionCode 26
versionName "2.1 Bata3(2023-1-27)" versionName "2.1 Bata4(2023-1-28)"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

View File

@ -67605,7 +67605,7 @@ com.bumptech.glide.disklrucache.DiskLruCache$Entry -> com.bumptech.glide.disklru
1:1:java.io.File getDirtyFile(int):874:874 -> k 1:1:java.io.File getDirtyFile(int):874:874 -> k
1:3:java.lang.String getLengths():843:845 -> l 1:3:java.lang.String getLengths():843:845 -> l
4:4:java.lang.String getLengths():847:847 -> l 4:4:java.lang.String getLengths():847:847 -> l
1:1:java.io.IOException invalidLengths(java.lang.String[]):866:866 -> m 1:1:java.io.Exception invalidLengths(java.lang.String[]):866:866 -> m
1:1:void setLengths(java.lang.String[]):852:852 -> n 1:1:void setLengths(java.lang.String[]):852:852 -> n
2:3:void setLengths(java.lang.String[]):857:858 -> n 2:3:void setLengths(java.lang.String[]):857:858 -> n
4:4:void setLengths(java.lang.String[]):861:861 -> n 4:4:void setLengths(java.lang.String[]):861:861 -> n
@ -71378,8 +71378,8 @@ com.bumptech.glide.load.resource.bitmap.Downsampler -> com.bumptech.glide.load.r
2:2:void logDecode(int,int,java.lang.String,android.graphics.BitmapFactory$Options,android.graphics.Bitmap,int,int,long):623:623 -> p 2:2:void logDecode(int,int,java.lang.String,android.graphics.BitmapFactory$Options,android.graphics.Bitmap,int,int,long):623:623 -> p
3:4:void logDecode(int,int,java.lang.String,android.graphics.BitmapFactory$Options,android.graphics.Bitmap,int,int,long):628:629 -> p 3:4:void logDecode(int,int,java.lang.String,android.graphics.BitmapFactory$Options,android.graphics.Bitmap,int,int,long):628:629 -> p
5:5:void logDecode(int,int,java.lang.String,android.graphics.BitmapFactory$Options,android.graphics.Bitmap,int,int,long):621:621 -> p 5:5:void logDecode(int,int,java.lang.String,android.graphics.BitmapFactory$Options,android.graphics.Bitmap,int,int,long):621:621 -> p
1:1:java.io.IOException newIoExceptionForInBitmapAssertion(java.lang.IllegalArgumentException,int,int,java.lang.String,android.graphics.BitmapFactory$Options):655:655 -> q 1:1:java.io.Exception newExceptionForInBitmapAssertion(java.lang.IllegalArgumentException,int,int,java.lang.String,android.graphics.BitmapFactory$Options):655:655 -> q
2:2:java.io.IOException newIoExceptionForInBitmapAssertion(java.lang.IllegalArgumentException,int,int,java.lang.String,android.graphics.BitmapFactory$Options):659:659 -> q 2:2:java.io.Exception newExceptionForInBitmapAssertion(java.lang.IllegalArgumentException,int,int,java.lang.String,android.graphics.BitmapFactory$Options):659:659 -> q
1:4:void releaseOptions(android.graphics.BitmapFactory$Options):703:706 -> r 1:4:void releaseOptions(android.graphics.BitmapFactory$Options):703:706 -> r
1:13:void resetOptions(android.graphics.BitmapFactory$Options):711:723 -> s 1:13:void resetOptions(android.graphics.BitmapFactory$Options):711:723 -> s
int round(double) -> t int round(double) -> t
@ -71504,7 +71504,7 @@ com.bumptech.glide.load.resource.bitmap.RecyclableBufferedInputStream -> com.bum
1:3:void close():130:132 -> close 1:3:void close():130:132 -> close
4:5:void close():134:135 -> close 4:5:void close():134:135 -> close
6:6:void close():137:137 -> close 6:6:void close():137:137 -> close
1:1:java.io.IOException streamClosed():99:99 -> d 1:1:java.io.Exception streamClosed():99:99 -> d
1:3:void mark(int):200:202 -> mark 1:3:void mark(int):200:202 -> mark
1:2:int read():230:231 -> read 1:2:int read():230:231 -> read
3:3:int read():237:237 -> read 3:3:int read():237:237 -> read
@ -73758,12 +73758,12 @@ com.bumptech.glide.util.ContentLengthInputStream -> com.bumptech.glide.util.b:
com.bumptech.glide.util.ExceptionCatchingInputStream -> com.bumptech.glide.util.c: com.bumptech.glide.util.ExceptionCatchingInputStream -> com.bumptech.glide.util.c:
java.util.Queue QUEUE -> c java.util.Queue QUEUE -> c
java.io.InputStream wrapped -> a java.io.InputStream wrapped -> a
java.io.IOException exception -> b java.io.Exception exception -> b
1:1:void <clinit>():19:19 -> <clinit> 1:1:void <clinit>():19:19 -> <clinit>
1:1:void <init>():44:44 -> <init> 1:1:void <init>():44:44 -> <init>
1:2:void clearQueue():39:40 -> a 1:2:void clearQueue():39:40 -> a
1:1:int available():54:54 -> available 1:1:int available():54:54 -> available
1:1:java.io.IOException getException():127:127 -> b 1:1:java.io.Exception getException():127:127 -> b
1:3:com.bumptech.glide.util.ExceptionCatchingInputStream obtain(java.io.InputStream):27:29 -> c 1:3:com.bumptech.glide.util.ExceptionCatchingInputStream obtain(java.io.InputStream):27:29 -> c
4:4:com.bumptech.glide.util.ExceptionCatchingInputStream obtain(java.io.InputStream):31:31 -> c 4:4:com.bumptech.glide.util.ExceptionCatchingInputStream obtain(java.io.InputStream):31:31 -> c
5:5:com.bumptech.glide.util.ExceptionCatchingInputStream obtain(java.io.InputStream):33:33 -> c 5:5:com.bumptech.glide.util.ExceptionCatchingInputStream obtain(java.io.InputStream):33:33 -> c
@ -80022,12 +80022,12 @@ com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1 -> m.e$a:
1:5:void onResponse(okhttp3.Call,okhttp3.Response):69:73 -> a 1:5:void onResponse(okhttp3.Call,okhttp3.Response):69:73 -> a
6:8:void onResponse(okhttp3.Call,okhttp3.Response):75:77 -> a 6:8:void onResponse(okhttp3.Call,okhttp3.Response):75:77 -> a
9:9:void onResponse(okhttp3.Call,okhttp3.Response):80:80 -> a 9:9:void onResponse(okhttp3.Call,okhttp3.Response):80:80 -> a
1:1:void onFailure(okhttp3.Call,java.io.IOException):64:64 -> b 1:1:void onFailure(okhttp3.Call,java.io.Exception):64:64 -> b
void $r8$lambda$FVi_IFJplmesumSnn19tL8yLhSM(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.iflynote.dataBean.DocData) -> c void $r8$lambda$FVi_IFJplmesumSnn19tL8yLhSM(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.iflynote.dataBean.DocData) -> c
void $r8$lambda$IEr9Zunn2MTJVsmRZrMPfZupfvU(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException) -> d void $r8$lambda$IEr9Zunn2MTJVsmRZrMPfZupfvU(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception) -> d
void $r8$lambda$o-TJR8eEdzATcOMeI8uFYMjKSII(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.String) -> e void $r8$lambda$o-TJR8eEdzATcOMeI8uFYMjKSII(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.String) -> e
void $r8$lambda$uATSwPmnPU5NJ1GaRglL2OipzXI(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.iflynote.dataBean.NoteData) -> f void $r8$lambda$uATSwPmnPU5NJ1GaRglL2OipzXI(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.iflynote.dataBean.NoteData) -> f
1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException):64:64 -> g 1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception):64:64 -> g
1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.iflynote.dataBean.NoteData):73:73 -> h 1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.iflynote.dataBean.NoteData):73:73 -> h
1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.iflynote.dataBean.DocData):77:77 -> i 1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.iflynote.dataBean.DocData):77:77 -> i
1:1:void onResponse$lambda-3(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.String):80:80 -> j 1:1:void onResponse$lambda-3(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.String):80:80 -> j
@ -80626,11 +80626,11 @@ com.coldmint.rust.core.web.User$Companion$activateAccount$1 -> r.e$a$a:
1:1:void onResponse(okhttp3.Call,okhttp3.Response):48:48 -> a 1:1:void onResponse(okhttp3.Call,okhttp3.Response):48:48 -> a
2:3:void onResponse(okhttp3.Call,okhttp3.Response):50:51 -> a 2:3:void onResponse(okhttp3.Call,okhttp3.Response):50:51 -> a
4:5:void onResponse(okhttp3.Call,okhttp3.Response):55:56 -> a 4:5:void onResponse(okhttp3.Call,okhttp3.Response):55:56 -> a
1:2:void onFailure(okhttp3.Call,java.io.IOException):42:43 -> b 1:2:void onFailure(okhttp3.Call,java.io.Exception):42:43 -> b
void $r8$lambda$3m0IADyBNZRbmo7yOkZzpQZQQC0(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.ApiResponse) -> c void $r8$lambda$3m0IADyBNZRbmo7yOkZzpQZQQC0(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.ApiResponse) -> c
void $r8$lambda$ChCQroczIBqnhBdRBFQI49wgvoI(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> d void $r8$lambda$ChCQroczIBqnhBdRBFQI49wgvoI(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> d
void $r8$lambda$pqw46I-_Fy9kyoOMS8nWQeVsa_A(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException) -> e void $r8$lambda$pqw46I-_Fy9kyoOMS8nWQeVsa_A(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception) -> e
1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException):43:43 -> f 1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception):43:43 -> f
1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.ApiResponse):52:52 -> g 1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.ApiResponse):52:52 -> g
1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):57:57 -> h 1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):57:57 -> h
com.coldmint.rust.core.web.User$Companion$getSocialInfo$1 -> r.e$a$b: com.coldmint.rust.core.web.User$Companion$getSocialInfo$1 -> r.e$a$b:
@ -80642,11 +80642,11 @@ com.coldmint.rust.core.web.User$Companion$getSocialInfo$1 -> r.e$a$b:
1:1:void onResponse(okhttp3.Call,okhttp3.Response):89:89 -> a 1:1:void onResponse(okhttp3.Call,okhttp3.Response):89:89 -> a
2:3:void onResponse(okhttp3.Call,okhttp3.Response):91:92 -> a 2:3:void onResponse(okhttp3.Call,okhttp3.Response):91:92 -> a
4:5:void onResponse(okhttp3.Call,okhttp3.Response):96:97 -> a 4:5:void onResponse(okhttp3.Call,okhttp3.Response):96:97 -> a
1:2:void onFailure(okhttp3.Call,java.io.IOException):83:84 -> b 1:2:void onFailure(okhttp3.Call,java.io.Exception):83:84 -> b
void $r8$lambda$H_IHH-GFQt2-njO_YEebotOhC6U(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> c void $r8$lambda$H_IHH-GFQt2-njO_YEebotOhC6U(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> c
void $r8$lambda$PhARra_gg1YDyLa2Gl9R07PcsNc(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.SocialInfoData) -> d void $r8$lambda$PhARra_gg1YDyLa2Gl9R07PcsNc(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.SocialInfoData) -> d
void $r8$lambda$dZ_zHG_kUqZP7KMtrNkOHZDtq6A(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException) -> e void $r8$lambda$dZ_zHG_kUqZP7KMtrNkOHZDtq6A(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception) -> e
1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException):84:84 -> f 1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception):84:84 -> f
1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.SocialInfoData):93:93 -> g 1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.SocialInfoData):93:93 -> g
1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):98:98 -> h 1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):98:98 -> h
com.coldmint.rust.core.web.User$login$1 -> r.e$b: com.coldmint.rust.core.web.User$login$1 -> r.e$b:
@ -80660,11 +80660,11 @@ com.coldmint.rust.core.web.User$login$1 -> r.e$b:
7:8:void onResponse(okhttp3.Call,okhttp3.Response):151:152 -> a 7:8:void onResponse(okhttp3.Call,okhttp3.Response):151:152 -> a
9:9:void onResponse(okhttp3.Call,okhttp3.Response):154:154 -> a 9:9:void onResponse(okhttp3.Call,okhttp3.Response):154:154 -> a
10:10:void onResponse(okhttp3.Call,okhttp3.Response):152:152 -> a 10:10:void onResponse(okhttp3.Call,okhttp3.Response):152:152 -> a
1:2:void onFailure(okhttp3.Call,java.io.IOException):137:138 -> b 1:2:void onFailure(okhttp3.Call,java.io.Exception):137:138 -> b
void $r8$lambda$9SW4GCuhrG2PTYFgme5Y_ESe9VM(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException) -> c void $r8$lambda$9SW4GCuhrG2PTYFgme5Y_ESe9VM(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception) -> c
void $r8$lambda$L1XosbjiMV9apeyeg_wzaorid7g(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.UserData) -> d void $r8$lambda$L1XosbjiMV9apeyeg_wzaorid7g(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.UserData) -> d
void $r8$lambda$zDiP2W4pEPRi8g8_iNsXLcFtVUc(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> e void $r8$lambda$zDiP2W4pEPRi8g8_iNsXLcFtVUc(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> e
1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException):138:138 -> f 1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception):138:138 -> f
1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.UserData):148:148 -> g 1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.UserData):148:148 -> g
1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):153:153 -> h 1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):153:153 -> h
com.coldmint.rust.core.web.User$register$1 -> r.e$c: com.coldmint.rust.core.web.User$register$1 -> r.e$c:
@ -80678,11 +80678,11 @@ com.coldmint.rust.core.web.User$register$1 -> r.e$c:
6:7:void onResponse(okhttp3.Call,okhttp3.Response):182:183 -> a 6:7:void onResponse(okhttp3.Call,okhttp3.Response):182:183 -> a
8:8:void onResponse(okhttp3.Call,okhttp3.Response):185:185 -> a 8:8:void onResponse(okhttp3.Call,okhttp3.Response):185:185 -> a
9:9:void onResponse(okhttp3.Call,okhttp3.Response):183:183 -> a 9:9:void onResponse(okhttp3.Call,okhttp3.Response):183:183 -> a
1:1:void onFailure(okhttp3.Call,java.io.IOException):170:170 -> b 1:1:void onFailure(okhttp3.Call,java.io.Exception):170:170 -> b
void $r8$lambda$oQ54xFVU_Ggo33z6NA-SklbM90o(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException) -> c void $r8$lambda$oQ54xFVU_Ggo33z6NA-SklbM90o(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception) -> c
void $r8$lambda$tBBqs8Wiu7ZAKBhGSohdn9cHf50(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.ApiResponse) -> d void $r8$lambda$tBBqs8Wiu7ZAKBhGSohdn9cHf50(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.ApiResponse) -> d
void $r8$lambda$ztrpDYKIX4ViGSuruzrZF_qUKhc(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> e void $r8$lambda$ztrpDYKIX4ViGSuruzrZF_qUKhc(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> e
1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException):170:170 -> f 1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception):170:170 -> f
1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.ApiResponse):179:179 -> g 1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.ApiResponse):179:179 -> g
1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):184:184 -> h 1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):184:184 -> h
com.coldmint.rust.core.web.WebMod -> r.r: com.coldmint.rust.core.web.WebMod -> r.r:
@ -80702,11 +80702,11 @@ com.coldmint.rust.core.web.WebMod$Companion$list$1 -> r.r$a$a:
1:1:void <init>(android.os.Handler,com.coldmint.rust.core.interfaces.ApiCallBack,com.google.gson.Gson):26:26 -> <init> 1:1:void <init>(android.os.Handler,com.coldmint.rust.core.interfaces.ApiCallBack,com.google.gson.Gson):26:26 -> <init>
1:3:void onResponse(okhttp3.Call,okhttp3.Response):34:36 -> a 1:3:void onResponse(okhttp3.Call,okhttp3.Response):34:36 -> a
4:5:void onResponse(okhttp3.Call,okhttp3.Response):40:41 -> a 4:5:void onResponse(okhttp3.Call,okhttp3.Response):40:41 -> a
1:2:void onFailure(okhttp3.Call,java.io.IOException):28:29 -> b 1:2:void onFailure(okhttp3.Call,java.io.Exception):28:29 -> b
void $r8$lambda$CzUGRJ-ev_CuPP8v9eLfamA-PzY(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.WebModData) -> c void $r8$lambda$CzUGRJ-ev_CuPP8v9eLfamA-PzY(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.WebModData) -> c
void $r8$lambda$rOB5TZmseTyBtHk1dXnfaASEa9g(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> d void $r8$lambda$rOB5TZmseTyBtHk1dXnfaASEa9g(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception) -> d
void $r8$lambda$xnVPHNaCde2e-O5SYgG_mTV6lTA(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException) -> e void $r8$lambda$xnVPHNaCde2e-O5SYgG_mTV6lTA(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception) -> e
1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException):29:29 -> f 1:1:void onFailure$lambda-0(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception):29:29 -> f
1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.WebModData):37:37 -> g 1:1:void onResponse$lambda-1(com.coldmint.rust.core.interfaces.ApiCallBack,com.coldmint.rust.core.web.dataBean.WebModData):37:37 -> g
1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):42:42 -> h 1:1:void onResponse$lambda-2(com.coldmint.rust.core.interfaces.ApiCallBack,java.lang.Exception):42:42 -> h
com.coldmint.rust.core.web.dataBean.ApiResponse -> s.a: com.coldmint.rust.core.web.dataBean.ApiResponse -> s.a:
@ -91661,11 +91661,11 @@ com.efs.sdk.net.OkHttpListener -> com.efs.sdk.net.OkHttpListener:
4:4:void callEnd(okhttp3.Call):314:314 -> callEnd 4:4:void callEnd(okhttp3.Call):314:314 -> callEnd
5:6:void callEnd(okhttp3.Call):310:311 -> callEnd 5:6:void callEnd(okhttp3.Call):310:311 -> callEnd
7:7:void callEnd(okhttp3.Call):317:317 -> callEnd 7:7:void callEnd(okhttp3.Call):317:317 -> callEnd
1:1:void callFailed(okhttp3.Call,java.io.IOException):323:323 -> callFailed 1:1:void callFailed(okhttp3.Call,java.io.Exception):323:323 -> callFailed
2:3:void callFailed(okhttp3.Call,java.io.IOException):325:326 -> callFailed 2:3:void callFailed(okhttp3.Call,java.io.Exception):325:326 -> callFailed
4:4:void callFailed(okhttp3.Call,java.io.IOException):330:330 -> callFailed 4:4:void callFailed(okhttp3.Call,java.io.Exception):330:330 -> callFailed
5:6:void callFailed(okhttp3.Call,java.io.IOException):327:328 -> callFailed 5:6:void callFailed(okhttp3.Call,java.io.Exception):327:328 -> callFailed
7:7:void callFailed(okhttp3.Call,java.io.IOException):333:333 -> callFailed 7:7:void callFailed(okhttp3.Call,java.io.Exception):333:333 -> callFailed
1:1:void callStart(okhttp3.Call):55:55 -> callStart 1:1:void callStart(okhttp3.Call):55:55 -> callStart
2:4:void callStart(okhttp3.Call):57:59 -> callStart 2:4:void callStart(okhttp3.Call):57:59 -> callStart
5:5:void callStart(okhttp3.Call):61:61 -> callStart 5:5:void callStart(okhttp3.Call):61:61 -> callStart
@ -91680,11 +91680,11 @@ com.efs.sdk.net.OkHttpListener -> com.efs.sdk.net.OkHttpListener:
4:4:void connectEnd(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol):160:160 -> connectEnd 4:4:void connectEnd(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol):160:160 -> connectEnd
5:5:void connectEnd(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol):158:158 -> connectEnd 5:5:void connectEnd(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol):158:158 -> connectEnd
6:6:void connectEnd(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol):163:163 -> connectEnd 6:6:void connectEnd(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol):163:163 -> connectEnd
1:1:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.IOException):169:169 -> connectFailed 1:1:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.Exception):169:169 -> connectFailed
2:3:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.IOException):171:172 -> connectFailed 2:3:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.Exception):171:172 -> connectFailed
4:4:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.IOException):176:176 -> connectFailed 4:4:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.Exception):176:176 -> connectFailed
5:6:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.IOException):173:174 -> connectFailed 5:6:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.Exception):173:174 -> connectFailed
7:7:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.IOException):179:179 -> connectFailed 7:7:void connectFailed(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy,okhttp3.Protocol,java.io.Exception):179:179 -> connectFailed
1:1:void connectStart(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy):107:107 -> connectStart 1:1:void connectStart(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy):107:107 -> connectStart
2:3:void connectStart(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy):109:110 -> connectStart 2:3:void connectStart(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy):109:110 -> connectStart
4:4:void connectStart(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy):113:113 -> connectStart 4:4:void connectStart(okhttp3.Call,java.net.InetSocketAddress,java.net.Proxy):113:113 -> connectStart
@ -108799,7 +108799,7 @@ com.google.gson.JsonElement -> com.google.gson.l:
1:5:java.lang.String toString():313:317 -> toString 1:5:java.lang.String toString():313:317 -> toString
6:6:java.lang.String toString():319:319 -> toString 6:6:java.lang.String toString():319:319 -> toString
1:1:boolean isJsonPrimitive():65:65 -> u 1:1:boolean isJsonPrimitive():65:65 -> u
com.google.gson.JsonIOException -> com.google.gson.m: com.google.gson.JsonException -> com.google.gson.m:
long serialVersionUID -> b long serialVersionUID -> b
1:1:void <init>(java.lang.String):29:29 -> <init> 1:1:void <init>(java.lang.String):29:29 -> <init>
2:2:void <init>(java.lang.String,java.lang.Throwable):33:33 -> <init> 2:2:void <init>(java.lang.String,java.lang.Throwable):33:33 -> <init>
@ -110963,7 +110963,7 @@ com.google.gson.stream.JsonReader -> com.google.gson.stream.a:
10:10:void skipValue():1247:1247 -> l0 10:10:void skipValue():1247:1247 -> l0
11:11:void skipValue():1255:1255 -> l0 11:11:void skipValue():1255:1255 -> l0
12:13:void skipValue():1258:1259 -> l0 12:13:void skipValue():1258:1259 -> l0
1:1:java.io.IOException syntaxError(java.lang.String):1562:1562 -> m0 1:1:java.io.Exception syntaxError(java.lang.String):1562:1562 -> m0
1:3:java.lang.String getPath():1462:1464 -> q 1:3:java.lang.String getPath():1462:1464 -> q
4:6:java.lang.String getPath():1473:1475 -> q 4:6:java.lang.String getPath():1473:1475 -> q
7:7:java.lang.String getPath():1467:1467 -> q 7:7:java.lang.String getPath():1467:1467 -> q
@ -143324,12 +143324,12 @@ kotlin.io.FilesKt__UtilsKt -> kotlin.io.q:
kotlin.io.FilesKt__UtilsKt$copyRecursively$1 -> kotlin.io.q$a: kotlin.io.FilesKt__UtilsKt$copyRecursively$1 -> kotlin.io.q$a:
# {"id":"sourceFile","fileName":"Utils.kt"} # {"id":"sourceFile","fileName":"Utils.kt"}
kotlin.io.FilesKt__UtilsKt$copyRecursively$1 INSTANCE -> a kotlin.io.FilesKt__UtilsKt$copyRecursively$1 INSTANCE -> a
1:1:java.lang.Void invoke(java.io.File,java.io.IOException):291:291 -> a 1:1:java.lang.Void invoke(java.io.File,java.io.Exception):291:291 -> a
1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):291:291 -> invoke 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):291:291 -> invoke
kotlin.io.FilesKt__UtilsKt$copyRecursively$2 -> kotlin.io.q$b: kotlin.io.FilesKt__UtilsKt$copyRecursively$2 -> kotlin.io.q$b:
# {"id":"sourceFile","fileName":"Utils.kt"} # {"id":"sourceFile","fileName":"Utils.kt"}
kotlin.jvm.functions.Function2 $onError -> a kotlin.jvm.functions.Function2 $onError -> a
1:1:void invoke(java.io.File,java.io.IOException):299:299 -> a 1:1:void invoke(java.io.File,java.io.Exception):299:299 -> a
1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):299:299 -> invoke 1:1:java.lang.Object invoke(java.lang.Object,java.lang.Object):299:299 -> invoke
kotlin.io.LineReader -> kotlin.io.r: kotlin.io.LineReader -> kotlin.io.r:
# {"id":"sourceFile","fileName":"Console.kt"} # {"id":"sourceFile","fileName":"Console.kt"}
@ -160667,8 +160667,8 @@ l.InputParserDataBean$$ExternalSyntheticOutline0 -> l.a:
int com.coldmint.rust.core.dataBean.InputParserDataBean$$InternalSyntheticOutline$9$43c6e9a6682936d0d73d7540684449d85e4a4f5a97637c717abd6469ef665de3$0.m(java.lang.String,int,int) -> a int com.coldmint.rust.core.dataBean.InputParserDataBean$$InternalSyntheticOutline$9$43c6e9a6682936d0d73d7540684449d85e4a4f5a97637c717abd6469ef665de3$0.m(java.lang.String,int,int) -> a
m.IFlyNoteAPi$getCode$1$$ExternalSyntheticLambda0 -> m.a: m.IFlyNoteAPi$getCode$1$$ExternalSyntheticLambda0 -> m.a:
com.coldmint.rust.core.interfaces.ApiCallBack com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$09dc785f8f6a4d524681713a24a020f419593dfe5c4cf6f171f90d9dc24da9a2$0.f$0 -> a com.coldmint.rust.core.interfaces.ApiCallBack com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$09dc785f8f6a4d524681713a24a020f419593dfe5c4cf6f171f90d9dc24da9a2$0.f$0 -> a
java.io.IOException com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$09dc785f8f6a4d524681713a24a020f419593dfe5c4cf6f171f90d9dc24da9a2$0.f$1 -> b java.io.Exception com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$09dc785f8f6a4d524681713a24a020f419593dfe5c4cf6f171f90d9dc24da9a2$0.f$1 -> b
void com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$09dc785f8f6a4d524681713a24a020f419593dfe5c4cf6f171f90d9dc24da9a2$0.<init>(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.IOException) -> <init> void com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$09dc785f8f6a4d524681713a24a020f419593dfe5c4cf6f171f90d9dc24da9a2$0.<init>(com.coldmint.rust.core.interfaces.ApiCallBack,java.io.Exception) -> <init>
void com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$09dc785f8f6a4d524681713a24a020f419593dfe5c4cf6f171f90d9dc24da9a2$0.run() -> run void com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$09dc785f8f6a4d524681713a24a020f419593dfe5c4cf6f171f90d9dc24da9a2$0.run() -> run
m.IFlyNoteAPi$getCode$1$$ExternalSyntheticLambda1 -> m.b: m.IFlyNoteAPi$getCode$1$$ExternalSyntheticLambda1 -> m.b:
com.coldmint.rust.core.interfaces.ApiCallBack com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$d043a00f994d1295522b97c4f7e2080fe954709fe3c31b2deb5a40b45f62d25d$2.f$0 -> a com.coldmint.rust.core.interfaces.ApiCallBack com.coldmint.rust.core.iflynote.IFlyNoteAPi$getCode$1$$InternalSyntheticLambda$0$d043a00f994d1295522b97c4f7e2080fe954709fe3c31b2deb5a40b45f62d25d$2.f$0 -> a
@ -161056,7 +161056,7 @@ okhttp3.Call$Factory -> okhttp3.e$a:
okhttp3.Callback -> okhttp3.f: okhttp3.Callback -> okhttp3.f:
# {"id":"sourceFile","fileName":"Callback.kt"} # {"id":"sourceFile","fileName":"Callback.kt"}
void onResponse(okhttp3.Call,okhttp3.Response) -> a void onResponse(okhttp3.Call,okhttp3.Response) -> a
void onFailure(okhttp3.Call,java.io.IOException) -> b void onFailure(okhttp3.Call,java.io.Exception) -> b
okhttp3.CertificatePinner -> okhttp3.g: okhttp3.CertificatePinner -> okhttp3.g:
# {"id":"sourceFile","fileName":"CertificatePinner.kt"} # {"id":"sourceFile","fileName":"CertificatePinner.kt"}
okhttp3.internal.tls.CertificateChainCleaner certificateChainCleaner -> b okhttp3.internal.tls.CertificateChainCleaner certificateChainCleaner -> b
@ -163450,7 +163450,7 @@ okhttp3.internal.Util -> okhttp3.internal.d:
1:1:boolean hasIntersection(java.lang.String[],java.lang.String[],java.util.Comparator):141:141 -> w 1:1:boolean hasIntersection(java.lang.String[],java.lang.String[],java.util.Comparator):141:141 -> w
2:4:boolean hasIntersection(java.lang.String[],java.lang.String[],java.util.Comparator):144:146 -> w 2:4:boolean hasIntersection(java.lang.String[],java.lang.String[],java.util.Comparator):144:146 -> w
1:1:long headersContentLength(okhttp3.Response):437:437 -> x 1:1:long headersContentLength(okhttp3.Response):437:437 -> x
1:1:void ignoreIoExceptions(kotlin.jvm.functions.Function0):396:396 -> y 1:1:void ignoreExceptions(kotlin.jvm.functions.Function0):396:396 -> y
1:1:java.util.List immutableListOf(java.lang.Object[]):473:473 -> z 1:1:java.util.List immutableListOf(java.lang.Object[]):473:473 -> z
okhttp3.internal.Util$asFactory$1 -> okhttp3.internal.d$a: okhttp3.internal.Util$asFactory$1 -> okhttp3.internal.d$a:
# {"id":"sourceFile","fileName":"Util.kt"} # {"id":"sourceFile","fileName":"Util.kt"}
@ -163846,7 +163846,7 @@ okhttp3.internal.cache.DiskLruCache$Editor$newSink$$inlined$synchronized$lambda$
# {"id":"sourceFile","fileName":"DiskLruCache.kt"} # {"id":"sourceFile","fileName":"DiskLruCache.kt"}
int $index$inlined -> b int $index$inlined -> b
okhttp3.internal.cache.DiskLruCache$Editor this$0 -> a okhttp3.internal.cache.DiskLruCache$Editor this$0 -> a
1:4:void invoke(java.io.IOException):885:885 -> a 1:4:void invoke(java.io.Exception):885:885 -> a
1:1:java.lang.Object invoke(java.lang.Object):825:825 -> invoke 1:1:java.lang.Object invoke(java.lang.Object):825:825 -> invoke
okhttp3.internal.cache.DiskLruCache$Entry -> okhttp3.internal.cache.d$c: okhttp3.internal.cache.DiskLruCache$Entry -> okhttp3.internal.cache.d$c:
# {"id":"sourceFile","fileName":"DiskLruCache.kt"} # {"id":"sourceFile","fileName":"DiskLruCache.kt"}
@ -163930,9 +163930,9 @@ okhttp3.internal.cache.DiskLruCache$cleanupTask$1 -> okhttp3.internal.cache.d$e:
okhttp3.internal.cache.DiskLruCache$newJournalWriter$faultHidingSink$1 -> okhttp3.internal.cache.d$f: okhttp3.internal.cache.DiskLruCache$newJournalWriter$faultHidingSink$1 -> okhttp3.internal.cache.d$f:
# {"id":"sourceFile","fileName":"DiskLruCache.kt"} # {"id":"sourceFile","fileName":"DiskLruCache.kt"}
okhttp3.internal.cache.DiskLruCache this$0 -> a okhttp3.internal.cache.DiskLruCache this$0 -> a
1:1:void invoke(java.io.IOException):304:304 -> a 1:1:void invoke(java.io.Exception):304:304 -> a
2:3:void invoke(java.io.IOException):1066:1067 -> a 2:3:void invoke(java.io.Exception):1066:1067 -> a
4:4:void invoke(java.io.IOException):305:305 -> a 4:4:void invoke(java.io.Exception):305:305 -> a
1:1:java.lang.Object invoke(java.lang.Object):87:87 -> invoke 1:1:java.lang.Object invoke(java.lang.Object):87:87 -> invoke
okhttp3.internal.cache.DiskLruCache$snapshots$1 -> okhttp3.internal.cache.d$g: okhttp3.internal.cache.DiskLruCache$snapshots$1 -> okhttp3.internal.cache.d$g:
# {"id":"sourceFile","fileName":"DiskLruCache.kt"} # {"id":"sourceFile","fileName":"DiskLruCache.kt"}
@ -164338,13 +164338,13 @@ okhttp3.internal.connection.ConnectionSpecSelector -> okhttp3.internal.connectio
5:5:okhttp3.ConnectionSpec configureSecureSocket(javax.net.ssl.SSLSocket):68:68 -> a 5:5:okhttp3.ConnectionSpec configureSecureSocket(javax.net.ssl.SSLSocket):68:68 -> a
6:6:okhttp3.ConnectionSpec configureSecureSocket(javax.net.ssl.SSLSocket):70:70 -> a 6:6:okhttp3.ConnectionSpec configureSecureSocket(javax.net.ssl.SSLSocket):70:70 -> a
7:10:okhttp3.ConnectionSpec configureSecureSocket(javax.net.ssl.SSLSocket):63:63 -> a 7:10:okhttp3.ConnectionSpec configureSecureSocket(javax.net.ssl.SSLSocket):63:63 -> a
1:1:boolean connectionFailed(java.io.IOException):83:83 -> b 1:1:boolean connectionFailed(java.io.Exception):83:83 -> b
2:2:boolean connectionFailed(java.io.IOException):86:86 -> b 2:2:boolean connectionFailed(java.io.Exception):86:86 -> b
3:3:boolean connectionFailed(java.io.IOException):89:89 -> b 3:3:boolean connectionFailed(java.io.Exception):89:89 -> b
4:4:boolean connectionFailed(java.io.IOException):94:94 -> b 4:4:boolean connectionFailed(java.io.Exception):94:94 -> b
5:5:boolean connectionFailed(java.io.IOException):97:97 -> b 5:5:boolean connectionFailed(java.io.Exception):97:97 -> b
6:6:boolean connectionFailed(java.io.IOException):100:100 -> b 6:6:boolean connectionFailed(java.io.Exception):100:100 -> b
7:7:boolean connectionFailed(java.io.IOException):103:103 -> b 7:7:boolean connectionFailed(java.io.Exception):103:103 -> b
1:2:boolean isFallbackPossible(javax.net.ssl.SSLSocket):115:116 -> c 1:2:boolean isFallbackPossible(javax.net.ssl.SSLSocket):115:116 -> c
okhttp3.internal.connection.Exchange -> okhttp3.internal.connection.c: okhttp3.internal.connection.Exchange -> okhttp3.internal.connection.c:
# {"id":"sourceFile","fileName":"Exchange.kt"} # {"id":"sourceFile","fileName":"Exchange.kt"}
@ -164356,12 +164356,12 @@ okhttp3.internal.connection.Exchange -> okhttp3.internal.connection.c:
okhttp3.internal.connection.RealConnection connection -> b okhttp3.internal.connection.RealConnection connection -> b
1:1:void <init>(okhttp3.internal.connection.RealCall,okhttp3.EventListener,okhttp3.internal.connection.ExchangeFinder,okhttp3.internal.http.ExchangeCodec):40:40 -> <init> 1:1:void <init>(okhttp3.internal.connection.RealCall,okhttp3.EventListener,okhttp3.internal.connection.ExchangeFinder,okhttp3.internal.http.ExchangeCodec):40:40 -> <init>
2:2:void <init>(okhttp3.internal.connection.RealCall,okhttp3.EventListener,okhttp3.internal.connection.ExchangeFinder,okhttp3.internal.http.ExchangeCodec):50:50 -> <init> 2:2:void <init>(okhttp3.internal.connection.RealCall,okhttp3.EventListener,okhttp3.internal.connection.ExchangeFinder,okhttp3.internal.http.ExchangeCodec):50:50 -> <init>
1:1:java.io.IOException bodyComplete(long,boolean,boolean,java.io.IOException):177:177 -> a 1:1:java.io.Exception bodyComplete(long,boolean,boolean,java.io.Exception):177:177 -> a
2:2:java.io.IOException bodyComplete(long,boolean,boolean,java.io.IOException):181:181 -> a 2:2:java.io.Exception bodyComplete(long,boolean,boolean,java.io.Exception):181:181 -> a
3:3:java.io.IOException bodyComplete(long,boolean,boolean,java.io.IOException):183:183 -> a 3:3:java.io.Exception bodyComplete(long,boolean,boolean,java.io.Exception):183:183 -> a
4:4:java.io.IOException bodyComplete(long,boolean,boolean,java.io.IOException):188:188 -> a 4:4:java.io.Exception bodyComplete(long,boolean,boolean,java.io.Exception):188:188 -> a
5:5:java.io.IOException bodyComplete(long,boolean,boolean,java.io.IOException):190:190 -> a 5:5:java.io.Exception bodyComplete(long,boolean,boolean,java.io.Exception):190:190 -> a
6:6:java.io.IOException bodyComplete(long,boolean,boolean,java.io.IOException):193:193 -> a 6:6:java.io.Exception bodyComplete(long,boolean,boolean,java.io.Exception):193:193 -> a
1:1:void cancel():153:153 -> b 1:1:void cancel():153:153 -> b
1:5:okio.Sink createRequestBody(okhttp3.Request,boolean):70:74 -> c 1:5:okio.Sink createRequestBody(okhttp3.Request,boolean):70:74 -> c
1:2:void detachWithViolence():161:162 -> d 1:2:void detachWithViolence():161:162 -> d
@ -164384,7 +164384,7 @@ okhttp3.internal.connection.Exchange -> okhttp3.internal.connection.c:
3:5:okhttp3.Response$Builder readResponseHeaders(boolean):110:112 -> q 3:5:okhttp3.Response$Builder readResponseHeaders(boolean):110:112 -> q
1:1:void responseHeadersEnd(okhttp3.Response):117:117 -> r 1:1:void responseHeadersEnd(okhttp3.Response):117:117 -> r
1:1:void responseHeadersStart():100:100 -> s 1:1:void responseHeadersStart():100:100 -> s
1:2:void trackFailure(java.io.IOException):166:167 -> t 1:2:void trackFailure(java.io.Exception):166:167 -> t
1:1:okhttp3.Headers trailers():136:136 -> u 1:1:okhttp3.Headers trailers():136:136 -> u
1:1:void webSocketUpgradeFailed():145:145 -> v 1:1:void webSocketUpgradeFailed():145:145 -> v
1:3:void writeRequestHeaders(okhttp3.Request):58:60 -> w 1:3:void writeRequestHeaders(okhttp3.Request):58:60 -> w
@ -164398,7 +164398,7 @@ okhttp3.internal.connection.Exchange$RequestBodySink -> okhttp3.internal.connect
boolean closed -> d boolean closed -> d
1:1:void <init>(okhttp3.internal.connection.Exchange,okio.Sink,long):201:201 -> <init> 1:1:void <init>(okhttp3.internal.connection.Exchange,okio.Sink,long):201:201 -> <init>
2:2:void <init>(okhttp3.internal.connection.Exchange,okio.Sink,long):205:205 -> <init> 2:2:void <init>(okhttp3.internal.connection.Exchange,okio.Sink,long):205:205 -> <init>
1:3:java.io.IOException complete(java.io.IOException):250:252 -> c 1:3:java.io.Exception complete(java.io.Exception):250:252 -> c
1:4:void close():236:239 -> close 1:4:void close():236:239 -> close
5:6:void close():242:243 -> close 5:6:void close():242:243 -> close
7:7:void close():245:245 -> close 7:7:void close():245:245 -> close
@ -164430,9 +164430,9 @@ okhttp3.internal.connection.Exchange$ResponseBodySource -> okhttp3.internal.conn
11:11:long read(okio.Buffer,long):295:295 -> J0 11:11:long read(okio.Buffer,long):295:295 -> J0
12:12:long read(okio.Buffer,long):300:300 -> J0 12:12:long read(okio.Buffer,long):300:300 -> J0
13:13:long read(okio.Buffer,long):274:274 -> J0 13:13:long read(okio.Buffer,long):274:274 -> J0
1:2:java.io.IOException complete(java.io.IOException):317:318 -> c 1:2:java.io.Exception complete(java.io.Exception):317:318 -> c
3:5:java.io.IOException complete(java.io.IOException):320:322 -> c 3:5:java.io.Exception complete(java.io.Exception):320:322 -> c
6:6:java.io.IOException complete(java.io.IOException):324:324 -> c 6:6:java.io.Exception complete(java.io.Exception):324:324 -> c
1:2:void close():306:307 -> close 1:2:void close():306:307 -> close
3:4:void close():309:310 -> close 3:4:void close():309:310 -> close
5:5:void close():312:312 -> close 5:5:void close():312:312 -> close
@ -164504,8 +164504,8 @@ okhttp3.internal.connection.ExchangeFinder -> okhttp3.internal.connection.d:
2:2:okhttp3.Route retryRoute():310:310 -> f 2:2:okhttp3.Route retryRoute():310:310 -> f
3:7:okhttp3.Route retryRoute():312:312 -> f 3:7:okhttp3.Route retryRoute():312:312 -> f
1:2:boolean sameHostAndPort(okhttp3.HttpUrl):325:326 -> g 1:2:boolean sameHostAndPort(okhttp3.HttpUrl):325:326 -> g
1:5:void trackFailure(java.io.IOException):260:264 -> h 1:5:void trackFailure(java.io.Exception):260:264 -> h
6:6:void trackFailure(java.io.IOException):266:266 -> h 6:6:void trackFailure(java.io.Exception):266:266 -> h
okhttp3.internal.connection.RealCall -> okhttp3.internal.connection.e: okhttp3.internal.connection.RealCall -> okhttp3.internal.connection.e:
# {"id":"sourceFile","fileName":"RealCall.kt"} # {"id":"sourceFile","fileName":"RealCall.kt"}
boolean canceled -> m boolean canceled -> m
@ -164534,8 +164534,8 @@ okhttp3.internal.connection.RealCall -> okhttp3.internal.connection.e:
7:7:void <init>(okhttp3.OkHttpClient,okhttp3.Request,boolean):74:74 -> <init> 7:7:void <init>(okhttp3.OkHttpClient,okhttp3.Request,boolean):74:74 -> <init>
8:8:void <init>(okhttp3.OkHttpClient,okhttp3.Request,boolean):78:78 -> <init> 8:8:void <init>(okhttp3.OkHttpClient,okhttp3.Request,boolean):78:78 -> <init>
9:9:void <init>(okhttp3.OkHttpClient,okhttp3.Request,boolean):110:110 -> <init> 9:9:void <init>(okhttp3.OkHttpClient,okhttp3.Request,boolean):110:110 -> <init>
1:2:java.io.IOException timeoutExit(java.io.IOException):395:396 -> A 1:2:java.io.Exception timeoutExit(java.io.Exception):395:396 -> A
3:4:java.io.IOException timeoutExit(java.io.IOException):398:399 -> A 3:4:java.io.Exception timeoutExit(java.io.Exception):398:399 -> A
1:3:java.lang.String toLoggableString():463:465 -> B 1:3:java.lang.String toLoggableString():463:465 -> B
1:1:okhttp3.Request request():124:124 -> S 1:1:okhttp3.Request request():124:124 -> S
1:1:okhttp3.Call clone():60:60 -> T 1:1:okhttp3.Call clone():60:60 -> T
@ -164557,16 +164557,16 @@ okhttp3.internal.connection.RealCall -> okhttp3.internal.connection.e:
2:4:void cancel():138:140 -> cancel 2:4:void cancel():138:140 -> cancel
5:5:void cancel():142:142 -> cancel 5:5:void cancel():142:142 -> cancel
1:1:java.lang.Object clone():60:60 -> clone 1:1:java.lang.Object clone():60:60 -> clone
1:2:java.io.IOException callDone(java.io.IOException):557:558 -> d 1:2:java.io.Exception callDone(java.io.Exception):557:558 -> d
3:3:java.io.IOException callDone(java.io.IOException):346:346 -> d 3:3:java.io.Exception callDone(java.io.Exception):346:346 -> d
4:5:java.io.IOException callDone(java.io.IOException):561:562 -> d 4:5:java.io.Exception callDone(java.io.Exception):561:562 -> d
6:8:java.io.IOException callDone(java.io.IOException):349:349 -> d 6:8:java.io.Exception callDone(java.io.Exception):349:349 -> d
9:11:java.io.IOException callDone(java.io.IOException):352:354 -> d 9:11:java.io.Exception callDone(java.io.Exception):352:354 -> d
12:12:java.io.IOException callDone(java.io.IOException):356:356 -> d 12:12:java.io.Exception callDone(java.io.Exception):356:356 -> d
13:13:java.io.IOException callDone(java.io.IOException):349:349 -> d 13:13:java.io.Exception callDone(java.io.Exception):349:349 -> d
14:14:java.io.IOException callDone(java.io.IOException):360:360 -> d 14:14:java.io.Exception callDone(java.io.Exception):360:360 -> d
15:15:java.io.IOException callDone(java.io.IOException):362:362 -> d 15:15:java.io.Exception callDone(java.io.Exception):362:362 -> d
16:16:java.io.IOException callDone(java.io.IOException):364:364 -> d 16:16:java.io.Exception callDone(java.io.Exception):364:364 -> d
1:2:void callStart():170:171 -> e 1:2:void callStart():170:171 -> e
1:1:okhttp3.internal.connection.RealCall clone():122:122 -> f 1:1:okhttp3.internal.connection.RealCall clone():122:122 -> f
1:4:okhttp3.Address createAddress(okhttp3.HttpUrl):434:437 -> g 1:4:okhttp3.Address createAddress(okhttp3.HttpUrl):434:437 -> g
@ -164615,18 +164615,18 @@ okhttp3.internal.connection.RealCall -> okhttp3.internal.connection.e:
19:19:okhttp3.internal.connection.Exchange initExchange$okhttp(okhttp3.internal.http.RealInterceptorChain):250:250 -> r 19:19:okhttp3.internal.connection.Exchange initExchange$okhttp(okhttp3.internal.http.RealInterceptorChain):250:250 -> r
20:20:okhttp3.internal.connection.Exchange initExchange$okhttp(okhttp3.internal.http.RealInterceptorChain):249:249 -> r 20:20:okhttp3.internal.connection.Exchange initExchange$okhttp(okhttp3.internal.http.RealInterceptorChain):249:249 -> r
21:21:okhttp3.internal.connection.Exchange initExchange$okhttp(okhttp3.internal.http.RealInterceptorChain):248:248 -> r 21:21:okhttp3.internal.connection.Exchange initExchange$okhttp(okhttp3.internal.http.RealInterceptorChain):248:248 -> r
1:1:java.io.IOException messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.IOException):290:290 -> s 1:1:java.io.Exception messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.Exception):290:290 -> s
2:7:java.io.IOException messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.IOException):294:299 -> s 2:7:java.io.Exception messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.Exception):294:299 -> s
8:8:java.io.IOException messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.IOException):301:301 -> s 8:8:java.io.Exception messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.Exception):301:301 -> s
9:9:java.io.IOException messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.IOException):294:294 -> s 9:9:java.io.Exception messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.Exception):294:294 -> s
10:11:java.io.IOException messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.IOException):304:305 -> s 10:11:java.io.Exception messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.Exception):304:305 -> s
12:12:java.io.IOException messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.IOException):309:309 -> s 12:12:java.io.Exception messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.Exception):309:309 -> s
13:13:java.io.IOException messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.IOException):294:294 -> s 13:13:java.io.Exception messageDone$okhttp(okhttp3.internal.connection.Exchange,boolean,boolean,java.io.Exception):294:294 -> s
1:4:java.io.IOException noMoreExchanges$okhttp(java.io.IOException):317:320 -> t 1:4:java.io.Exception noMoreExchanges$okhttp(java.io.Exception):317:320 -> t
5:5:java.io.IOException noMoreExchanges$okhttp(java.io.IOException):322:322 -> t 5:5:java.io.Exception noMoreExchanges$okhttp(java.io.Exception):322:322 -> t
6:6:java.io.IOException noMoreExchanges$okhttp(java.io.IOException):317:317 -> t 6:6:java.io.Exception noMoreExchanges$okhttp(java.io.Exception):317:317 -> t
7:7:java.io.IOException noMoreExchanges$okhttp(java.io.IOException):325:325 -> t 7:7:java.io.Exception noMoreExchanges$okhttp(java.io.Exception):325:325 -> t
8:8:java.io.IOException noMoreExchanges$okhttp(java.io.IOException):317:317 -> t 8:8:java.io.Exception noMoreExchanges$okhttp(java.io.Exception):317:317 -> t
1:1:okio.Timeout timeout():60:60 -> timeout 1:1:okio.Timeout timeout():60:60 -> timeout
1:1:java.lang.String redactedUrl$okhttp():468:468 -> u 1:1:java.lang.String redactedUrl$okhttp():468:468 -> u
1:1:java.net.Socket releaseConnectionNoEvents$okhttp():374:374 -> v 1:1:java.net.Socket releaseConnectionNoEvents$okhttp():374:374 -> v
@ -164746,17 +164746,17 @@ okhttp3.internal.connection.RealConnection -> okhttp3.internal.connection.f:
4:4:boolean supportsUrl(okhttp3.HttpUrl):586:586 -> M 4:4:boolean supportsUrl(okhttp3.HttpUrl):586:586 -> M
5:5:boolean supportsUrl(okhttp3.HttpUrl):590:590 -> M 5:5:boolean supportsUrl(okhttp3.HttpUrl):590:590 -> M
6:6:boolean supportsUrl(okhttp3.HttpUrl):595:595 -> M 6:6:boolean supportsUrl(okhttp3.HttpUrl):595:595 -> M
1:1:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):703:703 -> N 1:1:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):703:703 -> N
2:2:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):705:705 -> N 2:2:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):705:705 -> N
3:3:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):707:707 -> N 3:3:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):707:707 -> N
4:5:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):709:710 -> N 4:5:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):709:710 -> N
6:6:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):714:714 -> N 6:6:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):714:714 -> N
7:8:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):720:721 -> N 7:8:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):720:721 -> N
9:10:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):724:725 -> N 9:10:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):724:725 -> N
11:11:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):728:728 -> N 11:11:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):728:728 -> N
12:12:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):730:730 -> N 12:12:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):730:730 -> N
13:13:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):732:732 -> N 13:13:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):732:732 -> N
14:14:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.IOException):735:735 -> N 14:14:void trackFailure$okhttp(okhttp3.internal.connection.RealCall,java.io.Exception):735:735 -> N
1:1:okhttp3.Protocol protocol():737:737 -> a 1:1:okhttp3.Protocol protocol():737:737 -> a
1:1:okhttp3.Handshake handshake():684:684 -> b 1:1:okhttp3.Handshake handshake():684:684 -> b
1:1:okhttp3.Route route():637:637 -> c 1:1:okhttp3.Route route():637:637 -> c
@ -164789,9 +164789,9 @@ okhttp3.internal.connection.RealConnection -> okhttp3.internal.connection.f:
35:36:void connect(int,int,int,int,boolean,okhttp3.Call,okhttp3.EventListener):232:233 -> m 35:36:void connect(int,int,int,int,boolean,okhttp3.Call,okhttp3.EventListener):232:233 -> m
37:37:void connect(int,int,int,int,boolean,okhttp3.Call,okhttp3.EventListener):193:193 -> m 37:37:void connect(int,int,int,int,boolean,okhttp3.Call,okhttp3.EventListener):193:193 -> m
38:38:void connect(int,int,int,int,boolean,okhttp3.Call,okhttp3.EventListener):175:175 -> m 38:38:void connect(int,int,int,int,boolean,okhttp3.Call,okhttp3.EventListener):175:175 -> m
1:4:void connectFailed$okhttp(okhttp3.OkHttpClient,okhttp3.Route,java.io.IOException):689:692 -> n 1:4:void connectFailed$okhttp(okhttp3.OkHttpClient,okhttp3.Route,java.io.Exception):689:692 -> n
5:5:void connectFailed$okhttp(okhttp3.OkHttpClient,okhttp3.Route,java.io.IOException):691:691 -> n 5:5:void connectFailed$okhttp(okhttp3.OkHttpClient,okhttp3.Route,java.io.Exception):691:691 -> n
6:6:void connectFailed$okhttp(okhttp3.OkHttpClient,okhttp3.Route,java.io.IOException):695:695 -> n 6:6:void connectFailed$okhttp(okhttp3.OkHttpClient,okhttp3.Route,java.io.Exception):695:695 -> n
1:2:void connectSocket(int,int,okhttp3.Call,okhttp3.EventListener):283:284 -> o 1:2:void connectSocket(int,int,okhttp3.Call,okhttp3.EventListener):283:284 -> o
3:3:void connectSocket(int,int,okhttp3.Call,okhttp3.EventListener):286:286 -> o 3:3:void connectSocket(int,int,okhttp3.Call,okhttp3.EventListener):286:286 -> o
4:4:void connectSocket(int,int,okhttp3.Call,okhttp3.EventListener):288:288 -> o 4:4:void connectSocket(int,int,okhttp3.Call,okhttp3.EventListener):288:288 -> o
@ -164945,8 +164945,8 @@ okhttp3.internal.connection.RouteDatabase -> okhttp3.internal.connection.i:
1:1:boolean shouldPostpone(okhttp3.Route):40:40 -> c 1:1:boolean shouldPostpone(okhttp3.Route):40:40 -> c
okhttp3.internal.connection.RouteException -> okhttp3.internal.connection.j: okhttp3.internal.connection.RouteException -> okhttp3.internal.connection.j:
# {"id":"sourceFile","fileName":"RouteException.kt"} # {"id":"sourceFile","fileName":"RouteException.kt"}
java.io.IOException lastConnectException -> a java.io.Exception lastConnectException -> a
java.io.IOException firstConnectException -> b java.io.Exception firstConnectException -> b
1:2:void <init>(java.io.IOException):25:26 -> <init> 1:2:void <init>(java.io.IOException):25:26 -> <init>
1:2:void addConnectException(java.io.IOException):30:31 -> a 1:2:void addConnectException(java.io.IOException):30:31 -> a
1:1:java.io.IOException getFirstConnectException():24:24 -> b 1:1:java.io.IOException getFirstConnectException():24:24 -> b

View File

@ -34,6 +34,7 @@ import com.coldmint.rust.core.tool.FileOperator
import com.coldmint.rust.core.web.ServerConfiguration import com.coldmint.rust.core.web.ServerConfiguration
import com.coldmint.rust.pro.adapters.FileAdapter import com.coldmint.rust.pro.adapters.FileAdapter
import com.coldmint.rust.pro.base.BaseActivity import com.coldmint.rust.pro.base.BaseActivity
import com.coldmint.rust.pro.databean.ErrorInfo
import com.coldmint.rust.pro.databinding.ActivityEditBinding import com.coldmint.rust.pro.databinding.ActivityEditBinding
import com.coldmint.rust.pro.databinding.EditStartBinding import com.coldmint.rust.pro.databinding.EditStartBinding
import com.coldmint.rust.pro.edit.CodeToolAdapter import com.coldmint.rust.pro.edit.CodeToolAdapter
@ -47,6 +48,8 @@ import com.coldmint.rust.pro.viewmodel.EditStartViewModel
import com.coldmint.rust.pro.viewmodel.EditViewModel import com.coldmint.rust.pro.viewmodel.EditViewModel
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import com.google.firebase.crashlytics.ktx.crashlytics
import com.google.firebase.ktx.Firebase
import io.github.rosemoe.sora.lang.completion.CompletionPublisher import io.github.rosemoe.sora.lang.completion.CompletionPublisher
import io.github.rosemoe.sora.text.CharPosition import io.github.rosemoe.sora.text.CharPosition
import io.github.rosemoe.sora.text.ContentReference import io.github.rosemoe.sora.text.ContentReference
@ -160,6 +163,20 @@ class EditActivity : BaseActivity<ActivityEditBinding>() {
* 加载主要的观察者 * 加载主要的观察者
*/ */
fun loadMainObserve() { fun loadMainObserve() {
viewModel.memberErrorInfoFun = {
val info = ErrorInfo()
val saveData = String.format(getString(R.string.compile_error_message), it)
info.allErrorDetails = it
info.activityLog = "EditActivity-编译代码错误"
info.save()
CoreDialog(this).setTitle(R.string.compile_error)
.setMessage(saveData)
.setPositiveButton(R.string.share) {
FileOperator.shareFile(this, info.getLogFile())
}.setNegativeButton(R.string.dialog_cancel) {
}.show()
}
viewModel.needSaveLiveData.observe(this) { viewModel.needSaveLiveData.observe(this) {
if (it) { if (it) {
CoreDialog(this).setTitle(R.string.edit_function).setMessage(R.string.text_changed) CoreDialog(this).setTitle(R.string.edit_function).setMessage(R.string.text_changed)
@ -1344,6 +1361,7 @@ class EditActivity : BaseActivity<ActivityEditBinding>() {
// } // }
// } // }
R.id.save_text -> { R.id.save_text -> {
try {
val openedSourceFile = val openedSourceFile =
viewModel.openedSourceFileListLiveData.getOpenedSourceFile(viewBinding.tabLayout.selectedTabPosition) viewModel.openedSourceFileListLiveData.getOpenedSourceFile(viewBinding.tabLayout.selectedTabPosition)
val needSave = val needSave =
@ -1360,6 +1378,9 @@ class EditActivity : BaseActivity<ActivityEditBinding>() {
R.string.save_complete2, R.string.save_complete2,
Snackbar.LENGTH_SHORT Snackbar.LENGTH_SHORT
).show() ).show()
} catch (e: Exception) {
e.printStackTrace()
}
} }
R.id.show_line_number -> { R.id.show_line_number -> {
viewBinding.codeEditor.isLineNumberEnabled = viewBinding.codeEditor.isLineNumberEnabled =

View File

@ -98,7 +98,7 @@ class UserListActivity : BaseActivity<ActivityUserListBinding>() {
override fun onResponse(t: FollowUserListData) { override fun onResponse(t: FollowUserListData) {
if (t.code == ServerConfiguration.Success_Code) { if (t.code == ServerConfiguration.Success_Code) {
val dataList = t.data val dataList = t.data
if (dataList != null) { if (dataList != null && dataList.size > 0) {
viewBinding.loadLayout.isVisible = false viewBinding.loadLayout.isVisible = false
viewBinding.recyclerView.isVisible = true viewBinding.recyclerView.isVisible = true
val adapter = UserAdapter(this@UserListActivity, dataList) val adapter = UserAdapter(this@UserListActivity, dataList)

View File

@ -66,8 +66,14 @@ class ApplicationListAdapter(
position: Int position: Int
) { ) {
val packageManager = context.packageManager val packageManager = context.packageManager
Glide.with(context).load(data.applicationInfo.loadIcon(packageManager)).apply(GlobalMethod.getRequestOptions()) try {
Glide.with(context).load(data.applicationInfo.loadIcon(packageManager))
.apply(GlobalMethod.getRequestOptions())
.into(viewBinding.appIconView) .into(viewBinding.appIconView)
} catch (e: Exception) {
//解决内存超标问题
e.printStackTrace()
}
val appName = data.applicationInfo.loadLabel(packageManager).toString() val appName = data.applicationInfo.loadLabel(packageManager).toString()
viewBinding.appNameView.text = appName viewBinding.appNameView.text = appName
viewBinding.appVersionView.text = data.versionName viewBinding.appVersionView.text = data.versionName

View File

@ -74,7 +74,11 @@ class ModAdapter(context: Context, dataList: MutableList<ModClass>) :
} }
override fun getPopupText(position: Int): String { override fun getPopupText(position: Int): String {
return if (dataList.size > position) {
val s = dataList[position].modName val s = dataList[position].modName
return getInitial(s).toString() getInitial(s).toString()
} else {
"#"
}
} }
} }

View File

@ -26,7 +26,11 @@ class ModPageAdapter(
} }
val historyUnitFragment: HistoryUnitFragment by lazy { val historyUnitFragment: HistoryUnitFragment by lazy {
HistoryUnitFragment(fragmentActivity, modClass, fileDataBase) val fragment = HistoryUnitFragment()
fragment.fragmentActivity = fragmentActivity
fragment.modClass = modClass
fragment.fileDataBase = fileDataBase
fragment
} }
fun setAllUnitsChanged(changed: ((Int) -> Unit)?) { fun setAllUnitsChanged(changed: ((Int) -> Unit)?) {

View File

@ -152,7 +152,7 @@ abstract class BaseAdapter<ViewBindingType : ViewBinding, DataType>(
* @param index Int * @param index Int
*/ */
fun removeItem(index: Int) { fun removeItem(index: Int) {
if (index < dataList.size) { if (index > -1 && index < dataList.size) {
val data = dataList[index] val data = dataList[index]
dataList.removeAt(index) dataList.removeAt(index)
handler.post { handler.post {

View File

@ -27,10 +27,12 @@ import java.util.concurrent.Executors
* @date 2022/1/14 15:54 * @date 2022/1/14 15:54
*/ */
class HistoryUnitFragment( class HistoryUnitFragment(
val fragmentActivity: FragmentActivity,
val modClass: ModClass, val fileDataBase: FileDataBase
) : ) :
BaseFragment<FragmentHistoryBinding>() { BaseFragment<FragmentHistoryBinding>() {
var fragmentActivity: FragmentActivity? = null
var modClass: ModClass? = null
var fileDataBase: FileDataBase? = null
//当内容改变时的数据监听 //当内容改变时的数据监听
var whenNumberChanged: ((Int) -> Unit)? = null var whenNumberChanged: ((Int) -> Unit)? = null
val executorService: ExecutorService = Executors.newSingleThreadExecutor() val executorService: ExecutorService = Executors.newSingleThreadExecutor()
@ -56,12 +58,15 @@ class HistoryUnitFragment(
fun loadList() { fun loadList() {
val handler = Handler(Looper.getMainLooper()) val handler = Handler(Looper.getMainLooper())
executorService.submit { executorService.submit {
if (fileDataBase == null) {
return@submit
}
handler.post { handler.post {
viewBinding.unitError.isVisible = false viewBinding.unitError.isVisible = false
viewBinding.progressBar.isVisible = true viewBinding.progressBar.isVisible = true
viewBinding.unitList.isVisible = false viewBinding.unitList.isVisible = false
} }
val dataList = fileDataBase.getHistoryDao().getAll().toMutableList() val dataList = fileDataBase!!.getHistoryDao().getAll().toMutableList()
if (dataList.isEmpty()) { if (dataList.isEmpty()) {
handler.post { handler.post {
showInfoToView(R.string.not_find_history) showInfoToView(R.string.not_find_history)
@ -84,7 +89,7 @@ class HistoryUnitFragment(
needUpDateUnitsList = true needUpDateUnitsList = true
} }
executorService.submit { executorService.submit {
fileDataBase.getHistoryDao().delete(historyRecord) fileDataBase!!.getHistoryDao().delete(historyRecord)
} }
true true
}, },
@ -119,13 +124,15 @@ class HistoryUnitFragment(
* @param file SourceFileClass * @param file SourceFileClass
*/ */
fun openEditActivity(file: SourceFile) { fun openEditActivity(file: SourceFile) {
if (modClass != null && fragmentActivity != null) {
val bundle = Bundle() val bundle = Bundle()
val path = file.file.absolutePath val path = file.file.absolutePath
bundle.putString("path", path) bundle.putString("path", path)
bundle.putString("modPath", modClass.modFile.absolutePath) bundle.putString("modPath", modClass!!.modFile.absolutePath)
val intent = Intent(requireContext(), EditActivity::class.java) val intent = Intent(requireContext(), EditActivity::class.java)
intent.putExtra("data", bundle) intent.putExtra("data", bundle)
fragmentActivity.startActivityForResult(intent, 2) fragmentActivity!!.startActivityForResult(intent, 2)
}
} }
/** /**

View File

@ -88,6 +88,9 @@ class RankingFragment : BaseFragment<FragmentRankingBinding>() {
viewBinding.swipeRefreshLayout.isVisible = false viewBinding.swipeRefreshLayout.isVisible = false
WebMod.instance.list(object : ApiCallBack<WebModListData> { WebMod.instance.list(object : ApiCallBack<WebModListData> {
override fun onResponse(t: WebModListData) { override fun onResponse(t: WebModListData) {
if (!isAdded) {
return
}
if (t.code == ServerConfiguration.Success_Code) { if (t.code == ServerConfiguration.Success_Code) {
val list = t.data val list = t.data
if (list != null && list.isNotEmpty()) { if (list != null && list.isNotEmpty()) {

View File

@ -50,6 +50,8 @@ class WarehouseFragment : BaseFragment<FragmentWarehouseBinding>() {
override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) { override fun whenViewCreated(inflater: LayoutInflater, savedInstanceState: Bundle?) {
viewBinding.pager.adapter = WarehouseAdapter(this) viewBinding.pager.adapter = WarehouseAdapter(this)
//解决启动为仓库页面,点击社区,再返回仓库重复崩溃的问题
viewBinding.pager.isSaveEnabled = false
loadTab() loadTab()
} }

View File

@ -11,6 +11,9 @@ import android.graphics.Color
import android.graphics.Paint import android.graphics.Paint
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Build import android.os.Build
import android.os.Handler
import android.os.Looper
import android.os.Message
import android.util.TypedValue import android.util.TypedValue
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
@ -225,6 +228,7 @@ object GlobalMethod {
fun showUpdateLog(context: Context, modId: String) { fun showUpdateLog(context: Context, modId: String) {
WebMod.instance.getUpdateRecord(modId, object : ApiCallBack<WebModUpdateLogData> { WebMod.instance.getUpdateRecord(modId, object : ApiCallBack<WebModUpdateLogData> {
override fun onResponse(t: WebModUpdateLogData) { override fun onResponse(t: WebModUpdateLogData) {
try {
if (t.code == ServerConfiguration.Success_Code) { if (t.code == ServerConfiguration.Success_Code) {
val data = t.data val data = t.data
if (data != null && data.isNotEmpty()) { if (data != null && data.isNotEmpty()) {
@ -249,6 +253,9 @@ object GlobalMethod {
} else { } else {
Toast.makeText(context, t.message, Toast.LENGTH_SHORT).show() Toast.makeText(context, t.message, Toast.LENGTH_SHORT).show()
} }
} catch (e: Exception) {
e.printStackTrace()
}
} }
override fun onFailure(e: Exception) { override fun onFailure(e: Exception) {

View File

@ -14,6 +14,8 @@ import com.coldmint.rust.pro.livedata.OpenedSourceFileListLiveData
import com.coldmint.rust.pro.tool.AppSettings import com.coldmint.rust.pro.tool.AppSettings
import com.coldmint.rust.pro.tool.CompletionItemConverter import com.coldmint.rust.pro.tool.CompletionItemConverter
import com.coldmint.rust.pro.tool.GlobalMethod import com.coldmint.rust.pro.tool.GlobalMethod
import com.google.firebase.crashlytics.ktx.crashlytics
import com.google.firebase.ktx.Firebase
import java.io.File import java.io.File
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.*
@ -36,7 +38,13 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
var targetFile: File? = null var targetFile: File? = null
val codeTranslate by lazy { val codeTranslate by lazy {
CodeTranslate(getApplication()) val c = CodeTranslate(getApplication())
c.setCompileErrorRecordFun {
//将信息上传至FireBase
Firebase.crashlytics.setCustomKey("type", "代码编译错误")
Firebase.crashlytics.recordException(it)
}
c
} }
/** /**
@ -44,6 +52,11 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
*/ */
var modClass: ModClass? = null var modClass: ModClass? = null
/**
* 错误信息回调
*/
var memberErrorInfoFun: ((String) -> Unit)? = null
/** /**
* 是否正在复制文件 * 是否正在复制文件
*/ */
@ -136,11 +149,15 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
*/ */
fun compilerFile( fun compilerFile(
openedSourceFile: OpenedSourceFile, openedSourceFile: OpenedSourceFile,
func: (String) -> Unit func: (String) -> Unit,
) { ) {
codeTranslate.setTranslate(false) codeTranslate.setTranslate(false)
codeTranslate.start(openedSourceFile.getEditText()) { codeTranslate.start(openedSourceFile.getEditText()) { success, data ->
func.invoke(it) if (success) {
func.invoke(data)
} else {
memberErrorInfoFun?.invoke(data)
}
} }
} }
@ -173,9 +190,14 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
val code = FileOperator.readFile(File(getNowOpenFilePath())) ?: return@submit val code = FileOperator.readFile(File(getNowOpenFilePath())) ?: return@submit
it.setTranslation(code) it.setTranslation(code)
codeTranslate.setTranslate(true) codeTranslate.setTranslate(true)
codeTranslate.start(code){ codeTranslate.start(code) { success, data ->
codeLiveData.postValue(it) if (success) {
codeLiveData.postValue(data)
loadingLiveData.postValue(false) loadingLiveData.postValue(false)
} else {
//翻译失败
memberErrorInfoFun?.invoke(data)
}
} }
return@submit return@submit
} }
@ -192,14 +214,15 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
executorService.submit { executorService.submit {
val code = FileOperator.readFile(File(path)) ?: return@submit val code = FileOperator.readFile(File(path)) ?: return@submit
codeTranslate.setTranslate(true) codeTranslate.setTranslate(true)
codeTranslate.start(code){ codeTranslate.start(code) { success, data ->
if (success) {
CompletionItemConverter.setSourceFilePath(path) CompletionItemConverter.setSourceFilePath(path)
val openedSourceFile = OpenedSourceFile(path) val openedSourceFile = OpenedSourceFile(path)
openedSourceFile.setTranslation(it) openedSourceFile.setTranslation(data)
val index = openedSourceFileListLiveData.add(openedSourceFile) val index = openedSourceFileListLiveData.add(openedSourceFile)
if (index == -1) { if (index == -1) {
nowFilePath = path nowFilePath = path
codeLiveData.postValue(it) codeLiveData.postValue(data)
addHistoryRecord(SourceFile(File(path))) addHistoryRecord(SourceFile(File(path)))
} else { } else {
val oldOpenedSourceFile = val oldOpenedSourceFile =
@ -212,6 +235,9 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
} }
} }
loadingLiveData.postValue(false) loadingLiveData.postValue(false)
} else {
memberErrorInfoFun?.invoke(data)
}
} }
} }
} }
@ -311,8 +337,12 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
*/ */
fun saveOneFile(openedSourceFile: OpenedSourceFile) { fun saveOneFile(openedSourceFile: OpenedSourceFile) {
codeTranslate.setTranslate(false) codeTranslate.setTranslate(false)
codeTranslate.start(openedSourceFile.getEditText()){ codeTranslate.start(openedSourceFile.getEditText()) { success, code ->
openedSourceFile.save(it) if (success) {
openedSourceFile.save(code)
} else {
memberErrorInfoFun?.invoke(code)
}
} }
} }
@ -330,16 +360,24 @@ class EditViewModel(application: Application) : BaseAndroidViewModel(application
if (openedSourceFile.isChanged(text)) { if (openedSourceFile.isChanged(text)) {
needSave = true needSave = true
codeTranslate.setTranslate(false) codeTranslate.setTranslate(false)
codeTranslate.start(openedSourceFile.getEditText()){ codeTranslate.start(openedSourceFile.getEditText()) { success, code ->
openedSourceFile.save(it) if (success) {
openedSourceFile.save(code)
} else {
memberErrorInfoFun?.invoke(code)
}
} }
} }
} else { } else {
if (openedSourceFile.isNeedSave()) { if (openedSourceFile.isNeedSave()) {
needSave = true needSave = true
codeTranslate.setTranslate(false) codeTranslate.setTranslate(false)
codeTranslate.start(openedSourceFile.getEditText()){ codeTranslate.start(openedSourceFile.getEditText()) { success, code ->
openedSourceFile.save(it) if (success) {
openedSourceFile.save(code)
} else {
memberErrorInfoFun?.invoke(code)
}
} }
} }
} }

View File

@ -40,6 +40,8 @@ import com.coldmint.rust.pro.tool.CompletionItemConverter
import com.coldmint.rust.pro.tool.GlobalMethod import com.coldmint.rust.pro.tool.GlobalMethod
import com.google.android.material.color.DynamicColors import com.google.android.material.color.DynamicColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.firebase.crashlytics.ktx.crashlytics
import com.google.firebase.ktx.Firebase
import java.io.File import java.io.File
import java.util.* import java.util.*
import java.util.concurrent.Executors import java.util.concurrent.Executors
@ -132,12 +134,14 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
val status = AppSettings.getValue(AppSettings.Setting.LoginStatus, false) val status = AppSettings.getValue(AppSettings.Setting.LoginStatus, false)
if (!status) { if (!status) {
needLoginLiveData.value = true needLoginLiveData.value = true
Firebase.crashlytics.setUserId("")
return return
} }
//验证登录 //验证登录
val token = AppSettings.getValue(AppSettings.Setting.Token, "") val token = AppSettings.getValue(AppSettings.Setting.Token, "")
if (token.isBlank()) { if (token.isBlank()) {
needLoginLiveData.value = true needLoginLiveData.value = true
Firebase.crashlytics.setUserId("")
} else { } else {
User.getUserActivationInfo(token, object : ApiCallBack<ActivationInfo> { User.getUserActivationInfo(token, object : ApiCallBack<ActivationInfo> {
override fun onFailure(e: Exception) { override fun onFailure(e: Exception) {
@ -147,6 +151,7 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
) )
if (localTime == (-2).toLong()) { if (localTime == (-2).toLong()) {
isActivationLiveData.value = true isActivationLiveData.value = true
Firebase.crashlytics.setUserId("")
} else { } else {
val nowTime = System.currentTimeMillis() val nowTime = System.currentTimeMillis()
//本地时间大于当前时间 激活 //本地时间大于当前时间 激活
@ -166,6 +171,7 @@ class StartViewModel(application: Application) : BaseAndroidViewModel(applicatio
time time
) )
isActivationLiveData.value = activationInfo.data.activation isActivationLiveData.value = activationInfo.data.activation
Firebase.crashlytics.setUserId(activationInfo.data.account)
} else { } else {
// 用户登录失败 // 用户登录失败
verifyErrorMsgLiveData.value = activationInfo.message verifyErrorMsgLiveData.value = activationInfo.message

View File

@ -944,6 +944,8 @@
<string name="update_number">更新次数</string> <string name="update_number">更新次数</string>
<string name="click_profile_picture_login">点击头像登录</string> <string name="click_profile_picture_login">点击头像登录</string>
<string name="log_in_discover_more">登录发现更多内容!</string> <string name="log_in_discover_more">登录发现更多内容!</string>
<string name="compile_error">编译错误</string>
<string name="compile_error_message">很抱歉,源文件编译失败了。错误信息为:\n%1$s</string>
<string name="follow_introduction">登录后即可解锁关注系统</string> <string name="follow_introduction">登录后即可解锁关注系统</string>
</resources> </resources>

View File

@ -88,6 +88,19 @@ class CodeTranslate(val context: Context) {
//翻译模式 //翻译模式
private var translateMode: Boolean = true private var translateMode: Boolean = true
/**
* 设置编译异常记录
*/
private var compileErrorRecord: ((Exception) -> Unit)? = null
/**
* 设置编译异常上报
*/
public fun setCompileErrorRecordFun(func: ((Exception) -> Unit)?) {
compileErrorRecord = func
}
/** /**
* 设置是否启用英文模式 当启用时禁用翻译和编译功能 * 设置是否启用英文模式 当启用时禁用翻译和编译功能
* @param enable Boolean * @param enable Boolean
@ -116,9 +129,10 @@ class CodeTranslate(val context: Context) {
/** /**
* 开始工作 * 开始工作
* @param func Function1<String, Unit> *
* @param func 是否翻译成功,结果若true则结果为翻译结果false结果为异常信息
*/ */
fun start(input: String, func: (String) -> Unit) { fun start(input: String, func: (Boolean, String) -> Unit) {
val handler = Handler(Looper.getMainLooper()) val handler = Handler(Looper.getMainLooper())
val scope = CoroutineScope(Job()) val scope = CoroutineScope(Job())
num++ num++
@ -137,11 +151,12 @@ class CodeTranslate(val context: Context) {
"代码翻译", isError = true "代码翻译", isError = true
) )
handler.post { handler.post {
func.invoke(input) func.invoke(true, input)
} }
return@launch return@launch
} }
try {
val tokenizer = StringTokenizer(input, CodeTranslate.split, true) val tokenizer = StringTokenizer(input, CodeTranslate.split, true)
//缓存翻译数据,以便加速重复数据的翻译 //缓存翻译数据,以便加速重复数据的翻译
val translationMap = HashMap<String, String>() val translationMap = HashMap<String, String>()
@ -169,7 +184,8 @@ class CodeTranslate(val context: Context) {
val codeInfo = if (translateMode) { val codeInfo = if (translateMode) {
codeDataBase.getCodeDao().findCodeByCode(referenceValue) codeDataBase.getCodeDao().findCodeByCode(referenceValue)
} else { } else {
codeDataBase.getCodeDao().findCodeByTranslate(referenceValue) codeDataBase.getCodeDao()
.findCodeByTranslate(referenceValue)
} }
if (codeInfo == null) { if (codeInfo == null) {
translationResult.append(referenceResult) translationResult.append(referenceResult)
@ -325,8 +341,7 @@ class CodeTranslate(val context: Context) {
CodeBlockType.Reference CodeBlockType.Reference
} }
} }
if (translateMode) if (translateMode) {
{
codeResult.append(codeInfo.translate) codeResult.append(codeInfo.translate)
} else { } else {
codeResult.append(codeInfo.code) codeResult.append(codeInfo.code)
@ -348,8 +363,17 @@ class CodeTranslate(val context: Context) {
} }
} }
handler.post { handler.post {
func.invoke(translationResult.toString()) func.invoke(true, translationResult.toString())
} }
} catch (e: Exception) {
compileErrorRecord?.invoke(e)
e.printStackTrace()
handler.post {
//第一个布尔值表示是否翻译成功
func.invoke(false, e.toString())
}
}
} }
} }

View File

@ -138,20 +138,20 @@ class CompressionManager private constructor() {
} }
} }
flag = true flag = true
} catch (ex: IOException) { } catch (ex: Exception) {
ex.printStackTrace() ex.printStackTrace()
flag = false flag = false
} finally { } finally {
} }
} }
} catch (ex: IOException) { } catch (ex: Exception) {
ex.printStackTrace() ex.printStackTrace()
flag = false flag = false
} finally { } finally {
if (zipFile != null) { if (zipFile != null) {
try { try {
zipFile.close() zipFile.close()
} catch (ex: IOException) { } catch (ex: Exception) {
flag = false flag = false
} }
} }
@ -235,7 +235,7 @@ class CompressionManager private constructor() {
if (zipOutputStream != null) { if (zipOutputStream != null) {
zipOutputStream!!.close() zipOutputStream!!.close()
} }
} catch (e: IOException) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
} }
zipOutputStream = null zipOutputStream = null

View File

@ -46,7 +46,7 @@ class ModClass(file: File) {
* *
* @return 模组名称 * @return 模组名称
*/ */
lateinit var modName: String var modName: String = "Null"
private var upDateTime: Long = 0 private var upDateTime: Long = 0
/** /**

View File

@ -27,6 +27,9 @@ class TurretSketchpadView(context: Context, attributeSet: AttributeSet? = null)
* @return Bitmap * @return Bitmap
*/ */
fun scaleBitmap(bitmap: Bitmap, size: Float): Bitmap? { fun scaleBitmap(bitmap: Bitmap, size: Float): Bitmap? {
if (size <= 0) {
return null
}
//创建新的图像背景 //创建新的图像背景
val matrix = Matrix() val matrix = Matrix()
matrix.setScale(size, size) matrix.setScale(size, size)