Repository: incubator-weex
Updated Branches:
  refs/heads/master 1c7f1ff75 -> 6b3519a2d


* [android] support mutil language on dialog


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a8cac846
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a8cac846
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a8cac846

Branch: refs/heads/master
Commit: a8cac8467f6236b962a9c3d13b9ebf72bf4c1ad5
Parents: 659284d
Author: misakuo <misa...@apache.org>
Authored: Mon Oct 23 14:18:36 2017 +0800
Committer: misakuo <misa...@apache.org>
Committed: Mon Oct 23 14:18:36 2017 +0800

----------------------------------------------------------------------
 .../weex/appfram/pickers/DatePickerImpl.java    | 33 ++++++++++++++++++--
 .../weex/appfram/pickers/WXPickersModule.java   |  7 +++--
 .../ui/component/helper/WXTimeInputHelper.java  |  6 ++--
 3 files changed, 39 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a8cac846/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java
----------------------------------------------------------------------
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java 
b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java
index f6950bf..db00765 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/DatePickerImpl.java
@@ -18,6 +18,7 @@
  */
 package com.taobao.weex.appfram.pickers;
 
+import android.app.AlertDialog;
 import android.app.DatePickerDialog;
 import android.app.TimePickerDialog;
 import android.content.Context;
@@ -25,6 +26,7 @@ import android.content.DialogInterface;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.text.TextUtils;
+import android.widget.Button;
 import android.widget.DatePicker;
 import android.widget.TimePicker;
 
@@ -35,6 +37,7 @@ import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.Locale;
+import java.util.Map;
 
 /**
  * Created by moxun on 16/11/23.
@@ -48,7 +51,7 @@ public class DatePickerImpl {
     private static SimpleDateFormat timeFormatter;
     private static SimpleDateFormat dateFormatter;
 
-    public static void pickDate(@NonNull Context context, String value, String 
max, String min, @NonNull final OnPickListener listener) {
+    public static void pickDate(@NonNull Context context, String value, String 
max, String min, @NonNull final OnPickListener listener, @Nullable Map<String, 
Object> extras) {
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(parseDate(value));
         final DatePickerDialog dialog = new DatePickerDialog(
@@ -102,10 +105,13 @@ public class DatePickerImpl {
             }
         });
 
+        setButtonText(dialog, DialogInterface.BUTTON_NEGATIVE, 
String.valueOf(extras.get("cancelTitle")));
+        setButtonText(dialog, DialogInterface.BUTTON_POSITIVE, 
String.valueOf(extras.get("confirmTitle")));
+
         dialog.show();
     }
 
-    public static void pickTime(@NonNull Context context, String value, 
@NonNull final OnPickListener listener) {
+    public static void pickTime(@NonNull Context context, String value, 
@NonNull final OnPickListener listener, @Nullable Map<String, Object> extras) {
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(parseTime(value));
         TimePickerDialog dialog = new TimePickerDialog(
@@ -131,6 +137,9 @@ public class DatePickerImpl {
             }
         });
 
+        setButtonText(dialog, DialogInterface.BUTTON_NEGATIVE, 
String.valueOf(extras.get("cancelTitle")));
+        setButtonText(dialog, DialogInterface.BUTTON_POSITIVE, 
String.valueOf(extras.get("confirmTitle")));
+
         dialog.show();
     }
 
@@ -165,4 +174,24 @@ public class DatePickerImpl {
         }
         return new Date();
     }
+
+    private static void setButtonText(final AlertDialog dialog, final int 
which, final CharSequence text) {
+        if (TextUtils.isEmpty(text) || "null".equals(text)) {
+            return;
+        }
+        try {
+            dialog.getWindow().getDecorView().post(new Runnable() {
+                @Override
+                public void run() {
+                    Button button = dialog.getButton(which);
+                    if (button != null) {
+                        button.setAllCaps(false);
+                        button.setText(text);
+                    }
+                }
+            });
+        } catch (Throwable t) {
+            t.printStackTrace();
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a8cac846/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
----------------------------------------------------------------------
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
 
b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
index 9209a4f..6a94fae 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/appfram/pickers/WXPickersModule.java
@@ -148,8 +148,8 @@ public class WXPickersModule extends WXModule {
                             callback.invoke(ret);
                         }
                     }
-                }
-        );
+                },
+                options);
     }
 
     private void performPickDate(Map<String, Object> options, final JSCallback 
callback) {
@@ -176,7 +176,8 @@ public class WXPickersModule extends WXModule {
                             callback.invoke(ret);
                         }
                     }
-                });
+                },
+                options);
 
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a8cac846/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java
----------------------------------------------------------------------
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java
 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java
index 5056f5c..9d3f669 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/helper/WXTimeInputHelper.java
@@ -45,7 +45,8 @@ public class WXTimeInputHelper {
                             component.performOnChange(result);
                         }
                     }
-                });
+                },
+                null);
     }
 
     public static void pickTime(final AbstractEditComponent component) {
@@ -62,7 +63,8 @@ public class WXTimeInputHelper {
                             component.performOnChange(result);
                         }
                     }
-                }
+                },
+                null
         );
     }
 }

Reply via email to