Мое приложение может выполнять аутентификацию, авторизацию и получать информацию профиля.Все делается через токен.Мне нужно добавить ситуацию, когда срок действия токена истек. (Работа с RefreshToken). Я не знаю, как это сделать правильно. Я не знаю, где эту проверку лучше провести.
Выкладываю часть кода.Вряд ли он чем то поможет.Но пусть лежит
Это MainActivity при запуске приложения идет проверка на Null токена
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences sharedPref = getApplicationContext()
.getSharedPreferences("userInfo", AppCompatActivity.MODE_PRIVATE);
String token = sharedPref.getString("access_token",null);
if (token != null) {
Intent intent = new Intent(MainActivity.this, Profiile.class);
startActivity(intent);
finish();
}
}
Это Singleton для Retrofit
public class NetworkService {
private static NetworkService mInstance;
private static final String BASE_URL = "https://minesrv.ey.r.appspot.com";
private Retrofit mRetrofit;
private NetworkService () {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
SharedPreferences preferences = App.Companion.getInstance().getSharedPreferences("userInfo", AppCompatActivity.MODE_PRIVATE);
OkHttpClient client = new OkHttpClient.Builder()
.addInterceptor(logging)
.addInterceptor(new AccessTokenInterceptor(preferences))
.build();
mRetrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
Я не жду решений каких то.Можете просто сказать как производительно это сделать.Как бы сделал Senior?