Merge branch 'master' into dev_phonenumber
Conflicts: res/layout/assistant_codec_downloader.xml
This commit is contained in:
commit
c7772f1682
18 changed files with 178 additions and 122 deletions
|
@ -169,7 +169,7 @@
|
||||||
android:paddingLeft="30dp"
|
android:paddingLeft="30dp"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/password"
|
android:text="@string/password"
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:id="@+id/progressBar"
|
android:id="@+id/progressBar"
|
||||||
android:layout_marginBottom="50dp"
|
android:layout_marginBottom="50dp"
|
||||||
android:layout_above="@+id/buttons"
|
android:layout_above="@+id/answerNo"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
android:layout_alignParentStart="true"
|
android:layout_alignParentStart="true"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
|
@ -50,46 +50,40 @@
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
android:layout_alignParentStart="true"/>
|
android:layout_alignParentStart="true"/>
|
||||||
|
|
||||||
<RelativeLayout
|
<Button
|
||||||
android:id="@+id/buttons"
|
style="@style/font7"
|
||||||
android:layout_width="match_parent"
|
android:text="No"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentBottom="true">
|
android:gravity="center"
|
||||||
|
android:id="@+id/answerNo"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_toLeftOf="@+id/imageView"
|
||||||
|
android:layout_toStartOf="@+id/imageView" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/answerNo"
|
style="@style/font7"
|
||||||
android:text="@string/no"
|
android:text="Yes"
|
||||||
android:background="@drawable/assistant_button"
|
android:textAllCaps="true"
|
||||||
android:textColor="@drawable/assistant_button_text_color"
|
android:layout_width="wrap_content"
|
||||||
style="@style/font8"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentLeft="true"
|
android:gravity="center"
|
||||||
android:layout_width="wrap_content"
|
android:id="@+id/answerYes"
|
||||||
android:layout_height="wrap_content"
|
android:layout_below="@+id/progressBar"
|
||||||
android:gravity="center"/>
|
android:layout_toRightOf="@+id/imageView"
|
||||||
|
android:layout_toEndOf="@+id/imageView"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/answerOk"
|
style="@style/font7"
|
||||||
android:text="@string/ok"
|
android:text="Ok"
|
||||||
android:background="@drawable/assistant_button"
|
android:textAllCaps="true"
|
||||||
android:textColor="@drawable/assistant_button_text_color"
|
android:layout_width="wrap_content"
|
||||||
style="@style/font8"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerInParent="true"
|
android:gravity="center"
|
||||||
android:layout_width="wrap_content"
|
android:id="@+id/answerOk"
|
||||||
android:layout_height="wrap_content"
|
android:layout_centerHorizontal="true"
|
||||||
android:gravity="center"/>
|
android:layout_alignTop="@+id/answerYes" />
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/answerYes"
|
|
||||||
android:text="@string/yes"
|
|
||||||
android:background="@drawable/assistant_button"
|
|
||||||
android:textColor="@drawable/assistant_button_text_color"
|
|
||||||
style="@style/font8"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/font7"
|
style="@style/font7"
|
||||||
|
|
|
@ -226,6 +226,7 @@
|
||||||
<string name="warning_wrong_destination_address">Cannot build destination address from %s</string>
|
<string name="warning_wrong_destination_address">Cannot build destination address from %s</string>
|
||||||
<string name="error_unknown">Unknown error</string>
|
<string name="error_unknown">Unknown error</string>
|
||||||
<string name="error_call_declined">Call declined</string>
|
<string name="error_call_declined">Call declined</string>
|
||||||
|
<string name="error_user_busy">User busy</string>
|
||||||
<string name="error_user_not_found">User not found</string>
|
<string name="error_user_not_found">User not found</string>
|
||||||
<string name="error_incompatible_media">Incompatible media parameters</string>
|
<string name="error_incompatible_media">Incompatible media parameters</string>
|
||||||
<string name="error_low_bandwidth">Your correspondent has low bandwidth, video cannot be started</string>
|
<string name="error_low_bandwidth">Your correspondent has low bandwidth, video cannot be started</string>
|
||||||
|
|
|
@ -165,7 +165,7 @@ public class AboutFragment extends Fragment implements OnClickListener {
|
||||||
lc.resetLogCollection();
|
lc.resetLogCollection();
|
||||||
}
|
}
|
||||||
} else if (v == cancel) {
|
} else if (v == cancel) {
|
||||||
getFragmentManager().popBackStackImmediate();
|
LinphoneActivity.instance().goToDialerFragment();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
package org.linphone;
|
package org.linphone;
|
||||||
|
|
||||||
import org.linphone.core.LinphoneCore;
|
|
||||||
import org.linphone.core.LinphoneCoreFactory;
|
import org.linphone.core.LinphoneCoreFactory;
|
||||||
import org.linphone.core.LpConfig;
|
import org.linphone.core.LpConfig;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
|
@ -32,11 +31,8 @@ public class BootReceiver extends BroadcastReceiver {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_SHUTDOWN)) {
|
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_SHUTDOWN)) {
|
||||||
LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
|
Log.w("Device is shutting down, destroying LinphoneCore to unregister");
|
||||||
if (lc != null) {
|
LinphoneManager.destroy();
|
||||||
Log.w("Device is shutting down, destroying LinphoneCore to unregister");
|
|
||||||
lc.destroy();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
String path = context.getFilesDir().getAbsolutePath() + "/.linphonerc";
|
String path = context.getFilesDir().getAbsolutePath() + "/.linphonerc";
|
||||||
LpConfig lpConfig = LinphoneCoreFactory.instance().createLpConfig(path);
|
LpConfig lpConfig = LinphoneCoreFactory.instance().createLpConfig(path);
|
||||||
|
|
|
@ -111,6 +111,8 @@ public class CallOutgoingActivity extends Activity implements OnClickListener{
|
||||||
displayCustomToast(getString(R.string.error_user_not_found), Toast.LENGTH_SHORT);
|
displayCustomToast(getString(R.string.error_user_not_found), Toast.LENGTH_SHORT);
|
||||||
} else if (message != null && call.getErrorInfo().getReason() == Reason.Media) {
|
} else if (message != null && call.getErrorInfo().getReason() == Reason.Media) {
|
||||||
displayCustomToast(getString(R.string.error_incompatible_media), Toast.LENGTH_SHORT);
|
displayCustomToast(getString(R.string.error_incompatible_media), Toast.LENGTH_SHORT);
|
||||||
|
} else if (message != null && call.getErrorInfo().getReason() == Reason.Busy) {
|
||||||
|
displayCustomToast(getString(R.string.error_user_busy), Toast.LENGTH_SHORT);
|
||||||
} else if (message != null) {
|
} else if (message != null) {
|
||||||
displayCustomToast(getString(R.string.error_unknown) + " - " + message, Toast.LENGTH_SHORT);
|
displayCustomToast(getString(R.string.error_unknown) + " - " + message, Toast.LENGTH_SHORT);
|
||||||
}
|
}
|
||||||
|
|
|
@ -271,6 +271,10 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
outState.putString("messageDraft", message.getText().toString());
|
outState.putString("messageDraft", message.getText().toString());
|
||||||
}
|
}
|
||||||
|
if (contact != null) {
|
||||||
|
outState.putSerializable("contactDraft",contact);
|
||||||
|
outState.putString("sipUriDraft",sipUri);
|
||||||
|
}
|
||||||
super.onSaveInstanceState(outState);
|
super.onSaveInstanceState(outState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -340,6 +344,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
|
||||||
|
|
||||||
LinphoneAddress lAddress = null;
|
LinphoneAddress lAddress = null;
|
||||||
if (sipUri == null) {
|
if (sipUri == null) {
|
||||||
|
contact = null; // Tablet rotation issue
|
||||||
initNewChatConversation();
|
initNewChatConversation();
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
|
@ -354,6 +359,8 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
|
||||||
LinphoneActivity.instance().updateMissedChatCount();
|
LinphoneActivity.instance().updateMissedChatCount();
|
||||||
contact = ContactsManager.getInstance().findContactFromAddress(lAddress);
|
contact = ContactsManager.getInstance().findContactFromAddress(lAddress);
|
||||||
if (chatRoom != null) {
|
if (chatRoom != null) {
|
||||||
|
searchContactField.setVisibility(View.GONE);
|
||||||
|
resultContactsSearch.setVisibility(View.GONE);
|
||||||
displayChatHeader(lAddress);
|
displayChatHeader(lAddress);
|
||||||
displayMessageList();
|
displayMessageList();
|
||||||
}
|
}
|
||||||
|
@ -376,13 +383,19 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
messagesList.setAdapter(adapter);
|
messagesList.setAdapter(adapter);
|
||||||
|
messagesList.setVisibility(ListView.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayChatHeader(LinphoneAddress address) {
|
private void displayChatHeader(LinphoneAddress address) {
|
||||||
if (contact != null) {
|
if (contact != null || address != null) {
|
||||||
contactName.setText(contact.getFullName());
|
if (contact != null) {
|
||||||
} else if(address != null){
|
contactName.setText(contact.getFullName());
|
||||||
contactName.setText(LinphoneUtils.getAddressDisplayName(address));
|
} else {
|
||||||
|
contactName.setText(LinphoneUtils.getAddressDisplayName(address));
|
||||||
|
}
|
||||||
|
topBar.setVisibility(View.VISIBLE);
|
||||||
|
edit.setVisibility(View.VISIBLE);
|
||||||
|
contactName.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -512,8 +525,14 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
|
||||||
|
|
||||||
String draft = getArguments().getString("messageDraft");
|
String draft = getArguments().getString("messageDraft");
|
||||||
message.setText(draft);
|
message.setText(draft);
|
||||||
|
contact = (LinphoneContact)getArguments().getSerializable("contactDraft");
|
||||||
|
if (contact != null) {
|
||||||
|
contactName.setText(contact.getFullName());
|
||||||
|
sipUri = getArguments().getString("sipUriDraft");
|
||||||
|
getArguments().clear();
|
||||||
|
}
|
||||||
|
|
||||||
if (!newChatConversation) {
|
if (!newChatConversation || contact != null) {
|
||||||
initChatRoom(sipUri);
|
initChatRoom(sipUri);
|
||||||
searchContactField.setVisibility(View.GONE);
|
searchContactField.setVisibility(View.GONE);
|
||||||
resultContactsSearch.setVisibility(View.GONE);
|
resultContactsSearch.setVisibility(View.GONE);
|
||||||
|
@ -635,6 +654,10 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
|
||||||
chatRoom.sendChatMessage(message);
|
chatRoom.sendChatMessage(message);
|
||||||
lAddress = chatRoom.getPeerAddress();
|
lAddress = chatRoom.getPeerAddress();
|
||||||
|
|
||||||
|
if (LinphoneActivity.isInstanciated()) {
|
||||||
|
LinphoneActivity.instance().onMessageSent(sipUri, messageToSend);
|
||||||
|
}
|
||||||
|
|
||||||
message.setListener(LinphoneManager.getInstance());
|
message.setListener(LinphoneManager.getInstance());
|
||||||
if (newChatConversation) {
|
if (newChatConversation) {
|
||||||
exitNewConversationMode(lAddress.asStringUriOnly());
|
exitNewConversationMode(lAddress.asStringUriOnly());
|
||||||
|
|
|
@ -89,7 +89,7 @@ public enum FragmentsAvailable {
|
||||||
return fragment == CONTACT_DETAIL || fragment == CONTACTS_LIST;
|
return fragment == CONTACT_DETAIL || fragment == CONTACTS_LIST;
|
||||||
|
|
||||||
case CHAT:
|
case CHAT:
|
||||||
return fragment == CHAT_LIST;
|
return fragment == CHAT_LIST || fragment == CHAT;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -221,12 +221,6 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta
|
||||||
displayMissedChats(getUnreadMessageCount());
|
displayMissedChats(getUnreadMessageCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void authInfoRequested(LinphoneCore lc, String realm, String username, String domain) {
|
|
||||||
//authInfoPassword = displayWrongPasswordDialog(username, realm, domain);
|
|
||||||
//authInfoPassword.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registrationState(LinphoneCore lc, LinphoneProxyConfig proxy, LinphoneCore.RegistrationState state, String smessage) {
|
public void registrationState(LinphoneCore lc, LinphoneProxyConfig proxy, LinphoneCore.RegistrationState state, String smessage) {
|
||||||
if (state.equals(RegistrationState.RegistrationCleared)) {
|
if (state.equals(RegistrationState.RegistrationCleared)) {
|
||||||
|
@ -802,6 +796,18 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta
|
||||||
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
|
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void goToDialerFragment() {
|
||||||
|
changeCurrentFragment(FragmentsAvailable.DIALER, null);
|
||||||
|
dialer_selected.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onMessageSent(String to, String message) {
|
||||||
|
Fragment fragment = getFragmentManager().findFragmentById(R.id.fragmentContainer);
|
||||||
|
if (fragment.getClass() == ChatListFragment.class) {
|
||||||
|
((ChatListFragment)fragment).refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void updateStatusFragment(StatusFragment fragment) {
|
public void updateStatusFragment(StatusFragment fragment) {
|
||||||
statusFragment = fragment;
|
statusFragment = fragment;
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,11 +45,13 @@ import org.linphone.core.LinphoneChatMessage;
|
||||||
import org.linphone.core.LinphoneChatRoom;
|
import org.linphone.core.LinphoneChatRoom;
|
||||||
import org.linphone.core.LinphoneContent;
|
import org.linphone.core.LinphoneContent;
|
||||||
import org.linphone.core.LinphoneCore;
|
import org.linphone.core.LinphoneCore;
|
||||||
|
import org.linphone.core.LinphoneCore.AuthMethod;
|
||||||
import org.linphone.core.LinphoneCore.EcCalibratorStatus;
|
import org.linphone.core.LinphoneCore.EcCalibratorStatus;
|
||||||
import org.linphone.core.LinphoneCore.GlobalState;
|
import org.linphone.core.LinphoneCore.GlobalState;
|
||||||
import org.linphone.core.LinphoneCore.LogCollectionUploadState;
|
import org.linphone.core.LinphoneCore.LogCollectionUploadState;
|
||||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||||
import org.linphone.core.LinphoneCore.RemoteProvisioningState;
|
import org.linphone.core.LinphoneCore.RemoteProvisioningState;
|
||||||
|
import org.linphone.core.LinphoneAuthInfo;
|
||||||
import org.linphone.core.LinphoneCoreException;
|
import org.linphone.core.LinphoneCoreException;
|
||||||
import org.linphone.core.LinphoneCoreFactory;
|
import org.linphone.core.LinphoneCoreFactory;
|
||||||
import org.linphone.core.LinphoneCoreListener;
|
import org.linphone.core.LinphoneCoreListener;
|
||||||
|
@ -214,11 +216,11 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
@Override
|
@Override
|
||||||
public void OnProgress(final int current, final int max) {
|
public void OnProgress(final int current, final int max) {
|
||||||
mHandler.post(new Runnable() {
|
mHandler.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
OpenH264DownloadHelper ohcodec = LinphoneManager.getInstance().getOpenH264DownloadHelper();
|
OpenH264DownloadHelper ohcodec = LinphoneManager.getInstance().getOpenH264DownloadHelper();
|
||||||
if (progress == null) {
|
if (progress == null) {
|
||||||
progress = new ProgressDialog((Context)ohcodec.getUserData(ctxt));
|
progress = new ProgressDialog((Context) ohcodec.getUserData(ctxt));
|
||||||
progress.setCanceledOnTouchOutside(false);
|
progress.setCanceledOnTouchOutside(false);
|
||||||
progress.setCancelable(false);
|
progress.setCancelable(false);
|
||||||
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
|
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
|
||||||
|
@ -237,22 +239,22 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void OnError (final String error){
|
public void OnError(final String error) {
|
||||||
mHandler.post(new Runnable() {
|
mHandler.post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (progress != null) progress.dismiss();
|
if (progress != null) progress.dismiss();
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder((Context)LinphoneManager.getInstance().getOpenH264DownloadHelper().getUserData(ctxt));
|
AlertDialog.Builder builder = new AlertDialog.Builder((Context) LinphoneManager.getInstance().getOpenH264DownloadHelper().getUserData(ctxt));
|
||||||
builder.setMessage("Sorry an error has occurred.");
|
builder.setMessage("Sorry an error has occurred.");
|
||||||
builder.setCancelable(false);
|
builder.setCancelable(false);
|
||||||
builder.setNeutralButton("Ok", null);
|
builder.setNeutralButton("Ok", null);
|
||||||
builder.show();
|
builder.show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
mCodecDownloader.setOpenH264HelperListener(mCodecListener);
|
mCodecDownloader.setOpenH264HelperListener(mCodecListener);
|
||||||
|
@ -928,17 +930,10 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
private Vibrator mVibrator;
|
private Vibrator mVibrator;
|
||||||
|
|
||||||
public void displayWarning(LinphoneCore lc, String message) {}
|
public void displayWarning(LinphoneCore lc, String message) {}
|
||||||
|
|
||||||
public void authInfoRequested(LinphoneCore lc, String realm, String username, String domain) {}
|
|
||||||
public void byeReceived(LinphoneCore lc, String from) {}
|
|
||||||
public void displayMessage(LinphoneCore lc, String message) {}
|
public void displayMessage(LinphoneCore lc, String message) {}
|
||||||
public void show(LinphoneCore lc) {}
|
public void show(LinphoneCore lc) {}
|
||||||
|
public void newSubscriptionRequest(LinphoneCore lc, LinphoneFriend lf, String url) {}
|
||||||
public void newSubscriptionRequest(LinphoneCore lc, LinphoneFriend lf, String url) {
|
public void notifyPresenceReceived(LinphoneCore lc, LinphoneFriend lf) {}
|
||||||
}
|
|
||||||
|
|
||||||
public void notifyPresenceReceived(LinphoneCore lc, LinphoneFriend lf) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dtmfReceived(LinphoneCore lc, LinphoneCall call, int dtmf) {
|
public void dtmfReceived(LinphoneCore lc, LinphoneCall call, int dtmf) {
|
||||||
|
@ -1545,4 +1540,16 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
public void friendListRemoved(LinphoneCore lc, LinphoneFriendList list) {
|
public void friendListRemoved(LinphoneCore lc, LinphoneFriendList list) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public void authInfoRequested(LinphoneCore lc, String realm,
|
||||||
|
String username, String domain) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void authenticationRequested(LinphoneCore lc,
|
||||||
|
LinphoneAuthInfo authInfo, AuthMethod method) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -671,7 +671,7 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
PreferenceCategory codecs = (PreferenceCategory) findPreference(getString(R.string.pref_video_codecs_key));
|
PreferenceCategory codecs = (PreferenceCategory) findPreference(getString(R.string.pref_video_codecs_key));
|
||||||
codecs.removeAll();
|
codecs.removeAll();
|
||||||
|
|
||||||
LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
|
final LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
|
||||||
|
|
||||||
final OpenH264DownloadHelper mCodecDownloader = LinphoneManager.getInstance().getOpenH264DownloadHelper();
|
final OpenH264DownloadHelper mCodecDownloader = LinphoneManager.getInstance().getOpenH264DownloadHelper();
|
||||||
|
|
||||||
|
@ -691,9 +691,11 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pt.getMime().equals("H264") && mCodecDownloader.isCodecFound()) {
|
if (lc.openH264Enabled()) {
|
||||||
codec.setSummary(mCodecDownloader.getLicenseMessage());
|
if (pt.getMime().equals("H264") && mCodecDownloader.isCodecFound()) {
|
||||||
codec.setTitle("OpenH264");
|
codec.setSummary(mCodecDownloader.getLicenseMessage());
|
||||||
|
codec.setTitle("OpenH264");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
codec.setChecked(lc.isPayloadTypeEnabled(pt));
|
codec.setChecked(lc.isPayloadTypeEnabled(pt));
|
||||||
|
|
||||||
|
@ -702,29 +704,31 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
boolean enable = (Boolean) newValue;
|
boolean enable = (Boolean) newValue;
|
||||||
try {
|
try {
|
||||||
if (enable && Version.getCpuAbis().contains("armeabi-v7a") && !Version.getCpuAbis().contains("x86")
|
if (lc.openH264Enabled()) {
|
||||||
&& pt.getMime().equals("H264") && !mCodecDownloader.isCodecFound()) {
|
if (enable && Version.getCpuAbis().contains("armeabi-v7a") && !Version.getCpuAbis().contains("x86")
|
||||||
mCodecDownloader.setOpenH264HelperListener(LinphoneManager.getInstance().getOpenH264HelperListener());
|
&& pt.getMime().equals("H264") && !mCodecDownloader.isCodecFound()) {
|
||||||
mCodecDownloader.setUserData(0,LinphoneManager.getInstance().getContext());
|
mCodecDownloader.setOpenH264HelperListener(LinphoneManager.getInstance().getOpenH264HelperListener());
|
||||||
mCodecDownloader.setUserData(1,codec);
|
mCodecDownloader.setUserData(0, LinphoneManager.getInstance().getContext());
|
||||||
|
mCodecDownloader.setUserData(1, codec);
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(LinphoneManager.getInstance().getContext());
|
AlertDialog.Builder builder = new AlertDialog.Builder(LinphoneManager.getInstance().getContext());
|
||||||
builder.setCancelable(false);
|
builder.setCancelable(false);
|
||||||
builder.setMessage("Do you agree to download " + mCodecDownloader.getLicenseMessage()).setPositiveButton("Yes", new DialogInterface.OnClickListener() {
|
builder.setMessage("Do you agree to download " + mCodecDownloader.getLicenseMessage()).setPositiveButton("Yes", new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
if (which == DialogInterface.BUTTON_POSITIVE)
|
if (which == DialogInterface.BUTTON_POSITIVE)
|
||||||
mCodecDownloader.downloadCodec();
|
mCodecDownloader.downloadCodec();
|
||||||
}
|
|
||||||
});
|
|
||||||
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
if (which == DialogInterface.BUTTON_NEGATIVE) {
|
|
||||||
// Disable H264
|
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
}).show();
|
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
if (which == DialogInterface.BUTTON_NEGATIVE) {
|
||||||
|
// Disable H264
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
LinphoneManager.getLcIfManagerNotDestroyedOrNull().enablePayloadType(pt, enable);
|
LinphoneManager.getLcIfManagerNotDestroyedOrNull().enablePayloadType(pt, enable);
|
||||||
} catch (LinphoneCoreException e) {
|
} catch (LinphoneCoreException e) {
|
||||||
|
|
|
@ -479,8 +479,11 @@ public class StatusFragment extends Fragment {
|
||||||
PayloadType payloadVideo = params.getUsedVideoCodec();
|
PayloadType payloadVideo = params.getUsedVideoCodec();
|
||||||
if (payloadVideo != null && payloadAudio != null) {
|
if (payloadVideo != null && payloadAudio != null) {
|
||||||
String videoMime = payloadVideo.getMime();
|
String videoMime = payloadVideo.getMime();
|
||||||
if (payloadVideo.getMime().equals("H264") && LinphoneManager.getInstance().getOpenH264DownloadHelper().isCodecFound())
|
if (LinphoneManager.getLc().openH264Enabled() &&
|
||||||
|
payloadVideo.getMime().equals("H264") &&
|
||||||
|
LinphoneManager.getInstance().getOpenH264DownloadHelper().isCodecFound()) {
|
||||||
videoMime = "OpenH264";
|
videoMime = "OpenH264";
|
||||||
|
}
|
||||||
codec.setText(videoMime + " / " + payloadAudio.getMime() + (payloadAudio.getRate() / 1000));
|
codec.setText(videoMime + " / " + payloadAudio.getMime() + (payloadAudio.getRate() / 1000));
|
||||||
}
|
}
|
||||||
dl.setText(String.valueOf((int) videoStats.getDownloadBandwidth()) + " / " + (int) audioStats.getDownloadBandwidth() + " kbits/s");
|
dl.setText(String.valueOf((int) videoStats.getDownloadBandwidth()) + " / " + (int) audioStats.getDownloadBandwidth() + " kbits/s");
|
||||||
|
|
|
@ -406,15 +406,19 @@ private static AssistantActivity instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void launchDownloadCodec() {
|
private void launchDownloadCodec() {
|
||||||
OpenH264DownloadHelper downloadHelper = LinphoneCoreFactory.instance().createOpenH264DownloadHelper();
|
if (LinphoneManager.getLc().openH264Enabled()) {
|
||||||
if (Version.getCpuAbis().contains("armeabi-v7a") && !Version.getCpuAbis().contains("x86") && !downloadHelper.isCodecFound()) {
|
OpenH264DownloadHelper downloadHelper = LinphoneCoreFactory.instance().createOpenH264DownloadHelper();
|
||||||
CodecDownloaderFragment codecFragment = new CodecDownloaderFragment();
|
if (Version.getCpuAbis().contains("armeabi-v7a") && !Version.getCpuAbis().contains("x86") && !downloadHelper.isCodecFound()) {
|
||||||
changeFragment(codecFragment);
|
CodecDownloaderFragment codecFragment = new CodecDownloaderFragment();
|
||||||
currentFragment = AssistantFragmentsEnum.DOWNLOAD_CODEC;
|
changeFragment(codecFragment);
|
||||||
back.setVisibility(View.VISIBLE);
|
currentFragment = AssistantFragmentsEnum.DOWNLOAD_CODEC;
|
||||||
cancel.setEnabled(false);
|
back.setVisibility(View.VISIBLE);
|
||||||
} else
|
cancel.setEnabled(false);
|
||||||
|
} else
|
||||||
|
goToLinphoneActivity();
|
||||||
|
} else {
|
||||||
goToLinphoneActivity();
|
goToLinphoneActivity();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void endDownloadCodec() {
|
public void endDownloadCodec() {
|
||||||
|
|
|
@ -15,6 +15,7 @@ import org.linphone.core.LinphoneChatMessage;
|
||||||
import org.linphone.core.LinphoneChatRoom;
|
import org.linphone.core.LinphoneChatRoom;
|
||||||
import org.linphone.core.LinphoneContent;
|
import org.linphone.core.LinphoneContent;
|
||||||
import org.linphone.core.LinphoneCore;
|
import org.linphone.core.LinphoneCore;
|
||||||
|
import org.linphone.core.LinphoneCore.AuthMethod;
|
||||||
import org.linphone.core.LinphoneCore.EcCalibratorStatus;
|
import org.linphone.core.LinphoneCore.EcCalibratorStatus;
|
||||||
import org.linphone.core.LinphoneCore.GlobalState;
|
import org.linphone.core.LinphoneCore.GlobalState;
|
||||||
import org.linphone.core.LinphoneCore.LogCollectionUploadState;
|
import org.linphone.core.LinphoneCore.LogCollectionUploadState;
|
||||||
|
@ -193,13 +194,6 @@ public class TutorialCardDavSync extends Activity implements OnClickListener, Li
|
||||||
myLog(msg2);
|
myLog(msg2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void authInfoRequested(LinphoneCore lc, String realm,
|
|
||||||
String username, String Domain) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void callStatsUpdated(LinphoneCore lc, LinphoneCall call,
|
public void callStatsUpdated(LinphoneCore lc, LinphoneCall call,
|
||||||
LinphoneCallStats stats) {
|
LinphoneCallStats stats) {
|
||||||
|
@ -379,4 +373,18 @@ public class TutorialCardDavSync extends Activity implements OnClickListener, Li
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void authInfoRequested(LinphoneCore lc, String realm,
|
||||||
|
String username, String domain) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void authenticationRequested(LinphoneCore lc,
|
||||||
|
LinphoneAuthInfo authInfo, AuthMethod method) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit c11f1e70ad21d81e443b9678f22b9e2b2d0a8b77
|
Subproject commit bc85d6a842ce94a59a01698fd4373b162b53c2b9
|
|
@ -1 +1 @@
|
||||||
Subproject commit b61dd749dec10d1f4bb715de6e0868b50c40f0d6
|
Subproject commit 580af25d04fcedfa1eafe28a24fa514dc7c91994
|
|
@ -1 +1 @@
|
||||||
Subproject commit 1be0484d43764853b93783a920253f957b08ca9c
|
Subproject commit 05d712ecdd58c1613f688a33a697b1d795ce8caf
|
|
@ -18,6 +18,7 @@ import org.linphone.core.LinphoneChatMessage;
|
||||||
import org.linphone.core.LinphoneChatRoom;
|
import org.linphone.core.LinphoneChatRoom;
|
||||||
import org.linphone.core.LinphoneContent;
|
import org.linphone.core.LinphoneContent;
|
||||||
import org.linphone.core.LinphoneCore;
|
import org.linphone.core.LinphoneCore;
|
||||||
|
import org.linphone.core.LinphoneCore.AuthMethod;
|
||||||
import org.linphone.core.LinphoneCore.EcCalibratorStatus;
|
import org.linphone.core.LinphoneCore.EcCalibratorStatus;
|
||||||
import org.linphone.core.LinphoneCore.GlobalState;
|
import org.linphone.core.LinphoneCore.GlobalState;
|
||||||
import org.linphone.core.LinphoneCore.MediaEncryption;
|
import org.linphone.core.LinphoneCore.MediaEncryption;
|
||||||
|
@ -433,9 +434,16 @@ public class LinphoneTestManager implements LinphoneCoreListener{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void authInfoRequested(LinphoneCore lc, String realm,
|
public void authInfoRequested(LinphoneCore lc, String realm,
|
||||||
String username, String Domain) {
|
String username, String domain) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void authenticationRequested(LinphoneCore lc,
|
||||||
|
LinphoneAuthInfo authInfo, AuthMethod method) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue