fix: 修复在android 6.0,Api 23闪退

This commit is contained in:
TongTongStudio
2026-06-11 20:35:48 +08:00
parent 73e373db93
commit a59370cf32
3 changed files with 315 additions and 2 deletions

View File

@@ -2,6 +2,7 @@ package com.ttstd.dialer.manager;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.text.TextUtils;
import com.jeremyliao.liveeventbus.LiveEventBus;
@@ -20,6 +21,8 @@ import com.ttstd.dialer.BuildConfig;
import com.ttstd.dialer.bean.CityInfo;
import com.ttstd.dialer.config.CommonConfig;
import com.ttstd.dialer.gson.GsonUtils;
import com.ttstd.dialer.parser.CsvDeserializer;
import com.ttstd.dialer.parser.LegacyCsvParser;
import com.ttstd.dialer.utils.Logger;
import com.ttstd.dialer.utils.NativeUtils;
@@ -136,7 +139,12 @@ public class WeatherManager {
@Override
public void subscribe(@NonNull ObservableEmitter<List<CityInfo>> emitter) throws Throwable {
long time = System.currentTimeMillis();
List<CityInfo> cityInfos = CsvDeserializer.deserializeFromAssets(mContext, "China-City-List-latest.csv");
List<CityInfo> cityInfos;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
cityInfos = CsvDeserializer.deserializeFromAssets(mContext, "China-City-List-latest.csv");
} else {
cityInfos = LegacyCsvParser.parseFromAssets(mContext, "China-City-List-latest.csv");
}
Logger.e(TAG, "subscribe: deserializeFromAssets time = " + (System.currentTimeMillis() - time) + "ms");
emitter.onNext(cityInfos);
}