diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:45 -0800 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:45 -0800 |
| commit | d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 (patch) | |
| tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /core/java/android/app/ProgressDialog.java | |
| parent | 076357b8567458d4b6dfdcf839ef751634cd2bfb (diff) | |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'core/java/android/app/ProgressDialog.java')
| -rw-r--r-- | core/java/android/app/ProgressDialog.java | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/core/java/android/app/ProgressDialog.java b/core/java/android/app/ProgressDialog.java deleted file mode 100644 index c87e3982b7ba..000000000000 --- a/core/java/android/app/ProgressDialog.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.app; - -import android.content.Context; -import android.graphics.drawable.Drawable; -import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.ProgressBar; -import android.widget.TextView; - -import com.android.internal.R; - -import java.text.NumberFormat; - -/** - * <p>A dialog showing a progress indicator and an optional text message or view. - * Only a text message or a view can be used at the same time.</p> - * <p>The dialog can be made cancelable on back key press.</p> - * <p>The progress range is 0..10000.</p> - */ -public class ProgressDialog extends AlertDialog { - - /** Creates a ProgressDialog with a ciruclar, spinning progress - * bar. This is the default. - */ - public static final int STYLE_SPINNER = 0; - - /** Creates a ProgressDialog with a horizontal progress bar. - */ - public static final int STYLE_HORIZONTAL = 1; - - private ProgressBar mProgress; - private TextView mMessageView; - - private int mProgressStyle = STYLE_SPINNER; - private TextView mProgressNumber; - private TextView mProgressPercent; - private NumberFormat mProgressPercentFormat; - - private int mMax; - private int mProgressVal; - private int mSecondaryProgressVal; - private int mIncrementBy; - private int mIncrementSecondaryBy; - private Drawable mProgressDrawable; - private Drawable mIndeterminateDrawable; - private CharSequence mMessage; - private boolean mIndeterminate; - - private boolean mHasStarted; - private Handler mViewUpdateHandler; - - public ProgressDialog(Context context) { - this(context, com.android.internal.R.style.Theme_Dialog_Alert); - } - - public ProgressDialog(Context context, int theme) { - super(context, theme); - } - - public static ProgressDialog show(Context context, CharSequence title, - CharSequence message) { - return show(context, title, message, false); - } - - public static ProgressDialog show(Context context, CharSequence title, - CharSequence message, boolean indeterminate) { - return show(context, title, message, indeterminate, false, null); - } - - public static ProgressDialog show(Context context, CharSequence title, - CharSequence message, boolean indeterminate, boolean cancelable) { - return show(context, title, message, indeterminate, cancelable, null); - } - - public static ProgressDialog show(Context context, CharSequence title, - CharSequence message, boolean indeterminate, - boolean cancelable, OnCancelListener cancelListener) { - ProgressDialog dialog = new ProgressDialog(context); - dialog.setTitle(title); - dialog.setMessage(message); - dialog.setIndeterminate(indeterminate); - dialog.setCancelable(cancelable); - dialog.setOnCancelListener(cancelListener); - dialog.show(); - return dialog; - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - LayoutInflater inflater = LayoutInflater.from(mContext); - if (mProgressStyle == STYLE_HORIZONTAL) { - - /* Use a separate handler to update the text views as they - * must be updated on the same thread that created them. - */ - mViewUpdateHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - super.handleMessage(msg); - - /* Update the number and percent */ - int progress = mProgress.getProgress(); - int max = mProgress.getMax(); - double percent = (double) progress / (double) max; - mProgressNumber.setText(progress + "/" + max); - mProgressPercent.setText(mProgressPercentFormat.format(percent)); - } - }; - View view = inflater.inflate(R.layout.alert_dialog_progress, null); - mProgress = (ProgressBar) view.findViewById(R.id.progress); - mProgressNumber = (TextView) view.findViewById(R.id.progress_number); - mProgressPercent = (TextView) view.findViewById(R.id.progress_percent); - mProgressPercentFormat = NumberFormat.getPercentInstance(); - mProgressPercentFormat.setMaximumFractionDigits(0); - setView(view); - } else { - View view = inflater.inflate(R.layout.progress_dialog, null); - mProgress = (ProgressBar) view.findViewById(R.id.progress); - mMessageView = (TextView) view.findViewById(R.id.message); - setView(view); - } - if (mMax > 0) { - setMax(mMax); - } - if (mProgressVal > 0) { - setProgress(mProgressVal); - } - if (mSecondaryProgressVal > 0) { - setSecondaryProgress(mSecondaryProgressVal); - } - if (mIncrementBy > 0) { - incrementProgressBy(mIncrementBy); - } - if (mIncrementSecondaryBy > 0) { - incrementSecondaryProgressBy(mIncrementSecondaryBy); - } - if (mProgressDrawable != null) { - setProgressDrawable(mProgressDrawable); - } - if (mIndeterminateDrawable != null) { - setIndeterminateDrawable(mIndeterminateDrawable); - } - if (mMessage != null) { - setMessage(mMessage); - } - setIndeterminate(mIndeterminate); - onProgressChanged(); - super.onCreate(savedInstanceState); - } - - @Override - public void onStart() { - super.onStart(); - mHasStarted = true; - } - - @Override - protected void onStop() { - super.onStop(); - mHasStarted = false; - } - - public void setProgress(int value) { - if (mHasStarted) { - mProgress.setProgress(value); - onProgressChanged(); - } else { - mProgressVal = value; - } - } - - public void setSecondaryProgress(int secondaryProgress) { - if (mProgress != null) { - mProgress.setSecondaryProgress(secondaryProgress); - onProgressChanged(); - } else { - mSecondaryProgressVal = secondaryProgress; - } - } - - public int getProgress() { - if (mProgress != null) { - return mProgress.getProgress(); - } - return mProgressVal; - } - - public int getSecondaryProgress() { - if (mProgress != null) { - return mProgress.getSecondaryProgress(); - } - return mSecondaryProgressVal; - } - - public int getMax() { - if (mProgress != null) { - return mProgress.getMax(); - } - return mMax; - } - - public void setMax(int max) { - if (mProgress != null) { - mProgress.setMax(max); - onProgressChanged(); - } else { - mMax = max; - } - } - - public void incrementProgressBy(int diff) { - if (mProgress != null) { - mProgress.incrementProgressBy(diff); - onProgressChanged(); - } else { - mIncrementBy += diff; - } - } - - public void incrementSecondaryProgressBy(int diff) { - if (mProgress != null) { - mProgress.incrementSecondaryProgressBy(diff); - onProgressChanged(); - } else { - mIncrementSecondaryBy += diff; - } - } - - public void setProgressDrawable(Drawable d) { - if (mProgress != null) { - mProgress.setProgressDrawable(d); - } else { - mProgressDrawable = d; - } - } - - public void setIndeterminateDrawable(Drawable d) { - if (mProgress != null) { - mProgress.setIndeterminateDrawable(d); - } else { - mIndeterminateDrawable = d; - } - } - - public void setIndeterminate(boolean indeterminate) { - if (mProgress != null) { - mProgress.setIndeterminate(indeterminate); - } else { - mIndeterminate = indeterminate; - } - } - - public boolean isIndeterminate() { - if (mProgress != null) { - return mProgress.isIndeterminate(); - } - return mIndeterminate; - } - - @Override - public void setMessage(CharSequence message) { - if (mProgress != null) { - if (mProgressStyle == STYLE_HORIZONTAL) { - super.setMessage(message); - } else { - mMessageView.setText(message); - } - } else { - mMessage = message; - } - } - - public void setProgressStyle(int style) { - mProgressStyle = style; - } - - private void onProgressChanged() { - if (mProgressStyle == STYLE_HORIZONTAL) { - mViewUpdateHandler.sendEmptyMessage(0); - } - } -} |
