Как проверить, отображается ли progressDialog пользователю через Robolectric - PullRequest
0 голосов
/ 27 февраля 2019

Я хотел бы проверить поведение своей активности, когда 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' и начать свою деятельность.Тем не менее, я не уверен, как проверить, отображается ли прогресс.

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Я могу использовать тень

ShadowProgressDialog.getShownDialogs()
0 голосов
/ 27 февраля 2019

Вы можете проверить, отображается диалоговое окно или нет, просто набрав isShowing, например:

if (progressDialog.isShowing())
            {
                // progressDialog is currently visible
            }
            else
            {
                // progressDialog is currently invisible
            }
...