You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mi...@apache.org on 2018/03/01 08:19:40 UTC

[1/3] incubator-weex git commit: *[feature] feature to copy text value

Repository: incubator-weex
Updated Branches:
  refs/heads/master a7bfb9a5f -> c20aad50a


*[feature] feature to copy text value


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

Branch: refs/heads/master
Commit: 94ee706e997c1e5dc17b10454f9a4497bf8ab609
Parents: 95e16d8
Author: misakuo <mi...@apache.org>
Authored: Sat Feb 24 10:55:33 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Sat Feb 24 10:55:33 2018 +0800

----------------------------------------------------------------------
 .../java/com/taobao/weex/common/Constants.java  |  1 +
 .../com/taobao/weex/ui/component/WXText.java    | 17 ++++----
 .../com/taobao/weex/ui/view/WXTextView.java     | 43 ++++++++++++++++++++
 3 files changed, 51 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/94ee706e/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
index 64b59c8..86ef336 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
@@ -201,6 +201,7 @@ public class Constants {
     String STRATEGY  = "strategy";
 
     String ALLOW_COPY_PASTE = "allowCopyPaste";
+    String ENABLE_COPY = "enableCopy";
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/94ee706e/android/sdk/src/main/java/com/taobao/weex/ui/component/WXText.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXText.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXText.java
index 6a9a99a..bb1bd4b 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXText.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXText.java
@@ -18,28 +18,19 @@
  */
 package com.taobao.weex.ui.component;
 
-import android.content.BroadcastReceiver;
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
 import android.support.annotation.NonNull;
-import android.support.v4.content.LocalBroadcastManager;
 import android.text.Layout;
 
-import com.taobao.weex.WXEnvironment;
 import com.taobao.weex.WXSDKInstance;
-import com.taobao.weex.WXSDKManager;
 import com.taobao.weex.annotation.Component;
 import com.taobao.weex.common.Constants;
-import com.taobao.weex.dom.DOMActionContext;
-import com.taobao.weex.dom.WXDomHandler;
 import com.taobao.weex.dom.WXDomObject;
 import com.taobao.weex.ui.ComponentCreator;
 import com.taobao.weex.ui.flat.FlatComponent;
 import com.taobao.weex.ui.flat.widget.TextWidget;
 import com.taobao.weex.ui.view.WXTextView;
-import com.taobao.weex.utils.TypefaceUtil;
-import com.taobao.weex.utils.WXLogUtils;
+import com.taobao.weex.utils.WXUtils;
 
 import java.lang.reflect.InvocationTargetException;
 
@@ -144,6 +135,12 @@ public class WXText extends WXComponent<WXTextView> implements FlatComponent<Tex
         return true;
       case Constants.Name.FONT_FAMILY:
         return true;
+      case Constants.Name.ENABLE_COPY:
+        boolean enabled = WXUtils.getBoolean(param, false);
+        if (getHostView() != null) {
+          getHostView().enableCopy(enabled);
+        }
+        return true;
       default:
         return super.setProperty(key, param);
     }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/94ee706e/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java
index a98be22..914171f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java
@@ -18,11 +18,15 @@
  */
 package com.taobao.weex.ui.view;
 
+import android.content.ClipData;
+import android.content.ClipboardManager;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.support.annotation.Nullable;
+import android.support.v7.widget.PopupMenu;
 import android.text.Layout;
 import android.text.TextUtils;
+import android.view.MenuItem;
 import android.view.MotionEvent;
 import android.view.View;
 
@@ -31,6 +35,7 @@ import com.taobao.weex.ui.view.gesture.WXGesture;
 import com.taobao.weex.ui.view.gesture.WXGestureObservable;
 
 import java.lang.ref.WeakReference;
+import java.util.Locale;
 
 /**
  * TextView wrapper
@@ -118,4 +123,42 @@ public class WXTextView extends View implements WXGestureObservable, IWXTextView
   public WXText getComponent() {
      return null != mWeakReference ? mWeakReference.get() : null;
   }
+
+  public void enableCopy(boolean enable) {
+    if (enable) {
+      setOnLongClickListener(new OnLongClickListener() {
+        @Override
+        public boolean onLongClick(View v) {
+          PopupMenu popupMenu = new PopupMenu(getContext(), WXTextView.this);
+          boolean isCN = false;
+          try {
+            isCN = Locale.getDefault().toString().startsWith("zh_CN");
+          } catch (Throwable t) {
+            //ignore
+          }
+          final String title = isCN ? "复制" : "Copy";
+          popupMenu.getMenu().add(title);
+          popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
+            @Override
+            public boolean onMenuItemClick(MenuItem item) {
+              if (title.equals(item.getTitle())) {
+                String data = getText().toString();
+                ClipboardManager clipboardManager = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
+                if (clipboardManager != null) {
+                  ClipData clipData = ClipData.newPlainText(data, data);
+                  clipboardManager.setPrimaryClip(clipData);
+                }
+                return true;
+              }
+              return false;
+            }
+          });
+          popupMenu.show();
+          return true;
+        }
+      });
+    } else {
+      setOnLongClickListener(null);
+    }
+  }
 }


[3/3] incubator-weex git commit: Merge remote-tracking branch 'upstream/pr1037' into apache-master

Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/pr1037' into apache-master


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

Branch: refs/heads/master
Commit: c20aad50aed3548cb06d9a4cdf0ba5831cf22541
Parents: a7bfb9a d67a3af
Author: misakuo <mi...@apache.org>
Authored: Thu Mar 1 16:19:26 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Thu Mar 1 16:19:26 2018 +0800

----------------------------------------------------------------------
 .../java/com/taobao/weex/common/Constants.java  |  1 +
 .../com/taobao/weex/ui/component/WXText.java    | 17 ++++----
 .../com/taobao/weex/ui/view/WXTextView.java     | 42 ++++++++++++++++++++
 3 files changed, 50 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c20aad50/android/sdk/src/main/java/com/taobao/weex/common/Constants.java
----------------------------------------------------------------------


[2/3] incubator-weex git commit: *[android] text localization

Posted by mi...@apache.org.
*[android] text localization


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

Branch: refs/heads/master
Commit: d67a3af27573f483cbe0022e1df6ee5103f260f7
Parents: 94ee706
Author: misakuo <mi...@apache.org>
Authored: Wed Feb 28 20:58:37 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Wed Feb 28 20:58:37 2018 +0800

----------------------------------------------------------------------
 .../sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d67a3af2/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java
index 914171f..e4a9808 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXTextView.java
@@ -35,7 +35,6 @@ import com.taobao.weex.ui.view.gesture.WXGesture;
 import com.taobao.weex.ui.view.gesture.WXGestureObservable;
 
 import java.lang.ref.WeakReference;
-import java.util.Locale;
 
 /**
  * TextView wrapper
@@ -130,13 +129,13 @@ public class WXTextView extends View implements WXGestureObservable, IWXTextView
         @Override
         public boolean onLongClick(View v) {
           PopupMenu popupMenu = new PopupMenu(getContext(), WXTextView.this);
-          boolean isCN = false;
+          String s = "Copy";
           try {
-            isCN = Locale.getDefault().toString().startsWith("zh_CN");
+            s = getContext().getResources().getString(android.R.string.copy);
           } catch (Throwable t) {
             //ignore
           }
-          final String title = isCN ? "复制" : "Copy";
+          final String title = s;
           popupMenu.getMenu().add(title);
           popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
             @Override