if (container1.value!!.sizeId == null || container1.value!!.typeId == null) {
Log.e("SIZ" , "******************** sized & type is null ***************************")
}
// if remove this code on kotline, you will be error from server.
// because the sizeId and typeId didn't convert to jason and sent to server (On APK Release mode)
مشکل چی بود : یه ای پی آی زدیم. تو حالت دیباگ همه چیش عالی کار میکرد مام خوشحال و خندان ریلیز گرفتیم فرستادیم بچه ها یه تست کنن تو لالوهای خوشحالیمون بودیم که بچه ها گفتن کسخل برنامت باگ داره. هرچی من تست میکردم میگفتم باگ نداره طرف میگفت باگ داره. خلاصه فهمیدیم تو حالت ریلیز که ای پی کا رو کامپایل میکنیم یه سری فیلدا تبدیل به جیسون نمیشه. فیلد سایز آیدی و تایپ آیدی تو حالت ریلیز که مینیفای هم فعال بود اصلا به جیسون کانورت نمیشد (در حالتی که تو دیباگ کانورت انجام میشد). رفتم کد بالا رارو لای برنامم زدم که خیلی غیر منطقی و بی دلیل دیدم کد داره کار میکنه.
پس نتیجه اخلاقی : کلاسای ی دیتا مدل کاتلین که خیلی کسخلای عاشق کاتلین روش مانور میدادن وقتی میخواد کامپایل بشه و ریلیز بشه، چک میکنه که تو کد آیا از اون فیلدا جایی استفاده کردی یانه . عقلشم به این نمیرسه که شاید کتابخونه جی-سون با رفلکشن بخواد با فیلدا کار کنه. نتیجه این میشه که برای اینکه فاضی رم مصرف نشه کدایی که قبال برای اون فیلد زید رو حذف میکنه خاره. و باعص میشه یه روز از جوونیم بگا برکه که این سگ پدر مثلا میخواسته کد آپتیماز زده باشه برای کاتلین ی
تو کاتلین . زنده باد حاوا
I hateKotlin
I Love JAVA
KOTLIn is stupest programming language . fuck to google for support fucking kotlin
@Override
protected void attachBaseContext(Context newBase) {
Context context = Language.wrap(newBase);
super.attachBaseContext(context);
}
public static ContextWrapper wrap(Context context) {
Locale newLocale = new Locale(Social.getInstance(context).getLanguage());
Resources res = context.getResources();
Configuration configuration = res.getConfiguration();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
configuration.setLocale(newLocale);
LocaleList localeList = new LocaleList(newLocale);
LocaleList.setDefault(localeList);
configuration.setLocales(localeList);
context = context.createConfigurationContext(configuration);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
configuration.setLocale(newLocale);
context = context.createConfigurationContext(configuration);
} else {
configuration.locale = newLocale;
res.updateConfiguration(configuration, res.getDisplayMetrics());
}
return new ContextWrapper(context);
}
درباره این سایت