Мое приложение может выполнять аутентификацию, авторизацию и получать информацию профиля.Все делается через токен.Мне нужно добавить ситуацию, когда срок действия токена истек. (Работа с 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?