rhodes 3.0.1.beta.6 → 3.0.1.beta.7
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 +2 -0
- data/Rakefile +1 -1
- data/doc/build.txt +1 -1
- data/doc/synchronization.txt +1 -0
- data/lib/framework/rho/rhoutils.rb +2 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +6 -4
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +1 -1
- data/platform/android/build/androidcommon.rb +1 -1
- data/platform/bb/RubyVM/src/com/rho/net/RhoConnection.java +0 -8
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +9 -0
- data/platform/shared/common/RhodesApp.cpp +1 -1
- data/platform/shared/net/HttpServer.cpp +35 -21
- data/platform/shared/net/HttpServer.h +2 -1
- data/rakefile.rb +1 -1
- data/rhodes.gemspec +1 -1
- metadata +4 -4
data/CHANGELOG
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
* Android: fix push issues
|
4
4
|
* Support Android 3.1
|
5
5
|
* Support Windows Phone 7.1(Mango)
|
6
|
+
* Blackberry 6: fix geolocation
|
7
|
+
* Android 2.3.4: fix web browser issue with redirect
|
6
8
|
|
7
9
|
## 3.0
|
8
10
|
* RhoSimulator: simulator for fast Rhodes application development, support debugging using Rhodes Eclipse plug-in.(Windows only)
|
data/Rakefile
CHANGED
data/doc/build.txt
CHANGED
@@ -241,7 +241,7 @@ In case if you are planning to work with native geo mapping (MapView interface),
|
|
241
241
|
android:
|
242
242
|
mapping: yes
|
243
243
|
|
244
|
-
If you are using Eclipse (Optional) please follow [these instructions](http://source.android.com/using-eclipse) on how to increase Java memory space to use Android.
|
244
|
+
If you are using Eclipse (Optional) please follow [these instructions](http://source.android.com/source/using-eclipse.html) on how to increase Java memory space to use Android.
|
245
245
|
|
246
246
|
|
247
247
|
Please check you applications and change the way how you include css files into html pages.
|
data/doc/synchronization.txt
CHANGED
@@ -491,10 +491,12 @@ public class RhodesActivity extends BaseActivity {
|
|
491
491
|
}
|
492
492
|
|
493
493
|
String urlStart = uri.getPath();
|
494
|
-
if (urlStart
|
495
|
-
|
496
|
-
|
497
|
-
|
494
|
+
if (urlStart != null) {
|
495
|
+
if ("".compareTo(urlStart) != 0)
|
496
|
+
{
|
497
|
+
Logger.D(TAG, "PROCESS URL START: " + urlStart);
|
498
|
+
RhoConf.setString("start_path", Uri.decode(urlStart));
|
499
|
+
}
|
498
500
|
}
|
499
501
|
|
500
502
|
ENABLE_LOADING_INDICATION = !RhoConf.getBool("disable_loading_indication");
|
@@ -1239,7 +1239,7 @@ public class RhodesService extends Service {
|
|
1239
1239
|
}
|
1240
1240
|
|
1241
1241
|
String syncSources = extras.getString("do_sync");
|
1242
|
-
if (syncSources != null) {
|
1242
|
+
if ((syncSources != null) && (syncSources.length() > 0)) {
|
1243
1243
|
Logger.D(TAG, "PUSH: Sync:");
|
1244
1244
|
boolean syncAll = false;
|
1245
1245
|
for (String source : syncSources.split(",")) {
|
@@ -347,7 +347,7 @@ def apk_build(sdk, apk_name, res_name, dex_name, debug)
|
|
347
347
|
params = [apk_name, "-u", "-z", res_name, "-f", dex_name]
|
348
348
|
end
|
349
349
|
|
350
|
-
Jake.run("apkbuilder" + $bat_ext, params
|
350
|
+
Jake.run File.join(".", "apkbuilder" + $bat_ext), params
|
351
351
|
|
352
352
|
unless $?.success?
|
353
353
|
Dir.chdir prev_dir
|
@@ -855,14 +855,6 @@ public class RhoConnection implements IHttpConnection {
|
|
855
855
|
if ( responseData != null )
|
856
856
|
contentLength = Integer.parseInt(resHeaders.getPropertyIgnoreCase("Content-Length"));
|
857
857
|
|
858
|
-
try {
|
859
|
-
IRhoRubyHelper helper = RhoClassFactory.createRhoRubyHelper();
|
860
|
-
helper.wakeUpGeoLocation();
|
861
|
-
}catch(Exception exc)
|
862
|
-
{
|
863
|
-
LOG.ERROR("getGeoLocationText failed", exc);
|
864
|
-
}
|
865
|
-
|
866
858
|
}
|
867
859
|
}
|
868
860
|
|
@@ -1362,6 +1362,15 @@ final public class RhodesApplication extends RhodesApplicationPlatform implement
|
|
1362
1362
|
m_bDisableInput = true;
|
1363
1363
|
m_oBrowserAdapter.processConnection(connection, e);
|
1364
1364
|
m_bDisableInput = false;
|
1365
|
+
|
1366
|
+
try {
|
1367
|
+
IRhoRubyHelper helper = RhoClassFactory.createRhoRubyHelper();
|
1368
|
+
helper.wakeUpGeoLocation();
|
1369
|
+
}catch(Exception exc)
|
1370
|
+
{
|
1371
|
+
LOG.ERROR("wakeUpGeoLocation failed", exc);
|
1372
|
+
}
|
1373
|
+
|
1365
1374
|
}
|
1366
1375
|
|
1367
1376
|
public static class PrimaryResourceFetchThread {//extends Thread {
|
@@ -1170,7 +1170,7 @@ void rho_http_redirect( void* httpContext, const char* szUrl)
|
|
1170
1170
|
headers.push_back(HttpHeader("Content-Type", "text/plain"));
|
1171
1171
|
|
1172
1172
|
CHttpServer *serv = (CHttpServer *)httpContext;
|
1173
|
-
serv->send_response(serv->create_response("301 Moved Permanently", headers));
|
1173
|
+
serv->send_response(serv->create_response("301 Moved Permanently", headers), true);
|
1174
1174
|
}
|
1175
1175
|
|
1176
1176
|
void rho_http_senderror(void* httpContext, int nError, const char* szMsg)
|
@@ -569,6 +569,17 @@ bool CHttpServer::send_response_impl(String const &data, bool continuation)
|
|
569
569
|
return true;
|
570
570
|
}
|
571
571
|
|
572
|
+
bool CHttpServer::send_response(String const &response, bool redirect)
|
573
|
+
{
|
574
|
+
#ifdef OS_ANDROID
|
575
|
+
if (redirect) {
|
576
|
+
CAutoPtr<IRhoThreadImpl> ptrThread = rho_get_RhoClassFactory()->createThreadImpl();
|
577
|
+
ptrThread->sleep(20);
|
578
|
+
}
|
579
|
+
#endif
|
580
|
+
return send_response_impl(response, false);
|
581
|
+
}
|
582
|
+
|
572
583
|
String CHttpServer::create_response(String const &reason)
|
573
584
|
{
|
574
585
|
return create_response(reason, "");
|
@@ -1049,16 +1060,16 @@ bool CHttpServer::decide(String const &method, String const &arg_uri, String con
|
|
1049
1060
|
|
1050
1061
|
String uri = arg_uri;
|
1051
1062
|
|
1052
|
-
|
1053
|
-
//Work around malformed Android WebView URLs
|
1054
|
-
if (!String_startsWith(uri, "/app") &&
|
1055
|
-
!String_startsWith(uri, "/public") &&
|
1056
|
-
!String_startsWith(uri, "/data"))
|
1057
|
-
{
|
1058
|
-
RAWTRACE1("Malformed URL: '%s', adding '/app' prefix.", uri.c_str());
|
1059
|
-
uri = CFilePath::join("/app", uri);
|
1060
|
-
}
|
1061
|
-
|
1063
|
+
//#ifdef OS_ANDROID
|
1064
|
+
// //Work around malformed Android WebView URLs
|
1065
|
+
// if (!String_startsWith(uri, "/app") &&
|
1066
|
+
// !String_startsWith(uri, "/public") &&
|
1067
|
+
// !String_startsWith(uri, "/data"))
|
1068
|
+
// {
|
1069
|
+
// RAWTRACE1("Malformed URL: '%s', adding '/app' prefix.", uri.c_str());
|
1070
|
+
// uri = CFilePath::join("/app", uri);
|
1071
|
+
// }
|
1072
|
+
//#endif
|
1062
1073
|
|
1063
1074
|
String fullPath = CFilePath::join(m_root, uri);
|
1064
1075
|
|
@@ -1072,7 +1083,10 @@ bool CHttpServer::decide(String const &method, String const &arg_uri, String con
|
|
1072
1083
|
String reply(getStringFromValue(data), getStringLenFromValue(data));
|
1073
1084
|
rho_ruby_releaseValue(data);
|
1074
1085
|
|
1075
|
-
|
1086
|
+
bool isRedirect = String_startsWith(reply, "HTTP/1.1 301") ||
|
1087
|
+
String_startsWith(reply, "HTTP/1.1 302");
|
1088
|
+
|
1089
|
+
if (!send_response(reply, isRedirect))
|
1076
1090
|
return false;
|
1077
1091
|
|
1078
1092
|
if (method == "GET")
|
@@ -1084,7 +1098,7 @@ bool CHttpServer::decide(String const &method, String const &arg_uri, String con
|
|
1084
1098
|
return true;
|
1085
1099
|
}
|
1086
1100
|
|
1087
|
-
|
1101
|
+
//#ifndef OS_ANDROID
|
1088
1102
|
if (isdir(fullPath)) {
|
1089
1103
|
RAWTRACE1("Uri %s is directory, redirecting to index", uri.c_str());
|
1090
1104
|
String q = query.empty() ? "" : "?" + query;
|
@@ -1092,17 +1106,17 @@ bool CHttpServer::decide(String const &method, String const &arg_uri, String con
|
|
1092
1106
|
HeaderList headers;
|
1093
1107
|
headers.push_back(Header("Location", CFilePath::join( uri, "index"RHO_ERB_EXT) + q));
|
1094
1108
|
|
1095
|
-
send_response(create_response("301 Moved Permanently", headers));
|
1109
|
+
send_response(create_response("301 Moved Permanently", headers), true);
|
1096
1110
|
return false;
|
1097
1111
|
}
|
1098
|
-
|
1099
|
-
//Work around this Android redirect bug:
|
1100
|
-
//http://code.google.com/p/android/issues/detail?can=2&q=11583&id=11583
|
1101
|
-
if (isdir(fullPath)) {
|
1102
|
-
RAWTRACE1("Uri %s is directory, override with index", uri.c_str());
|
1103
|
-
return decide(method, CFilePath::join( uri, "index"RHO_ERB_EXT), query, headers, body);
|
1104
|
-
}
|
1105
|
-
|
1112
|
+
//#else
|
1113
|
+
// //Work around this Android redirect bug:
|
1114
|
+
// //http://code.google.com/p/android/issues/detail?can=2&q=11583&id=11583
|
1115
|
+
// if (isdir(fullPath)) {
|
1116
|
+
// RAWTRACE1("Uri %s is directory, override with index", uri.c_str());
|
1117
|
+
// return decide(method, CFilePath::join( uri, "index"RHO_ERB_EXT), query, headers, body);
|
1118
|
+
// }
|
1119
|
+
//#endif
|
1106
1120
|
if (isindex(uri)) {
|
1107
1121
|
if (!isfile(fullPath)) {
|
1108
1122
|
RAWLOG_ERROR1("The file %s was not found", fullPath.c_str());
|
@@ -77,7 +77,7 @@ public:
|
|
77
77
|
bool run();
|
78
78
|
void stop();
|
79
79
|
|
80
|
-
bool send_response(String const &response
|
80
|
+
bool send_response(String const &response, bool redirect = false);
|
81
81
|
bool send_response_body(String const &data) {return send_response_impl(data, true);}
|
82
82
|
|
83
83
|
String create_response(String const &reason);
|
@@ -124,3 +124,4 @@ private:
|
|
124
124
|
} // namespace rho
|
125
125
|
|
126
126
|
#endif // RHO_HTTP_SERVER_F5FFD21AD3EE463E850C5E2C789397BD
|
127
|
+
|
data/rakefile.rb
CHANGED
data/rhodes.gemspec
CHANGED
@@ -3,7 +3,7 @@ require "lib/rhodes.rb"
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = %q{rhodes}
|
6
|
-
s.version = "3.0.1.beta.
|
6
|
+
s.version = "3.0.1.beta.7"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
9
|
s.authors = ["Rhomobile"]
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhodes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 62196421
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 0
|
9
9
|
- 1
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 3.0.1.beta.
|
11
|
+
- 7
|
12
|
+
version: 3.0.1.beta.7
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Rhomobile
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-
|
20
|
+
date: 2011-06-01 00:00:00 -07:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|