14ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphreypackage com.xtremelabs.robolectric.shadows;
24ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey
34ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey
44ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphreyimport android.app.ProgressDialog;
5c1939651f1f399da668bdd59b900ad897f2b3a27pivotalimport android.content.Context;
6c1939651f1f399da668bdd59b900ad897f2b3a27pivotalimport com.xtremelabs.robolectric.Robolectric;
74ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphreyimport com.xtremelabs.robolectric.internal.Implementation;
84ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphreyimport com.xtremelabs.robolectric.internal.Implements;
94ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey
10c1939651f1f399da668bdd59b900ad897f2b3a27pivotalimport static com.xtremelabs.robolectric.Robolectric.shadowOf;
11c1939651f1f399da668bdd59b900ad897f2b3a27pivotal
124ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey@Implements(ProgressDialog.class)
1349b9fba095e45782c7981955820a7519f25fbeb6Rich Humphreypublic class ShadowProgressDialog extends ShadowAlertDialog {
144ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey
15c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    private boolean indeterminate;
16c1939651f1f399da668bdd59b900ad897f2b3a27pivotal
17c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    @Implementation
1804d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard    public static ProgressDialog show(Context context, CharSequence title, CharSequence message) {
1904d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard        return show(context, title, message, false);
2004d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard    }
2104d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard
2204d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard    @Implementation
2304d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard    public static ProgressDialog show(Context context, CharSequence title, CharSequence message, boolean indeterminate) {
2404d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard        return show(context, title, message, indeterminate, false, null);
2504d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard    }
2604d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard
2704d0a37ddf290c5e0543b0ebc91a3222bbe6e84cJoe Moore & Ryan Richard    @Implementation
28c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    public static ProgressDialog show(Context context, CharSequence title, CharSequence message, boolean indeterminate, boolean cancelable) {
29c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        return show(context, title, message, indeterminate, cancelable, null);
30c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    }
31c1939651f1f399da668bdd59b900ad897f2b3a27pivotal
32c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    @Implementation
33c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    public static ProgressDialog show(Context context, CharSequence title, CharSequence message, boolean indeterminate, boolean cancelable, ProgressDialog.OnCancelListener onCancelListener) {
34c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        ProgressDialog progressDialog = new ProgressDialog(context);
35c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        progressDialog.setTitle(title);
36c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        progressDialog.setMessage(message);
37c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        progressDialog.setIndeterminate(indeterminate);
38c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        progressDialog.setCancelable(cancelable);
39c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        progressDialog.setOnCancelListener(onCancelListener);
40c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        progressDialog.show();
41c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        Robolectric.getShadowApplication().setLatestAlertDialog(shadowOf(progressDialog));
42c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        return progressDialog;
43c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    }
44c1939651f1f399da668bdd59b900ad897f2b3a27pivotal
45c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    @Implementation
46c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    public void setIndeterminate(boolean indeterminate) {
47c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        this.indeterminate = indeterminate;
48c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    }
49c1939651f1f399da668bdd59b900ad897f2b3a27pivotal
50c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    @Implementation
51c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    public boolean isIndeterminate() {
52c1939651f1f399da668bdd59b900ad897f2b3a27pivotal        return indeterminate;
53c1939651f1f399da668bdd59b900ad897f2b3a27pivotal    }
544ba5e84ecdbe474b0f5a55f19f1b2af49fbbe822Rich Humphrey}
55