Для Разработчики Kotlin :
Сделай один класс котлина,
MainApp.kt :
class MainApp : Application() {
lateinit var API: API
lateinit var savedData: SharedPreferences
override fun onCreate() {
super.onCreate()
MainApp.appContext = applicationContext
TypefaceUtil.overrideFont(getApplicationContext(), "SERIF", "fonts/hn.ttf");
initializeConfigs()
}
companion object {
lateinit var userHelper: UserHelper
}
private fun initializeConfigs(){
savedData = getSharedPreferences("Proj", Context.MODE_PRIVATE)
userHelper = UserHelper(savedData)
val retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
.client(OkHttpClient.Builder().addInterceptor(logging).addInterceptor(HeaderInterceptor(userHelper)).build())
.addConverterFactory(GsonConverterFactory.create())
.build()
API = retrofit.create(API::class.java)
}
fun getUserHelper(): UserHelper{
return userHelper
}
}
Создать файл Kotlin для API
Api :
interface SwiftAPI {
@POST("api/guest")
fun registerGuest(): Call<UserTokens>
}
Создать другой класс для UserHelper.kt :
class UserHelper(val sharedPreferences: SharedPreferences) {
public boolean isConnected() throws InterruptedException, IOException {
final String command = "ping -c 1 google.com";
return Runtime.getRuntime().exec(command).waitFor() == 0;
}
}