rhodes 3.3.3.beta.1 → 3.3.3.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +3 -0
- data/Manifest.txt +23 -9
- data/Rakefile +13 -2
- data/doc/build.txt +18 -11
- data/doc/device-caps.txt +4 -68
- data/doc/rhom.txt +33 -0
- data/doc/test-log-debug.txt +18 -42
- data/lib/framework/rho/render.rb +1 -1
- data/lib/framework/rho/rho.rb +31 -1
- data/lib/framework/rho/rhocontroller.rb +2 -2
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhoframework.rb +4 -0
- data/lib/framework/rholang/localization_simplified.rb +1 -1
- data/lib/framework/rhom/rhom_object_factory.rb +22 -1
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml +2 -2
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +25 -9
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_extmanager_RhoExtManagerImpl.h +21 -0
- data/platform/android/Rhodes/jni/src/extmanager.cpp +36 -0
- data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
- data/platform/android/Rhodes/jni/src/rhodesapp.cpp +14 -5
- data/platform/android/Rhodes/jni/src/rhodessystem.cpp +5 -0
- data/platform/android/Rhodes/jni/src/signature.cpp +29 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +3 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +4 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +42 -7
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +61 -10
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtData.java +6 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +39 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +18 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtDataImpl.java +18 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +142 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerSingleton.java +15 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java +6 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +25 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +15 -9
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +15 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +3 -3
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/ImageCapture.java +14 -8
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java +218 -51
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/SignatureProperties.java +94 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/SignatureView.java +122 -37
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +6 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/{WebView.java → IRhoWebView.java} +2 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +4 -0
- data/platform/android/build/RhodesSRC_build.files +8 -1
- data/platform/android/build/android.rake +5 -1
- data/platform/android/build/librhodes_build.files +1 -0
- data/platform/bb/RubyVM/src/com/rho/RhodesApp.java +22 -1
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +15 -0
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RhoSupport.java +4 -0
- data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyRuntime.java +4 -2
- data/platform/bb/build/rhodes_build.files +2 -0
- data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +1 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/PNGEncoder.java +613 -0
- data/platform/bb/rhodes/src/com/rho/rubyext/SignatureCapture.java +314 -0
- data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +1 -1
- data/platform/iphone/Classes/AppManager/AppManager.m +11 -0
- data/platform/iphone/Classes/Rhodes.m +1 -1
- data/platform/iphone/Classes/Signature/SignatureDelegate.h +5 -1
- data/platform/iphone/Classes/Signature/SignatureDelegate.m +186 -5
- data/platform/iphone/Classes/Signature/SignatureView.h +12 -0
- data/platform/iphone/Classes/Signature/SignatureView.m +11 -3
- data/platform/iphone/Classes/SimpleMainView.m +4 -0
- data/platform/iphone/Classes/rho/net/NetRequestImpl.m +98 -3
- data/platform/iphone/Info.plist +1 -1
- data/platform/iphone/rbuild/iphone.rake +18 -5
- data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +1 -1
- data/platform/shared/common/ExtManager.h +64 -9
- data/platform/shared/common/RhoSimConf.h +1 -0
- data/platform/shared/common/RhodesApp.cpp +77 -28
- data/platform/shared/common/RhodesApp.h +9 -4
- data/platform/shared/common/RhodesAppBase.cpp +4 -3
- data/platform/shared/common/RhodesAppBase.h +5 -3
- data/platform/shared/net/HttpServer.cpp +4 -4
- data/platform/shared/net/HttpServer.h +2 -2
- data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +1 -1
- data/platform/shared/qt/rhodes/main.cpp +1 -1
- data/platform/shared/ruby/ext/rho/rhoruby.c +12 -2
- data/platform/shared/ruby/ext/rho/rhosupport.c +11 -1
- data/platform/shared/ruby/thread_win32.c +2 -1
- data/platform/shared/rubyext/System.cpp +6 -0
- data/platform/shared/sync/SyncSource.cpp +15 -0
- data/platform/wm/RhoLib/RhoLib.vcproj +0 -4
- data/platform/wm/build/build_inf.js +34 -4
- data/platform/wm/build/wm.rake +75 -25
- data/platform/wm/rhodes/AppManager.cpp +14 -3
- data/platform/wm/rhodes/IBrowserEngine.h +7 -0
- data/platform/wm/rhodes/IEBrowserEngine.cpp +43 -0
- data/platform/wm/rhodes/IEBrowserEngine.h +7 -0
- data/platform/wm/rhodes/LogOptionsDlg.cpp +1 -1
- data/platform/wm/rhodes/MainWindow.cpp +92 -7
- data/platform/wm/rhodes/MainWindow.h +28 -1
- data/platform/wm/rhodes/MapView/MapViewManager.cpp +4 -4
- data/platform/wm/rhodes/Rhodes.cpp +149 -10
- data/platform/wm/rhodes/resource.h +5 -1
- data/platform/wm/rhodes/rho/common/ExtManager.cpp +307 -0
- data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +1 -1
- data/platform/wm/rhodes/rho/rubyext/RhoSignature.cpp +1 -1
- data/platform/wm/rhodes/rho/rubyext/RhoSignature.h +1 -1
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +14 -2
- data/platform/wm/rhodes/rho/rubyext/WebView.cpp +6 -3
- data/platform/wm/rhodes/rhodes.vcproj +5 -1
- data/platform/wm/rhodes/simulator/MainWindowQt.cpp +22 -1
- data/platform/wm/rhodes/simulator/MainWindowQt.h +4 -0
- data/platform/wp7/RhoRubyExtGen/RhoWebView.cs +1 -1
- data/platform/wp7/RhoRubyLib/Initializers.Generated.cs +1 -1
- data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +33 -38
- data/platform/wp7/RhoRubyLib/net/HttpServer.cs +134 -29
- data/platform/wp7/RhoRubyLib/rubyext/RhoWebView.cs +12 -2
- data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +17 -1
- data/platform/wp7/RhoRubyLib/views/RhoTabHeader.xaml +3 -3
- data/platform/wp7/RhoRubyLib/views/RhoView.xaml.cs +48 -8
- data/rakefile.rb +13 -2
- data/res/build-tools/iphonesim/build/Release/iphonesim_43 +0 -0
- data/res/build-tools/iphonesim/iphonesim.xcodeproj/project.pbxproj +158 -0
- data/res/generators/rhogen.rb +33 -28
- data/res/generators/templates/application/app/layout.erb +6 -5
- data/res/generators/templates/application/public/css/android.css +21 -315
- data/res/generators/templates/application/public/css/iphone.css +1 -499
- data/res/generators/templates/application/public/css/jqmobile-patch.css +18 -5
- data/res/generators/templates/application/public/css/windows_phone7.css +378 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
- data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0.css → jquery.mobile-1.0.1.css} +33 -11
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0.js → jquery.mobile-1.0.1.js} +249 -125
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.1.min.css +2 -0
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.1.min.js +177 -0
- data/res/generators/templates/application/public/jqmobile/{jquery.mobile.structure-1.0.css → jquery.mobile.structure-1.0.1.css} +33 -11
- data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.1.min.css +2 -0
- data/res/generators/templates/application/public/jquery/jquery.json-2.3.js +193 -0
- data/res/generators/templates/application/public/jquery/jquery.json-2.3.min.js +23 -0
- data/res/generators/templates/application/public/js/jquery-wp7-patch.js +68 -20
- data/spec/phone_spec/app/Case/case.rb +22 -0
- data/spec/phone_spec/app/Customer/customer.rb +16 -0
- data/spec/phone_spec/app/spec/rhom_object_spec.rb +108 -11
- data/spec/phone_spec/app/spec/syncengine_spec.rb +43 -1
- data/spec/phone_spec/build.yml +2 -1
- data/version +1 -1
- metadata +27 -13
- data/platform/shared/common/ExtManager.cpp +0 -103
- data/res/generators/templates/application/public/jqmobile/jquery-mobile-iphone.css +0 -9
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.css +0 -2
- data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.js +0 -172
- data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.min.css +0 -2
@@ -0,0 +1,94 @@
|
|
1
|
+
package com.rhomobile.rhodes.signature;
|
2
|
+
|
3
|
+
import com.rhomobile.rhodes.Logger;
|
4
|
+
|
5
|
+
class SignatureProperties {
|
6
|
+
|
7
|
+
public int penColor;
|
8
|
+
public float penWidth;
|
9
|
+
public int bgColor;
|
10
|
+
|
11
|
+
public int left;
|
12
|
+
public int top;
|
13
|
+
public int width;
|
14
|
+
public int height;
|
15
|
+
|
16
|
+
String imageFormat;
|
17
|
+
|
18
|
+
String callbackUrl;
|
19
|
+
|
20
|
+
public static final String PEN_COLOR = "penColor";
|
21
|
+
public static final String PEN_WIDTH = "penWidth";
|
22
|
+
public static final String BG_COLOR = "bgColor";
|
23
|
+
public static final String IMAGE_FORMAT = "imageFormat";
|
24
|
+
public static final String LEFT = "left";
|
25
|
+
public static final String TOP = "top";
|
26
|
+
public static final String WIDTH = "width";
|
27
|
+
public static final String HEIGHT = "height";
|
28
|
+
public static final String CALLBACK = "callback";
|
29
|
+
|
30
|
+
public static final String[] PROPERTIES_LIST = { PEN_COLOR,
|
31
|
+
PEN_WIDTH,
|
32
|
+
BG_COLOR,
|
33
|
+
IMAGE_FORMAT,
|
34
|
+
LEFT,
|
35
|
+
TOP,
|
36
|
+
WIDTH,
|
37
|
+
HEIGHT,
|
38
|
+
CALLBACK};
|
39
|
+
|
40
|
+
public SignatureProperties() {
|
41
|
+
penColor = 0xFF66009A;
|
42
|
+
penWidth = 2;
|
43
|
+
bgColor = 0xFFFFFFFF;
|
44
|
+
|
45
|
+
left = 0;
|
46
|
+
top = 0;
|
47
|
+
width = 200;
|
48
|
+
height = 200;
|
49
|
+
|
50
|
+
imageFormat = "png";
|
51
|
+
|
52
|
+
callbackUrl = "";
|
53
|
+
}
|
54
|
+
|
55
|
+
void setPropertyByName(String name, String value) {
|
56
|
+
if ((name == null) || (value == null)) {
|
57
|
+
return;
|
58
|
+
}
|
59
|
+
try {
|
60
|
+
if (PEN_COLOR.equalsIgnoreCase(name)) {
|
61
|
+
penColor = (int)Long.parseLong(value);
|
62
|
+
}
|
63
|
+
else if (PEN_WIDTH.equalsIgnoreCase(name)) {
|
64
|
+
penWidth = Float.parseFloat(value);
|
65
|
+
}
|
66
|
+
else if (BG_COLOR.equalsIgnoreCase(name)) {
|
67
|
+
bgColor = (int)Long.parseLong(value);
|
68
|
+
}
|
69
|
+
else if (LEFT.equalsIgnoreCase(name)) {
|
70
|
+
left = Integer.parseInt(value);
|
71
|
+
}
|
72
|
+
else if (TOP.equalsIgnoreCase(name)) {
|
73
|
+
top = Integer.parseInt(value);
|
74
|
+
}
|
75
|
+
else if (WIDTH.equalsIgnoreCase(name)) {
|
76
|
+
width = Integer.parseInt(value);
|
77
|
+
}
|
78
|
+
else if (HEIGHT.equalsIgnoreCase(name)) {
|
79
|
+
height = Integer.parseInt(value);
|
80
|
+
}
|
81
|
+
else if (IMAGE_FORMAT.equalsIgnoreCase(name)) {
|
82
|
+
imageFormat = new String(value);
|
83
|
+
}
|
84
|
+
else if (CALLBACK.equalsIgnoreCase(name)) {
|
85
|
+
callbackUrl = new String(value);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
catch (Exception e) {
|
89
|
+
Logger.E(Signature.TAG, "SignatureProperties Exception during set param["+name+"] to value["+value+"]");
|
90
|
+
Logger.E(Signature.TAG, e);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
}
|
@@ -32,7 +32,9 @@ import java.util.Vector;
|
|
32
32
|
import android.content.Context;
|
33
33
|
import android.graphics.Bitmap;
|
34
34
|
import android.graphics.Canvas;
|
35
|
+
import android.graphics.Color;
|
35
36
|
import android.graphics.Paint;
|
37
|
+
import android.graphics.PixelFormat;
|
36
38
|
import android.graphics.Rect;
|
37
39
|
import android.graphics.PointF;
|
38
40
|
import android.os.Bundle;
|
@@ -43,7 +45,9 @@ import android.view.MotionEvent;
|
|
43
45
|
import java.io.Serializable;
|
44
46
|
import java.io.IOException;
|
45
47
|
|
48
|
+
|
46
49
|
import com.rhomobile.rhodes.Logger;
|
50
|
+
import com.rhomobile.rhodes.util.PerformOnUiThread;
|
47
51
|
|
48
52
|
class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
49
53
|
|
@@ -51,7 +55,7 @@ class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
|
51
55
|
public float penWidth;
|
52
56
|
public int bgColor;
|
53
57
|
|
54
|
-
|
58
|
+
public boolean isTransparency;
|
55
59
|
|
56
60
|
private class PointSequence {
|
57
61
|
public Vector<PointF> mPoints = new Vector<PointF>();
|
@@ -114,14 +118,14 @@ class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
|
114
118
|
|
115
119
|
private Paint mPaint;
|
116
120
|
|
117
|
-
|
121
|
+
|
118
122
|
public void doClear() {
|
119
123
|
// clear paths
|
120
124
|
mSequences.clear();
|
121
|
-
doFullRedraw();
|
125
|
+
doFullRedraw(mCanvas, mBitmap, true, true);
|
126
|
+
invalidate();
|
122
127
|
}
|
123
|
-
|
124
|
-
|
128
|
+
|
125
129
|
public void onRestoreInstanceState(Bundle savedInstanceState) {
|
126
130
|
SignatureViewState s = (SignatureViewState)savedInstanceState.getSerializable(mStateID);
|
127
131
|
mSequences = s.mSequences;
|
@@ -135,19 +139,39 @@ class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
|
135
139
|
outState.putSerializable(mStateID, s);
|
136
140
|
}
|
137
141
|
|
138
|
-
private void doFullRedraw() {
|
139
|
-
if (
|
142
|
+
private void doFullRedraw(Canvas canvas, Bitmap bitmap, boolean useAlpha, boolean redrawOnScreen) {
|
143
|
+
if (canvas == null) {
|
140
144
|
return;
|
141
145
|
}
|
142
146
|
|
143
147
|
Paint paint = new Paint();
|
144
148
|
paint.setAntiAlias(false);
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
149
|
+
|
150
|
+
int a = (bgColor & 0xFF000000) >> 24;
|
151
|
+
|
152
|
+
if (isTransparency) {
|
153
|
+
if (useAlpha) {
|
154
|
+
bitmap.eraseColor(bgColor);
|
155
|
+
}
|
156
|
+
else {
|
157
|
+
a = 255;
|
158
|
+
bitmap.eraseColor(bgColor | 0xFF000000);
|
159
|
+
//canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), paint);
|
160
|
+
}
|
161
|
+
}
|
162
|
+
else {
|
163
|
+
paint.setARGB( a,
|
164
|
+
(bgColor & 0xFF0000) >> 16,
|
165
|
+
(bgColor & 0xFF00) >> 8,
|
166
|
+
(bgColor & 0xFF));
|
167
|
+
|
168
|
+
canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), paint);
|
169
|
+
}
|
170
|
+
|
171
|
+
//bitmap.eraseColor(Color.argb( a,
|
172
|
+
// (bgColor & 0xFF0000) >> 16,
|
173
|
+
// (bgColor & 0xFF00) >> 8,
|
174
|
+
// (bgColor & 0xFF)));
|
151
175
|
|
152
176
|
// draw path
|
153
177
|
int s;
|
@@ -159,7 +183,7 @@ class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
|
159
183
|
PointF prev = ps.mPoints.elementAt(p-1);
|
160
184
|
PointF cur = ps.mPoints.elementAt(p);
|
161
185
|
if ((prev != null) && (cur != null)) {
|
162
|
-
|
186
|
+
canvas.drawLine(prev.x, prev.y, cur.x, cur.y, mPaint);
|
163
187
|
}
|
164
188
|
}
|
165
189
|
}
|
@@ -176,50 +200,89 @@ class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
|
176
200
|
}
|
177
201
|
|
178
202
|
// update screen
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
203
|
+
if (redrawOnScreen && (!isTransparency)) {
|
204
|
+
Canvas c = null;
|
205
|
+
try {
|
206
|
+
c = getHolder().lockCanvas(null);
|
207
|
+
synchronized (getHolder()) {
|
208
|
+
c.drawBitmap(bitmap, 0, 0, null);
|
209
|
+
}
|
210
|
+
} finally {
|
211
|
+
if (c != null) {
|
212
|
+
getHolder().unlockCanvasAndPost(c);
|
213
|
+
}
|
214
|
+
}
|
215
|
+
}
|
216
|
+
else {
|
217
|
+
if (redrawOnScreen && isTransparency) {
|
218
|
+
invalidate();
|
219
|
+
}
|
220
|
+
}
|
190
221
|
}
|
191
222
|
|
192
223
|
private void doDrawSegment(float x1, float y1, float x2, float y2) {
|
193
224
|
Canvas c = null;
|
194
225
|
Rect rect = new Rect((int)(x1-1),(int)(y1-1),(int)(x1+1),(int)(y1+1));
|
195
226
|
rect.union((int)(x2-1),(int)(y2-1),(int)(x2+1),(int)(y2+1));
|
227
|
+
///*
|
196
228
|
try {
|
229
|
+
|
197
230
|
c = getHolder().lockCanvas(rect);
|
198
231
|
synchronized (getHolder()) {
|
199
|
-
|
200
|
-
|
232
|
+
if ((mCanvas != null) && (mBitmap != null)) {
|
233
|
+
mCanvas.drawLine(x1,y1,x2,y2,mPaint);
|
234
|
+
//c.drawLine(x1,y1,x2,y2,mPaint);
|
235
|
+
//mCanvas.drawLine(x1,y1,x2,y2,mPaint);
|
236
|
+
if (!isTransparency) {
|
237
|
+
c.drawBitmap(mBitmap, rect, rect, null);
|
238
|
+
}
|
239
|
+
}
|
201
240
|
}
|
202
241
|
} finally {
|
203
242
|
if (c != null) {
|
204
243
|
getHolder().unlockCanvasAndPost(c);
|
205
244
|
}
|
206
|
-
}
|
207
|
-
|
245
|
+
}
|
246
|
+
//*/
|
247
|
+
invalidate(rect);
|
208
248
|
}
|
209
249
|
|
210
|
-
|
211
250
|
public void setupView(int _penColor, float _penWidth, int _bgColor) {
|
212
251
|
penColor = _penColor;
|
213
252
|
penWidth = _penWidth;
|
214
253
|
bgColor = _bgColor;
|
215
254
|
mPaint = new Paint();
|
216
255
|
mPaint.setAntiAlias(true);
|
217
|
-
mPaint.setColor(0xFF000000
|
256
|
+
mPaint.setColor(Color.argb( (penColor & 0xFF000000) >> 24,
|
257
|
+
(penColor & 0xFF0000) >> 16,
|
258
|
+
(penColor & 0xFF00) >> 8,
|
259
|
+
penColor & 0xFF));
|
218
260
|
mPaint.setStyle(Paint.Style.STROKE);
|
219
261
|
mPaint.setStrokeJoin(Paint.Join.ROUND);
|
220
262
|
mPaint.setStrokeCap(Paint.Cap.ROUND);
|
221
263
|
mPaint.setStrokeWidth(penWidth);
|
222
|
-
|
264
|
+
|
265
|
+
Signature.reportMsg("$$$ setupView()");
|
266
|
+
Signature.reportMsg("$$$ penColor = "+String.valueOf(penColor));
|
267
|
+
Signature.reportMsg("$$$ bgColor = "+String.valueOf(bgColor));
|
268
|
+
|
269
|
+
setDrawingCacheEnabled(false);
|
270
|
+
if (isTransparency) {
|
271
|
+
setZOrderOnTop(true);
|
272
|
+
getHolder().setFormat(PixelFormat.TRANSLUCENT);
|
273
|
+
setBackgroundColor(0);
|
274
|
+
}
|
275
|
+
doFullRedraw(mCanvas, mBitmap, true, true);
|
276
|
+
|
277
|
+
if (isTransparency) {
|
278
|
+
PerformOnUiThread.exec(new Runnable() {
|
279
|
+
public void run() {
|
280
|
+
//invalidate();//
|
281
|
+
//setVisibility(VISIBLE);
|
282
|
+
doDrawSegment(-10,-10,-11,-11);
|
283
|
+
}
|
284
|
+
},10);
|
285
|
+
}
|
223
286
|
}
|
224
287
|
|
225
288
|
public SignatureView(Context context, AttributeSet attrs) {
|
@@ -232,6 +295,7 @@ class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
|
232
295
|
|
233
296
|
setVisibility(VISIBLE);
|
234
297
|
|
298
|
+
isTransparency = false;
|
235
299
|
|
236
300
|
mPaint = new Paint();
|
237
301
|
mPaint.setAntiAlias(true);
|
@@ -243,18 +307,25 @@ class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
|
243
307
|
|
244
308
|
bgColor = 0xFFFFFFFF;
|
245
309
|
|
310
|
+
//setBackgroundColor(0);
|
311
|
+
//setZOrderOnTop(true);
|
312
|
+
//getHolder().setFormat(PixelFormat.TRANSLUCENT);
|
313
|
+
|
246
314
|
setFocusable(true); // make sure we get key events
|
247
315
|
|
248
316
|
requestFocus();
|
249
317
|
bringToFront();
|
250
|
-
|
251
|
-
|
252
318
|
}
|
253
319
|
|
254
320
|
public Bitmap makeBitmap() {
|
255
|
-
|
321
|
+
Bitmap b = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
|
322
|
+
b.eraseColor(bgColor | 0xFF000000);
|
323
|
+
Canvas c = new Canvas(b);
|
324
|
+
doFullRedraw(c, b, false, false);
|
325
|
+
return b;
|
256
326
|
}
|
257
327
|
|
328
|
+
|
258
329
|
public boolean onTouchEvent(MotionEvent event) {
|
259
330
|
float x = event.getX();
|
260
331
|
float y = event.getY();
|
@@ -280,14 +351,28 @@ class SignatureView extends SurfaceView implements SurfaceHolder.Callback {
|
|
280
351
|
return true;
|
281
352
|
}
|
282
353
|
|
354
|
+
///*
|
355
|
+
protected void onDraw (Canvas canvas) {
|
356
|
+
if (isTransparency) {
|
357
|
+
if (mBitmap != null) {
|
358
|
+
canvas.drawBitmap(mBitmap, 0, 0, null);
|
359
|
+
}
|
360
|
+
}
|
361
|
+
else {
|
362
|
+
super.onDraw(canvas);
|
363
|
+
}
|
364
|
+
}
|
365
|
+
//*/
|
283
366
|
|
284
367
|
/* Callback invoked when the surface dimensions change. */
|
285
368
|
public void surfaceChanged(SurfaceHolder holder, int format, int width,
|
286
369
|
int height) {
|
287
370
|
Logger.D(TAG, "SurfaceChanged()");
|
288
|
-
mBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.
|
371
|
+
mBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
|
372
|
+
mBitmap.eraseColor(bgColor);
|
289
373
|
mCanvas = new Canvas(mBitmap);
|
290
|
-
doFullRedraw();
|
374
|
+
doFullRedraw(mCanvas, mBitmap, true, true);
|
375
|
+
invalidate();
|
291
376
|
}
|
292
377
|
|
293
378
|
|
@@ -5,13 +5,12 @@ import java.lang.reflect.Constructor;
|
|
5
5
|
import com.rhomobile.rhodes.RhodesActivity;
|
6
6
|
|
7
7
|
import android.app.Activity;
|
8
|
-
import android.content.Context;
|
9
8
|
import android.os.Build;
|
10
9
|
import android.view.View;
|
11
10
|
import android.webkit.WebChromeClient;
|
12
11
|
import android.webkit.WebViewClient;
|
13
12
|
|
14
|
-
public class GoogleWebView implements
|
13
|
+
public class GoogleWebView implements IRhoWebView {
|
15
14
|
|
16
15
|
private static WebChromeClient mChromeClient;
|
17
16
|
private static WebViewClient mWebViewClient;
|
@@ -126,4 +125,9 @@ public class GoogleWebView implements WebView {
|
|
126
125
|
public void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) {
|
127
126
|
mWebView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);
|
128
127
|
}
|
128
|
+
|
129
|
+
@Override
|
130
|
+
public void stopLoad() {
|
131
|
+
mWebView.stopLoading();
|
132
|
+
}
|
129
133
|
}
|
data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/{WebView.java → IRhoWebView.java}
RENAMED
@@ -2,7 +2,7 @@ package com.rhomobile.rhodes.webview;
|
|
2
2
|
|
3
3
|
import android.view.View;
|
4
4
|
|
5
|
-
public interface
|
5
|
+
public interface IRhoWebView {
|
6
6
|
View getView();
|
7
7
|
boolean canGoBack();
|
8
8
|
void goBack();
|
@@ -13,4 +13,5 @@ public interface WebView {
|
|
13
13
|
void loadUrl(String url);
|
14
14
|
void loadData(String data, String mime, String encoding);
|
15
15
|
void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl);
|
16
|
+
void stopLoad();
|
16
17
|
}
|
@@ -30,6 +30,7 @@ import com.rhomobile.rhodes.Logger;
|
|
30
30
|
import com.rhomobile.rhodes.RhoConf;
|
31
31
|
import com.rhomobile.rhodes.RhodesActivity;
|
32
32
|
import com.rhomobile.rhodes.RhodesService;
|
33
|
+
import com.rhomobile.rhodes.extmanager.RhoExtManagerSingleton;
|
33
34
|
|
34
35
|
import android.graphics.Bitmap;
|
35
36
|
import android.net.http.SslError;
|
@@ -50,6 +51,9 @@ public class RhoWebViewClient extends WebViewClient
|
|
50
51
|
|
51
52
|
@Override
|
52
53
|
public void onPageStarted(WebView view, String url, Bitmap favicon) {
|
54
|
+
|
55
|
+
RhoExtManagerSingleton.getRhoExtManagerInstance().onBeforeNavigate(url);
|
56
|
+
|
53
57
|
if (RhodesActivity.ENABLE_LOADING_INDICATION)
|
54
58
|
RhodesActivity.safeGetInstance().getWindow().setFeatureInt(Window.FEATURE_PROGRESS, 0);
|
55
59
|
else
|
@@ -71,6 +71,7 @@ platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java
|
|
71
71
|
platform/android/Rhodes/src/com/rhomobile/rhodes/signature/ImageCapture.java
|
72
72
|
platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java
|
73
73
|
platform/android/Rhodes/src/com/rhomobile/rhodes/signature/SignatureView.java
|
74
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/signature/SignatureProperties.java
|
74
75
|
platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSockAddr.java
|
75
76
|
platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocket.java
|
76
77
|
platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocketImpl.java
|
@@ -95,8 +96,14 @@ platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettings.java
|
|
95
96
|
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsNew.java
|
96
97
|
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java
|
97
98
|
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java
|
98
|
-
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/
|
99
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/IRhoWebView.java
|
99
100
|
platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java
|
101
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtData.java
|
102
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java
|
103
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java
|
104
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtDataImpl.java
|
105
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java
|
106
|
+
platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerSingleton.java
|
100
107
|
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality.java
|
101
108
|
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality01.java
|
102
109
|
platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality02.java
|