tauplatform 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +8 -8
  2. data/CHANGELOG +10 -0
  3. data/lib/build/development/platform.rb +5 -1
  4. data/lib/build/development/web_server.rb +2 -0
  5. data/lib/commonAPI/coreapi/ext/shared/TimerImpl.cpp +10 -1
  6. data/lib/commonAPI/eventsource/ext/platform/android/ext_native.files +4 -4
  7. data/lib/commonAPI/eventsource/ext/shared/EventSource.h +2 -2
  8. data/lib/commonAPI/mediacapture/ext/camera.xml +16 -11
  9. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +17 -6
  10. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +304 -294
  11. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraRhoListener.java +528 -282
  12. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonObject.java +119 -94
  13. data/lib/commonAPI/mediacapture/ext/platform/wm/Mediacapture.vcproj +3 -3
  14. data/lib/commonAPI/mediacapture/ext/platform/wp8/src/Camera_impl.cs +63 -43
  15. data/lib/extensions/barcode-old/ext/barcode/platform/iphone/Rakefile +1 -1
  16. data/lib/framework/rhodes.rb +2 -2
  17. data/lib/framework/version.rb +2 -2
  18. data/lib/rhodes.rb +2 -2
  19. data/platform/android/Rhodes/jni/src/sslimpl.cpp +7 -2
  20. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +11 -4
  21. data/platform/android/build/android.rake +6 -0
  22. data/platform/iphone/Classes/SimpleMainView.m +8 -3
  23. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +1 -1
  24. data/platform/shared/common/RhodesApp.cpp +4 -0
  25. data/platform/shared/common/RhodesApp.h +8 -0
  26. data/platform/shared/net/CURLNetRequest.cpp +4 -2
  27. data/platform/shared/net/HttpServer.cpp +2 -2
  28. data/platform/shared/ruby/ext/rho/rhoruby.c +1 -1
  29. data/res/generators/templates/iphone_project/Bremen7.xcodeproj/project.pbxproj +3 -0
  30. data/version +1 -1
  31. metadata +2 -2
@@ -41,7 +41,7 @@ namespace "build" do
41
41
 
42
42
  task :all => :config do
43
43
 
44
- iphone_path = ENV['RHO_ROOT'] + '/lib/extensions/barcode/ext/barcode/platform/iphone'
44
+ iphone_path = ENV['RHO_ROOT'] + '/lib/extensions/barcode-old/ext/barcode/platform/iphone'
45
45
 
46
46
 
47
47
  simulator = $sdk =~ /iphonesimulator/
@@ -1,9 +1,9 @@
1
1
  module Rhodes
2
2
  unless defined? Rhodes::VERSION
3
- VERSION = '1.0.2'
3
+ VERSION = '1.0.3'
4
4
  end
5
5
  unless defined? Rhodes::DBVERSION
6
6
  DBVERSION = '2.2.0'
7
7
  end
8
-
8
+
9
9
  end
@@ -1,8 +1,8 @@
1
1
  module RhodesFramework
2
2
  unless defined? RhodesFramework::VERSION
3
- VERSION = '1.0.2'
3
+ VERSION = '1.0.3'
4
4
  end
5
5
  unless defined? RhodesFramework::DBVERSION
6
6
  DBVERSION = '2.2.2'
7
7
  end
8
- end
8
+ end
@@ -1,9 +1,9 @@
1
1
  module Rhodes
2
2
  unless defined? Rhodes::VERSION
3
- VERSION = '1.0.2'
3
+ VERSION = '1.0.3'
4
4
  end
5
5
  unless defined? Rhodes::DBVERSION
6
6
  DBVERSION = '2.2.0'
7
7
  end
8
-
8
+
9
9
  end
@@ -102,7 +102,7 @@ SSLImpl::SSLImpl()
102
102
  if (!cls) return;
103
103
  midConstructor = getJNIClassMethod(env, cls, "<init>", "()V");
104
104
  if (!midConstructor) return;
