rhodes 2.0.2 → 2.0.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 +10 -0
- data/lib/framework/rho/rhoerror.rb +4 -0
- data/lib/framework/rhodes.rb +2 -2
- data/lib/framework/rhom/rhom.rb +21 -1
- 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/src/com/rhomobile/rhodes/Rhodes.java +21 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesInstance.java +1 -1
- data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +10 -0
- data/platform/bb/rhodes/src/com/rho/net/NetworkAccess.java +1 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/GeoLocation.java +2 -2
- data/platform/bb/rhodes/src/rhomobile/PushListeningThread.java +4 -2
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +52 -11
- data/platform/iphone/Classes/NativeBar.m +37 -18
- data/platform/iphone/Classes/Rhodes.h +2 -0
- data/platform/iphone/Classes/Rhodes.m +27 -8
- data/platform/iphone/Classes/SimpleMainView.h +7 -5
- data/platform/iphone/Classes/SimpleMainView.m +155 -36
- data/platform/iphone/Classes/TabbedMainView.h +2 -4
- data/platform/iphone/Classes/TabbedMainView.m +12 -10
- data/platform/iphone/Classes/WebView.m +1 -0
- data/platform/iphone/Info.plist +7 -1
- data/platform/iphone/icon114.png +0 -0
- data/platform/iphone/icon57.png +0 -0
- data/platform/iphone/icon72.png +0 -0
- data/platform/iphone/rbuild/iphone.rake +102 -16
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +12 -0
- data/platform/shared/common/IRhoThreadImpl.h +1 -1
- data/platform/shared/common/PosixThreadImpl.cpp +17 -22
- data/platform/shared/common/PosixThreadImpl.h +1 -1
- data/platform/shared/common/RhoThread.cpp +7 -3
- data/platform/shared/common/RhoThread.h +21 -7
- data/platform/shared/common/RhodesApp.cpp +13 -9
- data/platform/shared/common/RhodesApp.h +1 -1
- data/platform/shared/common/ThreadQueue.cpp +6 -4
- data/platform/shared/rubyJVM/src/com/rho/IRhoRubyHelper.java +2 -0
- data/platform/shared/rubyJVM/src/com/rho/RhoThread.java +18 -8
- data/platform/shared/rubyJVM/src/com/rho/RhodesApp.java +70 -2
- data/platform/shared/rubyJVM/src/com/rho/ThreadQueue.java +143 -0
- data/platform/shared/rubyJVM/src/com/rho/sync/ClientRegister.java +15 -5
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncEngine.java +42 -36
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncNotify.java +63 -20
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncSource.java +4 -4
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncThread.java +12 -2
- data/platform/shared/rubyJVM/src/com/xruby/runtime/lang/RhoSupport.java +9 -3
- data/platform/shared/sync/ClientRegister.cpp +11 -3
- data/platform/shared/sync/ClientRegister.h +1 -0
- data/platform/shared/sync/SyncEngine.cpp +38 -35
- data/platform/shared/sync/SyncEngine.h +2 -1
- data/platform/shared/sync/SyncNotify.cpp +53 -20
- data/platform/shared/sync/SyncNotify.h +9 -2
- data/platform/shared/sync/SyncSource.cpp +3 -3
- data/platform/shared/sync/SyncSource.h +1 -1
- data/platform/shared/sync/SyncThread.cpp +9 -2
- data/platform/wm/rhodes/Alert.cpp +35 -21
- data/platform/wm/rhodes/Alert.h +11 -2
- data/platform/wm/rhodes/rho/common/RhoThreadImpl.cpp +11 -12
- data/platform/wm/rhodes/rho/common/RhoThreadImpl.h +2 -0
- data/res/generators/templates/application/build.yml +1 -1
- data/rhodes.gemspec +2 -2
- data/spec/framework_spec/rhoconfig.txt +1 -0
- data/spec/phone_spec/rhoconfig.txt +2 -0
- metadata +8 -5
- data/Manifest.txt +0 -5333
    
        data/CHANGELOG
    CHANGED
    
    | @@ -1,3 +1,13 @@ | |
