#14650: fix manager init from Java UI and add JNI_OnUnLoad
diff --git a/src/com/savoirfairelinux/sflphone/client/ManagerImpl.java b/src/com/savoirfairelinux/sflphone/client/ManagerImpl.java
index 709a53f..4b516d5 100644
--- a/src/com/savoirfairelinux/sflphone/client/ManagerImpl.java
+++ b/src/com/savoirfairelinux/sflphone/client/ManagerImpl.java
@@ -10,6 +10,7 @@
 	private static final String TAG = "ManagerImpl";
 	private static String sipLogLevel;
 	static Handler h; 
+	static String appPath;
 	
 	public ManagerImpl () {}
 	
@@ -27,6 +28,14 @@
 		m.sendToTarget();
 	}
 
+	public static String getAppPath() {
+		return appPath;
+	}
+	
+	public static void setAppPath(String path) {
+		appPath = path;
+	}
+
 	public String getSipLogLevel() {
 		return sipLogLevel;
 	}
diff --git a/src/com/savoirfairelinux/sflphone/client/SFLPhoneHome.java b/src/com/savoirfairelinux/sflphone/client/SFLPhoneHome.java
index c135b0d..d155012 100644
--- a/src/com/savoirfairelinux/sflphone/client/SFLPhoneHome.java
+++ b/src/com/savoirfairelinux/sflphone/client/SFLPhoneHome.java
@@ -35,6 +35,9 @@
 import android.app.Fragment;
 import android.app.FragmentManager;
 import android.app.FragmentTransaction;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
@@ -48,8 +51,6 @@
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
 import android.widget.TextView;
-import com.savoirfairelinux.sflphone.client.Data;
-import com.savoirfairelinux.sflphone.client.ManagerImpl;
 
 import com.savoirfairelinux.sflphone.R;
 
@@ -119,6 +120,7 @@
 				Log.i(TAG, "handlerMessage: " + b.getString("callback_string"));
 			}
 		};
+		ManagerImpl.setAppPath(getAppPath());
 		managerImpl = new ManagerImpl(callbackHandler);
 		Log.i(TAG, "managerImpl created with callbackHandler " + callbackHandler);
 	}
@@ -256,18 +258,19 @@
 		}
 	}
 
-	public static String getAppPath() {
-		return "/data/data/com.savoirfairelinux.sflphone";
-//		PackageManager m = getPackageManager();
-//		String s = getPackageName();
-//		Log.d(TAG, "Application path: " + s);
-//		try {
-//			PackageInfo p = m.getPackageInfo(s, 0);
-//			s = p.applicationInfo.dataDir;
-//		} catch (NameNotFoundException e) {
-//			Log.w(TAG, "Error Package name not found ", e);
-//		}
-//		return s;
+	public String getAppPath() {
+		PackageManager pkgMng = getPackageManager();
+		String pkgName = getPackageName();
+
+		try {
+			PackageInfo pkgInfo = pkgMng.getPackageInfo(pkgName, 0);
+			pkgName = pkgInfo.applicationInfo.dataDir;
+		} catch (NameNotFoundException e) {
+			Log.w(TAG, "Error Package name not found ", e);
+		}
+
+		Log.d(TAG, "Application path: " + pkgName);
+		return pkgName;
 	}
 
 	@Override