diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 464b6a2f7..a4a4a194e 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -4,6 +4,9 @@ android:versionCode="1" android:versionName="1.0"> + + + + \ No newline at end of file diff --git a/Application.mk b/Application.mk index cb85b26d9..0d803939d 100644 --- a/Application.mk +++ b/Application.mk @@ -1,3 +1,4 @@ APP_PROJECT_PATH := $(call my-dir)/ APP_MODULES :=libspeex libgsm libortp libosip2 libeXosip2 libmediastreamer2 libmsandroidsnd liblinphone APP_BUILD_SCRIPT:=$(call my-dir)/../linphone-builder/android/Android.mk +APP_PLATFORM := android-3 diff --git a/default.properties b/default.properties index 9d6f70d65..128c6ef18 100644 --- a/default.properties +++ b/default.properties @@ -7,7 +7,7 @@ # "build.properties", and override values to adapt the script to your # project structure. -# Project target. -target=android-4 # Indicates whether an apk should be generated for each density. split.density=false +# Project target. +target=android-7 diff --git a/res/layout/main.xml b/res/layout/main.xml index 17d3f10a9..be34db025 100644 --- a/res/layout/main.xml +++ b/res/layout/main.xml @@ -1,21 +1,19 @@ - - - - - - - \ No newline at end of file + + + + + + + + + + \ No newline at end of file diff --git a/src/org/linphone/DialerActivity.java b/src/org/linphone/DialerActivity.java index 680e864e6..a600c37f6 100644 --- a/src/org/linphone/DialerActivity.java +++ b/src/org/linphone/DialerActivity.java @@ -230,6 +230,7 @@ public class DialerActivity extends Activity implements LinphoneCoreListener { } else { mAudioManager.setSpeakerphoneOn(false); } + setVolumeControlStream(AudioManager.STREAM_VOICE_CALL); break; } case GSTATE_CALL_ERROR: { @@ -256,7 +257,8 @@ public class DialerActivity extends Activity implements LinphoneCoreListener { private void exitCallMode() { mCall.setEnabled(true); - mHangup.setEnabled(false); + mHangup.setEnabled(false); + setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE); } } diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 5c78b37b3..70292b4fb 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -19,11 +19,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. package org.linphone; +import java.util.List; + import android.app.AlertDialog; import android.app.TabActivity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; import android.media.AudioManager; import android.os.Build; import android.os.Bundle; @@ -31,13 +37,17 @@ import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; +import android.view.View; +import android.view.WindowManager; +import android.widget.FrameLayout; import android.widget.TabHost; -public class LinphoneActivity extends TabActivity { +public class LinphoneActivity extends TabActivity implements SensorEventListener { public static String DIALER_TAB = "dialer"; private AudioManager mAudioManager; private static LinphoneActivity theLinphoneActivity; - + private SensorManager mSensorManager; + private FrameLayout mMainFrame; protected static LinphoneActivity instance() { if (theLinphoneActivity == null) { @@ -51,11 +61,16 @@ public class LinphoneActivity extends TabActivity { super.onCreate(savedInstanceState); setContentView(R.layout.main); theLinphoneActivity = this; - + mMainFrame = (FrameLayout) findViewById(R.id.main_frame); + mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); + List lSensorList = mSensorManager.getSensorList(Sensor.TYPE_PROXIMITY); + if (lSensorList.size() >0) { + mSensorManager.registerListener(this,lSensorList.get(0),SensorManager.SENSOR_DELAY_UI); + } mAudioManager = ((AudioManager)getSystemService(Context.AUDIO_SERVICE)); - TabHost lTabHost = getTabHost(); // The activity TabHost + TabHost lTabHost = getTabHost(); // The activity TabHost TabHost.TabSpec spec; // Reusable TabSpec for each tab @@ -165,5 +180,21 @@ public class LinphoneActivity extends TabActivity { }); builder.create().show(); } + + public void onAccuracyChanged(Sensor sensor, int accuracy) { + //nop + } + + public void onSensorChanged(SensorEvent event) { + WindowManager.LayoutParams lAttrs =getWindow().getAttributes(); + if (event.values[0] == 0) { + lAttrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; + mMainFrame.setVisibility(View.INVISIBLE); + } else if (event.values[0] == 1) { + lAttrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); + mMainFrame.setVisibility(View.VISIBLE); + } + getWindow().setAttributes(lAttrs); + } }