Как проверить, отображается ли progressDialog пользователю через Robolectric
Я хотел бы проверить поведение моей деятельности, когда filePath имеет значение null или содержит недопустимый путь к файлу.
Мой код активности
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(...);
Intent intent = getIntent();
filePath = intent.getParcelableExtra(SOMETHING);
if (TextUtils.isEmpty(filePath)) {
showErrorAndFinishPopup();
return;
}
mediaMetadataRetriever = new MediaMetadataRetriever();
try {
mediaMetadataRetriever.setDataSource(filePath);
} catch(IllegalArgumentException e) {
showErrorAndFinishPopup();
return;
}
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("something");
progressDialog.show();
...
}
Я могу сделать свое собственное намерение с помощью filePath = null и начать свою деятельность. Тем не менее, я не уверен, как проверить, отображается ли прогресс.
1 ответ
Решение
Вы можете проверить, отображается ли диалог, просто позвонив isShowing
как это:
if (progressDialog.isShowing())
{
// progressDialog is currently visible
}
else
{
// progressDialog is currently invisible
}
Я могу использовать тень
ShadowProgressDialog.getShownDialogs()