| 1 | 
            +
            ## 2.0.3
         | 
| 2 | 
            +
            * #4317065 - App store requires 3 icons now for iphone
         | 
| 3 | 
            +
            * #4356949 - iPhone simulator: rake run:iphone open simulator but there is no
         | 
| 4 | 
            +
              application
         | 
| 5 | 
            +
            * #4394846 - Android: no application screen when go to background and switch back
         | 
| 6 | 
            +
            * #4365316 - build.yml should default to iPhoneSimulator 4.0
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            ## 2.0.2
         | 
| 9 | 
            +
            * #4223112 - fixed problem with script order in iphone build
         | 
| 10 | 
            +
             | 
| 1 11 | 
             
            ## 2.0.1
         | 
| 2 12 | 
             
            * #4049590 - Android 2.2, rhodes rc2: take picture hangs
         | 
| 3 13 | 
             
            * #4103477 - Android 2.2: can't write to DB
         | 
    
        data/lib/framework/rhodes.rb
    CHANGED
    
    
    
        data/lib/framework/rhom/rhom.rb
    CHANGED
    
    | @@ -40,6 +40,26 @@ module Rhom | |
| 40 40 | 
             
                    c_id = ::Rho::RHO.get_user_db().select_from_table('client_info','client_id')[0]
         | 
| 41 41 | 
             
                    c_id.nil? ? nil : c_id['client_id']
         | 
| 42 42 | 
             
                  end
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                  def database_client_reset
         | 
| 45 | 
            +
                    SyncEngine.stop_sync
         | 
| 46 | 
            +
                    
         | 
| 47 | 
            +
                    params = ["", "", 0]
         | 
| 48 | 
            +
                    ::Rho::RHO.get_user_db().execute_sql("UPDATE client_info SET client_id=?, token=?, token_sent=?", params)
         | 
| 49 | 
            +
                    
         | 
| 50 | 
            +
                    if ( Rho::RhoConfig.exists?('bulksync_state') )
         | 
| 51 | 
            +
                        Rho::RhoConfig.bulksync_state='0'
         | 
| 52 | 
            +
                    end    
         | 
| 53 | 
            +
                    ::Rho::RHO.get_user_db().execute_sql("UPDATE sources SET token=0")
         | 
| 54 | 
            +
                    
         | 
| 55 | 
            +
                    ::Rho::RHO.get_db_partitions().each_value do |db|
         | 
| 56 | 
            +
                        db.destroy_tables(
         | 
| 57 | 
            +
                         :exclude => (['sources','client_info']) )
         | 
| 58 | 
            +
                    end
         | 
| 59 | 
            +
                  
         | 
| 60 | 
            +
                    hash_migrate = {}
         | 
| 61 | 
            +
                    ::Rho::RHO.init_schema_sources(hash_migrate) 
         | 
| 62 | 
            +
                  end
         | 
| 43 63 |  | 
| 44 64 | 
             
                  def database_full_reset(reset_client_info=false)
         | 
| 45 65 | 
             
                    SyncEngine.stop_sync
         | 
| @@ -68,7 +88,7 @@ module Rhom | |
| 68 88 | 
             
                    database_full_reset(true)
         | 
| 69 89 | 
             
                    SyncEngine.logout
         | 
| 70 90 | 
             
                  end
         | 
| 71 | 
            -
             | 
| 91 | 
            +
             | 
| 72 92 | 
             
                    def search(args)
         | 
| 73 93 | 
             
                      searchParams = ""
         | 
| 74 94 |  | 
    
        data/lib/framework/version.rb
    CHANGED
    
    
    
        data/lib/rhodes.rb
    CHANGED
    
    
| @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            <?xml version="1.0" encoding="utf-8"?>
         | 
| 2 2 | 
             
            <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         | 
| 3 3 | 
             
                  package="com.rhomobile.rhodes"
         | 
| 4 | 
            -
                  android:versionCode=" | 
| 5 | 
            -
                  android:versionName="2.0. | 
| 4 | 
            +
                  android:versionCode="23"
         | 
