rhodes 2.2.3 → 2.2.4.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/CHANGELOG +13 -0
  2. data/Rakefile +1 -1
  3. data/bin/c2dm.rb +59 -0
  4. data/lib/extensions/barcode/ext/barcode/platform/iphone/Rakefile +4 -0
  5. data/lib/framework/rho/rho.rb +2 -0
  6. data/lib/framework/rho/rhoapplication.rb +1 -0
  7. data/lib/framework/rhodes.rb +1 -1
  8. data/lib/framework/version.rb +1 -1
  9. data/lib/rhodes.rb +1 -1
  10. data/platform/android/Rhodes/AndroidManifest.xml +1 -1
  11. data/platform/android/Rhodes/jni/src/callbacks.cpp +21 -0
  12. data/platform/android/Rhodes/jni/src/nativebar.cpp +4 -0
  13. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoActivity.java +3 -1
  14. data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +68 -7
  15. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +113 -10
  16. data/platform/android/Rhodes/src/com/rhomobile/rhodes/SplashScreen.java +34 -3
  17. data/platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java +21 -17
  18. data/platform/android/Rhodes/src/com/rhomobile/rhodes/datetime/DateTimePickerScreen.java +29 -5
  19. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +7 -0
  20. data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/ExternalHttpHandler.java +37 -0
  21. data/platform/android/Rhodes/src/com/rhomobile/rhodes/uri/MailUriHandler.java +0 -1
  22. data/platform/android/build/RhodesSRC_build.files +24 -23
  23. data/platform/bb/Hsqldb/src/com/rho/db/HsqlDBStorage.java +6 -0
  24. data/platform/bb/RubyVM/src/com/rho/RhoLogger.java +42 -20
  25. data/platform/bb/RubyVM/src/com/rho/db/DBAdapter.java +111 -19
  26. data/platform/bb/RubyVM/src/com/rho/db/IDBStorage.java +2 -0
  27. data/platform/bb/RubyVM/src/com/rho/net/NetRequest.java +2 -1
  28. data/platform/bb/RubyVM/src/com/rho/net/URI.java +80 -0
  29. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +21 -1
  30. data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +6 -1
  31. data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +139 -46
  32. data/platform/bb/build/bb.rake +8 -3
  33. data/platform/bb/rhodes/platform/5.0/com/rho/RhodesApplicationPlatform.java +32 -21
  34. data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +31 -14
  35. data/platform/bb/rhodes/src/com/rho/file/Jsr75File.java +3 -2
  36. data/platform/bb/rhodes/src/com/rho/rubyext/Alert.java +3 -2
  37. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +28 -0
  38. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +111 -26
  39. data/platform/iphone/Classes/AppManager/AppManager.m +22 -0
  40. data/platform/iphone/Classes/DateTimePickerDelegate.m +3 -0
  41. data/platform/iphone/Classes/MapView/MapViewController.h +8 -3
  42. data/platform/iphone/Classes/MapView/MapViewController.m +63 -12
  43. data/platform/iphone/Classes/NativeBar.h +4 -3
  44. data/platform/iphone/Classes/NativeBar.m +28 -1
  45. data/platform/iphone/Classes/Rhodes.m +87 -20
  46. data/platform/iphone/Classes/Signature/SignatureView.m +16 -10
  47. data/platform/iphone/Classes/Signature/SignatureViewController.m +2 -0
  48. data/platform/iphone/Classes/SimpleMainView.h +2 -0
  49. data/platform/iphone/Classes/SimpleMainView.m +120 -35
  50. data/platform/iphone/Classes/SplashViewController.h +8 -1
  51. data/platform/iphone/Classes/SplashViewController.m +233 -11
  52. data/platform/iphone/Classes/SplitView/LeftViewController.h +30 -0
  53. data/platform/iphone/Classes/SplitView/LeftViewController.m +189 -0
  54. data/platform/iphone/Classes/SplitView/RightViewController.h +54 -0
  55. data/platform/iphone/Classes/SplitView/RightViewController.m +268 -0
  56. data/platform/iphone/Classes/SplitView/SplitViewDelegate.h +22 -0
  57. data/platform/iphone/Classes/SplitView/SplitViewDelegate.m +92 -0
  58. data/platform/iphone/Classes/SplitView/SplittedMainView.h +65 -0
  59. data/platform/iphone/Classes/SplitView/SplittedMainView.m +304 -0
  60. data/platform/iphone/Classes/TabbedMainView.m +23 -6
  61. data/platform/iphone/Classes/WebView.m +1 -1
  62. data/platform/iphone/Info.plist +11 -2
  63. data/platform/iphone/rbuild/iphone.rake +80 -3
  64. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +50 -3
  65. data/platform/shared/common/RhoConf.cpp +5 -5
  66. data/platform/shared/db/DBAdapter.cpp +81 -3
  67. data/platform/shared/db/DBAdapter.h +1 -0
  68. data/platform/shared/json/JSONIterator.cpp +5 -0
  69. data/platform/shared/json/JSONIterator.h +1 -0
  70. data/platform/shared/net/CURLNetRequest.cpp +2 -2
  71. data/platform/shared/net/URI.cpp +53 -0
  72. data/platform/shared/net/URI.h +5 -1
  73. data/platform/shared/ruby/ext/system/system.i +9 -1
  74. data/platform/shared/ruby/ext/system/system_wrap.c +2632 -2574
  75. data/platform/shared/ruby/win32/win32.c +2 -0
  76. data/platform/shared/ruby/wince/direct.c +4 -0
  77. data/platform/shared/sync/SyncEngine.cpp +20 -1
  78. data/platform/shared/sync/SyncEngine.h +6 -1
  79. data/platform/shared/sync/SyncNotify.cpp +6 -1
  80. data/platform/shared/sync/SyncSource.cpp +130 -74
  81. data/platform/shared/sync/SyncSource.h +3 -1
  82. data/platform/wm/rhodes.sln +30 -22
  83. data/platform/wm/rhodes/Alert.cpp +4 -3
  84. data/platform/wm/rhodes/MainWindow.cpp +73 -20
  85. data/platform/wm/rhodes/RingtoneManager.cpp +4 -4
  86. data/platform/wm/rhodes/RingtoneManager.h +2 -1
  87. data/platform/wm/rhodes/Vibrate.cpp +1 -2
  88. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +37 -0
  89. data/platform/wm/rhodes/rhodes.vcproj +219 -5
  90. data/platform/wm/rhodes/stdafx.h +1 -0
  91. data/platform/wm/rubylib/rubylib.vcproj +10 -8
  92. data/platform/wm/sqlite3/sqlite3.vcproj +6 -4
  93. data/platform/wm/syncengine/syncengine.vcproj +7 -5
  94. data/platform/wm/tcmalloc/tcmalloc.vcproj +11 -8
  95. data/rakefile.rb +1 -1
  96. data/res/generators/templates/application/public/jqtouch/jqtouch.js +9 -1
  97. data/rhodes.gemspec +1 -1
  98. data/spec/phone_spec/app/spec/bulksync_spec.rb +71 -1
  99. metadata +17 -5
