#14650: fix manager init from Java UI and add JNI_OnUnLoad
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