diff --git a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java index 43e8e06467ce27c01518d420c6599caf915b50df..7648795d6237927e0c85c56535bb7a2b11cb07a5 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/MainActivity.java @@ -193,157 +193,157 @@ public class MainActivity extends Activity{ @Override protected void onPreExecute() { _compute = true; - _runStopMenuItem.setTitle(R.string.menu_stop); - super.onPreExecute(); + _runStopMenuItem.setTitle(R.string.menu_stop); + super.onPreExecute(); } - @Override - protected Integer[] doInBackground(Void... params) { - _gmsh.onelabCB("compute"); - return new Integer[] {1}; - } + @Override + protected Integer[] doInBackground(Void... params) { + _gmsh.onelabCB("compute"); + return new Integer[] {1}; + } - @Override - protected void onPostExecute(Integer[] result) { - //(Vibrator) getSystemService(Context.VIBRATOR_SERVICE).vibrate(350); - _runStopMenuItem.setTitle(R.string.menu_run); - _runStopMenuItem.setEnabled(true); - if(_modelFragment != null) _modelFragment.hideProgress(); - _compute = false; - if(_notify) notifyEndComputing(); - super.onPostExecute(result); - } + @Override + protected void onPostExecute(Integer[] result) { + //(Vibrator) getSystemService(Context.VIBRATOR_SERVICE).vibrate(350); + _runStopMenuItem.setTitle(R.string.menu_run); + _runStopMenuItem.setEnabled(true); + if(_modelFragment != null) _modelFragment.hideProgress(); + _compute = false; + if(_notify) notifyEndComputing(); + super.onPostExecute(result); + } } - private void showError(){ + private void showError(){ if(_errors.size()>0){ - if(_errorDialog != null && _errorDialog.isShowing()) _errorDialog.dismiss(); - AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); - dialogBuilder.setTitle("Gmsh/GetDP Error(s)") - .setMessage(_errors.get(_errors.size()-1)) - .setNegativeButton("Hide", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - _errors.clear(); - _errorDialog.dismiss(); - } - }); - if(_errors.size()>1)dialogBuilder.setPositiveButton("Show more", new DialogInterface.OnClickListener() { + if(_errorDialog != null && _errorDialog.isShowing()) _errorDialog.dismiss(); + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + dialogBuilder.setTitle("Gmsh/GetDP Error(s)") + .setMessage(_errors.get(_errors.size()-1)) + .setNegativeButton("Hide", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { - _errors.remove(_errors.size()-1); - _errorDialog.dismiss(); - showError(); + _errors.clear(); + _errorDialog.dismiss(); } - }); - _errorDialog = dialogBuilder.show(); + }); + if(_errors.size()>1)dialogBuilder.setPositiveButton("Show more", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + _errors.remove(_errors.size()-1); + _errorDialog.dismiss(); + showError(); + } + }); + _errorDialog = dialogBuilder.show(); } } - @Override + @Override protected void onPause() { - if(_compute) notifyComputing(); - super.onPause(); - _notify = true; - } + if(_compute) notifyComputing(); + super.onPause(); + _notify = true; + } - @Override + @Override protected void onResume() { - super.onResume(); - NotificationManager mNotificationManager = - (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - mNotificationManager.cancel(1337); - _notify = false; - } + super.onResume(); + NotificationManager mNotificationManager = + (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + mNotificationManager.cancel(1337); + _notify = false; + } - @Override + @Override protected void onStop() { - super.onStop(); - if(_compute) notifyComputing(); - _notify = true; - } + super.onStop(); + if(_compute) notifyComputing(); + _notify = true; + } - @Override + @Override public void onLowMemory() { - if(!_compute) return; - _gmsh.onelabCB("stop"); - Toast.makeText(this, "Low memory! Computation is going to stop", Toast.LENGTH_LONG).show(); - super.onLowMemory(); - } + if(!_compute) return; + _gmsh.onelabCB("stop"); + Toast.makeText(this, "Low memory! Computation is going to stop", Toast.LENGTH_LONG).show(); + super.onLowMemory(); + } - @Override + @Override public void onTrimMemory(int level) { - if(!_compute) return; - if(level == Activity.TRIM_MEMORY_COMPLETE){ - _gmsh.onelabCB("stop"); - notifyEndComputing("The computation had to stop because your device ran out of memory"); - _notify = false; - } - else if(level == Activity.TRIM_MEMORY_MODERATE) { - notifyComputing("Computation in progress - low memory", true); - } - super.onTrimMemory(level); - } + if(!_compute) return; + if(level == Activity.TRIM_MEMORY_COMPLETE){ + _gmsh.onelabCB("stop"); + notifyEndComputing("The computation had to stop because your device ran out of memory"); + _notify = false; + } + else if(level == Activity.TRIM_MEMORY_MODERATE) { + notifyComputing("Computation in progress - low memory", true); + } + super.onTrimMemory(level); + } - private void notifyComputing(String msg, boolean alert) { - Intent intent = new Intent(this, MainActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); - PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); - Notification.Builder notifyBuilder = new Notification.Builder(this); - notifyBuilder.setContentTitle("ONELAB") - .setContentIntent(pendingIntent) - .setContentText(msg) - .setSmallIcon(R.drawable.ic_launcher) - .setProgress(0, 0, true); - if(alert) notifyBuilder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE); - NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - mNotificationManager.notify(1337, notifyBuilder.getNotification()); - } + private void notifyComputing(String msg, boolean alert) { + Intent intent = new Intent(this, MainActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); + PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); + Notification.Builder notifyBuilder = new Notification.Builder(this); + notifyBuilder.setContentTitle("ONELAB") + .setContentIntent(pendingIntent) + .setContentText(msg) + .setSmallIcon(R.drawable.ic_launcher) + .setProgress(0, 0, true); + if(alert) notifyBuilder.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE); + NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + mNotificationManager.notify(1337, notifyBuilder.getNotification()); + } - private void notifyComputing() { - notifyComputing("Computation in progress", false); - } + private void notifyComputing() { + notifyComputing("Computation in progress", false); + } - private void notifyEndComputing() { - notifyEndComputing("Computation done!"); - } + private void notifyEndComputing() { + notifyEndComputing("Computation done!"); + } - private void notifyEndComputing(String msg) { - Intent intent = new Intent(this, MainActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); - PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); - Notification.Builder notifyBuilder = new Notification.Builder(this) - .setSmallIcon(R.drawable.ic_launcher) - .setContentIntent(pendingIntent) - .setContentTitle("ONELAB") - .setDefaults(Notification.DEFAULT_ALL) - .setAutoCancel(true) - .setProgress(0, 0, false) - .setContentText(msg); - NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); - mNotificationManager.notify(1337, notifyBuilder.getNotification()); - } + private void notifyEndComputing(String msg) { + Intent intent = new Intent(this, MainActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP); + PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); + Notification.Builder notifyBuilder = new Notification.Builder(this) + .setSmallIcon(R.drawable.ic_launcher) + .setContentIntent(pendingIntent) + .setContentTitle("ONELAB") + .setDefaults(Notification.DEFAULT_ALL) + .setAutoCancel(true) + .setProgress(0, 0, false) + .setContentText(msg); + NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + mNotificationManager.notify(1337, notifyBuilder.getNotification()); + } - private final Handler mainHandler = new Handler(){ - public void handleMessage(android.os.Message msg) { + private final Handler mainHandler = new Handler(){ + public void handleMessage(android.os.Message msg) { switch (msg.what) { - case 0: // we get a message from gmsh library - String message =(String) msg.obj; - _errors.add(message); - showError(); - break; - case 1: // request render from gmsh library - if(_modelFragment != null) _modelFragment.requestRender(); - if(_optionsFragment != null) _optionsFragment.refresh(); - break; - case 2: // we get a message for loading - if(_modelFragment != null) _modelFragment.showProgress((String) msg.obj); - break; - case 3: // we get a progress for loading - //loading.setProgress(msg.arg1); - break; - default: - break; - } - }; - }; + case 0: // we get a message from gmsh library + String message =(String) msg.obj; + _errors.add(message); + showError(); + break; + case 1: // request render from gmsh library + if(_modelFragment != null) _modelFragment.requestRender(); + if(_optionsFragment != null) _optionsFragment.refresh(); + break; + case 2: // we get a message for loading + if(_modelFragment != null) _modelFragment.showProgress((String) msg.obj); + break; + case 3: // we get a progress for loading + //loading.setProgress(msg.arg1); + break; + default: + break; + } + }; + }; public boolean isComputing() {return _compute;} } diff --git a/contrib/mobile/iOS/Onelab/en.lproj/iPhoneiPodStoryboard.storyboard b/contrib/mobile/iOS/Onelab/en.lproj/iPhoneiPodStoryboard.storyboard index 1bfdb21a1ca3414e9e7991d758ba04d53aa72b1d..b462f4f5497798a2f0aa6c6f68e7f5f7d8d11d61 100644 --- a/contrib/mobile/iOS/Onelab/en.lproj/iPhoneiPodStoryboard.storyboard +++ b/contrib/mobile/iOS/Onelab/en.lproj/iPhoneiPodStoryboard.storyboard @@ -248,7 +248,7 @@ <rect key="frame" x="14" y="114" width="292" height="434"/> <subviews> <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Intervals" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="elK-Av-NO2"> - <rect key="frame" x="-8" y="202" width="91" height="21"/> + <rect key="frame" x="-8" y="172" width="91" height="21"/> <constraints> <constraint firstAttribute="width" constant="91" id="g2R-zm-Dt4"/> </constraints> @@ -257,7 +257,7 @@ <nil key="highlightedColor"/> </label> <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="rgB-dz-6XG"> - <rect key="frame" x="91" y="202" width="71" height="30"/> + <rect key="frame" x="91" y="168" width="71" height="30"/> <constraints> <constraint firstAttribute="width" constant="71" id="DMh-ns-x7e"/> </constraints> @@ -265,32 +265,32 @@ <textInputTraits key="textInputTraits"/> </textField> <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Raise (Z)" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bfu-t9-dAj"> - <rect key="frame" x="-8" y="251" width="91" height="21"/> + <rect key="frame" x="-8" y="217" width="91" height="21"/> <fontDescription key="fontDescription" type="system" pointSize="17"/> <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> <nil key="highlightedColor"/> </label> <slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" minValue="-5" maxValue="5" translatesAutoresizingMaskIntoConstraints="NO" id="BC5-E7-rEF"> - <rect key="frame" x="89" y="247" width="185" height="31"/> + <rect key="frame" x="89" y="213" width="185" height="31"/> </slider> <stepper opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" maximumValue="100" translatesAutoresizingMaskIntoConstraints="NO" id="fq0-E8-V07"> - <rect key="frame" x="178" y="202" width="94" height="29"/> + <rect key="frame" x="178" y="168" width="94" height="29"/> <connections> <action selector="stepperValueChanged:" destination="pfu-w8-zq5" eventType="valueChanged" id="d8w-ZF-KcK"/> </connections> </stepper> <pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xW0-cN-kxL"> - <rect key="frame" x="17" y="20" width="258" height="162"/> + <rect key="frame" x="17" y="0.0" width="258" height="162"/> </pickerView> </subviews> <constraints> <constraint firstItem="BC5-E7-rEF" firstAttribute="leading" secondItem="Bfu-t9-dAj" secondAttribute="trailing" constant="8" symbolic="YES" id="171-4w-6wl"/> <constraint firstItem="Bfu-t9-dAj" firstAttribute="leading" secondItem="elK-Av-NO2" secondAttribute="leading" id="1t0-hf-2Hf"/> - <constraint firstItem="Bfu-t9-dAj" firstAttribute="top" secondItem="elK-Av-NO2" secondAttribute="bottom" constant="28" id="2cz-wD-n92"/> - <constraint firstItem="xW0-cN-kxL" firstAttribute="top" secondItem="h3e-8g-CWy" secondAttribute="top" constant="20" id="6Tb-lU-QwA"/> - <constraint firstItem="elK-Av-NO2" firstAttribute="top" secondItem="xW0-cN-kxL" secondAttribute="bottom" constant="20" id="6dl-PR-DcO"/> + <constraint firstItem="Bfu-t9-dAj" firstAttribute="top" secondItem="elK-Av-NO2" secondAttribute="bottom" constant="24" id="2cz-wD-n92"/> + <constraint firstItem="xW0-cN-kxL" firstAttribute="top" secondItem="h3e-8g-CWy" secondAttribute="top" id="6Tb-lU-QwA"/> + <constraint firstItem="elK-Av-NO2" firstAttribute="top" secondItem="xW0-cN-kxL" secondAttribute="bottom" constant="10" id="6dl-PR-DcO"/> <constraint firstItem="xW0-cN-kxL" firstAttribute="leading" secondItem="h3e-8g-CWy" secondAttribute="leading" constant="17" id="DQh-yQ-mvn"/> - <constraint firstItem="elK-Av-NO2" firstAttribute="top" secondItem="rgB-dz-6XG" secondAttribute="top" id="HEg-td-wvJ"/> + <constraint firstItem="elK-Av-NO2" firstAttribute="top" secondItem="rgB-dz-6XG" secondAttribute="top" constant="4" id="HEg-td-wvJ"/> <constraint firstItem="xW0-cN-kxL" firstAttribute="centerX" secondItem="h3e-8g-CWy" secondAttribute="centerX" id="HHR-C5-tPS"/> <constraint firstAttribute="bottom" secondItem="BC5-E7-rEF" secondAttribute="bottom" constant="136" id="Lwf-Ue-JYj"/> <constraint firstItem="elK-Av-NO2" firstAttribute="leading" secondItem="h3e-8g-CWy" secondAttribute="leading" constant="-8" id="NO1-74-SYu"/>