android how to set time for progressdialog
<p>In my app i have a processDialog (using AsyncTask) and at doInbackground it fetches data from server.
all are working perfectly.
But I want if Internet is slow then it gives an warning alert that "problem with ur internet connection"
so for that i want to know how much time the progressDialog takes upto dismiss. so that i can put a condition that if time > 5imns  then that alert will come.</p>

<p>How can i get how much time it takes or how to set time for dialog.</p>

<p>plz anybody answer me.
thank you in advance</p>

<p>below my code is there,</p>

<p>public class InfoActivity extends Activity {</p>

<pre><code>private TextView tvRestroName, tvRestroAddr, tvRestroArea, tvRestroCity,
        tvRestroPhone, tvRestroRating, tvRestroCuisines, tvRestroAttr;
private ImageView imgRestro;
private ImageAdapter coverImageAdapter = new ImageAdapter(this);
private ScrollView sv;
static Bitmap restroBitmap, selectedImage;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    // This activity has two different views so to bind two views
    // LinearLayout is used here
    // from two views one is xml and another is coverflow class
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    LayoutInflater inflater = (LayoutInflater) this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.info, null);

    // adding one view as xml
    ll.addView(view);

    CoverFlow coverFlow;
    coverFlow = new CoverFlow(this);
    coverFlow.setAdapter(new ImageAdapter(this));
    // set Imageadapter which is define within InfoActivity class
    coverFlow.setAdapter(coverImageAdapter);

    coverFlow.setSpacing(-25);
    coverFlow.setSelection(4, true);
    coverFlow.setAnimationDuration(1000);
    // and another view as class
    ll.addView(coverFlow);
    sv = new ScrollView(this);
    sv.addView(ll);

    // To add all views to InfoActivity
    setContentView(sv);
    // to initialize all variables like textview and imageview
    setupViews();
    // for progress dialog
    new DownloadTask().execute(this);

    // click event of images within imageadapter
    coverFlow.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView&lt;?&gt; arg0, View arg1,
                int position, long arg3) {
            Toast.makeText(InfoActivity.this, "" + (position + 1),
                    Toast.LENGTH_SHORT).show();
            // imageView.setImageResource(mImageIds[arg2]);
            String slImg = TabHostActivity.galleryArray[position]; 
            selectedImage = loadBitmap(slImg);
            Intent i = new Intent(InfoActivity.this,
                    PostCommentActivity.class);
            startActivity(i);

        }
    });
}

// to initialize all variables like textview and imageview
private void setupViews() {
    imgRestro = (ImageView) findViewById(R.id.imageResturant);
    tvRestroName = (TextView) findViewById(R.id.tvRestroName);
    tvRestroAddr = (TextView) findViewById(R.id.tvRestroAddr);
    tvRestroArea = (TextView) findViewById(R.id.tvRestroArea);
    tvRestroCity = (TextView) findViewById(R.id.tvRestroCity);
    tvRestroPhone = (TextView) findViewById(R.id.tvRestroPhone);
    tvRestroRating = (TextView) findViewById(R.id.tvRestroRating);
    tvRestroCuisines = (TextView) findViewById(R.id.tvRestroCuisines);
    tvRestroAttr = (TextView) findViewById(R.id.tvRestroAttributes);
}

// set values to all fields
private void setupValues() {
    tvRestroName.setText("Restaurant " + TabHostActivity.restroName);
    //Bitmap bmp = loadBitmap(TabHostActivity.restroImageurl);
    System.out.println("str ;" + TabHostActivity.restroImageurl);

    imgRestro.setImageBitmap(Bitmap.createScaledBitmap(restroBitmap, 300, 300, true));
    System.out.println("Image seted");
    tvRestroAddr.setText("Address: " + TabHostActivity.addr);
    tvRestroArea.setText("Area: " + TabHostActivity.area);
    tvRestroCity.setText("City:" + TabHostActivity.city);

    String phones = "Phones: ";
    for (int i = 0; i &lt; TabHostActivity.phoneArray.length; i++)
        phones += TabHostActivity.phoneArray[i] + ", ";
    tvRestroPhone.setText(phones.substring(0, phones.length() - 2));

    tvRestroRating.setText("Rating: " + TabHostActivity.rating);

    String cuisines = "Cuisines: ";
    for (int i = 0; i &lt; TabHostActivity.cuisinesArray.length; i++)
        cuisines += TabHostActivity.cuisinesArray[i] + ", ";
    tvRestroCuisines.setText(cuisines.substring(0, cuisines.length() - 2));

    String attr = "Attributes: ";
    for (int i = 0; i &lt; TabHostActivity.attributesArray.length; i++)
        attr += TabHostActivity.attributesArray[i] + ", ";
    tvRestroAttr.setText(attr.substring(0, attr.length() - 2));
}