@@ -7,6 +7,7 @@ import android.content.Context;
7
7
  import android.content.res.AssetManager;
8
8
  import android.graphics.Bitmap;
9
9
  import android.graphics.BitmapFactory;
10
+ import android.graphics.Canvas;
10
11
  import android.view.View;
11
12
  import android.view.ViewGroup;
12
13
  import android.webkit.WebView;
@@ -17,14 +18,37 @@ public class SplashScreen {
17
18
  private static final String LOADING_PNG = "apps/app/loading.png";
18
19
  private static final String LOADING_PAGE = "apps/app/loading.html";
19
20
 
21
+ private static final String TAG = "RhoSplashScreen";
22
+
20
23
  private View view;
21
24
 
22
25
  private native void nativeStart();
23
26
  private native void nativeHide();
24
27
 
28
+ public class SplashImageView extends ImageView {
29
+ private boolean setupExecuted = false;
30
+
31
+ public SplashImageView(Context ctx) {
32
+ super(ctx);
33
+ }
34
+
35
+ protected void onDraw (Canvas canvas) {
36
+ RhodesService.platformLog(TAG, "Splash Screen Image REAL DRAWING !");
37
+ super.onDraw(canvas);
38
+ if (!setupExecuted) {
39
+ Rhodes.runPosponedSetup();
40
+ setupExecuted = true;
41
+ }
42
+ }
43
+
44
+
45
+ }
46
+
47
+
25
48
  public SplashScreen(Context ctx) {
49
+ RhodesService.platformLog(TAG, "SplashScreen()");
26
50
  AssetManager am = ctx.getResources().getAssets();
27
- RhodesService r = RhodesService.getInstance();
51
+ //RhodesService r = RhodesService.getInstance();
28
52
  //boolean bc = r.isBundleChanged();
29
53
 
30
54
  String file = LOADING_PNG;
@@ -35,13 +59,14 @@ public class SplashScreen {
35
59
  bitmap = BitmapFactory.decodeStream(is);
36
60
  is.close();
37
61
 
38
- ImageView v = new ImageView(ctx);
62
+ ImageView v = new SplashImageView(ctx);
39
63
  v.setImageBitmap(bitmap);
64
+ v.setAdjustViewBounds(false);
40
65
  v.setId(RhodesService.RHO_SPLASH_VIEW);
41
66
  view = v;
42
67
  }
43
68
  catch (IOException e) {
44
- WebView v = r.createWebView();
69
+ WebView v = RhodesService.createLoadingWebView(ctx);
45
70
 
46
71
  String page = LOADING_PAGE;
47
72
 
@@ -72,11 +97,17 @@ public class SplashScreen {
72
97
  public void start(ViewGroup outer) {
73
98
  outer.removeAllViews();
74
99
  outer.addView(view);
100
+ RhodesService.platformLog(TAG, " view was showed on screen");
101
+ }
102
+
103
+ public void rho_start() {
75
104
  nativeStart();
105
+ RhodesService.platformLog(TAG, " rho native loading splash screen started");
76
106
  }
77
107
 
78
108
  public void hide(ViewGroup outer) {
79
109
  nativeHide();
80
110
  outer.removeView(view);
111
+ RhodesService.platformLog(TAG, " splash screen closed");
81
112
  }
82
113
  }
@@ -57,23 +57,27 @@ public class RhoBluetoothManager {
57
57
 
58
58
  public static IRhoBluetoothManager sharedInstance() {
59
59
  if (ourInstance == null) {
60
- String className = "RhoBluetoothManagerNew";
61
- int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
62
- if (sdkVersion < Build.VERSION_CODES.ECLAIR) {
63
- if(D) Log.d(TAG, "sharedInstance - old version of System - NO Bluetooth !");
64
- className = "RhoBluetoothManagerOld";
65
- }
66
- try {
67
- String pkgname = RhoBluetoothManager.class.getPackage().getName();
68
- String fullName = pkgname + "." + className;
69
- Class<? extends IRhoBluetoothManager> klass =
70
- Class.forName(fullName).asSubclass(IRhoBluetoothManager.class);
71
- ourInstance = klass.newInstance();
72
- ourInstance.init();
73
- }
74
- catch (Exception e) {
75
- throw new IllegalStateException(e);
76
- }
60
+ PerformOnUiThread.exec( new Runnable() {
61
+ public void run() {
62
+ String className = "RhoBluetoothManagerNew";
63
+ int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
64
+ if (sdkVersion < Build.VERSION_CODES.ECLAIR) {
65
+ if(D) Log.d(TAG, "sharedInstance - old version of System - NO Bluetooth !");
66
+ className = "RhoBluetoothManagerOld";
67
+ }
68
+ try {
69
+ String pkgname = RhoBluetoothManager.class.getPackage().getName();
70
+ String fullName = pkgname + "." + className;
71
+ Class<? extends IRhoBluetoothManager> klass =
72
+ Class.forName(fullName).asSubclass(IRhoBluetoothManager.class);
73
+ ourInstance = klass.newInstance();
74
+ ourInstance.init();
75
+ }
76
+ catch (Exception e) {
77
+ throw new IllegalStateException(e);
78
+ }
79
+ }
80
+ },true);
77
81
  }
78
82
  return ourInstance;
79
83
  }
@@ -20,7 +20,9 @@
20
20
  */
21
21
  package com.rhomobile.rhodes.datetime;
22
22
 
23
+ import java.util.Calendar;
23
24
  import java.util.Date;
25
+ import java.util.GregorianCalendar;
24
26
 
25
27
  import com.rhomobile.rhodes.AndroidR;
26
28
  import com.rhomobile.rhodes.Logger;
@@ -82,7 +84,29 @@ public class DateTimePickerScreen extends RhoActivity {
82
84
  Bundle extras = this.getIntent().getExtras();
83
85
 
84
86
  _callback = extras.getString(INTENT_EXTRA_PREFIX + "callback");
85
- _init = new Date(extras.getLong(INTENT_EXTRA_PREFIX + "init")*1000);
87
+
88
+ long milliseconds = extras.getLong(INTENT_EXTRA_PREFIX + "init")*((long)1000);
89
+
90
+ _init = new Date(milliseconds);
91
+
92
+ Calendar c = new GregorianCalendar();
93
+ c.setTimeInMillis(milliseconds);
94
+
95
+ int year = c.get(Calendar.YEAR);
96
+ int month = c.get(Calendar.MONTH);
97
+ int day = c.get(Calendar.DAY_OF_MONTH);
98
+ int hours = c.get(Calendar.HOUR_OF_DAY);
99
+ int minutes = c.get(Calendar.MINUTE);
100
+ int seconds = c.get(Calendar.SECOND);
101
+
102
+ _init.setYear(year);
103
+ _init.setMonth(month);
104
+ _init.setDate(day);
105
+ _init.setHours(hours);
106
+ _init.setMinutes(minutes);
107
+
108
+
109
+
86
110
  _fmt = extras.getInt(INTENT_EXTRA_PREFIX + "fmt");
87
111
  _opaque = extras.getByteArray(INTENT_EXTRA_PREFIX + "opaque");
88
112
 
@@ -96,9 +120,9 @@ public class DateTimePickerScreen extends RhoActivity {
96
120
  _okButton.setOnClickListener(mOkListener);
97
121
  _cancelButton.setOnClickListener(mCancelListener);
98
122
 
99
- _datePicker.init(_init.getYear() + 1900, _init.getMonth(), _init.getDay(), null);
100
- _timePicker.setCurrentHour(_init.getHours());
101
- _timePicker.setCurrentMinute(_init.getMinutes());
123
+ _datePicker.init(year, month, day, null);
124
+ _timePicker.setCurrentHour(hours);
125
+ _timePicker.setCurrentMinute(minutes);
102
126
 
103
127
  switch (_fmt) {
104
128
  case FORMAT_DATE:
@@ -121,7 +145,7 @@ public class DateTimePickerScreen extends RhoActivity {
121
145
 
122
146
  private void sendResult(String callback, Date result, byte[] opaque) {
123
147
  this.setFieldsEnabled(false);
124
- long res = result == null ? 0 : result.getTime()/1000;
148
+ long res = result == null ? 0 : result.getTime()/((long)1000);
125
149
  Logger.D(TAG, "Return result: " + res);
126
150
  DateTimePicker.callback(callback, res, opaque, result == null);
127
151
  finish();
@@ -34,9 +34,11 @@ import android.graphics.BitmapFactory;
34
34
  import android.graphics.Color;
35
35
  import android.graphics.drawable.BitmapDrawable;
36
36
  import android.graphics.drawable.Drawable;
37
+ import android.util.DisplayMetrics;
37
38
  import android.view.Gravity;
38
39
  import android.view.View;
39
40
  import android.view.ViewGroup;
41
+ import android.view.WindowManager;
40
42
  import android.webkit.WebView;
41
43
  import android.widget.Button;
42
44
  import android.widget.ImageButton;
@@ -165,6 +167,10 @@ public class SimpleMainView implements MainView {
165
167
  else if (action.equalsIgnoreCase("separator"))
166
168
  return null;
167
169
 
170
+ DisplayMetrics metrics = new DisplayMetrics();
171
+ WindowManager wm = (WindowManager)RhodesService.getInstance().getContext().getSystemService(Context.WINDOW_SERVICE);
172
+ wm.getDefaultDisplay().getMetrics(metrics);
173
+
168
174
  Object iconObj = hash.get("icon");
169
175
  if (iconObj != null) {
170
176
  if (!(iconObj instanceof String))
@@ -174,6 +180,7 @@ public class SimpleMainView implements MainView {
174
180
  Bitmap bitmap = BitmapFactory.decodeStream(RhoFileApi.open(iconPath));
175
181
  if (bitmap == null)
176
182
  throw new IllegalArgumentException("Can't find icon: " + iconPath);
183
+ bitmap.setDensity(metrics.DENSITY_MEDIUM);
177
184
  icon = new BitmapDrawable(bitmap);
178
185
  }
179
186
 
@@ -0,0 +1,37 @@
1
+ package com.rhomobile.rhodes.uri;
2
+
3
+ import com.rhomobile.rhodes.Logger;
4
+
5
+ import android.content.Context;
6
+ import android.content.Intent;
7
+ import android.net.Uri;
8
+
9
+ public class ExternalHttpHandler implements UriHandler {
10
+
11
+ private static final String TAG = "ExternalHttpHandler";
12
+ private Context ctx;
13
+
14
+ public ExternalHttpHandler(Context c) {
15
+ ctx = c;
16
+ }
17
+
18
+ public boolean handle(String url) {
19
+ Uri uri = Uri.parse(url);
20
+ String scheme = uri.getScheme();
21
+ if (!scheme.equals("http") && !scheme.equals("https"))
22
+ return false;
23
+
24
+ String target = uri.getQueryParameter("rho_open_target");
25
+ if (target == null || !target.equals("_blank"))
26
+ return false;
27
+
28
+ Logger.D(TAG, "This is external 'http' uri, handle it");
29
+
30
+ Intent intent = new Intent(Intent.ACTION_VIEW);
31
+ intent.setData(uri);
32
+
33
+ ctx.startActivity(Intent.createChooser(intent, "Open in..."));
34
+ return true;
35
+ }
36
+
37
+ }
@@ -27,7 +27,6 @@ import com.rhomobile.rhodes.Logger;
27
27
  import android.content.Context;
28
28
  import android.content.Intent;
29
29
  import android.net.MailTo;
30
- import android.net.Uri;
31
30
 
32
31
  public class MailUriHandler implements UriHandler {
33
32
 
@@ -1,5 +1,23 @@
1
- platform/android/Rhodes/src/com/rhomobile/rhodes/alert/Alert.java
2
1
  platform/android/Rhodes/src/com/rhomobile/rhodes/AndroidR.java
2
+ platform/android/Rhodes/src/com/rhomobile/rhodes/HttpLog.java
3
+ platform/android/Rhodes/src/com/rhomobile/rhodes/Logger.java
4
+ platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java
5
+ platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java
6
+ platform/android/Rhodes/src/com/rhomobile/rhodes/NetworkConnectivityListener.java
7
+ platform/android/Rhodes/src/com/rhomobile/rhodes/NetworkStateTracker.java
8
+ platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java
9
+ platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
10
+ platform/android/Rhodes/src/com/rhomobile/rhodes/RhoActivity.java
11
+ platform/android/Rhodes/src/com/rhomobile/rhodes/RhoConf.java
12
+ platform/android/Rhodes/src/com/rhomobile/rhodes/RhoLogConf.java
13
+ platform/android/Rhodes/src/com/rhomobile/rhodes/RhoMenu.java
14
+ platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java
15
+ platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java
16
+ platform/android/Rhodes/src/com/rhomobile/rhodes/RingtoneManager.java
17
+ platform/android/Rhodes/src/com/rhomobile/rhodes/SplashScreen.java
18
+ platform/android/Rhodes/src/com/rhomobile/rhodes/Utils.java
19
+ platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java
20
+ platform/android/Rhodes/src/com/rhomobile/rhodes/alert/Alert.java
3
21
  platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/IRhoBluetoothManager.java
4
22
  platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothDeviceListActivity.java
5
23
  platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothManager.java
@@ -9,64 +27,47 @@ platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/RhoBluetoothSession.j
9
27
  platform/android/Rhodes/src/com/rhomobile/rhodes/bluetooth/UUIDHelper.java
10
28
  platform/android/Rhodes/src/com/rhomobile/rhodes/camera/Camera.java
11
29
  platform/android/Rhodes/src/com/rhomobile/rhodes/camera/FileList.java
12
- platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCaptureCallback.java
13
30
  platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java
31
+ platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCaptureCallback.java
14
32
  platform/android/Rhodes/src/com/rhomobile/rhodes/datetime/DateTimePicker.java
15
33
  platform/android/Rhodes/src/com/rhomobile/rhodes/datetime/DateTimePickerScreen.java
16
34
  platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java
17
35
  platform/android/Rhodes/src/com/rhomobile/rhodes/event/EventStore.java
18
36
  platform/android/Rhodes/src/com/rhomobile/rhodes/file/RhoFileApi.java
19
- platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java
20
37
  platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java
21
- platform/android/Rhodes/src/com/rhomobile/rhodes/HttpLog.java
22
- platform/android/Rhodes/src/com/rhomobile/rhodes/Logger.java
38
+ platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java
23
39
  platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java
24
40
  platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java
25
41
  platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java
26
42
  platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Annotation.java
27
43
  platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/AnnotationsOverlay.java
28
44
  platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapView.java
29
- platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java
30
45
  platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java
31
- platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java
32
- platform/android/Rhodes/src/com/rhomobile/rhodes/NetworkConnectivityListener.java
33
- platform/android/Rhodes/src/com/rhomobile/rhodes/NetworkStateTracker.java
46
+ platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java
34
47
  platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessor.java
35
48
  platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorNew.java
36
49
  platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactAccessorOld.java
37
50
  platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/ContactField.java
38
- platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Contact.java
39
51
  platform/android/Rhodes/src/com/rhomobile/rhodes/phonebook/Phonebook.java
40
- platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java
41
- platform/android/Rhodes/src/com/rhomobile/rhodes/PushService.java
42
- platform/android/Rhodes/src/com/rhomobile/rhodes/RhoActivity.java
43
- platform/android/Rhodes/src/com/rhomobile/rhodes/RhoConf.java
44
- platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java
45
- platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java
46
- platform/android/Rhodes/src/com/rhomobile/rhodes/RhoLogConf.java
47
- platform/android/Rhodes/src/com/rhomobile/rhodes/RhoMenu.java
48
- platform/android/Rhodes/src/com/rhomobile/rhodes/RingtoneManager.java
49
52
  platform/android/Rhodes/src/com/rhomobile/rhodes/signature/ImageCapture.java
50
53
  platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java
51
54
  platform/android/Rhodes/src/com/rhomobile/rhodes/signature/SignatureView.java
52
55
  platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSockAddr.java
53
- platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocketImpl.java
54
56
  platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocket.java
57
+ platform/android/Rhodes/src/com/rhomobile/rhodes/socket/RhoSocketImpl.java
55
58
  platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java
56
- platform/android/Rhodes/src/com/rhomobile/rhodes/SplashScreen.java
57
59
  platform/android/Rhodes/src/com/rhomobile/rhodes/ui/AboutDialog.java
58
60
  platform/android/Rhodes/src/com/rhomobile/rhodes/ui/LogOptionsDialog.java
59
61
  platform/android/Rhodes/src/com/rhomobile/rhodes/ui/LogViewDialog.java
62
+ platform/android/Rhodes/src/com/rhomobile/rhodes/uri/ExternalHttpHandler.java
60
63
  platform/android/Rhodes/src/com/rhomobile/rhodes/uri/MailUriHandler.java
61
64
  platform/android/Rhodes/src/com/rhomobile/rhodes/uri/SmsUriHandler.java
62
65
  platform/android/Rhodes/src/com/rhomobile/rhodes/uri/TelUriHandler.java
63
66
  platform/android/Rhodes/src/com/rhomobile/rhodes/uri/UriHandler.java
64
67
  platform/android/Rhodes/src/com/rhomobile/rhodes/uri/VideoUriHandler.java
65
68
  platform/android/Rhodes/src/com/rhomobile/rhodes/util/PerformOnUiThread.java
66
- platform/android/Rhodes/src/com/rhomobile/rhodes/Utils.java
67
69
  platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientNew.java
68
70
  platform/android/Rhodes/src/com/rhomobile/rhodes/webview/ChromeClientOld.java
69
- platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java
70
71
  platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettings.java
71
72
  platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsNew.java
72
73
  platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebSettingsOld.java
@@ -39,6 +39,12 @@ public class HsqlDBStorage implements IDBStorage, Session.IDBCallback{
39
39
  return strDbName;
40
40
  }
41
41
 
42
+ public boolean isDbFileExists(String strPath)
43
+ {
44
+ String strDbName = getNameNoExt(strPath);
45
+ return m_fs.exists(strDbName + ".data");
46
+ }
47
+
42
48
  public void open(String strPath, String strSqlScript) throws DBException
43
49
  {
44
50
  try{
@@ -2,8 +2,11 @@ package com.rho;
2
2
 
3
3
  import java.util.Calendar;
4
4
 
5
+ import net.rim.device.api.system.EventLogger;
6
+
5
7
  public class RhoLogger {
6
8
  public static final boolean RHO_STRIP_LOG = false;
9
+ public static final long EVENT_GUID = 0x4c9c8411d87982f2L;
7
10
 
8
11
  private static final int L_TRACE = 0;
9
12
  private static final int L_INFO = 1;
@@ -30,6 +33,11 @@ public class RhoLogger {
30
33
  return m_oLogConf;
31
34
  }
32
35
 
36
+ static
37
+ {
38
+ EventLogger.register(EVENT_GUID, "RHODESAPP", EventLogger.VIEWER_STRING);
39
+ }
40
+
33
41
  public String getLogCategory(){ return m_category; }
34
42
  public void setLogCategory(String category){ m_category = category; }
35
43
 
@@ -145,14 +153,20 @@ public class RhoLogger {
145
153
  if (m_strMessage.length() > 0 || m_strMessage.charAt(m_strMessage.length() - 1) != '\n')
146
154
  m_strMessage += '\n';
147
155
 
148
- synchronized( m_SinkLock ){
149
- getLogConf().sinkLogMessage( m_strMessage, bOutputOnly );
150
- if ( (isSimulator() || m_severity == L_FATAL) && e != null ){
151
- //TODO: redirect printStackTrace to our log
152
- //e.printStackTrace();
156
+ if ( bOutputOnly )
157
+ {
158
+ System.out.print(m_strMessage);
159
+ System.out.flush();
160
+ }else
161
+ {
162
+ synchronized( m_SinkLock ){
163
+ getLogConf().sinkLogMessage( m_strMessage, bOutputOnly );
164
+ if ( (isSimulator() || m_severity == L_FATAL) && e != null ){
165
+ //TODO: redirect printStackTrace to our log
166
+ //e.printStackTrace();
167
+ }
153
168
  }
154
- }
155
-
169
+ }
156
170
  if ( m_severity == L_FATAL )
157
171
  processFatalError();
158
172
  }
@@ -167,7 +181,6 @@ public class RhoLogger {
167
181
  throw new RuntimeException();
168
182
 
169
183
  System.exit(0);
170
-
171
184
  }
172
185
 
173
186
  public void TRACE(String message) {
@@ -182,10 +195,14 @@ public class RhoLogger {
182
195
  }
183
196
 
184
197
  public void INFO_OUT(String message) {
185
- //logMessage( L_INFO, message, null, true);
186
- //TODO: INFO_OUT
187
- System.out.print(m_category + ": " + message + "\n");
188
- System.out.flush();
198
+ logMessage( L_INFO, message, null, true);
199
+ }
200
+
201
+ public void INFO_EVENT(String message)
202
+ {
203
+ EventLogger.logEvent(EVENT_GUID, (m_category + ": " + message).getBytes());
204
+
205
+ INFO_OUT(message);
189
206
  }
190
207
 
191
208
  public void WARNING(String message) {
@@ -201,14 +218,21 @@ public class RhoLogger {
201
218
  logMessage( L_ERROR, message, e );
202
219
  }
203
220
  public void ERROR_OUT(String message,Throwable e) {
204
- //logMessage( L_ERROR, message, e, true );
205
- System.out.print(m_category + ": " + message + ". " + ( e != null ? e.getClass().getName() : "Exception") +
206
- (e != null ? e.getMessage() : "" ) +"\n");
221
+ logMessage( L_ERROR, message, e, true );
222
+ //System.out.print(m_category + ": " + message + ". " + ( e != null ? e.getClass().getName() : "Exception") +
223
+ // (e != null ? e.getMessage() : "" ) +"\n");
207
224
  if ( e != null )
208
225
  e.printStackTrace();
209
226
 
210
227
  System.out.flush();
211
228
  }
229
+
230
+ public void ERROR_EVENT(String message,Throwable e)
231
+ {
232
+ ERROR_OUT(message, e);
233
+
234
+ EventLogger.logEvent(EVENT_GUID, m_strMessage.getBytes());
235
+ }
212
236
 
213
237
  public void FATAL(String message) {
214
238
  logMessage( L_FATAL, message);
@@ -239,12 +263,11 @@ public class RhoLogger {
239
263
  }
240
264
  }
241
265
 
242
- public static void InitRhoLog()throws Exception{
243
-
266
+ public static void InitRhoLog()throws Exception
267
+ {
244
268
  m_sysInfo = RhoClassFactory.createRhoRubyHelper();
245
-
246
269
  RhoConf.InitRhoConf();
247
-
270
+
248
271
  //Set defaults
249
272
  m_oLogConf.setLogPrefix(true);
250
273
 
@@ -270,7 +293,6 @@ public class RhoLogger {
270
293
  //
271
294
  //m_oLogConf.saveToFile("");
272
295
  //
273
-
274
296
  RhoConf.getInstance().loadConf();
275
297
  m_oLogConf.loadFromConf(RhoConf.getInstance());
276
298
  }