diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9b674c0b0..5a9dd168e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -122,6 +122,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/README b/README
index 0cb50c1c3..ac015f199 100644
--- a/README
+++ b/README
@@ -4,13 +4,18 @@
To build liblinphone for Android, you must:
0) download the Android sdk with platform-tools and tools updated to latest revision (at least API 16 is needed), then add both 'tools' and 'platform-tools' folders in your path.
1) download the Android ndk (>=r8b) from google and add it to your path.
-2) install the autotools: autoconf, automake, aclocal, libtoolize pkgconfig
+2) install the autotools: autoconf, automake, aclocal, libtoolize, pkgconfig
2bis) on some 64 bits systems you'll need the ia32-libs package
3) run the Makefile script in the top level directory. This will download iLBC source files and convert some assembly files in VP8 project.
$ make
4) To install the generated apk into a plugged device, run
$ make install
+To run the tutorials:
+1) open the res/values/non_localizable_custom.xml file and change the value of the show_tutorials_instead_of_app to true.
+2) compile again using make && make install.
+3) /!\ don't forget to put it back to false to run the linphone application normally. /!\
+
To create an apk with a different package name, you need to edit the custom_rules.xml file:
1) look for the property named "linphone.package.name" and change it value accordingly
2) run again the Makefile script by calling "make"
@@ -20,11 +25,12 @@ Some options can be passed to make, like "make SOME_OPTION=SOME_VALUE".
Option Name | Possible values | Default value
-------------------------------------------------------------------------------------------------------------------------------------------------------
BUILD_X264 0 (don't build x264) or 1 (build x264) | 0
-BUILD_AMRNB 0 (don't build amrnb codec), light (try to use amrnb codec from android), full (build your own amrnb codec) | light
-BUILD_AMRWB 0 (don't build amrwb codec), 1 (build your own amrwb codec) | 1
+BUILD_AMRNB 0 (don't build amrnb codec), light (try to use amrnb codec from android), full (build your own amrnb codec) | full
+BUILD_AMRWB 0 (don't build amrwb codec), 1 (build your own amrwb codec) | 0
BUILD_GPLV3_ZRTP 0 (don't support ZRTP), 1 (support ZRTP and make the whole program GPLv3) | 0
-BUILD_SILK 0 (don't build silk plugin), 1 (build silk) [silk is Skype nonfree patented audio codec] | 0
+BUILD_SILK 0 (don't build silk plugin), 1 (build silk) [silk is Skype nonfree patented audio codec] | 1
BUILD_G729 0 (don't build g729 plugin), 1 (build g729) [g729 is nonfree patented audio codec, contact Sipro lab for more details] | 0
BUILD_TUNNEL 0 (don't build tunnel), 1 (build tunnel) [requires a tunnel implementation in submodules/linphone/tunnel] | 0
BUILD_WEBRTC_AECM 0 (don't build echo canceler), 1 (build echo canceler) | 1
USE_JAVAH 0 (don't generate header), 1 (generate header for linphone_core_jni) [used to check errors at liblinphone compilation] | 1
+BUILD_FOR_X86 0 (don't generate liblinphone libraries for x86 architecture), 1 (build liblinphone libraries for x86 architecture) | 1
diff --git a/res/layout/tutorials.xml b/res/layout/tutorials.xml
new file mode 100644
index 000000000..105f595c6
--- /dev/null
+++ b/res/layout/tutorials.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml
index ee846f84b..ca264ee07 100644
--- a/res/values/non_localizable_custom.xml
+++ b/res/values/non_localizable_custom.xml
@@ -1,5 +1,8 @@
+
+ false
+
true622464153529
diff --git a/src/org/linphone/LinphoneLauncherActivity.java b/src/org/linphone/LinphoneLauncherActivity.java
index e2ccff25e..2e295ab68 100644
--- a/src/org/linphone/LinphoneLauncherActivity.java
+++ b/src/org/linphone/LinphoneLauncherActivity.java
@@ -22,6 +22,7 @@ import static android.content.Intent.ACTION_MAIN;
import org.linphone.compatibility.Compatibility;
import org.linphone.mediastream.Log;
+import org.linphone.tutorials.TutorialLauncherActivity;
import android.app.Activity;
import android.content.Intent;
@@ -74,12 +75,18 @@ public class LinphoneLauncherActivity extends Activity {
}
protected void onServiceReady() {
- LinphoneService.instance().setActivityToLaunchOnIncomingReceived(LinphoneActivity.class);
+ final Class extends Activity> classToStart;
+ if (getResources().getBoolean(R.bool.show_tutorials_instead_of_app)) {
+ classToStart = TutorialLauncherActivity.class;
+ } else {
+ classToStart = LinphoneActivity.class;
+ }
+ LinphoneService.instance().setActivityToLaunchOnIncomingReceived(classToStart);
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
- startActivity(new Intent().setClass(LinphoneLauncherActivity.this, LinphoneActivity.class).setData(getIntent().getData()));
+ startActivity(new Intent().setClass(LinphoneLauncherActivity.this, classToStart).setData(getIntent().getData()));
finish();
}
}, 1000);
diff --git a/src/org/linphone/tutorials/TutorialLauncherActivity.java b/src/org/linphone/tutorials/TutorialLauncherActivity.java
new file mode 100644
index 000000000..aaabf210a
--- /dev/null
+++ b/src/org/linphone/tutorials/TutorialLauncherActivity.java
@@ -0,0 +1,53 @@
+package org.linphone.tutorials;
+/*
+TutorialLauncherActivity.java
+Copyright (C) 2013 Belledonne Communications, Grenoble, France
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+import org.linphone.R;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+
+/**
+ * @author Sylvain Berfini
+ */
+public class TutorialLauncherActivity extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.tutorials);
+ }
+
+ public void startHelloWorldTutorial(View v) {
+ startActivity(new Intent().setClass(TutorialLauncherActivity.this, TutorialHelloWorldActivity.class));
+ }
+
+ public void startRegistrationTutorial(View v) {
+ startActivity(new Intent().setClass(TutorialLauncherActivity.this, TutorialRegistrationActivity.class));
+ }
+
+ public void startChatRoomTutorial(View v) {
+ startActivity(new Intent().setClass(TutorialLauncherActivity.this, TutorialChatRoomActivity.class));
+ }
+
+ public void startBuddyStatusTutorial(View v) {
+ startActivity(new Intent().setClass(TutorialLauncherActivity.this, TutorialBuddyStatusActivity.class));
+ }
+}