rhodes 2.0.0 → 2.0.2
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 +6 -0
- data/Manifest.txt +3 -1
- data/bin/rhodes-setup +1 -32
- data/lib/framework/erb.rb +3 -3
- data/lib/framework/rhodes.rb +2 -2
- data/lib/framework/version.rb +2 -2
- data/lib/rhodes.rb +2 -2
- data/platform/android/Rhodes/AndroidManifest.xml +3 -2
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_Rhodes.h +2 -2
- data/platform/android/Rhodes/jni/src/rhodes.cpp +7 -5
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Capabilities.java +2 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +15 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +5 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java +8 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessor.java +11 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorNew.java +310 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java +275 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java +125 -322
- data/platform/android/build/RhodesSRC_build.files +23 -21
- data/platform/android/build/android.rake +40 -17
- data/platform/iphone/Info.plist +1 -1
- data/platform/iphone/rbuild/iphone.rake +58 -33
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +1 -1
- data/platform/shared/common/RhoPort.h +18 -3
- data/platform/shared/common/RhodesApp.cpp +76 -54
- data/platform/shared/common/StringConverter.h +3 -2
- data/platform/shared/common/stat.h +29 -4
- data/platform/shared/db/DBAdapter.cpp +2 -1
- data/platform/shared/db/DBAdapter.h +1 -1
- data/platform/shared/json/RJSONTokener.c +1 -1
- data/platform/shared/json/json_object.c +2 -2
- data/platform/shared/json/json_tokener.c +1 -1
- data/rhodes.gemspec +1 -1
- data/spec/phone_spec/app/Spec/contacts_spec.rb +10 -3
- data/spec/phone_spec/app/Spec/controller.rb +3 -3
- data/spec/phone_spec/app/Spec/mapview_spec.rb +3 -1
- data/spec/phone_spec/build.yml +2 -1
- metadata +6 -4
- data/rhobuild.yml +0 -39
@@ -104,6 +104,7 @@ CONVERT_TYPE_W( short, L"%hd" );
|
|
104
104
|
CONVERT_TYPE_W( bool, L"%d" );
|
105
105
|
CONVERT_TYPE_W( float, L"%f" );
|
106
106
|
CONVERT_TYPE_W( double, L"%lf" );
|
107
|
+
|
107
108
|
#endif
|
108
109
|
CONVERT_TYPE_A( unsigned int, "%u" );
|
109
110
|
CONVERT_TYPE_A( int, "%d" );
|
@@ -118,8 +119,8 @@ CONVERT_TYPE_A( short, "%hd" );
|
|
118
119
|
CONVERT_TYPE_A( float, "%f" );
|
119
120
|
CONVERT_TYPE_A( double, "%lf" );
|
120
121
|
|
121
|
-
CONVERT_TYPE_A( uint64,
|
122
|
-
CONVERT_TYPE_A( int64,
|
122
|
+
CONVERT_TYPE_A( uint64, FMTU64 );
|
123
|
+
CONVERT_TYPE_A( int64, FMTI64 );
|
123
124
|
|
124
125
|
// Special case for bool
|
125
126
|
template<> inline void convertFromStringA<bool>( const char* szValue, bool& value )
|
@@ -1,6 +1,31 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
#define
|
1
|
+
#if defined(__APPLE__) && !defined(__arm__) && !defined(__IPHONE_4_0)
|
2
|
+
/* Simulator 3.2 or less */
|
3
|
+
#define RHO_IPHONE_SIMULATOR_3
|
4
4
|
#endif
|
5
|
-
|
5
|
+
|
6
|
+
#ifdef RHO_IPHONE_SIMULATOR_3
|
7
|
+
#ifdef stat
|
8
|
+
#undef stat
|
9
|
+
#endif
|
10
|
+
#ifdef lstat
|
11
|
+
#undef lstat
|
12
|
+
#endif
|
13
|
+
#ifdef fstat
|
14
|
+
#undef fstat
|
15
|
+
#endif
|
16
|
+
#endif
|
17
|
+
|
6
18
|
#include <sys/stat.h>
|
19
|
+
|
20
|
+
#ifdef RHO_IPHONE_SIMULATOR_3
|
21
|
+
/*
|
22
|
+
* map stat functions and structure to theirs 64-bit analogues to be binary
|
23
|
+
* compatible with iPhone 4 x86/x86_64 application - in iPhone 4 SDK stat
|
24
|
+
* become 64-bit only so enabling such mapping we could run applications built
|
25
|
+
* with 3.x SDK on iPhone 4 simulator
|
26
|
+
* This is not required for iPhone devices - there stat was always 64-bit.
|
27
|
+
*/
|
28
|
+
#define stat stat64
|
29
|
+
#define lstat lstat64
|
30
|
+
#define fstat fstat64
|
31
|
+
#endif
|
@@ -100,6 +100,7 @@ boolean CDBAdapter::checkDbErrorEx(int rc, rho::db::CDBResult& res)
|
|
100
100
|
|
101
101
|
void CDBAdapter::open (String strDbPath, String strVer, boolean bTemp)
|
102
102
|
{
|
103
|
+
LOG(INFO) + "Open DB: " + strDbPath;
|
103
104
|
if ( strcasecmp(strDbPath.c_str(),m_strDbPath.c_str() ) == 0 )
|
104
105
|
return;
|
105
106
|
close();
|
@@ -901,4 +902,4 @@ void CRubyMutex::Unlock()
|
|
901
902
|
}
|
902
903
|
|
903
904
|
}
|
904
|
-
}
|
905
|
+
}
|
@@ -55,7 +55,7 @@ public:
|
|
55
55
|
DEFINE_LOGCLASS;
|
56
56
|
|
57
57
|
CDBAdapter(const char* szDBPartition, boolean bNoRubyLock) : m_dbHandle(0), m_strDbPath(""), m_strDbPartition(szDBPartition),
|
58
|
-
m_bUIWaitDB(false), m_nTransactionCounter(0)
|
58
|
+
m_mxRuby(bNoRubyLock), m_bUIWaitDB(false), m_nTransactionCounter(0) {}
|
59
59
|
~CDBAdapter(void){}
|
60
60
|
|
61
61
|
void open (String strDbPath, String strVer, boolean bTemp);
|
@@ -443,7 +443,7 @@ struct json_object* rjson_tokener_parse_ex(struct json_tokener *tok,
|
|
443
443
|
} else {
|
444
444
|
int64 numi = 0;
|
445
445
|
double numd = 0;
|
446
|
-
if(!tok->is_double && sscanf(tok->pb->buf, "%lli"
|
446
|
+
if(!tok->is_double && sscanf(tok->pb->buf, FMTI64/*"%lli"*/, &numi) == 1) {
|
447
447
|
current = rjson_object_new_int(numi);
|
448
448
|
} else if(tok->is_double && sscanf(tok->pb->buf, "%lf", &numd) == 1) {
|
449
449
|
current = rjson_object_new_double(numd);
|
@@ -324,7 +324,7 @@ boolean json_object_get_boolean(struct json_object *this)
|
|
324
324
|
static int json_object_int_to_json_string(struct json_object* this,
|
325
325
|
struct printbuf *pb)
|
326
326
|
{
|
327
|
-
return sprintbuf(pb, "%lli"
|
327
|
+
return sprintbuf(pb, FMTI64/*"%lli"*/, this->o.c_int);
|
328
328
|
}
|
329
329
|
|
330
330
|
struct json_object* json_object_new_int(int64 i)
|
@@ -349,7 +349,7 @@ int64 json_object_get_int(struct json_object *this)
|
|
349
349
|
case json_type_boolean:
|
350
350
|
return this->o.c_boolean;
|
351
351
|
case json_type_string:
|
352
|
-
if(sscanf(this->o.c_string, "%lli"
|
352
|
+
if(sscanf(this->o.c_string, FMTI64/*"%lli"*/, &cint) == 1) return cint;
|
353
353
|
default:
|
354
354
|
return 0;
|
355
355
|
}
|
@@ -403,7 +403,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
|
|
403
403
|
} else {
|
404
404
|
int64 numi = 0;
|
405
405
|
double numd = 0;
|
406
|
-
if(!tok->is_double && sscanf(tok->pb->buf, "%lli"
|
406
|
+
if(!tok->is_double && sscanf(tok->pb->buf, FMTI64/*"%lli"*/, &numi) == 1) {
|
407
407
|
current = json_object_new_int(numi);
|
408
408
|
} else if(tok->is_double && sscanf(tok->pb->buf, "%lf", &numd) == 1) {
|
409
409
|
current = json_object_new_double(numd);
|
data/rhodes.gemspec
CHANGED
@@ -25,6 +25,7 @@ class ContactsTest
|
|
25
25
|
mobile_number = '+1222333444'
|
26
26
|
|
27
27
|
contacts = Rho::RhoContact.find(:all)
|
28
|
+
puts "contacts: #{contacts.inspect.to_s}"
|
28
29
|
Test_not_equal( contacts, nil )
|
29
30
|
|
30
31
|
contact = {}
|
@@ -34,6 +35,7 @@ class ContactsTest
|
|
34
35
|
Rho::RhoContact.create!(contact)
|
35
36
|
|
36
37
|
newcontacts = Rho::RhoContact.find(:all)
|
38
|
+
puts "newcontacts: #{newcontacts.inspect.to_s}"
|
37
39
|
Test_not_equal( newcontacts, nil )
|
38
40
|
|
39
41
|
diff = newcontacts.diff(contacts)
|
@@ -45,24 +47,28 @@ class ContactsTest
|
|
45
47
|
Test_equal( c['mobile_number'], mobile_number )
|
46
48
|
|
47
49
|
@id = c['id']
|
50
|
+
puts "id: #{@id}"
|
48
51
|
end
|
49
52
|
|
50
53
|
def update_test
|
54
|
+
puts "id: #{@id}"
|
51
55
|
Rho::RhoContact.update_attributes 'id' => @id, 'first_name' => "RANDOM", 'last_name' => "NEWBIE"
|
52
56
|
|
53
57
|
contact = Rho::RhoContact.find(@id)
|
58
|
+
puts "contacts: #{contact.inspect.to_s}"
|
54
59
|
Test_not_equal( contact, nil )
|
55
60
|
|
56
61
|
unless System.get_property('platform') == 'Blackberry'
|
57
|
-
|
58
|
-
|
59
|
-
|
62
|
+
#https://www.pivotaltracker.com/story/show/3983643
|
63
|
+
Test_equal( contact['first_name'], 'RANDOM' )
|
64
|
+
Test_equal( contact['last_name'], 'NEWBIE' )
|
60
65
|
end
|
61
66
|
|
62
67
|
end
|
63
68
|
|
64
69
|
def remove_test
|
65
70
|
contacts = Rho::RhoContact.find(:all)
|
71
|
+
puts "contacts: #{contacts.inspect.to_s}"
|
66
72
|
Test_not_equal( contacts, nil )
|
67
73
|
Test_equal( contacts.size >= 1, true )
|
68
74
|
|
@@ -71,6 +77,7 @@ class ContactsTest
|
|
71
77
|
Rho::RhoContact.destroy(@id)
|
72
78
|
|
73
79
|
contacts = Rho::RhoContact.find(:all)
|
80
|
+
puts "new contacts: #{contacts.inspect.to_s}"
|
74
81
|
Test_not_equal( contacts, nil )
|
75
82
|
|
76
83
|
Test_equal( size - contacts.size, 1 )
|
@@ -2,11 +2,11 @@ require 'rho/rhocontroller'
|
|
2
2
|
require 'Spec/spec_runner'
|
3
3
|
|
4
4
|
def Test_equal(p1,p2)
|
5
|
-
raise "Expected '#{p1}' equal to '#{p2}'" if p1 != p2
|
5
|
+
raise "Expected '#{p1.inspect.to_s}' equal to '#{p2.inspect.to_s}'" if p1 != p2
|
6
6
|
end
|
7
7
|
|
8
8
|
def Test_not_equal(p1,p2)
|
9
|
-
raise "Expected '#{p1}' not equal to '#{p2}'" if p1 == p2
|
9
|
+
raise "Expected '#{p1.inspect.to_s}' not equal to '#{p2.inspect.to_s}'" if p1 == p2
|
10
10
|
end
|
11
11
|
|
12
12
|
class SpecController < Rho::RhoController
|
@@ -66,4 +66,4 @@ class SpecController < Rho::RhoController
|
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
|
-
end
|
69
|
+
end
|
@@ -9,7 +9,9 @@ class MapViewTest
|
|
9
9
|
Test_equal( state, nil )
|
10
10
|
|
11
11
|
MapView.create :settings => {:map_type => 'roadmap', :region => [37, -122, 10, 10]}
|
12
|
-
|
12
|
+
w = 2
|
13
|
+
w = 5 if System::get_property('platform') == 'ANDROID'
|
14
|
+
sleep w
|
13
15
|
|
14
16
|
state = MapView.state
|
15
17
|
Test_not_equal( state, nil )
|
data/spec/phone_spec/build.yml
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhodes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 2.0.
|
9
|
+
- 2
|
10
|
+
version: 2.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Rhomobile
|
@@ -455,6 +455,9 @@ files:
|
|
455
455
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/NetworkConnectivityListener.java
|
456
456
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/NetworkStateTracker.java
|
457
457
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java
|
458
|
+
- platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessor.java
|
459
|
+
- platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorNew.java
|
460
|
+
- platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java
|
458
461
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactField.java
|
459
462
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java
|
460
463
|
- platform/android/Rhodes/src/com/rhomobile/rhodes/RhoConf.java
|
@@ -3663,7 +3666,6 @@ files:
|
|
3663
3666
|
- res/generators/templates/spec/app/spec_runner.rb
|
3664
3667
|
- res/generators/templates/spec/app/SpecRunner/controller.rb
|
3665
3668
|
- res/generators/templates/spec/app/SpecRunner/index.erb
|
3666
|
-
- rhobuild.yml
|
3667
3669
|
- rhobuild.yml.example
|
3668
3670
|
- rhodes.gemspec
|
3669
3671
|
- spec/framework_spec/app/Account/account.rb
|
data/rhobuild.yml
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
---
|
2
|
-
excludedirs:
|
3
|
-
bb:
|
4
|
-
- public/js/iui
|
5
|
-
- public/js/jquery*
|
6
|
-
- public/jqtouch*
|
7
|
-
- public/js/prototype*
|
8
|
-
- public/css/iphone*
|
9
|
-
- public/iwebkit
|
10
|
-
- public/themes
|
11
|
-
- "**/*.db"
|
12
|
-
- "**/.*.swo"
|
13
|
-
- "**/.*.swn"
|
14
|
-
- "**/jquery*.js"
|
15
|
-
- "**/.DS_Store"
|
16
|
-
env:
|
17
|
-
app: /Users/lars/Dev/code/rhomobile/store
|
18
|
-
paths:
|
19
|
-
android-ndk: /Users/lars/Dev/android-ndk-r4
|
20
|
-
android: /Users/lars/Dev/android-sdk-mac_86
|
21
|
-
java: /Library/Java/Home/bin
|
22
|
-
4.6:
|
23
|
-
jde:
|
24
|
-
sim: 9000
|
25
|
-
mds:
|
26
|
-
4.2:
|
27
|
-
jde:
|
28
|
-
sim: 8100
|
29
|
-
mds:
|
30
|
-
cabwiz:
|
31
|
-
android:
|
32
|
-
build:
|
33
|
-
bbsignpwd: somepasswordhere
|
34
|
-
bb:
|
35
|
-
symbianpath: platform/symbian
|
36
|
-
bbpath: platform/bb
|
37
|
-
androidpath: platform/android
|
38
|
-
wmpath: platform/wm
|
39
|
-
iphonepath: platform/iphone
|