From b950a9795ca02f4841cb7aa6e0c936cebd399252 Mon Sep 17 00:00:00 2001
From: Maxime Graulich <maxime.graulich@gmail.com>
Date: Tue, 1 Jul 2014 14:01:35 +0000
Subject: [PATCH] replace models when a new version of the app is detected

---
 .../src/org/geuz/onelab/ParameterNumber.java    |  6 ------
 .../src/org/geuz/onelab/SplashScreen.java       | 17 ++++++++++++++++-
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/contrib/mobile/Android/src/org/geuz/onelab/ParameterNumber.java b/contrib/mobile/Android/src/org/geuz/onelab/ParameterNumber.java
index 1af1f3406d..4ec9e82b50 100644
--- a/contrib/mobile/Android/src/org/geuz/onelab/ParameterNumber.java
+++ b/contrib/mobile/Android/src/org/geuz/onelab/ParameterNumber.java
@@ -17,18 +17,12 @@ import android.widget.EditText;
 import android.widget.LinearLayout;
 import android.widget.SeekBar;
 import android.widget.Spinner;
-import android.util.Log;
-
-
 import android.app.Dialog;
 import android.app.AlertDialog;
 import android.app.DialogFragment;
 import android.content.DialogInterface;
 import android.widget.LinearLayout;
 import android.widget.TextView;
-import android.widget.EditText;
-import android.text.TextWatcher;
-import android.text.Editable;
 
 public class ParameterNumber extends Parameter {
     private double _value, _tmpValue, _min, _max, _step;
diff --git a/contrib/mobile/Android/src/org/geuz/onelab/SplashScreen.java b/contrib/mobile/Android/src/org/geuz/onelab/SplashScreen.java
index 681c7cdfd9..48bd02ed6b 100644
--- a/contrib/mobile/Android/src/org/geuz/onelab/SplashScreen.java
+++ b/contrib/mobile/Android/src/org/geuz/onelab/SplashScreen.java
@@ -10,8 +10,10 @@ import java.util.zip.ZipInputStream;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.os.Handler;
 import android.os.Message;
+import android.util.Log;
 
 public class SplashScreen extends Activity{
     private static final int SPLASHTIME = 1000; // duration for the splash screen in milliseconds
@@ -49,7 +51,20 @@ public class SplashScreen extends Activity{
         }
         else
             newIntent = new Intent(SplashScreen.this, ModelList.class);
-        loadNative();
+	SharedPreferences sharedPref = getSharedPreferences(getPackageName(), Context.MODE_PRIVATE);
+	int codev = 0;
+	try {
+		codev = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
+	} catch (android.content.pm.PackageManager.NameNotFoundException e) {}
+	int modelsv = sharedPref.getInt("OnelabModelsVersion", 0);
+	if(modelsv == 0 || modelsv != codev) {
+		Log.d("Models", "Updating models to version "+codev);
+		SharedPreferences.Editor editor = sharedPref.edit();
+		editor.putInt("OnelabModelsVersion", codev);
+		editor.commit();
+		loadNative();
+	}
+	else Log.d("Models", "Leaving models as-is (version "+modelsv+")");
         final Message msg = new Message();
         msg.what = STOPSPLASH;
         handler.sendMessageDelayed(msg, SPLASHTIME);
-- 
GitLab