105
- midConnect = getJNIClassMethod(env, cls, "connect", "(IZ)Z");
105
+ midConnect = getJNIClassMethod(env, cls, "connect", "(IZLjava/lang/String;)Z");
106
106
  if (!midConnect) return;
107
107
  midShutdown = getJNIClassMethod(env, cls, "shutdown", "()V");
108
108
  if (!midShutdown) return;
@@ -133,7 +133,12 @@ CURLcode SSLImpl::connect(int sockfd, int nonblocking, int *done, int ssl_verify
133
133
  if (!storage) return CURLE_SSL_CONNECT_ERROR;
134
134
 
135
135
  jobject obj = (jobject)storage;
136
- jboolean result = jnienv()->CallBooleanMethod(obj, midConnect, sockfd, (jboolean)ssl_verify_peer);
136
+
137
+ JNIEnv* env = jnienv();
138
+ jhstring jHostname = rho_cast<jstring>(env, host_name);
139
+
140
+
141
+ jboolean result = jnienv()->CallBooleanMethod(obj, midConnect, sockfd, (jboolean)ssl_verify_peer, (jstring)jHostname.get());
137
142
  if (!result)
138
143
  return CURLE_SSL_CONNECT_ERROR;
139
144
 
@@ -61,6 +61,8 @@ import com.rhomobile.rhodes.Logger;
61
61
  import com.rhomobile.rhodes.RhoConf;
62
62
  import com.rhomobile.rhodes.file.RhoFileApi;
63
63
 
64
+ import java.util.StringTokenizer;
65
+
64
66
 
65
67
  public class SSLImpl {
66
68
 
@@ -342,7 +344,7 @@ public class SSLImpl {
342
344
  Logger.I(TAG, "Secure SSL factory initialization completed");
343
345
 
344
346
  return (SSLSocketFactory)context.getSocketFactory();
345
-
347
+
346
348
  }
347
349
 
348
350
  private static SSLSocketFactory getFactory(boolean verify) throws NoSuchAlgorithmException, KeyManagementException, CertificateException, KeyStoreException, IOException, UnrecoverableKeyException {
@@ -357,18 +359,23 @@ public class SSLImpl {
357
359
  SSLContext context = SSLContext.getInstance("TLS");
358
360
  TrustManager[] managers = {new MyTrustManager()};
359
361
  context.init(null, managers, new SecureRandom());
360
- factory = context.getSocketFactory();
362
+ factory = context.getSocketFactory();
361
363
  }
362
364
  return factory;
363
365
  }
364
366
 
365
- public boolean connect(int fd, boolean sslVerifyPeer) {
367
+ public boolean connect(int fd, boolean sslVerifyPeer, String hostname ) {
366
368
  try {
369
+ Logger.I(TAG, "SSL connect to " + hostname);
370
+
367
371
  RhoSockAddr remote = getRemoteSockAddr(fd);
368
372
  Socket s = new RhoSocket(fd, remote);
369
373
  SSLSocketFactory f = getFactory(sslVerifyPeer);
370
374
 
371
- SSLSocket aSock = (SSLSocket)f.createSocket(s, remote.host.toString(), remote.port, true);
375
+ StringTokenizer st = new StringTokenizer( hostname, ":" );
376
+ String host = st.nextToken();
377
+
378
+ SSLSocket aSock = (SSLSocket)f.createSocket(s, host, remote.port, true);
372
379
  aSock.setUseClientMode(true);
373
380
 
374
381
  synchronized (this) {
@@ -1932,6 +1932,12 @@ namespace "build" do
1932
1932
  classpath += $path_separator + jar
1933
1933
  end
1934
1934
 
1935
+ javalibsdir = Jake.get_absolute("platform/android/lib")
1936
+
1937
+ Dir.glob( File.join(javalibsdir,"*.jar" )) do |filepath|
1938
+ classpath += $path_separator + filepath
1939
+ end
1940
+
1935
1941
  $ext_android_additional_sources.each do |extpath, list|
1936
1942
  ext = File.basename(extpath)
1937
1943
  ext_classpath = classpath
@@ -342,6 +342,7 @@ static BOOL makeHiddenUntilLoadContent = YES;
342
342
  }
343
343
 
344
344
  [toolbar removeFromSuperview];
345
+
345
346
  //MOHUS
346
347
  //assert(!toolbar || [toolbar retainCount] == 1);
347
348
  self.toolbar = nil;
@@ -359,11 +360,15 @@ static BOOL makeHiddenUntilLoadContent = YES;
359
360
  wFrame.origin.y = 0;
360
361
 
361
362
  toolbar = [self newToolbar:bar_info frame:wFrame];
362
- assert([toolbar retainCount] == 1);
363
+
364
+ //MOHUS
365
+ //assert([toolbar retainCount] == 1);
363
366
  toolbar.tag = RHO_TAG_TOOLBAR;
364
367
  UIView* root = self.view;
365
368
  [root addSubview:toolbar];
366
- assert([toolbar retainCount] == 2);
369
+
370
+ //MOHUS
371
+ //assert([toolbar retainCount] == 2);
367
372
 
368
373
  CGRect tbFrame = toolbar.frame;
369
374
  wFrame = [self getContentRect];
@@ -503,7 +508,7 @@ static BOOL makeHiddenUntilLoadContent = YES;
503
508
  self.view = root;
504
509
 
505
510
  [root release];
506
- assert([root retainCount] == 1);
511
+ //assert([root retainCount] == 1);
507
512
  }
508
513
 
509
514
  - (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
@@ -206,7 +206,7 @@ int on_http_cb(http_parser* parser) { return 0; }
206
206
 
207
207
  - (CRhoURLResponse*) makeDirectHttpRequest:(NSURL*)theUrl
208
208
  {
209
- NSLog(@"Will make local request to %@", [theUrl absoluteString]);
209
+ //NSLog(@"Will make local request to %@", [theUrl absoluteString]);
210
210
 
211
211
  const char* uri = [[theUrl path] UTF8String];
212
212
  const char* method = [[[self request] HTTPMethod] UTF8String];
@@ -2932,6 +2932,10 @@ void rho_rhodesapp_setStartParametersOriginal(const char* szParams)
2932
2932
  RHODESAPP().setStartParametersOriginal(szParams? szParams:"");
2933
2933
  }
2934
2934
 
2935
+ int rho_rhodesapp_is_application_active() {
2936
+ return RHODESAPP().isApplicationActive() ? 1 : 0;
2937
+ }
2938
+
2935
2939
  int rho_rhodesapp_canstartapp(const char* szCmdLine, const char* szSeparators)
2936
2940
  {
2937
2941
  String strCmdLineSecToken;
@@ -112,6 +112,7 @@ namespace common {
112
112
  virtual bool onReinstallConfigUpdate(const HashtablePtr<String,Vector<String>* >& conflicts) = 0;
113
113
  virtual bool onMigrateSource() = 0;
114
114
  virtual bool onDeviceScreenEvent(const int newState) = 0;
115
+ virtual bool isApplicationActive() = 0;
115
116
  };
116
117
 
117
118
  class ApplicationEventReceiver : public IApplicationEventReceiver
@@ -132,6 +133,8 @@ namespace common {
132
133
 
133
134
  virtual bool isCallbackSet();
134
135
  virtual void setCallback(apiGenerator::CMethodResult& oResult);
136
+
137
+ virtual bool isApplicationActive() { return m_app_state == applicationStateActivated; }
135
138
  };
136
139
 
137
140
  class CRhodesApp : public CRhodesAppBase
@@ -290,6 +293,8 @@ public:
290
293
  #ifdef OS_WINCE
291
294
  bool isWebkitOutofProcess();
292
295
  #endif
296
+
297
+ virtual bool isApplicationActive() { return getApplicationEventReceiver()->isApplicationActive(); }
293
298
 
294
299
  protected:
295
300
  virtual void run();
@@ -410,6 +415,9 @@ void rho_platform_restart_application();
410
415
  void rho_sys_set_network_status_notify(const char* url, int poll_interval);
411
416
  void rho_sys_clear_network_status_notify();
412
417
 
418
+ int rho_rhodesapp_is_application_active();
419
+
420
+
413
421
  #ifdef __cplusplus
414
422
  };
415
423
  #endif //__cplusplus
@@ -673,9 +673,11 @@ curl_slist *CURLNetRequest::CURLHolder::set_options(const char *method, const St
673
673
  // could repeated twice or more times
674
674
  if (RHODESAPP().isBaseUrl(strUrl))
675
675
  {
676
- curl_easy_setopt(m_curl, CURLOPT_CONNECTTIMEOUT, 10*24*60*60);
677
- curl_easy_setopt(m_curl, CURLOPT_TIMEOUT, 10*24*60*60);
676
+ timeout = 10*24*60*60;
677
+ curl_easy_setopt(m_curl, CURLOPT_CONNECTTIMEOUT, timeout);
678
+ curl_easy_setopt(m_curl, CURLOPT_TIMEOUT, timeout);
678
679
  }
680
+
679
681
 
680
682
  curl_slist *hdrs = NULL;
681
683
  // Disable "Expect: 100-continue"
@@ -302,8 +302,8 @@ CHttpServer::CHttpServer(int port, String const &root, String const &user_root,
302
302
  , m_localResponseWriter(0)
303
303
  , m_pQueue(0)
304
304
  #endif
305
- {
306
- m_enable_external_access = false;
305
+ {
306
+ m_enable_external_access = RHOCONF().getBool("enable_external_server_access");
307
307
  m_started_as_separated_simple_server = false;
308
308
  m_root = CFilePath::normalizePath(root);
309
309
  #ifdef RHODES_EMULATOR
@@ -258,7 +258,7 @@ void RhoRubyStart()
258
258
  //#endif
259
259
 
260
260
  #if defined(WINDOWS_PLATFORM) && !defined(RHODES_EMULATOR) && !defined(RHODES_QT_PLATFORM)
261
- //init_rhoext_Signature();
261
+ init_rhoext_Signature();
262
262
  #else
263
263
  //Init_SignatureCapture();
264
264
  #endif
@@ -530,6 +530,7 @@
530
530
  "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
531
531
  COMPRESS_PNG_FILES = NO;
532
532
  COPY_PHASE_STRIP = NO;
533
+ ENABLE_BITCODE = NO;
533
534
  GCC_DYNAMIC_NO_PIC = NO;
534
535
  GCC_OPTIMIZATION_LEVEL = 0;
535
536
  GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -572,6 +573,7 @@
572
573
  "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
573
574
  COMPRESS_PNG_FILES = NO;
574
575
  COPY_PHASE_STRIP = YES;
576
+ ENABLE_BITCODE = NO;
575
577
  EXTENSIONS_LDFLAGS = "-filelist $(TARGET_TEMP_DIR)/rhodeslibs.txt";
576
578
  GCC_PRECOMPILE_PREFIX_HEADER = YES;
577
579
  GCC_PREFIX_HEADER = rhorunner_Prefix.pch;
@@ -629,6 +631,7 @@
629
631
  "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
630
632
  COMPRESS_PNG_FILES = NO;
631
633
  COPY_PHASE_STRIP = YES;
634
+ ENABLE_BITCODE = NO;
632
635
  EXTENSIONS_LDFLAGS = "-filelist $(TARGET_TEMP_DIR)/rhodeslibs.txt";
633
636
  GCC_PRECOMPILE_PREFIX_HEADER = YES;
634
637
  GCC_PREFIX_HEADER = rhorunner_Prefix.pch;
data/version CHANGED
@@ -1 +1 @@
1
- 1.0.2
1
+ 1.0.3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tauplatform
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - TAU Technologies
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-12 00:00:00.000000000 Z
11
+ date: 2016-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: templater