// to get image from url in form of bitmap
private static Bitmap loadBitmap(String url) {
    URL myFileUrl = null;
    InputStream is = null;
    try {
        myFileUrl = new URL(url);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
    try {
        HttpURLConnection conn = (HttpURLConnection) myFileUrl
                .openConnection();
        conn.setDoInput(true);
        conn.connect();
        is = conn.getInputStream();
        Log.i("i m connected", "Download in info for main image");

    } catch (IOException e) {
        e.printStackTrace();
    }
    Log.i("i m connected", "Download in info for main image");
    return BitmapFactory.decodeStream(is);
}

// for progressdialog
private class DownloadTask extends AsyncTask&lt;Context, Integer, Void&gt; {

    private ProgressDialog Dialog = new ProgressDialog(InfoActivity.this);

    @Override
    protected void onPreExecute() {
        System.out.println("In onPreExecute ");
        Dialog.setTitle("Loading");
        Dialog.setMessage("Please wait for few seconds...");
        //Dialog.setMax(100);
        //Dialog.setProgress(0);
        Dialog.show();

    }

    @Override
    protected Void doInBackground(Context... params) {
        System.out.println("In doInBackground ");
        //examineJSONFile();
        restroBitmap= loadBitmap(TabHostActivity.restroImageurl);
        System.out.println("conversion of bitmap done");
        int i = 0;

        System.out.println("In doInBackground ");
        Dialog.dismiss();
        //Dialog.cancel();
        for (i = 0; i &lt; 10; i++)
            System.out.println("In doInBackground " + i);

        Bitmap bitmap = null;
        for (i = 0; i &lt; TabHostActivity.galleryArray.length; i++) {
            try {
                publishProgress(i);

            } catch (Exception e) {
                Log.i("in while", e.getMessage());
            }

            bitmap = loadBitmap(TabHostActivity.galleryArray[i]);
            TabHostActivity.bitmapHash.remove(TabHostActivity.galleryArray[i]);
            TabHostActivity.bitmapHash.put(TabHostActivity.galleryArray[i], bitmap);

        }
        return null;
    }

    @Override
    protected void onProgressUpdate(Integer... progress) {
        if (progress[0]==0) {
            setupValues();
            System.out.println("setupvalues");
        } else {
            System.out.println("In progress ");
            coverImageAdapter.setnotify();
        }
    }

    @Override
    protected void onPostExecute(Void arg) {
        System.out.println("In onPostExecute ");
        }
}

public class ImageAdapter extends BaseAdapter {
    int mGalleryItemBackground;
    private Context mContext;
    private BitmapDrawable drawable;
    private FileInputStream fis;

    public ImageAdapter(Context c) {
        mContext = c;
        }

    public int getCount() {
        return TabHostActivity.galleryArray.length;
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public void setnotify() {
        notifyDataSetChanged();
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView i = new ImageView(mContext);
        fetchDummy(TabHostActivity.galleryArray[position], i);
        i.setLayoutParams(new CoverFlow.LayoutParams(200, 200));
        i.setScaleType(ImageView.ScaleType.CENTER_INSIDE);

        // Make sure we set anti-aliasing otherwise we get jaggies
        drawable = (BitmapDrawable) i.getDrawable();
        try {
            drawable.setAntiAlias(true);
        } catch (Exception e) {
            System.out.println("Exception in getview :" + e);
        }

        return i;

        // return mImages[position];
    }

    /**
     * Returns the size (0.0f to 1.0f) of the views depending on the
     * 'offset' to the center.
     */
    public float getScale(boolean focused, int offset) {
        /* Formula: 1 / (2 ^ offset) */
        return Math.max(1, 2.0f / (float) Math.pow(2, Math.abs(offset)));
    }

    private void fetchDummy(String urlString, ImageView i) {
        if (TabHostActivity.bitmapHash.containsKey(urlString)) {
            i.setImageBitmap(TabHostActivity.bitmapHash.get(urlString));
        }
    }

}
</code></pre>
