aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java')
-rw-r--r--main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java b/main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java
new file mode 100644
index 0000000..c2b722c
--- /dev/null
+++ b/main/src/cgeo/geocaching/ui/dialog/CustomProgressDialog.java
@@ -0,0 +1,45 @@
+package cgeo.geocaching.ui.dialog;
+
+import cgeo.geocaching.activity.ActivityMixin;
+import cgeo.geocaching.utils.Log;
+
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.TextView;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+/**
+ * Modified progress dialog class which allows hiding the absolute numbers
+ *
+ */
+public class CustomProgressDialog extends ProgressDialog {
+
+ public CustomProgressDialog(Context context) {
+ super(context, ActivityMixin.getTheme());
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ try {
+ Method method = TextView.class.getMethod("setVisibility", Integer.TYPE);
+
+ Field[] fields = this.getClass().getSuperclass().getDeclaredFields();
+
+ for (Field field : fields) {
+ if (field.getName().equalsIgnoreCase("mProgressNumber")) {
+ field.setAccessible(true);
+ TextView textView = (TextView) field.get(this);
+ method.invoke(textView, View.GONE);
+ }
+ }
+ } catch (Exception e) {
+ Log.e("Failed to invoke the progressDialog method 'setVisibility' and set 'mProgressNumber' to GONE.", e);
+ }
+ }
+} \ No newline at end of file