rhodes 1.5.2 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +4 -0
- data/Manifest.txt +4 -3
- data/bin/upgrade-rhodes-app +1 -0
- data/lib/framework/rhodes.rb +2 -2
- data/lib/framework/rhom/rhom_object_factory.rb +16 -7
- data/lib/framework/version.rb +2 -2
- data/lib/rhodes.rb +2 -2
- data/platform/android/Rhodes/AndroidManifest.xml +2 -2
- data/platform/android/Rhodes/jni/include/jni/com_rhomobile_rhodes_Rhodes.h +14 -4
- data/platform/android/Rhodes/jni/src/rhodes.cpp +7 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +7 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +6 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/{MainView.java → mainview/MainView.java} +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +286 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/{TabbedMainView.java → mainview/TabbedMainView.java} +5 -1
- data/platform/android/build/RhodesSRC_build.files +3 -3
- data/platform/android/build/android.rake +1 -0
- data/platform/bb/rhodes/src/com/rho/net/NetworkAccess.java +22 -4
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +1 -1
- data/platform/bb/rhodes/src/rhomobile/camera/CameraScreen.java +15 -3
- data/platform/iphone/Classes/WebViewController.m +21 -7
- data/platform/iphone/Info.plist +1 -1
- data/platform/iphone/rbuild/iphone.rake +36 -28
- data/platform/osx/Rhodes Launcher/launch.rb +21 -14
- data/platform/shared/common/RhodesApp.cpp +7 -0
- data/platform/shared/common/RhodesApp.h +1 -0
- data/platform/shared/ruby/wince/io_wce.c +2 -0
- data/platform/shared/rubyJVM/src/com/rho/RhoRuby.java +2 -1
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncEngine.java +3 -3
- data/platform/shared/sync/SyncEngine.cpp +6 -5
- data/res/build-tools/cygwin1.dll +0 -0
- data/res/build-tools/cygz.dll +0 -0
- data/spec/framework_spec/app/spec/rhom_object_spec.rb +54 -75
- metadata +6 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/SimpleMainView.java +0 -67
data/res/build-tools/cygwin1.dll
CHANGED
Binary file
|
Binary file
|
@@ -26,7 +26,7 @@ describe "Rhom::RhomObject" do
|
|
26
26
|
before do
|
27
27
|
SyncEngine.stub!(:dosync).and_return(true)
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
#it "should set source_id attributes" do
|
31
31
|
#Account.get_source_id.should == "2"
|
32
32
|
#Case.get_source_id.should == "1"
|
@@ -71,7 +71,7 @@ describe "Rhom::RhomObject" do
|
|
71
71
|
it "should have correct number of attributes" do
|
72
72
|
@account = Account.find(:all).first
|
73
73
|
|
74
|
-
@account.vars.size.should ==
|
74
|
+
@account.vars.size.should == 17
|
75
75
|
end
|
76
76
|
|
77
77
|
it "should get count of objects" do
|
@@ -184,6 +184,57 @@ describe "Rhom::RhomObject" do
|
|
184
184
|
end
|
185
185
|
ids.uniq.length.should == 10
|
186
186
|
end
|
187
|
+
|
188
|
+
it "should create a record, then update" do
|
189
|
+
vars = {"name"=>"some new record", "industry"=>"electronics"}
|
190
|
+
@account1 = Account.new(vars)
|
191
|
+
new_id = @account1.object
|
192
|
+
@account1.save
|
193
|
+
@account2 = Account.find(new_id)
|
194
|
+
@account2.object.should =="{#{@account1.object}}"
|
195
|
+
@account2.name.should == vars['name']
|
196
|
+
@account2.industry.should == vars['industry']
|
197
|
+
|
198
|
+
update_attributes = {"industry"=>"electronics2"}
|
199
|
+
@account2.update_attributes(update_attributes)
|
200
|
+
|
201
|
+
@account3 = Account.find(new_id)
|
202
|
+
@account3.object.should =="{#{@account1.object}}"
|
203
|
+
@account3.name.should == vars['name']
|
204
|
+
@account3.industry.should == update_attributes['industry']
|
205
|
+
|
206
|
+
records = Rhom::RhomDbAdapter::select_from_table('changed_values','*', 'update_type' => 'create')
|
207
|
+
records.length.should == 2
|
208
|
+
|
209
|
+
records = Rhom::RhomDbAdapter::select_from_table('changed_values','*', 'update_type' => 'update')
|
210
|
+
records.length.should == 0
|
211
|
+
end
|
212
|
+
|
213
|
+
it "should create a record, then update 2" do
|
214
|
+
vars = {"name"=>"some new record"}
|
215
|
+
@account1 = Account.new(vars)
|
216
|
+
new_id = @account1.object
|
217
|
+
@account1.save
|
218
|
+
|
219
|
+
@account2 = Account.find(new_id)
|
220
|
+
@account2.object.should =="{#{@account1.object}}"
|
221
|
+
@account2.name.should == vars['name']
|
222
|
+
|
223
|
+
update_attributes = {"industry"=>"electronics2"}
|
224
|
+
@account2.industry = update_attributes['industry']
|
225
|
+
@account2.save
|
226
|
+
|
227
|
+
@account3 = Account.find(new_id)
|
228
|
+
@account3.object.should =="{#{@account1.object}}"
|
229
|
+
@account3.name.should == vars['name']
|
230
|
+
@account3.industry.should == update_attributes['industry']
|
231
|
+
|
232
|
+
records = Rhom::RhomDbAdapter::select_from_table('changed_values','*', 'update_type' => 'create')
|
233
|
+
records.length.should == 2
|
234
|
+
|
235
|
+
records = Rhom::RhomDbAdapter::select_from_table('changed_values','*', 'update_type' => 'update')
|
236
|
+
records.length.should == 0
|
237
|
+
end
|
187
238
|
|
188
239
|
it "should destroy a record" do
|
189
240
|
count = Account.find(:all).size
|
@@ -323,80 +374,7 @@ describe "Rhom::RhomObject" do
|
|
323
374
|
|
324
375
|
@acct.foobar.should be_nil
|
325
376
|
end
|
326
|
-
=begin
|
327
|
-
it "should respond to ask" do
|
328
|
-
question = 'Rhodes'
|
329
|
-
Account.ask(question)
|
330
|
-
res = Rhom::RhomDbAdapter::select_from_table('changed_values','*', 'update_type' => 'ask')
|
331
|
-
res.length.should == 1
|
332
|
-
|
333
|
-
res[0]['attrib'].should == 'question'
|
334
|
-
res[0]['value'].should == question
|
335
|
-
end
|
336
|
-
|
337
|
-
it "should respond to ask with last question only" do
|
338
|
-
question = 'Rhodes'
|
339
|
-
Account.ask(question)
|
340
|
-
res = Rhom::RhomDbAdapter::select_from_table('changed_values','*', 'update_type' => 'ask')
|
341
|
-
res.length.should == 1
|
342
|
-
|
343
|
-
res[0]['attrib'].should == 'question'
|
344
|
-
res[0]['value'].should == question
|
345
|
-
|
346
|
-
question = 'Ruby on Rails'
|
347
|
-
question_encoded = 'Ruby%20on%20Rails'
|
348
|
-
Account.ask(question)
|
349
|
-
res = Rhom::RhomDbAdapter::select_from_table('changed_values','*', 'update_type' => 'ask')
|
350
|
-
res.length.should == 1
|
351
|
-
|
352
|
-
res[0]['attrib'].should == 'question'
|
353
|
-
res[0]['value'].should == question_encoded
|
354
|
-
end
|
355
|
-
|
356
|
-
it "should encode ask params" do
|
357
|
-
question = 'where am i?'
|
358
|
-
question_encoded = 'where%20am%20i%3F'
|
359
|
-
Account.ask(question)
|
360
|
-
@res = Rhom::RhomDbAdapter::select_from_table('changed_values','*', 'update_type' => 'ask')
|
361
|
-
@res.length.should == 1
|
362
|
-
|
363
|
-
@res[0]['attrib'].should == 'question'
|
364
|
-
@res[0]['value'].should == question_encoded
|
365
|
-
end
|
366
377
|
|
367
|
-
it "should store all ask db operations as query" do
|
368
|
-
question = 'where am i?'
|
369
|
-
question_encoded = 'where%20am%20i%3F'
|
370
|
-
Question.ask(question)
|
371
|
-
|
372
|
-
@question = Question.find(:first)
|
373
|
-
@question.update_attributes({"question"=>"i am here"})
|
374
|
-
|
375
|
-
@res = Rhom::RhomDbAdapter::select_from_table('object_values','*', {'source_id' => @question.get_source_id.to_i()})
|
376
|
-
@res.length.should == 1
|
377
|
-
@res[0]['attrib'].should == 'question'
|
378
|
-
@res[0]['value'].should == 'i am here'
|
379
|
-
|
380
|
-
['create','update','delete'].each do |u_type|
|
381
|
-
@res = Rhom::RhomDbAdapter::select_from_table('changed_values','*', {'update_type' =>u_type, 'source_id' => @question.get_source_id.to_i()})
|
382
|
-
@res.length.should == 0
|
383
|
-
end
|
384
|
-
end
|
385
|
-
|
386
|
-
it "should delete ask records without delete sync operation" do
|
387
|
-
question = 'where am i?'
|
388
|
-
question_encoded = 'where%20am%20i%3F'
|
389
|
-
Question.ask(question)
|
390
|
-
|
391
|
-
@question = Question.find(:first)
|
392
|
-
@question.destroy
|
393
|
-
|
394
|
-
['query','create','update','delete'].each do |u_type|
|
395
|
-
@res = Rhom::RhomDbAdapter::select_from_table('changed_values','*', {'update_type' =>u_type, 'source_id' => 400})
|
396
|
-
@res.length.should == 0
|
397
|
-
end
|
398
|
-
end
|
399
|
-
=end
|
400
378
|
it "should find with conditions" do
|
401
379
|
@accts = Account.find(:all, :conditions => {'industry' => 'Technology'})
|
402
380
|
@accts.length.should == 2
|
@@ -659,4 +637,5 @@ describe "Rhom::RhomObject" do
|
|
659
637
|
@accts[0].industry.should == @expected[0][:industry]
|
660
638
|
end
|
661
639
|
end
|
640
|
+
|
662
641
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 5
|
8
|
-
-
|
9
|
-
version: 1.5.
|
8
|
+
- 3
|
9
|
+
version: 1.5.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Rhomobile
|
@@ -394,7 +394,9 @@ files:
|
|
394
394
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java
|
395
395
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/HttpLog.java
|
396
396
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/Logger.java
|
397
|
-
- platform/android/Rhodes/src/com/rhomobile/rhodes/MainView.java
|
397
|
+
- platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java
|
398
|
+
- platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java
|
399
|
+
- platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java
|
398
400
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Annotation.java
|
399
401
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/AnnotationsOverlay.java
|
400
402
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java
|
@@ -409,13 +411,11 @@ files:
|
|
409
411
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesInstance.java
|
410
412
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/RhoLogConf.java
|
411
413
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/RingtoneManager.java
|
412
|
-
- platform/android/Rhodes/src/com/rhomobile/rhodes/SimpleMainView.java
|
413
414
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSockAddr.java
|
414
415
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocket.java
|
415
416
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocketImpl.java
|
416
417
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java
|
417
418
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/SplashScreen.java
|
418
|
-
- platform/android/Rhodes/src/com/rhomobile/rhodes/TabbedMainView.java
|
419
419
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/ui/AboutDialog.java
|
420
420
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/ui/LogOptionsDialog.java
|
421
421
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/ui/LogViewDialog.java
|
@@ -3365,6 +3365,7 @@ files:
|
|
3365
3365
|
- README.textile
|
3366
3366
|
- res/build-tools/build_inf.js
|
3367
3367
|
- res/build-tools/cygwin1.dll
|
3368
|
+
- res/build-tools/cygz.dll
|
3368
3369
|
- res/build-tools/db/syncdb.schema
|
3369
3370
|
- res/build-tools/db/syncdb.triggers
|
3370
3371
|
- res/build-tools/insertRhoBundle2pkg.rb
|
@@ -1,67 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
============================================================================
|
3
|
-
Author : Dmitry Moskalchuk
|
4
|
-
Version : 1.5
|
5
|
-
Copyright : Copyright (C) 2008 Rhomobile. All rights reserved.
|
6
|
-
|
7
|
-
This program is free software: you can redistribute it and/or modify
|
8
|
-
it under the terms of the GNU General Public License as published by
|
9
|
-
the Free Software Foundation, either version 3 of the License, or
|
10
|
-
(at your option) any later version.
|
11
|
-
|
12
|
-
This program is distributed in the hope that it will be useful,
|
13
|
-
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
GNU General Public License for more details.
|
16
|
-
|
17
|
-
You should have received a copy of the GNU General Public License
|
18
|
-
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
-
============================================================================
|
20
|
-
*/
|
21
|
-
package com.rhomobile.rhodes;
|
22
|
-
|
23
|
-
import android.view.View;
|
24
|
-
import android.webkit.WebView;
|
25
|
-
|
26
|
-
public class SimpleMainView implements MainView {
|
27
|
-
|
28
|
-
private WebView webView;
|
29
|
-
|
30
|
-
public View getView() {
|
31
|
-
return webView;
|
32
|
-
}
|
33
|
-
|
34
|
-
public SimpleMainView() {
|
35
|
-
webView = RhodesInstance.getInstance().createWebView();
|
36
|
-
webView.setId(Rhodes.RHO_MAIN_VIEW);
|
37
|
-
}
|
38
|
-
|
39
|
-
public void back(int index) {
|
40
|
-
webView.goBack();
|
41
|
-
}
|
42
|
-
|
43
|
-
public void forward(int index) {
|
44
|
-
webView.goForward();
|
45
|
-
}
|
46
|
-
|
47
|
-
public void navigate(String url, int index) {
|
48
|
-
webView.loadUrl(url);
|
49
|
-
}
|
50
|
-
|
51
|
-
public void reload(int index) {
|
52
|
-
webView.reload();
|
53
|
-
}
|
54
|
-
|
55
|
-
public String currentLocation(int index) {
|
56
|
-
return webView.getUrl();
|
57
|
-
}
|
58
|
-
|
59
|
-
public void switchTab(int index) {
|
60
|
-
// Nothing
|
61
|
-
}
|
62
|
-
|
63
|
-
public int activeTab() {
|
64
|
-
return 0;
|
65
|
-
}
|
66
|
-
|
67
|
-
}
|