anchor.diff:    }
   
     refresh() async {
  -    if (_currentDevice == null) return;
  +    if (!_isUsbAttached) return;
       _log.debug('refreshing credentials...');
   
       try {
  
positive.code:   }
  
    _scheduleRefresh() {
      _timer?.cancel();
      if (_currentDevice == null) return;
      if (state == null) {
        _log.debug('No OATH state, refresh immediately');
        refresh();
  
negative.code: 
  class _AndroidCredentialListNotifier extends OathCredentialListNotifier {
    final WithContext _withContext;
    final bool _isUsbAttached;
    Timer? _timer;
  
    _AndroidCredentialListNotifier(
        this._withContext, this._isUsbAttached, List<OathPair>? value)
        : super() {
      state = value;
      _scheduleRefresh();
    }
  
    void _notifyWindowState(WindowState windowState) {
      if (!_isUsbAttached) return;
      if (windowState.active) {
        _scheduleRefresh();
      } else {
  