diff --git a/src/org/linphone/ContactsListFragment.java b/src/org/linphone/ContactsListFragment.java index 4e75ce1d6..66984af71 100644 --- a/src/org/linphone/ContactsListFragment.java +++ b/src/org/linphone/ContactsListFragment.java @@ -333,6 +333,7 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O noSipContact.setVisibility(View.GONE); noContact.setVisibility(View.GONE); contactsList.setVisibility(View.VISIBLE); + contactsFetchInProgress.setVisibility(View.GONE); if (onlyDisplayLinphoneContacts) { contactsList.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE); @@ -344,11 +345,6 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O edit.setEnabled(true); } ContactsManager.getInstance().setLinphoneContactsPrefered(onlyDisplayLinphoneContacts); - if (contactsList.getCount() == 0) { - contactsFetchInProgress.setVisibility(View.VISIBLE); - } else { - contactsFetchInProgress.setVisibility(View.GONE); - } } private void changeContactsToggle() { diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index 0bfe6ef5c..963a5d52b 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -1451,8 +1451,12 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta } if (isTablet()) { + // Prevent fragmentContainer2 to be visible when rotating the device LinearLayout ll = (LinearLayout) findViewById(R.id.fragmentContainer2); - if (currentFragment == FragmentsAvailable.DIALER) { + if (currentFragment == FragmentsAvailable.DIALER + || currentFragment == FragmentsAvailable.ABOUT + || currentFragment == FragmentsAvailable.SETTINGS + || currentFragment == FragmentsAvailable.ACCOUNT_SETTINGS) { ll.setVisibility(View.GONE); } } diff --git a/src/org/linphone/LinphoneLauncherActivity.java b/src/org/linphone/LinphoneLauncherActivity.java index 0b52e46ec..fc1c3a9c7 100644 --- a/src/org/linphone/LinphoneLauncherActivity.java +++ b/src/org/linphone/LinphoneLauncherActivity.java @@ -21,6 +21,7 @@ package org.linphone; import static android.content.Intent.ACTION_MAIN; import org.linphone.assistant.RemoteProvisioningActivity; +import org.linphone.mediastream.Version; import org.linphone.tutorials.TutorialLauncherActivity; import android.app.Activity; @@ -72,6 +73,11 @@ public class LinphoneLauncherActivity extends Activity { } else { classToStart = LinphoneActivity.class; } + + // We need LinphoneService to start bluetoothManager + if (Version.sdkAboveOrEqual(Version.API11_HONEYCOMB_30)) { + BluetoothManager.getInstance().initBluetooth(); + } mHandler.postDelayed(new Runnable() { @Override diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 3ff96b00d..ba63febf7 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -295,6 +295,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag instance = new LinphoneManager(c); instance.startLibLinphone(c); + TelephonyManager tm = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE); boolean gsmIdle = tm.getCallState() == TelephonyManager.CALL_STATE_IDLE; setGsmIdle(gsmIdle); @@ -777,10 +778,6 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag updateNetworkReachability(); - if (Version.sdkAboveOrEqual(Version.API11_HONEYCOMB_30)) { - BluetoothManager.getInstance().initBluetooth(); - } - resetCameraFromPreferences(); } diff --git a/src/org/linphone/gcm/GCMService.java b/src/org/linphone/gcm/GCMService.java index ebfc1273f..79e49aab0 100644 --- a/src/org/linphone/gcm/GCMService.java +++ b/src/org/linphone/gcm/GCMService.java @@ -77,11 +77,15 @@ public class GCMService extends GCMBaseIntentService { } @Override - protected void onRegistered(Context context, String regId) { + protected void onRegistered(Context context, final String regId) { initLogger(context); Log.d("[Push Notification] Registered: " + regId); - - LinphonePreferences.instance().setPushNotificationRegistrationID(regId); + UIThreadDispatcher.dispatch(new Runnable(){ + @Override + public void run() { + LinphonePreferences.instance().setPushNotificationRegistrationID(regId); + } + }); } @Override @@ -89,7 +93,12 @@ public class GCMService extends GCMBaseIntentService { initLogger(context); Log.w("[Push Notification] Unregistered: " + regId); - LinphonePreferences.instance().setPushNotificationRegistrationID(null); + UIThreadDispatcher.dispatch(new Runnable(){ + @Override + public void run() { + LinphonePreferences.instance().setPushNotificationRegistrationID(null); + } + }); } protected String[] getSenderIds(Context context) { diff --git a/submodules/belle-sip b/submodules/belle-sip index 13b449826..b61dd749d 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 13b4498265ec3e4d356caf79da4cc7d7eb5afef4 +Subproject commit b61dd749dec10d1f4bb715de6e0868b50c40f0d6