| 5 | 
            +
                  android:versionName="2.0.3">
         | 
| 6 6 | 
             
                <uses-sdk android:minSdkVersion="3" />
         | 
| 7 7 | 
             
                <application android:icon="@drawable/icon"
         | 
| 8 8 | 
             
                      android:multiprocess="true"
         | 
| @@ -41,6 +41,7 @@ import com.rhomobile.rhodes.uri.VideoUriHandler; | |
| 41 41 |  | 
| 42 42 | 
             
            import android.app.Activity;
         | 
| 43 43 | 
             
            import android.content.Context;
         | 
| 44 | 
            +
            import android.content.Intent;
         | 
| 44 45 | 
             
            import android.content.pm.ActivityInfo;
         | 
| 45 46 | 
             
            import android.content.pm.ApplicationInfo;
         | 
| 46 47 | 
             
            import android.content.pm.PackageManager.NameNotFoundException;
         | 
| @@ -84,9 +85,11 @@ public class Rhodes extends Activity { | |
| 84 85 | 
             
            	public static int WINDOW_FLAGS = WindowManager.LayoutParams.FLAG_FULLSCREEN;
         | 
| 85 86 | 
             
            	public static int WINDOW_MASK = WindowManager.LayoutParams.FLAG_FULLSCREEN;
         | 
| 86 87 |  | 
| 87 | 
            -
            	 | 
| 88 | 
            +
            	public static int MAX_PROGRESS = 10000;
         | 
| 88 89 |  | 
| 89 | 
            -
            	 | 
| 90 | 
            +
            	public static boolean ENABLE_LOADING_INDICATION = true;
         | 
| 91 | 
            +
            	
         | 
| 92 | 
            +
            	private static boolean ownActivityActivated;
         | 
| 90 93 |  | 
| 91 94 | 
             
            	private boolean needGeoLocationRestart = false;
         | 
| 92 95 |  | 
| @@ -481,8 +484,9 @@ public class Rhodes extends Activity { | |
| 481 484 | 
             
            	@Override
         | 
| 482 485 | 
             
            	public void onCreate(Bundle savedInstanceState) {
         | 
| 483 486 | 
             
            		super.onCreate(savedInstanceState);
         | 
| 484 | 
            -
             | 
| 485 | 
            -
            		Logger. | 
| 487 | 
            +
             | 
| 488 | 
            +
            		// Here Log should be used, not Logger. It is because Logger is not initialized yet.
         | 
| 489 | 
            +
            		Log.v(TAG, "+++ onCreate");
         | 
| 486 490 |  | 
| 487 491 | 
             
            		Thread ct = Thread.currentThread();
         | 
| 488 492 | 
             
            		ct.setPriority(Thread.MAX_PRIORITY);
         | 
| @@ -571,13 +575,16 @@ public class Rhodes extends Activity { | |
| 571 575 | 
             
            	protected void onStart() {
         | 
| 572 576 | 
             
            		super.onStart();
         | 
| 573 577 | 
             
            		Logger.T(TAG, "+++ onStart");
         | 
| 578 | 
            +
            		ownActivityActivated = false;
         | 
| 579 | 
            +
            		if (needGeoLocationRestart) {
         | 
| 580 | 
            +
            			GeoLocation.isKnownPosition();
         | 
| 581 | 
            +
            			needGeoLocationRestart = false;
         | 
| 582 | 
            +
            		}
         | 
| 574 583 | 
             
            	}
         | 
| 575 584 |  | 
| 576 585 | 
             
            	@Override
         | 
| 577 586 | 
             
            	protected void onResume() {
         | 
| 578 587 | 
             
            		super.onResume();
         | 
| 579 | 
            -
            		if (needGeoLocationRestart)
         | 
| 580 | 
            -
            			GeoLocation.isKnownPosition();
         | 
| 581 588 | 
             
            		Logger.T(TAG, "+++ onResume");
         | 
| 582 589 | 
             
            	}
         | 
| 583 590 |  | 
| @@ -592,6 +599,8 @@ public class Rhodes extends Activity { | |
| 592 599 | 
             
            		Logger.T(TAG, "+++ onStop");
         | 
| 593 600 | 
             
            		needGeoLocationRestart = GeoLocation.isAvailable();
         | 
| 594 601 | 
             
            		GeoLocation.stop();
         | 
| 602 | 
            +
            		if (!ownActivityActivated)
         | 
| 603 | 
            +
            			stopSelf();
         | 
| 595 604 | 
             
            		super.onStop();
         | 
| 596 605 | 
             
            	}
         | 
| 597 606 |  | 
| @@ -765,6 +774,12 @@ public class Rhodes extends Activity { | |
| 765 774 | 
             
            		Process.killProcess(Process.myPid());
         | 
| 766 775 | 
             
            	}
         | 
| 767 776 |  | 
| 777 | 
            +
            	@Override
         | 
| 778 | 
            +
            	public void startActivity(Intent intent) {
         | 
| 779 | 
            +
            		ownActivityActivated = true;
         | 
| 780 | 
            +
            		super.startActivity(intent);
         | 
| 781 | 
            +
            	}
         | 
| 782 | 
            +
            	
         | 
| 768 783 | 
             
            	static {
         | 
| 769 784 | 
             
            		NativeLibraries.load();
         | 
| 770 785 | 
             
            	}
         | 
| @@ -111,6 +111,16 @@ public class RhoRubyHelper implements IRhoRubyHelper { | |
| 111 111 | 
             
            		return netCallback.m_response;
         | 
| 112 112 | 
             
            	}
         | 
| 113 113 |  | 
| 114 | 
            +
            	public void navigateUrl(String url)
         | 
| 115 | 
            +
            	{
         | 
| 116 | 
            +
            		WebView.navigate(url);
         | 
| 117 | 
            +
            	}
         | 
| 118 | 
            +
            	
         | 
| 119 | 
            +
            	public void navigateBack()
         | 
| 120 | 
            +
            	{
         | 
| 121 | 
            +
            		RhodesApplication.getInstance().navigateBack();
         | 
| 122 | 
            +
            	}
         | 
| 123 | 
            +
            	
         | 
| 114 124 | 
             
            	static Hashtable m_appProperties = new Hashtable(); 
         | 
| 115 125 | 
             
            	public String getAppProperty(String name)
         | 
| 116 126 | 
             
            	{
         | 
| @@ -205,7 +205,7 @@ public class NetworkAccess implements INetworkAccess { | |
| 205 205 |  | 
| 206 206 | 
             
            			try {
         | 
| 207 207 | 
             
            				String url = strUrl;
         | 
| 208 | 
            -
            				if (!ignoreSuffix)
         | 
| 208 | 
            +
            				if ( RhoConf.getInstance().getBool("bb_sim_use_deviceside") || !ignoreSuffix )
         | 
| 209 209 | 
             
            					url += URLsuffix;
         | 
| 210 210 | 
             
                            if (url.startsWith("https"))
         | 
| 211 211 | 
             
            					url += ";EndToEndDesired;RdHTTPS";
         | 
| @@ -5,6 +5,7 @@ import java.util.Vector; | |
| 5 5 |  | 
| 6 6 | 
             
            import javax.microedition.io.*;
         | 
| 7 7 |  | 
| 8 | 
            +
            import com.rho.FilePath;
         | 
| 8 9 | 
             
            import com.rho.RhoEmptyLogger;
         | 
| 9 10 | 
             
            import com.rho.RhoLogger;
         | 
| 10 11 | 
             
            import com.rho.RhodesApp;
         | 
| @@ -268,10 +269,11 @@ public class PushListeningThread extends Thread { | |
| 268 269 | 
             
                        			op = splitOnce(ops[loop],"=");
         | 
| 269 270 | 
             
                        			if (op.length>1) {
         | 
| 270 271 | 
             
                        				op = splitOnce(op[1],",");
         | 
| 272 | 
            +
                        				String fileName = FilePath.join("/public/alerts/", op[0]);
         | 
| 271 273 | 
             
                        				if (op.length>1) {
         | 
| 272 | 
            -
                        					play_file( | 
| 274 | 
            +
                        					play_file(fileName,op[1]);
         | 
| 273 275 | 
             
                        				} else {
         | 
| 274 | 
            -
                        					play_file( | 
| 276 | 
            +
                        					play_file(fileName,null);
         | 
| 275 277 | 
             
                        				}
         | 
| 276 278 | 
             
                        			}            			
         | 
| 277 279 | 
             
                        		}
         | 
| @@ -86,7 +86,8 @@ final public class RhodesApplication extends UiApplication implements SystemList | |
| 86 86 | 
             
            				/*if ( m_bSkipKeyPress )
         | 
| 87 87 | 
             
            					m_bSkipKeyPress = false;
         | 
| 88 88 | 
             
            				else*/	
         | 
| 89 | 
            -
            					back();
         | 
| 89 | 
            +
            					//back();
         | 
| 90 | 
            +
            				RHODESAPP().navigateBack();
         | 
| 90 91 | 
             
            				return true;
         | 
| 91 92 | 
             
            			}
         | 
| 92 93 |  | 
| @@ -123,11 +124,12 @@ final public class RhodesApplication extends UiApplication implements SystemList | |
| 123 124 | 
             
                	_mainScreen.addCustomMenuItem(label, value);
         | 
| 124 125 | 
             
                }
         | 
| 125 126 |  | 
| 126 | 
            -
            	private String m_strAppBackUrl ="";
         | 
| 127 | 
            +
            	//private String m_strAppBackUrl ="";
         | 
| 127 128 |  | 
| 128 129 | 
             
                public void resetMenuItems() {
         | 
| 129 130 | 
             
                	_mainScreen.setMenuItems(new Vector());
         | 
| 130 | 
            -
                	m_strAppBackUrl = "";
         | 
| 131 | 
            +
                	//m_strAppBackUrl = "";
         | 
| 132 | 
            +
                	RHODESAPP().setAppBackUrl("");
         | 
| 131 133 | 
             
                }
         | 
| 132 134 |  | 
| 133 135 | 
             
                public void postUrl(String url, String body, HttpHeaders headers) {
         | 
| @@ -194,7 +196,35 @@ final public class RhodesApplication extends UiApplication implements SystemList | |
| 194 196 | 
             
            		return false;
         | 
| 195 197 | 
             
                }
         | 
| 196 198 |  | 
| 197 | 
            -
                void  | 
| 199 | 
            +
                public void navigateBack()
         | 
| 200 | 
            +
                {
         | 
| 201 | 
            +
                	if ( RHODESAPP().isCloseBack() )
         | 
| 202 | 
            +
                	{
         | 
| 203 | 
            +
                		_mainScreen.close();
         | 
| 204 | 
            +
                		return;
         | 
| 205 | 
            +
                	}
         | 
| 206 | 
            +
                	
         | 
| 207 | 
            +
                	String url = "";
         | 
| 208 | 
            +
                	if ( _history.size() <= 1 )
         | 
| 209 | 
            +
                	{
         | 
| 210 | 
            +
                		if ( RhoConf.getInstance().getBool("bb_disable_closebyback"))
         | 
| 211 | 
            +
                			return;
         | 
| 212 | 
            +
                		
         | 
| 213 | 
            +
                		_mainScreen.close();
         | 
| 214 | 
            +
                		return;
         | 
| 215 | 
            +
                   	}	
         | 
| 216 | 
            +
                	int nPos = _history.size()-2;
         | 
| 217 | 
            +
                	url = (String)_history.elementAt(nPos);
         | 
| 218 | 
            +
                	_history.removeElementAt(nPos+1);
         | 
| 219 | 
            +
             | 
| 220 | 
            +
            //		this.m_oBrowserAdapter.goBack();
         | 
| 221 | 
            +
                	
         | 
| 222 | 
            +
                	saveCurrentLocation(url);
         | 
| 223 | 
            +
                	navigateUrl(url);
         | 
| 224 | 
            +
                }
         | 
| 225 | 
            +
            /*    
         | 
| 226 | 
            +
                void back()
         | 
| 227 | 
            +
                {
         | 
| 198 228 | 
             
                	String url = m_strAppBackUrl;
         | 
| 199 229 | 
             
                	if ( url.length() == 0)
         | 
| 200 230 | 
             
                	{
         | 
| @@ -220,7 +250,7 @@ final public class RhodesApplication extends UiApplication implements SystemList | |
| 220 250 |  | 
| 221 251 | 
             
                	saveCurrentLocation(url);
         | 
| 222 252 | 
             
                	navigateUrl(url);
         | 
| 223 | 
            -
                }
         | 
| 253 | 
            +
                }*/
         | 
| 224 254 |  | 
| 225 255 | 
             
                String removeSemicolon(String str)
         | 
| 226 256 | 
             
                {
         | 
| @@ -673,7 +703,8 @@ final public class RhodesApplication extends UiApplication implements SystemList | |
| 673 703 | 
             
            			};
         | 
| 674 704 | 
             
            		private MenuItem backItem = new MenuItem("", 200000, 10) {
         | 
| 675 705 | 
             
            			public void run() {
         | 
| 676 | 
            -
            					back();
         | 
| 706 | 
            +
            					//back();
         | 
| 707 | 
            +
            					RHODESAPP().navigateBack();
         | 
| 677 708 | 
             
            				}
         | 
| 678 709 | 
             
            			};
         | 
| 679 710 | 
             
            		private MenuItem syncItem = new MenuItem("", 200000, 10) {
         | 
| @@ -748,7 +779,9 @@ final public class RhodesApplication extends UiApplication implements SystemList | |
| 748 779 | 
             
            			menu.add(contextMenu);
         | 
| 749 780 | 
             
            		}
         | 
| 750 781 |  | 
| 751 | 
            -
            		public void addCustomMenuItem(String label, final String value)  | 
| 782 | 
            +
            		public void addCustomMenuItem(String label, final String value) 
         | 
| 783 | 
            +
            		{
         | 
| 784 | 
            +
            			final String _label = label;
         | 
| 752 785 | 
             
            			// Is this a default item? If so, use the existing menu item we have.
         | 
| 753 786 | 
             
                	    if (value.equalsIgnoreCase(RhodesApplication.LABEL_HOME)) {
         | 
| 754 787 | 
             
                	    	setDefaultItemToMenuItems(label, homeItem);
         | 
| @@ -772,13 +805,21 @@ final public class RhodesApplication extends UiApplication implements SystemList | |
| 772 805 | 
             
                	    	menuItems = null;
         | 
| 773 806 | 
             
                	    } else {
         | 
| 774 807 | 
             
                	    	if ( label.equalsIgnoreCase("back") )
         | 
| 775 | 
            -
                	    		m_strAppBackUrl = value;
         | 
| 808 | 
            +
                	    		//m_strAppBackUrl = value;
         | 
| 809 | 
            +
                	    		RHODESAPP().setAppBackUrl(value);
         | 
| 776 810 | 
             
                	    	else
         | 
| 777 811 | 
             
                	    	{
         | 
| 778 | 
            -
            					MenuItem itemToAdd = new MenuItem(label, 200000, 10)  | 
| 812 | 
            +
            					MenuItem itemToAdd = new MenuItem(label, 200000, 10) 
         | 
| 813 | 
            +
            					{
         | 
| 779 814 | 
             
            						public void run() 
         | 
| 780 815 | 
             
            						{
         | 
| 781 | 
            -
            							 | 
| 816 | 
            +
            							try{
         | 
| 817 | 
            +
            								RHODESAPP().loadUrl(value);
         | 
| 818 | 
            +
            							}catch(Exception exc)
         | 
| 819 | 
            +
            							{
         | 
| 820 | 
            +
            								LOG.ERROR("Execute menu item: '" + _label + "' failed.", exc);
         | 
| 821 | 
            +
            							}
         | 
| 822 | 
            +
            /*							if (value != null && value.startsWith("callback:") )
         | 
| 782 823 | 
             
            							{
         | 
| 783 824 | 
             
            								String url = RHODESAPP().canonicalizeRhoUrl(value.substring(9));
         | 
| 784 825 | 
             
            								RhoRubyHelper helper = new RhoRubyHelper();
         | 
| @@ -788,7 +829,7 @@ final public class RhodesApplication extends UiApplication implements SystemList | |
| 788 829 | 
             
            						    	String url = RHODESAPP().canonicalizeRhoUrl(value);
         | 
| 789 830 | 
             
            								addToHistory(url, null );
         | 
| 790 831 | 
             
            								navigateUrl(url);
         | 
| 791 | 
            -
            							}
         | 
| 832 | 
            +
            							}*/
         | 
| 792 833 | 
             
            						}
         | 
| 793 834 | 
             
            					};
         | 
| 794 835 | 
             
            					menuItems.addElement(itemToAdd);
         | 
| @@ -34,27 +34,46 @@ static int started = 0; | |
| 34 34 | 
             
                Rhodes *r = [Rhodes sharedInstance];
         | 
| 35 35 |  | 
| 36 36 | 
             
                id mainView = [r mainView];
         | 
| 37 | 
            -
                
         | 
| 37 | 
            +
                UIWindow* w = r.window;
         | 
| 38 | 
            +
             | 
| 39 | 
            +
            	SimpleMainView* smv = nil;
         | 
| 40 | 
            +
                if ([mainView isKindOfClass:[SimpleMainView class]]) {
         | 
| 41 | 
            +
            	    smv = (SimpleMainView*)mainView;
         | 
| 42 | 
            +
            	}
         | 
| 38 43 | 
             
                switch (type) {
         | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 44 | 
            +
            		case NOBAR_TYPE:
         | 
| 45 | 
            +
            			if (smv != nil) {
         | 
| 46 | 
            +
            				[smv removeToolbar];
         | 
| 47 | 
            +
            			}
         | 
| 48 | 
            +
            			else {
         | 
| 49 | 
            +
            				view = [[SimpleMainView alloc] initWithMainView:mainView parent:w ];
         | 
| 50 | 
            +
            				[r setMainView:view];
         | 
| 51 | 
            +
            				[view release];
         | 
| 52 | 
            +
            			}
         | 
| 53 | 
            +
            			started = 0;
         | 
| 54 | 
            +
            			break;
         | 
| 55 | 
            +
            		case TOOLBAR_TYPE:
         | 
| 56 | 
            +
            			if (smv != nil) {
         | 
| 57 | 
            +
            				[smv addToolbar:items];
         | 
| 58 | 
            +
            			}
         | 
| 59 | 
            +
            			else {
         | 
| 60 | 
            +
            				view = [[SimpleMainView alloc] initWithMainView:mainView parent:w toolbar:items];
         | 
| 61 | 
            +
            				[r setMainView:view];
         | 
| 62 | 
            +
            				[view release];
         | 
| 63 | 
            +
            			}
         | 
| 64 | 
            +
            			started = 1;
         | 
| 65 | 
            +
            			break;
         | 
| 66 | 
            +
            		case TABBAR_TYPE:
         | 
| 67 | 
            +
            			view = [[TabbedMainView alloc] initWithMainView:mainView parent:w tabs:items];
         | 
| 68 | 
            +
            			started = 1;
         | 
| 69 | 
            +
            			[r setMainView:view];
         | 
| 70 | 
            +
            			[view release];
         | 
| 71 | 
            +
            			break;
         | 
| 72 | 
            +
            		default:
         | 
| 73 | 
            +
            			RAWLOG_ERROR1("Unknown bar type passed: %d", type);
         | 
| 53 74 | 
             
                    return;
         | 
| 54 75 | 
             
                }
         | 
| 55 | 
            -
             | 
| 56 | 
            -
                [r setMainView:view];
         | 
| 57 | 
            -
                [view release];
         | 
| 76 | 
            +
             
         | 
| 58 77 | 
             
            }
         | 
| 59 78 | 
             
            @end
         | 
| 60 79 |  |