Improved code storage
This commit is contained in:
parent
3810080c79
commit
fd769231ac
91 changed files with 624 additions and 639 deletions
|
@ -63,7 +63,7 @@
|
||||||
android:largeHeap="true">
|
android:largeHeap="true">
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.LinphoneLauncherActivity"
|
android:name=".LinphoneLauncherActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
|
@ -115,7 +115,7 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.LinphoneActivity"
|
android:name=".LinphoneActivity"
|
||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
android:theme="@style/NoTitle">
|
android:theme="@style/NoTitle">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
@ -292,7 +292,7 @@
|
||||||
android:resource="@xml/provider_paths"/>
|
android:resource="@xml/provider_paths"/>
|
||||||
</provider>
|
</provider>
|
||||||
|
|
||||||
<activity android:name=".activities.LinphoneGenericActivity"/>
|
<activity android:name=".utils.LinphoneGenericActivity"/>
|
||||||
|
|
||||||
<receiver
|
<receiver
|
||||||
android:name=".notifications.NotificationBroadcastReceiver"
|
android:name=".notifications.NotificationBroadcastReceiver"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.activities;
|
package org.linphone;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
LinphoneActivity.java
|
LinphoneActivity.java
|
||||||
|
@ -62,12 +62,8 @@ import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
|
||||||
import org.linphone.LinphoneManager.AddressType;
|
import org.linphone.LinphoneManager.AddressType;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
|
||||||
import org.linphone.LinphoneUtils;
|
|
||||||
import org.linphone.R;
|
|
||||||
import org.linphone.assistant.AssistantActivity;
|
import org.linphone.assistant.AssistantActivity;
|
||||||
import org.linphone.assistant.RemoteProvisioningLoginActivity;
|
import org.linphone.assistant.RemoteProvisioningLoginActivity;
|
||||||
import org.linphone.call.CallActivity;
|
import org.linphone.call.CallActivity;
|
||||||
|
@ -101,17 +97,19 @@ import org.linphone.core.ProxyConfig;
|
||||||
import org.linphone.core.Reason;
|
import org.linphone.core.Reason;
|
||||||
import org.linphone.core.RegistrationState;
|
import org.linphone.core.RegistrationState;
|
||||||
import org.linphone.fragments.AboutFragment;
|
import org.linphone.fragments.AboutFragment;
|
||||||
import org.linphone.fragments.AccountPreferencesFragment;
|
import org.linphone.settings.AccountPreferencesFragment;
|
||||||
import org.linphone.fragments.DialerFragment;
|
import org.linphone.fragments.DialerFragment;
|
||||||
import org.linphone.fragments.EmptyFragment;
|
import org.linphone.fragments.EmptyFragment;
|
||||||
import org.linphone.fragments.FragmentsAvailable;
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
import org.linphone.fragments.HistoryDetailFragment;
|
import org.linphone.fragments.HistoryDetailFragment;
|
||||||
import org.linphone.fragments.HistoryListFragment;
|
import org.linphone.fragments.HistoryListFragment;
|
||||||
import org.linphone.fragments.SettingsFragment;
|
import org.linphone.settings.SettingsFragment;
|
||||||
import org.linphone.fragments.StatusFragment;
|
import org.linphone.fragments.StatusFragment;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.purchase.InAppPurchaseActivity;
|
import org.linphone.purchase.InAppPurchaseActivity;
|
||||||
import org.linphone.ui.AddressText;
|
import org.linphone.views.AddressText;
|
||||||
|
import org.linphone.utils.LinphoneGenericActivity;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.xmlrpc.XmlRpcHelper;
|
import org.linphone.xmlrpc.XmlRpcHelper;
|
||||||
import org.linphone.xmlrpc.XmlRpcListenerBase;
|
import org.linphone.xmlrpc.XmlRpcListenerBase;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.activities;
|
package org.linphone;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
LinphoneLauncherActivity.java
|
LinphoneLauncherActivity.java
|
||||||
|
@ -27,14 +27,12 @@ import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphonePreferences;
|
|
||||||
import org.linphone.LinphoneService;
|
|
||||||
import org.linphone.LinphoneUtils;
|
|
||||||
import org.linphone.R;
|
|
||||||
import org.linphone.assistant.RemoteProvisioningActivity;
|
import org.linphone.assistant.RemoteProvisioningActivity;
|
||||||
import org.linphone.call.CallActivity;
|
import org.linphone.call.CallActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
|
import org.linphone.utils.FileUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
|
||||||
import static android.content.Intent.ACTION_MAIN;
|
import static android.content.Intent.ACTION_MAIN;
|
||||||
|
|
||||||
|
@ -133,7 +131,7 @@ public class LinphoneLauncherActivity extends Activity {
|
||||||
newIntent.putExtra("msgShared", stringFileShared);
|
newIntent.putExtra("msgShared", stringFileShared);
|
||||||
} else {
|
} else {
|
||||||
fileUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
|
fileUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
|
||||||
stringUriFileShared = LinphoneUtils.getFilePath(getBaseContext(), fileUri);
|
stringUriFileShared = FileUtils.getFilePath(getBaseContext(), fileUri);
|
||||||
newIntent.putExtra("fileShared", stringUriFileShared);
|
newIntent.putExtra("fileShared", stringUriFileShared);
|
||||||
}
|
}
|
||||||
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {
|
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {
|
|
@ -29,7 +29,6 @@ import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.hardware.Sensor;
|
import android.hardware.Sensor;
|
||||||
import android.hardware.SensorEvent;
|
import android.hardware.SensorEvent;
|
||||||
|
@ -54,7 +53,6 @@ import android.widget.Button;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.activities.LinphoneActivity;
|
|
||||||
import org.linphone.assistant.AssistantActivity;
|
import org.linphone.assistant.AssistantActivity;
|
||||||
import org.linphone.call.CallActivity;
|
import org.linphone.call.CallActivity;
|
||||||
import org.linphone.call.CallIncomingActivity;
|
import org.linphone.call.CallIncomingActivity;
|
||||||
|
@ -112,7 +110,9 @@ import org.linphone.receivers.HookReceiver;
|
||||||
import org.linphone.receivers.KeepAliveReceiver;
|
import org.linphone.receivers.KeepAliveReceiver;
|
||||||
import org.linphone.receivers.NetworkManager;
|
import org.linphone.receivers.NetworkManager;
|
||||||
import org.linphone.receivers.OutgoingCallReceiver;
|
import org.linphone.receivers.OutgoingCallReceiver;
|
||||||
import org.linphone.ui.LinphoneMediaScanner;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
|
import org.linphone.utils.LinphoneMediaScanner;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
|
|
@ -36,7 +36,6 @@ import android.os.SystemClock;
|
||||||
import android.provider.ContactsContract;
|
import android.provider.ContactsContract;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
|
|
||||||
import org.linphone.activities.LinphoneActivity;
|
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
import org.linphone.core.Call.State;
|
import org.linphone.core.Call.State;
|
||||||
|
@ -51,7 +50,9 @@ import org.linphone.mediastream.Version;
|
||||||
import org.linphone.notifications.NotificationsManager;
|
import org.linphone.notifications.NotificationsManager;
|
||||||
import org.linphone.receivers.BluetoothManager;
|
import org.linphone.receivers.BluetoothManager;
|
||||||
import org.linphone.receivers.KeepAliveReceiver;
|
import org.linphone.receivers.KeepAliveReceiver;
|
||||||
import org.linphone.ui.LinphoneOverlay;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
|
import org.linphone.views.LinphoneOverlay;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
|
|
@ -53,14 +53,13 @@ import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphonePreferences.AccountBuilder;
|
import org.linphone.settings.LinphonePreferences.AccountBuilder;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.activities.LinphoneLauncherActivity;
|
import org.linphone.LinphoneLauncherActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
|
||||||
import org.linphone.core.AccountCreator;
|
import org.linphone.core.AccountCreator;
|
||||||
import org.linphone.core.AccountCreatorListener;
|
import org.linphone.core.AccountCreatorListener;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
|
|
|
@ -29,7 +29,7 @@ import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.AccountCreator;
|
import org.linphone.core.AccountCreator;
|
||||||
import org.linphone.core.AccountCreatorListener;
|
import org.linphone.core.AccountCreatorListener;
|
||||||
|
|
|
@ -33,7 +33,7 @@ import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.AccountCreator;
|
import org.linphone.core.AccountCreator;
|
||||||
import org.linphone.core.AccountCreatorListener;
|
import org.linphone.core.AccountCreatorListener;
|
||||||
|
|
|
@ -42,8 +42,8 @@ import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.AccountCreator;
|
import org.linphone.core.AccountCreator;
|
||||||
import org.linphone.core.AccountCreator.Status;
|
import org.linphone.core.AccountCreator.Status;
|
||||||
|
|
|
@ -28,7 +28,7 @@ import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.core.CoreException;
|
import org.linphone.core.CoreException;
|
||||||
|
|
|
@ -41,10 +41,9 @@ import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.compatibility.Compatibility;
|
|
||||||
import org.linphone.core.AccountCreator;
|
import org.linphone.core.AccountCreator;
|
||||||
import org.linphone.core.AccountCreatorListener;
|
import org.linphone.core.AccountCreatorListener;
|
||||||
import org.linphone.core.DialPlan;
|
import org.linphone.core.DialPlan;
|
||||||
|
|
|
@ -30,10 +30,10 @@ import android.widget.ProgressBar;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneLauncherActivity;
|
import org.linphone.LinphoneLauncherActivity;
|
||||||
import org.linphone.core.ConfiguringState;
|
import org.linphone.core.ConfiguringState;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.core.CoreListenerStub;
|
import org.linphone.core.CoreListenerStub;
|
||||||
|
@ -188,7 +188,7 @@ public class RemoteProvisioningActivity extends Activity {
|
||||||
|
|
||||||
private void goToLinphoneActivity() {
|
private void goToLinphoneActivity() {
|
||||||
if (LinphoneService.isReady()) {
|
if (LinphoneService.isReady()) {
|
||||||
LinphoneService.instance().setActivityToLaunchOnIncomingReceived("org.linphone.activities.LinphoneLauncherActivity");
|
LinphoneService.instance().setActivityToLaunchOnIncomingReceived("org.linphone.LinphoneLauncherActivity");
|
||||||
//finish(); // To prevent the user to come back to this page using back button
|
//finish(); // To prevent the user to come back to this page using back button
|
||||||
startActivity(new Intent().setClass(this, LinphoneLauncherActivity.class));
|
startActivity(new Intent().setClass(this, LinphoneLauncherActivity.class));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -30,7 +30,7 @@ import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
|
|
||||||
public class RemoteProvisioningFragment extends Fragment implements OnClickListener, TextWatcher {
|
public class RemoteProvisioningFragment extends Fragment implements OnClickListener, TextWatcher {
|
||||||
|
|
|
@ -27,7 +27,7 @@ import android.widget.EditText;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.ConfiguringState;
|
import org.linphone.core.ConfiguringState;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone;
|
package org.linphone.call;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
BandwithManager.java
|
BandwithManager.java
|
|
@ -20,7 +20,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.app.FragmentTransaction;
|
import android.app.FragmentTransaction;
|
||||||
|
@ -60,12 +59,12 @@ import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.utils.ImageUtils;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.activities.LinphoneGenericActivity;
|
import org.linphone.utils.LinphoneGenericActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
|
@ -87,7 +86,7 @@ import org.linphone.fragments.StatusFragment;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
|
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
|
||||||
import org.linphone.receivers.BluetoothManager;
|
import org.linphone.receivers.BluetoothManager;
|
||||||
import org.linphone.ui.Numpad;
|
import org.linphone.views.Numpad;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -1336,7 +1335,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList
|
||||||
contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
||||||
} else {
|
} else {
|
||||||
contactName.setText(lContact.getFullName());
|
contactName.setText(lContact.getFullName());
|
||||||
LinphoneUtils.setImagePictureFromUri(contactPicture.getContext(), contactPicture, lContact.getPhotoUri(), lContact.getThumbnailUri());
|
ImageUtils.setImagePictureFromUri(contactPicture.getContext(), contactPicture, lContact.getPhotoUri(), lContact.getThumbnailUri());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,17 +32,17 @@ import android.widget.LinearLayout;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
import org.linphone.core.CallLog;
|
import org.linphone.core.CallLog;
|
||||||
import org.linphone.ui.ContactAvatar;
|
import org.linphone.views.ContactAvatar;
|
||||||
import org.linphone.ui.SelectableAdapter;
|
import org.linphone.utils.SelectableAdapter;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
|
|
@ -28,8 +28,6 @@ import android.content.pm.PackageManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.app.ActivityCompat;
|
import android.support.v4.app.ActivityCompat;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.MotionEvent;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
@ -37,12 +35,13 @@ import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.ImageUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.activities.LinphoneGenericActivity;
|
import org.linphone.utils.LinphoneGenericActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
|
@ -52,9 +51,9 @@ import org.linphone.core.CallParams;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.core.CoreListenerStub;
|
import org.linphone.core.CoreListenerStub;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.CallIncomingAnswerButton;
|
import org.linphone.views.CallIncomingAnswerButton;
|
||||||
import org.linphone.ui.CallIncomingButtonListener;
|
import org.linphone.views.CallIncomingButtonListener;
|
||||||
import org.linphone.ui.CallIncomingDeclineButton;
|
import org.linphone.views.CallIncomingDeclineButton;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -182,7 +181,7 @@ public class CallIncomingActivity extends LinphoneGenericActivity {
|
||||||
Address address = mCall.getRemoteAddress();
|
Address address = mCall.getRemoteAddress();
|
||||||
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
|
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
|
||||||
if (contact != null) {
|
if (contact != null) {
|
||||||
LinphoneUtils.setImagePictureFromUri(this, contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
ImageUtils.setImagePictureFromUri(this, contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
||||||
name.setText(contact.getFullName());
|
name.setText(contact.getFullName());
|
||||||
} else {
|
} else {
|
||||||
name.setText(LinphoneUtils.getAddressDisplayName(address));
|
name.setText(LinphoneUtils.getAddressDisplayName(address));
|
||||||
|
@ -222,8 +221,7 @@ public class CallIncomingActivity extends LinphoneGenericActivity {
|
||||||
|
|
||||||
private void lookupCurrentCall() {
|
private void lookupCurrentCall() {
|
||||||
if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null) {
|
if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null) {
|
||||||
List<Call> calls = LinphoneUtils.getCalls(LinphoneManager.getLc());
|
for (Call call : LinphoneManager.getLc().getCalls()) {
|
||||||
for (Call call : calls) {
|
|
||||||
if (State.IncomingReceived == call.getState()) {
|
if (State.IncomingReceived == call.getState()) {
|
||||||
mCall = call;
|
mCall = call;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -19,7 +19,6 @@ along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.linphone.BandwidthManager;
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
|
|
|
@ -36,11 +36,12 @@ import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.ImageUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.activities.LinphoneGenericActivity;
|
import org.linphone.utils.LinphoneGenericActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
|
@ -158,8 +159,7 @@ public class CallOutgoingActivity extends LinphoneGenericActivity implements OnC
|
||||||
|
|
||||||
// Only one call ringing at a time is allowed
|
// Only one call ringing at a time is allowed
|
||||||
if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null) {
|
if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null) {
|
||||||
List<Call> calls = LinphoneUtils.getCalls(LinphoneManager.getLc());
|
for (Call call : LinphoneManager.getLc().getCalls()) {
|
||||||
for (Call call : calls) {
|
|
||||||
State cstate = call.getState();
|
State cstate = call.getState();
|
||||||
if (State.OutgoingInit == cstate || State.OutgoingProgress == cstate
|
if (State.OutgoingInit == cstate || State.OutgoingProgress == cstate
|
||||||
|| State.OutgoingRinging == cstate || State.OutgoingEarlyMedia == cstate) {
|
|| State.OutgoingRinging == cstate || State.OutgoingEarlyMedia == cstate) {
|
||||||
|
@ -184,7 +184,7 @@ public class CallOutgoingActivity extends LinphoneGenericActivity implements OnC
|
||||||
Address address = mCall.getRemoteAddress();
|
Address address = mCall.getRemoteAddress();
|
||||||
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
|
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
|
||||||
if (contact != null) {
|
if (contact != null) {
|
||||||
LinphoneUtils.setImagePictureFromUri(this, contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
ImageUtils.setImagePictureFromUri(this, contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
||||||
name.setText(contact.getFullName());
|
name.setText(contact.getFullName());
|
||||||
} else {
|
} else {
|
||||||
name.setText(LinphoneUtils.getAddressDisplayName(address));
|
name.setText(LinphoneUtils.getAddressDisplayName(address));
|
||||||
|
|
|
@ -27,7 +27,6 @@ import android.view.GestureDetector.OnDoubleTapListener;
|
||||||
import android.view.GestureDetector.OnGestureListener;
|
import android.view.GestureDetector.OnGestureListener;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.Surface;
|
|
||||||
import android.view.TextureView;
|
import android.view.TextureView;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnTouchListener;
|
import android.view.View.OnTouchListener;
|
||||||
|
@ -35,11 +34,10 @@ import android.view.ViewGroup;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.compatibility.Compatibility;
|
|
||||||
import org.linphone.compatibility.CompatibilityScaleGestureDetector;
|
import org.linphone.compatibility.CompatibilityScaleGestureDetector;
|
||||||
import org.linphone.compatibility.CompatibilityScaleGestureListener;
|
import org.linphone.compatibility.CompatibilityScaleGestureListener;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
|
|
|
@ -24,8 +24,6 @@ import android.os.Bundle;
|
||||||
import android.support.v7.widget.DividerItemDecoration;
|
import android.support.v7.widget.DividerItemDecoration;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.text.Editable;
|
|
||||||
import android.text.TextWatcher;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -40,9 +38,9 @@ import android.widget.Switch;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.contacts.ContactAddress;
|
import org.linphone.contacts.ContactAddress;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.ContactsUpdatedListener;
|
import org.linphone.contacts.ContactsUpdatedListener;
|
||||||
|
@ -54,7 +52,7 @@ import org.linphone.core.Core;
|
||||||
import org.linphone.core.ProxyConfig;
|
import org.linphone.core.ProxyConfig;
|
||||||
import org.linphone.fragments.FragmentsAvailable;
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.ContactSelectView;
|
import org.linphone.views.ContactSelectView;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -45,9 +45,10 @@ import android.widget.ImageView;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.FileUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.compatibility.Compatibility;
|
import org.linphone.compatibility.Compatibility;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
|
@ -58,9 +59,9 @@ import org.linphone.core.Content;
|
||||||
import org.linphone.core.EventLog;
|
import org.linphone.core.EventLog;
|
||||||
import org.linphone.core.LimeState;
|
import org.linphone.core.LimeState;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.ContactAvatar;
|
import org.linphone.views.ContactAvatar;
|
||||||
import org.linphone.ui.SelectableAdapter;
|
import org.linphone.utils.SelectableAdapter;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
@ -323,10 +324,10 @@ public class ChatEventsAdapter extends SelectableAdapter<ChatBubbleViewHolder> {
|
||||||
if (mContext.getPackageManager().checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, mContext.getPackageName()) == PackageManager.PERMISSION_GRANTED) {
|
if (mContext.getPackageManager().checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, mContext.getPackageName()) == PackageManager.PERMISSION_GRANTED) {
|
||||||
v.setEnabled(false);
|
v.setEnabled(false);
|
||||||
String filename = message.getFileTransferInformation().getName();
|
String filename = message.getFileTransferInformation().getName();
|
||||||
File file = new File(LinphoneUtils.getStorageDirectory(mContext), filename);
|
File file = new File(FileUtils.getStorageDirectory(mContext), filename);
|
||||||
int prefix = 1;
|
int prefix = 1;
|
||||||
while (file.exists()) {
|
while (file.exists()) {
|
||||||
file = new File(LinphoneUtils.getStorageDirectory(mContext), prefix + "_" + filename);
|
file = new File(FileUtils.getStorageDirectory(mContext), prefix + "_" + filename);
|
||||||
Log.w("File with that name already exists, renamed to " + prefix + "_" + filename);
|
Log.w("File with that name already exists, renamed to " + prefix + "_" + filename);
|
||||||
prefix += 1;
|
prefix += 1;
|
||||||
}
|
}
|
||||||
|
@ -537,9 +538,9 @@ public class ChatEventsAdapter extends SelectableAdapter<ChatBubbleViewHolder> {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (appData != null) {
|
if (appData != null) {
|
||||||
LinphoneUtils.scanFile(message);
|
FileUtils.scanFile(message);
|
||||||
holder.fileName.setText(LinphoneUtils.getNameFromFilePath(appData));
|
holder.fileName.setText(FileUtils.getNameFromFilePath(appData));
|
||||||
if (LinphoneUtils.isExtensionImage(appData)) {
|
if (FileUtils.isExtensionImage(appData)) {
|
||||||
holder.messageImage.setVisibility(View.VISIBLE);
|
holder.messageImage.setVisibility(View.VISIBLE);
|
||||||
loadBitmap(appData, holder.messageImage);
|
loadBitmap(appData, holder.messageImage);
|
||||||
holder.messageImage.setTag(appData);
|
holder.messageImage.setTag(appData);
|
||||||
|
@ -581,7 +582,7 @@ public class ChatEventsAdapter extends SelectableAdapter<ChatBubbleViewHolder> {
|
||||||
path = params[0];
|
path = params[0];
|
||||||
Bitmap bm = null;
|
Bitmap bm = null;
|
||||||
Bitmap thumbnail = null;
|
Bitmap thumbnail = null;
|
||||||
if (LinphoneUtils.isExtensionImage(path)) {
|
if (FileUtils.isExtensionImage(path)) {
|
||||||
if (path.startsWith("content")) {
|
if (path.startsWith("content")) {
|
||||||
try {
|
try {
|
||||||
bm = MediaStore.Images.Media.getBitmap(mContext.getContentResolver(), Uri.parse(path));
|
bm = MediaStore.Images.Media.getBitmap(mContext.getContentResolver(), Uri.parse(path));
|
||||||
|
|
|
@ -33,7 +33,7 @@ import android.widget.RelativeLayout;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.ContactsUpdatedListener;
|
import org.linphone.contacts.ContactsUpdatedListener;
|
||||||
import org.linphone.core.ChatMessage;
|
import org.linphone.core.ChatMessage;
|
||||||
|
@ -45,7 +45,7 @@ import org.linphone.core.EventLog;
|
||||||
import org.linphone.core.ProxyConfig;
|
import org.linphone.core.ProxyConfig;
|
||||||
import org.linphone.fragments.FragmentsAvailable;
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
@ -29,10 +29,8 @@ import android.widget.ImageView;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.LinphoneUtils;
|
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
|
@ -41,7 +39,7 @@ import org.linphone.core.ChatRoom;
|
||||||
import org.linphone.core.ChatRoomCapabilities;
|
import org.linphone.core.ChatRoomCapabilities;
|
||||||
import org.linphone.core.Content;
|
import org.linphone.core.Content;
|
||||||
import org.linphone.core.Participant;
|
import org.linphone.core.Participant;
|
||||||
import org.linphone.ui.ContactAvatar;
|
import org.linphone.views.ContactAvatar;
|
||||||
|
|
||||||
public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
|
public class ChatRoomViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
|
||||||
private Bitmap mDefaultBitmap;
|
private Bitmap mDefaultBitmap;
|
||||||
|
|
|
@ -26,8 +26,8 @@ import android.view.ViewGroup;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.core.ChatRoom;
|
import org.linphone.core.ChatRoom;
|
||||||
import org.linphone.ui.SelectableAdapter;
|
import org.linphone.utils.SelectableAdapter;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
|
@ -25,7 +25,7 @@ import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.BaseExpandableListAdapter;
|
import android.widget.BaseExpandableListAdapter;
|
||||||
|
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
|
@ -33,7 +33,7 @@ import org.linphone.core.Address;
|
||||||
import org.linphone.core.ChatRoomSecurityLevel;
|
import org.linphone.core.ChatRoomSecurityLevel;
|
||||||
import org.linphone.core.Participant;
|
import org.linphone.core.Participant;
|
||||||
import org.linphone.core.ParticipantDevice;
|
import org.linphone.core.ParticipantDevice;
|
||||||
import org.linphone.ui.ContactAvatar;
|
import org.linphone.views.ContactAvatar;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -30,9 +30,9 @@ import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
|
|
|
@ -56,13 +56,12 @@ import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.FileUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.assistant.AssistantActivity;
|
|
||||||
import org.linphone.compatibility.Compatibility;
|
|
||||||
import org.linphone.contacts.ContactAddress;
|
import org.linphone.contacts.ContactAddress;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.ContactsUpdatedListener;
|
import org.linphone.contacts.ContactsUpdatedListener;
|
||||||
|
@ -82,7 +81,7 @@ import org.linphone.core.Participant;
|
||||||
import org.linphone.core.ParticipantDevice;
|
import org.linphone.core.ParticipantDevice;
|
||||||
import org.linphone.core.Reason;
|
import org.linphone.core.Reason;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -276,13 +275,13 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
if (getArguments() != null) {
|
if (getArguments() != null) {
|
||||||
String fileSharedUri = getArguments().getString("fileSharedUri");
|
String fileSharedUri = getArguments().getString("fileSharedUri");
|
||||||
if (fileSharedUri != null) {
|
if (fileSharedUri != null) {
|
||||||
if (LinphoneUtils.isExtensionImage(fileSharedUri)) {
|
if (FileUtils.isExtensionImage(fileSharedUri)) {
|
||||||
addImageToPendingList(fileSharedUri);
|
addImageToPendingList(fileSharedUri);
|
||||||
} else {
|
} else {
|
||||||
if (fileSharedUri.startsWith("content://") || fileSharedUri.startsWith("file://")) {
|
if (fileSharedUri.startsWith("content://") || fileSharedUri.startsWith("file://")) {
|
||||||
fileSharedUri = LinphoneUtils.getFilePath(getActivity().getApplicationContext(), Uri.parse(fileSharedUri));
|
fileSharedUri = FileUtils.getFilePath(getActivity().getApplicationContext(), Uri.parse(fileSharedUri));
|
||||||
} else if (fileSharedUri.contains("com.android.contacts/contacts/")) {
|
} else if (fileSharedUri.contains("com.android.contacts/contacts/")) {
|
||||||
fileSharedUri = LinphoneUtils.getCVSPathFromLookupUri(fileSharedUri).toString();
|
fileSharedUri = FileUtils.getCVSPathFromLookupUri(fileSharedUri).toString();
|
||||||
}
|
}
|
||||||
addFileToPendingList(fileSharedUri);
|
addFileToPendingList(fileSharedUri);
|
||||||
}
|
}
|
||||||
|
@ -350,14 +349,14 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
String fileToUploadPath = null;
|
String fileToUploadPath = null;
|
||||||
if (data != null && data.getData() != null) {
|
if (data != null && data.getData() != null) {
|
||||||
if (data.getData().toString().contains("com.android.contacts/contacts/")) {
|
if (data.getData().toString().contains("com.android.contacts/contacts/")) {
|
||||||
if (LinphoneUtils.getCVSPathFromLookupUri(data.getData().toString()) != null) {
|
if (FileUtils.getCVSPathFromLookupUri(data.getData().toString()) != null) {
|
||||||
fileToUploadPath = LinphoneUtils.getCVSPathFromLookupUri(data.getData().toString()).toString();
|
fileToUploadPath = FileUtils.getCVSPathFromLookupUri(data.getData().toString()).toString();
|
||||||
} else {
|
} else {
|
||||||
//TODO Error
|
//TODO Error
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fileToUploadPath = LinphoneUtils.getRealPathFromURI(getActivity(), data.getData());
|
fileToUploadPath = FileUtils.getRealPathFromURI(getActivity(), data.getData());
|
||||||
}
|
}
|
||||||
if (fileToUploadPath == null) {
|
if (fileToUploadPath == null) {
|
||||||
fileToUploadPath = data.getData().toString();
|
fileToUploadPath = data.getData().toString();
|
||||||
|
@ -367,12 +366,12 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fileToUploadPath.startsWith("content://") || fileToUploadPath.startsWith("file://")) {
|
if (fileToUploadPath.startsWith("content://") || fileToUploadPath.startsWith("file://")) {
|
||||||
fileToUploadPath = LinphoneUtils.getFilePath(getActivity().getApplicationContext(), Uri.parse(fileToUploadPath));
|
fileToUploadPath = FileUtils.getFilePath(getActivity().getApplicationContext(), Uri.parse(fileToUploadPath));
|
||||||
} else if (fileToUploadPath.contains("com.android.contacts/contacts/")) {
|
} else if (fileToUploadPath.contains("com.android.contacts/contacts/")) {
|
||||||
fileToUploadPath = LinphoneUtils.getCVSPathFromLookupUri(fileToUploadPath).toString();
|
fileToUploadPath = FileUtils.getCVSPathFromLookupUri(fileToUploadPath).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LinphoneUtils.isExtensionImage(fileToUploadPath)) {
|
if (FileUtils.isExtensionImage(fileToUploadPath)) {
|
||||||
addImageToPendingList(fileToUploadPath);
|
addImageToPendingList(fileToUploadPath);
|
||||||
} else {
|
} else {
|
||||||
addFileToPendingList(fileToUploadPath);
|
addFileToPendingList(fileToUploadPath);
|
||||||
|
@ -381,7 +380,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (LinphoneUtils.isExtensionImage(mImageToUploadUri.getPath())) {
|
if (FileUtils.isExtensionImage(mImageToUploadUri.getPath())) {
|
||||||
addImageToPendingList(mImageToUploadUri.getPath());
|
addImageToPendingList(mImageToUploadUri.getPath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -768,7 +767,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
String files[] = savedInstanceState.getStringArray("Files");
|
String files[] = savedInstanceState.getStringArray("Files");
|
||||||
if (files.length > 0) {
|
if (files.length > 0) {
|
||||||
for (String file : files) {
|
for (String file : files) {
|
||||||
if (LinphoneUtils.isExtensionImage(file)) {
|
if (FileUtils.isExtensionImage(file)) {
|
||||||
addImageToPendingList(file);
|
addImageToPendingList(file);
|
||||||
} else {
|
} else {
|
||||||
addFileToPendingList(file);
|
addFileToPendingList(file);
|
||||||
|
@ -780,7 +779,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
private void pickFile() {
|
private void pickFile() {
|
||||||
List<Intent> cameraIntents = new ArrayList<>();
|
List<Intent> cameraIntents = new ArrayList<>();
|
||||||
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
|
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
|
||||||
File file = new File(LinphoneUtils.getStorageDirectory(mContext), getString(R.string.temp_photo_name_with_date).replace("%s", String.valueOf(System.currentTimeMillis()) + ".jpeg"));
|
File file = new File(FileUtils.getStorageDirectory(mContext), getString(R.string.temp_photo_name_with_date).replace("%s", String.valueOf(System.currentTimeMillis()) + ".jpeg"));
|
||||||
mImageToUploadUri = Uri.fromFile(file);
|
mImageToUploadUri = Uri.fromFile(file);
|
||||||
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageToUploadUri);
|
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageToUploadUri);
|
||||||
cameraIntents.add(captureIntent);
|
cameraIntents.add(captureIntent);
|
||||||
|
@ -880,9 +879,9 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
for (int i = 0; i < mFilesUploadLayout.getChildCount(); i++) {
|
for (int i = 0; i < mFilesUploadLayout.getChildCount(); i++) {
|
||||||
String filePath = (String) mFilesUploadLayout.getChildAt(i).getTag();
|
String filePath = (String) mFilesUploadLayout.getChildAt(i).getTag();
|
||||||
String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
|
String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
|
||||||
String extension = LinphoneUtils.getExtensionFromFileName(fileName);
|
String extension = FileUtils.getExtensionFromFileName(fileName);
|
||||||
Content content = Factory.instance().createContent();
|
Content content = Factory.instance().createContent();
|
||||||
if (LinphoneUtils.isExtensionImage(fileName)) {
|
if (FileUtils.isExtensionImage(fileName)) {
|
||||||
content.setType("image");
|
content.setType("image");
|
||||||
} else {
|
} else {
|
||||||
content.setType("file");
|
content.setType("file");
|
||||||
|
|
|
@ -29,15 +29,13 @@ import android.widget.LinearLayout;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneUtils;
|
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
|
||||||
import org.linphone.contacts.ContactAddress;
|
import org.linphone.contacts.ContactAddress;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.ChatRoom;
|
import org.linphone.core.ChatRoom;
|
||||||
import org.linphone.core.ChatRoomCapabilities;
|
import org.linphone.core.ChatRoomCapabilities;
|
||||||
import org.linphone.core.Participant;
|
import org.linphone.core.Participant;
|
||||||
import org.linphone.ui.ContactAvatar;
|
import org.linphone.views.ContactAvatar;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -39,9 +39,9 @@ import android.widget.LinearLayout;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.contacts.ContactAddress;
|
import org.linphone.contacts.ContactAddress;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
|
|
|
@ -33,10 +33,10 @@ import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.utils.FileUtils;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.compatibility.Compatibility;
|
import org.linphone.compatibility.Compatibility;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
|
@ -47,7 +47,7 @@ import org.linphone.core.ChatRoom;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.core.ParticipantImdnState;
|
import org.linphone.core.ParticipantImdnState;
|
||||||
import org.linphone.fragments.FragmentsAvailable;
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
import org.linphone.ui.ContactAvatar;
|
import org.linphone.views.ContactAvatar;
|
||||||
|
|
||||||
public class ImdnFragment extends Fragment {
|
public class ImdnFragment extends Fragment {
|
||||||
private LayoutInflater mInflater;
|
private LayoutInflater mInflater;
|
||||||
|
@ -185,7 +185,7 @@ public class ImdnFragment extends Fragment {
|
||||||
String appData = mMessage.getAppdata();
|
String appData = mMessage.getAppdata();
|
||||||
if (appData != null) { // Something to display
|
if (appData != null) { // Something to display
|
||||||
mBubble.fileName.setVisibility(View.VISIBLE);
|
mBubble.fileName.setVisibility(View.VISIBLE);
|
||||||
mBubble.fileName.setText(LinphoneUtils.getNameFromFilePath(appData));
|
mBubble.fileName.setText(FileUtils.getNameFromFilePath(appData));
|
||||||
// We purposely chose not to display the image
|
// We purposely chose not to display the image
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,10 +36,11 @@ import android.widget.TableLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.ImageUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.ChatRoom;
|
import org.linphone.core.ChatRoom;
|
||||||
import org.linphone.core.ChatRoomListenerStub;
|
import org.linphone.core.ChatRoomListenerStub;
|
||||||
|
@ -173,7 +174,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener
|
||||||
private void displayContact(LayoutInflater inflater, View view) {
|
private void displayContact(LayoutInflater inflater, View view) {
|
||||||
ImageView contactPicture = view.findViewById(R.id.contact_picture);
|
ImageView contactPicture = view.findViewById(R.id.contact_picture);
|
||||||
if (contact.hasPhoto()) {
|
if (contact.hasPhoto()) {
|
||||||
LinphoneUtils.setImagePictureFromUri(getActivity(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
ImageUtils.setImagePictureFromUri(getActivity(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
||||||
} else {
|
} else {
|
||||||
contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,6 @@ import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.provider.ContactsContract.DisplayPhoto;
|
import android.provider.ContactsContract.DisplayPhoto;
|
||||||
import android.provider.MediaStore;
|
import android.provider.MediaStore;
|
||||||
|
@ -49,9 +48,11 @@ import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.FileUtils;
|
||||||
|
import org.linphone.utils.ImageUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.mediastream.Version;
|
import org.linphone.mediastream.Version;
|
||||||
|
|
||||||
|
@ -269,7 +270,7 @@ public class ContactEditorFragment extends Fragment {
|
||||||
|
|
||||||
contactPicture = view.findViewById(R.id.contact_picture);
|
contactPicture = view.findViewById(R.id.contact_picture);
|
||||||
if (contact != null) {
|
if (contact != null) {
|
||||||
LinphoneUtils.setImagePictureFromUri(getActivity(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
ImageUtils.setImagePictureFromUri(getActivity(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
||||||
} else {
|
} else {
|
||||||
contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
||||||
}
|
}
|
||||||
|
@ -340,7 +341,7 @@ public class ContactEditorFragment extends Fragment {
|
||||||
pickedPhotoForContactUri = null;
|
pickedPhotoForContactUri = null;
|
||||||
final List<Intent> cameraIntents = new ArrayList<>();
|
final List<Intent> cameraIntents = new ArrayList<>();
|
||||||
final Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
|
final Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
|
||||||
File file = new File(LinphoneUtils.getStorageDirectory(LinphoneActivity.instance()), getString(R.string.temp_photo_name));
|
File file = new File(FileUtils.getStorageDirectory(LinphoneActivity.instance()), getString(R.string.temp_photo_name));
|
||||||
pickedPhotoForContactUri = Uri.fromFile(file);
|
pickedPhotoForContactUri = Uri.fromFile(file);
|
||||||
captureIntent.putExtra("outputX", PHOTO_SIZE);
|
captureIntent.putExtra("outputX", PHOTO_SIZE);
|
||||||
captureIntent.putExtra("outputY", PHOTO_SIZE);
|
captureIntent.putExtra("outputY", PHOTO_SIZE);
|
||||||
|
@ -380,7 +381,7 @@ public class ContactEditorFragment extends Fragment {
|
||||||
String filePath = pickedPhotoForContactUri.getPath();
|
String filePath = pickedPhotoForContactUri.getPath();
|
||||||
editContactPicture(filePath, null);
|
editContactPicture(filePath, null);
|
||||||
} else {
|
} else {
|
||||||
File file = new File(LinphoneUtils.getStorageDirectory(LinphoneActivity.instance()), getString(R.string.temp_photo_name));
|
File file = new File(FileUtils.getStorageDirectory(LinphoneActivity.instance()), getString(R.string.temp_photo_name));
|
||||||
if (file.exists()) {
|
if (file.exists()) {
|
||||||
pickedPhotoForContactUri = Uri.fromFile(file);
|
pickedPhotoForContactUri = Uri.fromFile(file);
|
||||||
String filePath = pickedPhotoForContactUri.getPath();
|
String filePath = pickedPhotoForContactUri.getPath();
|
||||||
|
|
|
@ -32,13 +32,11 @@ import android.widget.RelativeLayout;
|
||||||
import android.widget.SectionIndexer;
|
import android.widget.SectionIndexer;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneUtils;
|
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.ContactAvatar;
|
import org.linphone.views.ContactAvatar;
|
||||||
import org.linphone.ui.SelectableAdapter;
|
import org.linphone.utils.SelectableAdapter;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
|
|
@ -26,8 +26,6 @@ import android.os.Bundle;
|
||||||
import android.support.v7.widget.DividerItemDecoration;
|
import android.support.v7.widget.DividerItemDecoration;
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import android.text.Editable;
|
|
||||||
import android.text.TextWatcher;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -40,9 +38,9 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.fragments.FragmentsAvailable;
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -37,9 +37,9 @@ import android.provider.ContactsContract;
|
||||||
import android.provider.ContactsContract.Data;
|
import android.provider.ContactsContract.Data;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
|
|
|
@ -31,14 +31,14 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.Factory;
|
import org.linphone.core.Factory;
|
||||||
import org.linphone.core.PresenceBasicStatus;
|
import org.linphone.core.PresenceBasicStatus;
|
||||||
import org.linphone.core.PresenceModel;
|
import org.linphone.core.PresenceModel;
|
||||||
import org.linphone.core.ProxyConfig;
|
import org.linphone.core.ProxyConfig;
|
||||||
import org.linphone.core.SearchResult;
|
import org.linphone.core.SearchResult;
|
||||||
import org.linphone.ui.ContactAvatar;
|
import org.linphone.views.ContactAvatar;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -22,8 +22,8 @@ package org.linphone.firebase;
|
||||||
import com.google.firebase.iid.FirebaseInstanceId;
|
import com.google.firebase.iid.FirebaseInstanceId;
|
||||||
import com.google.firebase.iid.FirebaseInstanceIdService;
|
import com.google.firebase.iid.FirebaseInstanceIdService;
|
||||||
|
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
|
||||||
public class FirebaseIdService extends FirebaseInstanceIdService {
|
public class FirebaseIdService extends FirebaseInstanceIdService {
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -26,7 +26,7 @@ import com.google.firebase.messaging.RemoteMessage;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
|
||||||
import static android.content.Intent.ACTION_MAIN;
|
import static android.content.Intent.ACTION_MAIN;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,6 @@ import android.app.Fragment;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
@ -37,10 +36,10 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.BuildConfig;
|
import org.linphone.BuildConfig;
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.core.Core.LogCollectionUploadState;
|
import org.linphone.core.Core.LogCollectionUploadState;
|
||||||
import org.linphone.core.CoreListenerStub;
|
import org.linphone.core.CoreListenerStub;
|
||||||
|
|
|
@ -34,14 +34,14 @@ import android.widget.LinearLayout;
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.AddressAware;
|
import org.linphone.views.AddressAware;
|
||||||
import org.linphone.ui.AddressText;
|
import org.linphone.views.AddressText;
|
||||||
import org.linphone.ui.CallButton;
|
import org.linphone.views.CallButton;
|
||||||
import org.linphone.ui.EraseButton;
|
import org.linphone.views.EraseButton;
|
||||||
|
|
||||||
public class DialerFragment extends Fragment {
|
public class DialerFragment extends Fragment {
|
||||||
private static DialerFragment instance;
|
private static DialerFragment instance;
|
||||||
|
|
|
@ -31,10 +31,11 @@ import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.ImageUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
|
@ -149,7 +150,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener {
|
||||||
contact = ContactsManager.getInstance().findContactFromAddress(lAddress);
|
contact = ContactsManager.getInstance().findContactFromAddress(lAddress);
|
||||||
if (contact != null) {
|
if (contact != null) {
|
||||||
contactName.setText(contact.getFullName());
|
contactName.setText(contact.getFullName());
|
||||||
LinphoneUtils.setImagePictureFromUri(view.getContext(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
ImageUtils.setImagePictureFromUri(view.getContext(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
|
||||||
addToContacts.setVisibility(View.GONE);
|
addToContacts.setVisibility(View.GONE);
|
||||||
goToContact.setVisibility(View.VISIBLE);
|
goToContact.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -36,14 +36,14 @@ import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.call.CallHistoryAdapter;
|
import org.linphone.call.CallHistoryAdapter;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.ContactsUpdatedListener;
|
import org.linphone.contacts.ContactsUpdatedListener;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
import org.linphone.core.CallLog;
|
import org.linphone.core.CallLog;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.utils.SelectableHelper;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
|
@ -21,7 +21,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.app.KeyguardManager;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.drawable.ColorDrawable;
|
import android.graphics.drawable.ColorDrawable;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
@ -39,10 +38,10 @@ import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.assistant.AssistantActivity;
|
import org.linphone.assistant.AssistantActivity;
|
||||||
import org.linphone.call.CallActivity;
|
import org.linphone.call.CallActivity;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
|
|
|
@ -30,7 +30,7 @@ import android.os.Bundle;
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.compatibility.Compatibility;
|
import org.linphone.compatibility.Compatibility;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
|
|
|
@ -29,11 +29,12 @@ import android.graphics.BitmapFactory;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.ImageUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.compatibility.Compatibility;
|
import org.linphone.compatibility.Compatibility;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
|
@ -135,7 +136,7 @@ public class NotificationsManager {
|
||||||
notifIntent.putExtra("ChatContactSipUri", conferenceAddress);
|
notifIntent.putExtra("ChatContactSipUri", conferenceAddress);
|
||||||
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
|
|
||||||
Bitmap bm = LinphoneUtils.getRoundBitmapFromUri(mContext, fromPictureUri);
|
Bitmap bm = ImageUtils.getRoundBitmapFromUri(mContext, fromPictureUri);
|
||||||
Notifiable notif = mChatNotifMap.get(conferenceAddress);
|
Notifiable notif = mChatNotifMap.get(conferenceAddress);
|
||||||
NotifiableMessage notifMessage = new NotifiableMessage(message, fromName, timestamp);
|
NotifiableMessage notifMessage = new NotifiableMessage(message, fromName, timestamp);
|
||||||
if (notif == null) {
|
if (notif == null) {
|
||||||
|
@ -166,7 +167,7 @@ public class NotificationsManager {
|
||||||
fromName = fromSipUri;
|
fromName = fromSipUri;
|
||||||
}
|
}
|
||||||
|
|
||||||
Bitmap bm = LinphoneUtils.getRoundBitmapFromUri(mContext, fromPictureUri);
|
Bitmap bm = ImageUtils.getRoundBitmapFromUri(mContext, fromPictureUri);
|
||||||
Notifiable notif = mChatNotifMap.get(fromSipUri);
|
Notifiable notif = mChatNotifMap.get(fromSipUri);
|
||||||
NotifiableMessage notifMessage = new NotifiableMessage(message, fromName, timestamp);
|
NotifiableMessage notifMessage = new NotifiableMessage(message, fromName, timestamp);
|
||||||
if (notif == null) {
|
if (notif == null) {
|
||||||
|
@ -260,7 +261,7 @@ public class NotificationsManager {
|
||||||
|
|
||||||
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
|
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
|
||||||
Uri pictureUri = contact != null ? contact.getPhotoUri() : null;
|
Uri pictureUri = contact != null ? contact.getPhotoUri() : null;
|
||||||
Bitmap bm = LinphoneUtils.getRoundBitmapFromUri(mContext, pictureUri);
|
Bitmap bm = ImageUtils.getRoundBitmapFromUri(mContext, pictureUri);
|
||||||
String name = LinphoneUtils.getAddressDisplayName(address);
|
String name = LinphoneUtils.getAddressDisplayName(address);
|
||||||
|
|
||||||
boolean showAnswerAction = call.getState() == Call.State.IncomingReceived || call.getState() == Call.State.IncomingEarlyMedia;
|
boolean showAnswerAction = call.getState() == Call.State.IncomingReceived || call.getState() == Call.State.IncomingEarlyMedia;
|
||||||
|
|
|
@ -30,7 +30,7 @@ import android.widget.ImageView;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.xmlrpc.XmlRpcHelper;
|
import org.linphone.xmlrpc.XmlRpcHelper;
|
||||||
|
|
|
@ -31,7 +31,7 @@ import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.ProxyConfig;
|
import org.linphone.core.ProxyConfig;
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ import com.android.vending.billing.IInAppBillingService;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.xmlrpc.XmlRpcHelper;
|
import org.linphone.xmlrpc.XmlRpcHelper;
|
||||||
import org.linphone.xmlrpc.XmlRpcListenerBase;
|
import org.linphone.xmlrpc.XmlRpcListenerBase;
|
||||||
|
|
|
@ -24,7 +24,7 @@ import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
|
|
||||||
public class AccountEnableReceiver extends BroadcastReceiver {
|
public class AccountEnableReceiver extends BroadcastReceiver {
|
||||||
private static final String TAG = "AccountEnableReceiver";
|
private static final String TAG = "AccountEnableReceiver";
|
||||||
|
|
|
@ -24,7 +24,7 @@ import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.compatibility.Compatibility;
|
import org.linphone.compatibility.Compatibility;
|
||||||
|
|
||||||
|
|
|
@ -25,9 +25,9 @@ import android.os.Build;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
|
|
|
@ -27,11 +27,10 @@ import android.content.Intent;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.compatibility.Compatibility;
|
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
|
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.fragments;
|
package org.linphone.settings;
|
||||||
/*
|
/*
|
||||||
AccountPreferencesFragment.java
|
AccountPreferencesFragment.java
|
||||||
Copyright (C) 2017 Belledonne Communications, Grenoble, France
|
Copyright (C) 2017 Belledonne Communications, Grenoble, France
|
||||||
|
@ -32,19 +32,18 @@ import android.preference.PreferenceScreen;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences.AccountBuilder;
|
||||||
import org.linphone.LinphonePreferences.AccountBuilder;
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.LinphoneUtils;
|
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.assistant.AssistantActivity;
|
import org.linphone.assistant.AssistantActivity;
|
||||||
import org.linphone.core.AccountCreator;
|
import org.linphone.core.AccountCreator;
|
||||||
import org.linphone.core.AccountCreatorListener;
|
import org.linphone.core.AccountCreatorListener;
|
||||||
import org.linphone.core.CoreException;
|
import org.linphone.core.CoreException;
|
||||||
import org.linphone.core.NatPolicy;
|
import org.linphone.core.NatPolicy;
|
||||||
import org.linphone.core.ProxyConfig;
|
import org.linphone.core.ProxyConfig;
|
||||||
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.PreferencesListFragment;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone;
|
package org.linphone.settings;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
LinphonePreferences.java
|
LinphonePreferences.java
|
||||||
|
@ -23,6 +23,9 @@ import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
|
||||||
|
import org.linphone.LinphoneManager;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
|
import org.linphone.R;
|
||||||
import org.linphone.core.AVPFMode;
|
import org.linphone.core.AVPFMode;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.AuthInfo;
|
import org.linphone.core.AuthInfo;
|
||||||
|
@ -1553,7 +1556,7 @@ public class LinphonePreferences {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getActivityToLaunchOnIncomingReceived() {
|
public String getActivityToLaunchOnIncomingReceived() {
|
||||||
return getConfig().getString("app", "incoming_call_activity", "org.linphone.activities.LinphoneActivity");
|
return getConfig().getString("app", "incoming_call_activity", "org.linphone.LinphoneActivity");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setActivityToLaunchOnIncomingReceived(String name) {
|
public void setActivityToLaunchOnIncomingReceived(String name) {
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.settings;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
PreferencesListFragment.java
|
PreferencesListFragment.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.fragments;
|
package org.linphone.settings;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SettingsFragment.java
|
SettingsFragment.java
|
||||||
|
@ -41,11 +41,11 @@ import android.preference.PreferenceScreen;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.FileUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.core.CoreException;
|
import org.linphone.core.CoreException;
|
||||||
|
@ -59,11 +59,11 @@ import org.linphone.core.ProxyConfig;
|
||||||
import org.linphone.core.RegistrationState;
|
import org.linphone.core.RegistrationState;
|
||||||
import org.linphone.core.VideoDefinition;
|
import org.linphone.core.VideoDefinition;
|
||||||
import org.linphone.core.tools.OpenH264DownloadHelper;
|
import org.linphone.core.tools.OpenH264DownloadHelper;
|
||||||
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.mediastream.Version;
|
import org.linphone.mediastream.Version;
|
||||||
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
|
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
|
||||||
import org.linphone.ui.LedPreference;
|
import org.linphone.views.LedPreference;
|
||||||
import org.linphone.ui.PreferencesListFragment;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -142,7 +142,7 @@ public class SettingsFragment extends PreferencesListFragment {
|
||||||
editor.apply();
|
editor.apply();
|
||||||
|
|
||||||
File dir = new File(getActivity().getFilesDir().getAbsolutePath() + "shared_prefs");
|
File dir = new File(getActivity().getFilesDir().getAbsolutePath() + "shared_prefs");
|
||||||
LinphoneUtils.recursiveFileRemoval(dir);
|
FileUtils.recursiveFileRemoval(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inits the values or the listener on some settings
|
// Inits the values or the listener on some settings
|
225
app/src/main/java/org/linphone/utils/FileUtils.java
Normal file
225
app/src/main/java/org/linphone/utils/FileUtils.java
Normal file
|
@ -0,0 +1,225 @@
|
||||||
|
package org.linphone.utils;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Environment;
|
||||||
|
import android.provider.MediaStore;
|
||||||
|
import android.provider.OpenableColumns;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
|
||||||
|
import org.linphone.LinphoneManager;
|
||||||
|
import org.linphone.core.ChatMessage;
|
||||||
|
import org.linphone.core.Content;
|
||||||
|
import org.linphone.core.Friend;
|
||||||
|
import org.linphone.core.FriendList;
|
||||||
|
import org.linphone.mediastream.Log;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
public class FileUtils {
|
||||||
|
public static String getNameFromFilePath(String filePath) {
|
||||||
|
String name = filePath;
|
||||||
|
int i = filePath.lastIndexOf('/');
|
||||||
|
if (i > 0) {
|
||||||
|
name = filePath.substring(i + 1);
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getExtensionFromFileName(String fileName) {
|
||||||
|
String extension = null;
|
||||||
|
int i = fileName.lastIndexOf('.');
|
||||||
|
if (i > 0) {
|
||||||
|
extension = fileName.substring(i + 1);
|
||||||
|
}
|
||||||
|
return extension;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Boolean isExtensionImage(String path) {
|
||||||
|
String extension = getExtensionFromFileName(path);
|
||||||
|
if (extension != null)
|
||||||
|
extension = extension.toLowerCase();
|
||||||
|
return (extension != null && extension.matches("(png|jpg|jpeg|bmp|gif)"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void recursiveFileRemoval(File root) {
|
||||||
|
if (!root.delete()) {
|
||||||
|
if (root.isDirectory()) {
|
||||||
|
File[] files = root.listFiles();
|
||||||
|
if (files != null) {
|
||||||
|
for (File f : files) {
|
||||||
|
recursiveFileRemoval(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static String getFilePath(final Context context, final Uri uri) {
|
||||||
|
if (uri == null) return null;
|
||||||
|
|
||||||
|
String result = null;
|
||||||
|
String name = getNameFromUri(uri, context);
|
||||||
|
|
||||||
|
try {
|
||||||
|
File localFile = createFile(context, name);
|
||||||
|
InputStream remoteFile = context.getContentResolver().openInputStream(uri);
|
||||||
|
|
||||||
|
if (copyToFile(remoteFile, localFile)) {
|
||||||
|
result = localFile.getAbsolutePath();
|
||||||
|
}
|
||||||
|
|
||||||
|
remoteFile.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
Log.e("Enable to get sharing file", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getNameFromUri(Uri uri, Context context) {
|
||||||
|
String name = null;
|
||||||
|
if (uri.getScheme().equals("content")) {
|
||||||
|
Cursor returnCursor = context.getContentResolver().query(uri, null, null, null, null);
|
||||||
|
if (returnCursor != null) {
|
||||||
|
returnCursor.moveToFirst();
|
||||||
|
int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
|
||||||
|
name = returnCursor.getString(nameIndex);
|
||||||
|
returnCursor.close();
|
||||||
|
}
|
||||||
|
} else if (uri.getScheme().equals("file")) {
|
||||||
|
name = uri.getLastPathSegment();
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copy data from a source stream to destFile.
|
||||||
|
* Return true if succeed, return false if failed.
|
||||||
|
*/
|
||||||
|
private static boolean copyToFile(InputStream inputStream, File destFile) {
|
||||||
|
if (inputStream == null || destFile == null) return false;
|
||||||
|
try {
|
||||||
|
OutputStream out = new FileOutputStream(destFile);
|
||||||
|
try {
|
||||||
|
byte[] buffer = new byte[4096];
|
||||||
|
int bytesRead;
|
||||||
|
while ((bytesRead = inputStream.read(buffer)) >= 0) {
|
||||||
|
out.write(buffer, 0, bytesRead);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
out.close();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} catch (IOException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static File createFile(Context context, String fileName) throws IOException {
|
||||||
|
if (TextUtils.isEmpty(fileName))
|
||||||
|
fileName = getStartDate();
|
||||||
|
|
||||||
|
if (!fileName.contains(".")) {
|
||||||
|
fileName = fileName + ".unknown";
|
||||||
|
}
|
||||||
|
|
||||||
|
final File root;
|
||||||
|
root = context.getExternalCacheDir();
|
||||||
|
|
||||||
|
if (root != null && !root.exists())
|
||||||
|
root.mkdirs();
|
||||||
|
return new File(root, fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Uri getCVSPathFromLookupUri(String content) {
|
||||||
|
String contactId = getNameFromFilePath(content);
|
||||||
|
FriendList[] friendList = LinphoneManager.getLc().getFriendsLists();
|
||||||
|
for (FriendList list : friendList) {
|
||||||
|
for (Friend friend : list.getFriends()) {
|
||||||
|
if (friend.getRefKey().toString().equals(contactId)) {
|
||||||
|
String contactVcard = friend.getVcard().asVcard4String();
|
||||||
|
Uri path = createCvsFromString(contactVcard);
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getRealPathFromURI(Context context, Uri contentUri) {
|
||||||
|
String[] proj = {MediaStore.Images.Media.DATA};
|
||||||
|
Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
|
||||||
|
if (cursor != null && cursor.moveToFirst()) {
|
||||||
|
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
|
||||||
|
String result = cursor.getString(column_index);
|
||||||
|
cursor.close();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getStorageDirectory(Context mContext) {
|
||||||
|
String storageDir = Environment.getExternalStorageDirectory() + "/" + mContext.getString(mContext.getResources().getIdentifier("app_name", "string", mContext.getPackageName()));
|
||||||
|
File file = new File(storageDir);
|
||||||
|
if (!file.isDirectory() || !file.exists()) {
|
||||||
|
Log.w("Directory " + file + " doesn't seem to exists yet, let's create it");
|
||||||
|
file.mkdirs();
|
||||||
|
LinphoneManager.getInstance().getMediaScanner().scanFile(file);
|
||||||
|
}
|
||||||
|
return storageDir;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void scanFile(ChatMessage message) {
|
||||||
|
String appData = message.getAppdata();
|
||||||
|
if (appData == null) {
|
||||||
|
for (Content c : message.getContents()) {
|
||||||
|
if (c.isFile()) {
|
||||||
|
appData = c.getFilePath();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LinphoneManager.getInstance().getMediaScanner().scanFile(new File(appData));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Uri createCvsFromString(String vcardString) {
|
||||||
|
String contactName = getContactNameFromVcard(vcardString);
|
||||||
|
File vcfFile = new File(Environment.getExternalStorageDirectory(), contactName + ".cvs");
|
||||||
|
try {
|
||||||
|
FileWriter fw = new FileWriter(vcfFile);
|
||||||
|
fw.write(vcardString);
|
||||||
|
fw.close();
|
||||||
|
return Uri.fromFile(vcfFile);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getContactNameFromVcard(String vcard) {
|
||||||
|
if (vcard != null) {
|
||||||
|
String contactName = vcard.substring(vcard.indexOf("FN:") + 3);
|
||||||
|
contactName = contactName.substring(0, contactName.indexOf("\n") - 1);
|
||||||
|
contactName = contactName.replace(";", "");
|
||||||
|
contactName = contactName.replace(" ", "");
|
||||||
|
return contactName;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getStartDate() {
|
||||||
|
try {
|
||||||
|
return new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.ROOT).format(new Date());
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
return new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
115
app/src/main/java/org/linphone/utils/ImageUtils.java
Normal file
115
app/src/main/java/org/linphone/utils/ImageUtils.java
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
package org.linphone.utils;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Paint;
|
||||||
|
import android.graphics.PorterDuff;
|
||||||
|
import android.graphics.PorterDuffXfermode;
|
||||||
|
import android.graphics.Rect;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.provider.MediaStore;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
|
||||||
|
import org.linphone.R;
|
||||||
|
import org.linphone.contacts.ContactsManager;
|
||||||
|
import org.linphone.mediastream.Log;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
public class ImageUtils {
|
||||||
|
|
||||||
|
public static Bitmap downloadBitmap(Uri uri) {
|
||||||
|
URL url;
|
||||||
|
InputStream is = null;
|
||||||
|
try {
|
||||||
|
url = new URL(uri.toString());
|
||||||
|
is = url.openStream();
|
||||||
|
return BitmapFactory.decodeStream(is);
|
||||||
|
} catch (MalformedURLException e) {
|
||||||
|
Log.e(e, e.getMessage());
|
||||||
|
} catch (IOException e) {
|
||||||
|
Log.e(e, e.getMessage());
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
is.close();
|
||||||
|
} catch (IOException x) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void setImagePictureFromUri(Context c, ImageView view, Uri pictureUri, Uri thumbnailUri) {
|
||||||
|
if (pictureUri == null && thumbnailUri == null) {
|
||||||
|
view.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (pictureUri.getScheme().startsWith("http")) {
|
||||||
|
Bitmap bm = downloadBitmap(pictureUri);
|
||||||
|
if (bm == null) view.setImageResource(R.drawable.avatar);
|
||||||
|
view.setImageBitmap(bm);
|
||||||
|
} else {
|
||||||
|
Bitmap bm = null;
|
||||||
|
try {
|
||||||
|
bm = MediaStore.Images.Media.getBitmap(c.getContentResolver(), pictureUri);
|
||||||
|
} catch (IOException e) {
|
||||||
|
if (thumbnailUri != null) {
|
||||||
|
try {
|
||||||
|
bm = MediaStore.Images.Media.getBitmap(c.getContentResolver(), thumbnailUri);
|
||||||
|
} catch (IOException ie) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bm != null) {
|
||||||
|
view.setImageBitmap(bm);
|
||||||
|
} else {
|
||||||
|
view.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Bitmap getRoundBitmapFromUri(Context context, Uri fromPictureUri) {
|
||||||
|
Bitmap bm;
|
||||||
|
Bitmap roundBm;
|
||||||
|
if (fromPictureUri != null) {
|
||||||
|
try {
|
||||||
|
bm = MediaStore.Images.Media.getBitmap(context.getContentResolver(), fromPictureUri);
|
||||||
|
} catch (Exception e) {
|
||||||
|
bm = BitmapFactory.decodeResource(context.getResources(), R.drawable.topbar_avatar);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
bm = BitmapFactory.decodeResource(context.getResources(), R.drawable.topbar_avatar);
|
||||||
|
}
|
||||||
|
if (bm != null) {
|
||||||
|
roundBm = getRoundBitmap(bm);
|
||||||
|
if (roundBm != null) {
|
||||||
|
bm.recycle();
|
||||||
|
bm = roundBm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Bitmap getRoundBitmap(Bitmap bitmap) {
|
||||||
|
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
|
||||||
|
Canvas canvas = new Canvas(output);
|
||||||
|
|
||||||
|
final int color = 0xff424242;
|
||||||
|
final Paint paint = new Paint();
|
||||||
|
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
|
||||||
|
|
||||||
|
paint.setAntiAlias(true);
|
||||||
|
canvas.drawARGB(0, 0, 0, 0);
|
||||||
|
paint.setColor(color);
|
||||||
|
canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2, bitmap.getWidth() / 2, paint);
|
||||||
|
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
|
||||||
|
canvas.drawBitmap(bitmap, rect, rect, paint);
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.activities;
|
package org.linphone.utils;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
LinphoneGenericActivity.java
|
LinphoneGenericActivity.java
|
||||||
|
@ -24,6 +24,7 @@ import android.os.Bundle;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
|
import org.linphone.LinphoneLauncherActivity;
|
||||||
|
|
||||||
public class LinphoneGenericActivity extends Activity {
|
public class LinphoneGenericActivity extends Activity {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.utils;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.media.MediaScannerConnection;
|
import android.media.MediaScannerConnection;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone;
|
package org.linphone.utils;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
LinphoneUtils.java
|
LinphoneUtils.java
|
||||||
|
@ -24,36 +24,24 @@ import android.app.AlertDialog;
|
||||||
import android.bluetooth.BluetoothAdapter;
|
import android.bluetooth.BluetoothAdapter;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.database.Cursor;
|
|
||||||
import android.graphics.Bitmap;
|
|
||||||
import android.graphics.BitmapFactory;
|
|
||||||
import android.graphics.Canvas;
|
|
||||||
import android.graphics.Paint;
|
|
||||||
import android.graphics.PorterDuff;
|
|
||||||
import android.graphics.PorterDuffXfermode;
|
|
||||||
import android.graphics.Rect;
|
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Environment;
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.provider.MediaStore;
|
|
||||||
import android.provider.OpenableColumns;
|
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.Html;
|
import android.text.Html;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ImageView;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.compatibility.Compatibility;
|
import org.linphone.LinphoneManager;
|
||||||
|
import org.linphone.LinphoneService;
|
||||||
|
import org.linphone.R;
|
||||||
import org.linphone.contacts.ContactsManager;
|
import org.linphone.contacts.ContactsManager;
|
||||||
import org.linphone.core.AccountCreator;
|
import org.linphone.core.AccountCreator;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
|
@ -72,29 +60,16 @@ import org.linphone.core.LoggingServiceListener;
|
||||||
import org.linphone.core.ProxyConfig;
|
import org.linphone.core.ProxyConfig;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.mediastream.video.capture.hwconf.Hacks;
|
import org.linphone.mediastream.video.capture.hwconf.Hacks;
|
||||||
import org.linphone.ui.LinphoneMediaScanner;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.net.MalformedURLException;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import static android.view.View.GONE;
|
|
||||||
import static android.view.View.VISIBLE;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helpers.
|
* Helpers.
|
||||||
*/
|
*/
|
||||||
|
@ -217,8 +192,8 @@ public final class LinphoneUtils {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String timestampToHumanDate(Context context, long timestamp, int resFormat) {
|
public static String timestampToHumanDate(Context context, long timestamp, int format) {
|
||||||
return LinphoneUtils.timestampToHumanDate(context, timestamp, context.getString(resFormat));
|
return timestampToHumanDate(context, timestamp, context.getString(format));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String timestampToHumanDate(Context context, long timestamp, String format) {
|
public static String timestampToHumanDate(Context context, long timestamp, String format) {
|
||||||
|
@ -270,88 +245,9 @@ public final class LinphoneUtils {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Bitmap downloadBitmap(Uri uri) {
|
|
||||||
URL url;
|
|
||||||
InputStream is = null;
|
|
||||||
try {
|
|
||||||
url = new URL(uri.toString());
|
|
||||||
is = url.openStream();
|
|
||||||
return BitmapFactory.decodeStream(is);
|
|
||||||
} catch (MalformedURLException e) {
|
|
||||||
Log.e(e, e.getMessage());
|
|
||||||
} catch (IOException e) {
|
|
||||||
Log.e(e, e.getMessage());
|
|
||||||
} finally {
|
|
||||||
try {
|
|
||||||
is.close();
|
|
||||||
} catch (IOException x) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public static void setImagePictureFromUri(Context c, ImageView view, Uri pictureUri, Uri thumbnailUri) {
|
|
||||||
if (pictureUri == null && thumbnailUri == null) {
|
|
||||||
view.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (pictureUri.getScheme().startsWith("http")) {
|
|
||||||
Bitmap bm = downloadBitmap(pictureUri);
|
|
||||||
if (bm == null) view.setImageResource(R.drawable.avatar);
|
|
||||||
view.setImageBitmap(bm);
|
|
||||||
} else {
|
|
||||||
Bitmap bm = null;
|
|
||||||
try {
|
|
||||||
bm = MediaStore.Images.Media.getBitmap(c.getContentResolver(), pictureUri);
|
|
||||||
} catch (IOException e) {
|
|
||||||
if (thumbnailUri != null) {
|
|
||||||
try {
|
|
||||||
bm = MediaStore.Images.Media.getBitmap(c.getContentResolver(), thumbnailUri);
|
|
||||||
} catch (IOException ie) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (bm != null) {
|
|
||||||
view.setImageBitmap(bm);
|
|
||||||
} else {
|
|
||||||
view.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setThumbnailPictureFromUri(Context c, ImageView view, Uri tUri) {
|
|
||||||
if (tUri == null) {
|
|
||||||
view.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (tUri.getScheme().startsWith("http")) {
|
|
||||||
Bitmap bm = downloadBitmap(tUri);
|
|
||||||
if (bm == null) view.setImageResource(R.drawable.avatar);
|
|
||||||
view.setImageBitmap(bm);
|
|
||||||
} else {
|
|
||||||
Bitmap bm = null;
|
|
||||||
try {
|
|
||||||
bm = MediaStore.Images.Media.getBitmap(c.getContentResolver(), tUri);
|
|
||||||
} catch (IOException e) {
|
|
||||||
}
|
|
||||||
if (bm != null) {
|
|
||||||
view.setImageBitmap(bm);
|
|
||||||
} else {
|
|
||||||
view.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final List<Call> getCalls(Core lc) {
|
|
||||||
// return a modifiable list
|
|
||||||
return new ArrayList<>(Arrays.asList(lc.getCalls()));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final List<Call> getCallsInState(Core lc, Collection<State> states) {
|
public static final List<Call> getCallsInState(Core lc, Collection<State> states) {
|
||||||
List<Call> foundCalls = new ArrayList<>();
|
List<Call> foundCalls = new ArrayList<>();
|
||||||
for (Call call : getCalls(lc)) {
|
for (Call call : lc.getCalls()) {
|
||||||
if (states.contains(call.getState())) {
|
if (states.contains(call.getState())) {
|
||||||
foundCalls.add(call);
|
foundCalls.add(call);
|
||||||
}
|
}
|
||||||
|
@ -359,14 +255,6 @@ public final class LinphoneUtils {
|
||||||
return foundCalls;
|
return foundCalls;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setVisibility(View v, int id, boolean visible) {
|
|
||||||
v.findViewById(id).setVisibility(visible ? VISIBLE : GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setVisibility(View v, boolean visible) {
|
|
||||||
v.setVisibility(visible ? VISIBLE : GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isCallRunning(Call call) {
|
public static boolean isCallRunning(Call call) {
|
||||||
if (call == null) {
|
if (call == null) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -413,44 +301,6 @@ public final class LinphoneUtils {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getNameFromFilePath(String filePath) {
|
|
||||||
String name = filePath;
|
|
||||||
int i = filePath.lastIndexOf('/');
|
|
||||||
if (i > 0) {
|
|
||||||
name = filePath.substring(i + 1);
|
|
||||||
}
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getExtensionFromFileName(String fileName) {
|
|
||||||
String extension = null;
|
|
||||||
int i = fileName.lastIndexOf('.');
|
|
||||||
if (i > 0) {
|
|
||||||
extension = fileName.substring(i + 1);
|
|
||||||
}
|
|
||||||
return extension;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Boolean isExtensionImage(String path) {
|
|
||||||
String extension = LinphoneUtils.getExtensionFromFileName(path);
|
|
||||||
if (extension != null)
|
|
||||||
extension = extension.toLowerCase();
|
|
||||||
return (extension != null && extension.matches("(png|jpg|jpeg|bmp|gif)"));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void recursiveFileRemoval(File root) {
|
|
||||||
if (!root.delete()) {
|
|
||||||
if (root.isDirectory()) {
|
|
||||||
File[] files = root.listFiles();
|
|
||||||
if (files != null) {
|
|
||||||
for (File f : files) {
|
|
||||||
recursiveFileRemoval(f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getDisplayableUsernameFromAddress(String sipAddress) {
|
public static String getDisplayableUsernameFromAddress(String sipAddress) {
|
||||||
String username = sipAddress;
|
String username = sipAddress;
|
||||||
Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
|
Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
|
||||||
|
@ -496,12 +346,6 @@ public final class LinphoneUtils {
|
||||||
return sipAddress;
|
return sipAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Context getContext() {
|
|
||||||
if (context == null && LinphoneManager.isInstanciated())
|
|
||||||
context = LinphoneManager.getInstance().getContext();
|
|
||||||
return context;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void displayError(boolean isOk, TextView error, String errorText) {
|
public static void displayError(boolean isOk, TextView error, String errorText) {
|
||||||
if (isOk) {
|
if (isOk) {
|
||||||
error.setVisibility(View.INVISIBLE);
|
error.setVisibility(View.INVISIBLE);
|
||||||
|
@ -618,129 +462,6 @@ public final class LinphoneUtils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static String getFilePath(final Context context, final Uri uri) {
|
|
||||||
if (uri == null) return null;
|
|
||||||
|
|
||||||
String result = null;
|
|
||||||
String name = getNameFromUri(uri, context);
|
|
||||||
|
|
||||||
try {
|
|
||||||
File localFile = createFile(context, name);
|
|
||||||
InputStream remoteFile = context.getContentResolver().openInputStream(uri);
|
|
||||||
|
|
||||||
if (copyToFile(remoteFile, localFile)) {
|
|
||||||
result = localFile.getAbsolutePath();
|
|
||||||
}
|
|
||||||
|
|
||||||
remoteFile.close();
|
|
||||||
} catch (IOException e) {
|
|
||||||
Log.e("Enable to get sharing file", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String getNameFromUri(Uri uri, Context context) {
|
|
||||||
String name = null;
|
|
||||||
if (uri.getScheme().equals("content")) {
|
|
||||||
Cursor returnCursor = context.getContentResolver().query(uri, null, null, null, null);
|
|
||||||
if (returnCursor != null) {
|
|
||||||
returnCursor.moveToFirst();
|
|
||||||
int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
|
|
||||||
name = returnCursor.getString(nameIndex);
|
|
||||||
returnCursor.close();
|
|
||||||
}
|
|
||||||
} else if (uri.getScheme().equals("file")) {
|
|
||||||
name = uri.getLastPathSegment();
|
|
||||||
}
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copy data from a source stream to destFile.
|
|
||||||
* Return true if succeed, return false if failed.
|
|
||||||
*/
|
|
||||||
private static boolean copyToFile(InputStream inputStream, File destFile) {
|
|
||||||
if (inputStream == null || destFile == null) return false;
|
|
||||||
try {
|
|
||||||
OutputStream out = new FileOutputStream(destFile);
|
|
||||||
try {
|
|
||||||
byte[] buffer = new byte[4096];
|
|
||||||
int bytesRead;
|
|
||||||
while ((bytesRead = inputStream.read(buffer)) >= 0) {
|
|
||||||
out.write(buffer, 0, bytesRead);
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
out.close();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
} catch (IOException e) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getStartDate() {
|
|
||||||
try {
|
|
||||||
return new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.ROOT).format(new Date());
|
|
||||||
} catch (RuntimeException e) {
|
|
||||||
return new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static File createFile(Context context, String fileName) throws IOException {
|
|
||||||
if (TextUtils.isEmpty(fileName))
|
|
||||||
fileName = getStartDate();
|
|
||||||
|
|
||||||
if (!fileName.contains(".")) {
|
|
||||||
fileName = fileName + ".unknown";
|
|
||||||
}
|
|
||||||
|
|
||||||
final File root;
|
|
||||||
root = context.getExternalCacheDir();
|
|
||||||
|
|
||||||
if (root != null && !root.exists())
|
|
||||||
root.mkdirs();
|
|
||||||
return new File(root, fileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getRealPathFromURI(Context context, Uri contentUri) {
|
|
||||||
String[] proj = {MediaStore.Images.Media.DATA};
|
|
||||||
Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
|
|
||||||
if (cursor != null && cursor.moveToFirst()) {
|
|
||||||
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
|
|
||||||
String result = cursor.getString(column_index);
|
|
||||||
cursor.close();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getContactNameFromVcard(String vcard) {
|
|
||||||
if (vcard != null) {
|
|
||||||
String contactName = vcard.substring(vcard.indexOf("FN:") + 3);
|
|
||||||
contactName = contactName.substring(0, contactName.indexOf("\n") - 1);
|
|
||||||
contactName = contactName.replace(";", "");
|
|
||||||
contactName = contactName.replace(" ", "");
|
|
||||||
return contactName;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Uri createCvsFromString(String vcardString) {
|
|
||||||
String contactName = getContactNameFromVcard(vcardString);
|
|
||||||
File vcfFile = new File(Environment.getExternalStorageDirectory(), contactName + ".cvs");
|
|
||||||
try {
|
|
||||||
FileWriter fw = new FileWriter(vcfFile);
|
|
||||||
fw.write(vcardString);
|
|
||||||
fw.close();
|
|
||||||
return Uri.fromFile(vcfFile);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Spanned getTextWithHttpLinks(String text) {
|
public static Spanned getTextWithHttpLinks(String text) {
|
||||||
if (text == null) return null;
|
if (text == null) return null;
|
||||||
|
|
||||||
|
@ -771,32 +492,6 @@ public final class LinphoneUtils {
|
||||||
return Html.fromHtml(text);
|
return Html.fromHtml(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Uri getCVSPathFromLookupUri(String content) {
|
|
||||||
String contactId = LinphoneUtils.getNameFromFilePath(content);
|
|
||||||
FriendList[] friendList = LinphoneManager.getLc().getFriendsLists();
|
|
||||||
for (FriendList list : friendList) {
|
|
||||||
for (Friend friend : list.getFriends()) {
|
|
||||||
if (friend.getRefKey().toString().equals(contactId)) {
|
|
||||||
String contactVcard = friend.getVcard().asVcard4String();
|
|
||||||
Uri path = LinphoneUtils.createCvsFromString(contactVcard);
|
|
||||||
return path;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getStorageDirectory(Context mContext) {
|
|
||||||
String storageDir = Environment.getExternalStorageDirectory() + "/" + mContext.getString(mContext.getResources().getIdentifier("app_name", "string", mContext.getPackageName()));
|
|
||||||
File file = new File(storageDir);
|
|
||||||
if (!file.isDirectory() || !file.exists()) {
|
|
||||||
Log.w("Directory " + file + " doesn't seem to exists yet, let's create it");
|
|
||||||
file.mkdirs();
|
|
||||||
LinphoneManager.getInstance().getMediaScanner().scanFile(file);
|
|
||||||
}
|
|
||||||
return storageDir;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void hideKeyboard(Activity activity) {
|
public static void hideKeyboard(Activity activity) {
|
||||||
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
|
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
|
||||||
View view = activity.getCurrentFocus();
|
View view = activity.getCurrentFocus();
|
||||||
|
@ -806,56 +501,10 @@ public final class LinphoneUtils {
|
||||||
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
|
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void scanFile(ChatMessage message) {
|
private static Context getContext() {
|
||||||
String appData = message.getAppdata();
|
if (context == null && LinphoneManager.isInstanciated())
|
||||||
if (appData == null) {
|
context = LinphoneManager.getInstance().getContext();
|
||||||
for (Content c : message.getContents()) {
|
return context;
|
||||||
if (c.isFile()) {
|
|
||||||
appData = c.getFilePath();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
LinphoneManager.getInstance().getMediaScanner().scanFile(new File(appData));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Bitmap getRoundBitmapFromUri(Context context, Uri fromPictureUri) {
|
|
||||||
Bitmap bm;
|
|
||||||
Bitmap roundBm;
|
|
||||||
if (fromPictureUri != null) {
|
|
||||||
try {
|
|
||||||
bm = MediaStore.Images.Media.getBitmap(context.getContentResolver(), fromPictureUri);
|
|
||||||
} catch (Exception e) {
|
|
||||||
bm = BitmapFactory.decodeResource(context.getResources(), R.drawable.topbar_avatar);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
bm = BitmapFactory.decodeResource(context.getResources(), R.drawable.topbar_avatar);
|
|
||||||
}
|
|
||||||
if (bm != null) {
|
|
||||||
roundBm = LinphoneUtils.getRoundBitmap(bm);
|
|
||||||
if (roundBm != null) {
|
|
||||||
bm.recycle();
|
|
||||||
bm = roundBm;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return bm;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Bitmap getRoundBitmap(Bitmap bitmap) {
|
|
||||||
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
|
|
||||||
Canvas canvas = new Canvas(output);
|
|
||||||
|
|
||||||
final int color = 0xff424242;
|
|
||||||
final Paint paint = new Paint();
|
|
||||||
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
|
|
||||||
|
|
||||||
paint.setAntiAlias(true);
|
|
||||||
canvas.drawARGB(0, 0, 0, 0);
|
|
||||||
paint.setColor(color);
|
|
||||||
canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2, bitmap.getWidth() / 2, paint);
|
|
||||||
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
|
|
||||||
canvas.drawBitmap(bitmap, rect, rect, paint);
|
|
||||||
|
|
||||||
return output;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.linphone.ui;
|
package org.linphone.utils;
|
||||||
|
|
||||||
import android.widget.BaseAdapter;
|
import android.widget.BaseAdapter;
|
||||||
import android.widget.CompoundButton;
|
import android.widget.CompoundButton;
|
|
@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.linphone.ui;
|
package org.linphone.utils;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
@ -27,7 +27,7 @@ import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
|
|
||||||
public class ListSelectionHelper {
|
public class ListSelectionHelper {
|
||||||
private ImageView mEditButton, mSelectAllButton, mDeselectAllButton, mDeleteSelectionButton, mCancelButton;
|
private ImageView mEditButton, mSelectAllButton, mDeselectAllButton, mDeleteSelectionButton, mCancelButton;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.utils;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SelectableAdapter.java
|
SelectableAdapter.java
|
|
@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.linphone.ui;
|
package org.linphone.utils;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
@ -28,7 +28,7 @@ import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
|
|
||||||
public class SelectableHelper {
|
public class SelectableHelper {
|
||||||
private ImageView mEditButton, mSelectAllButton, mDeselectAllButton, mDeleteSelectionButton, mCancelButton;
|
private ImageView mEditButton, mSelectAllButton, mDeselectAllButton, mDeleteSelectionButton, mCancelButton;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
AddressAwareWidget.java
|
AddressAwareWidget.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
AddressView.java
|
AddressView.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
CallButton.java
|
CallButton.java
|
||||||
|
@ -28,7 +28,7 @@ import android.widget.ImageView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
import org.linphone.core.CallLog;
|
import org.linphone.core.CallLog;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
CallIncomingAnswerButton.java
|
CallIncomingAnswerButton.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
CallIncomingButtonListener.java
|
CallIncomingButtonListener.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
CallIncomingDeclineButton.java
|
CallIncomingDeclineButton.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ContactAvatar.java
|
ContactAvatar.java
|
||||||
|
@ -26,7 +26,8 @@ import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.utils.ImageUtils;
|
||||||
|
import org.linphone.utils.LinphoneUtils;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.contacts.LinphoneContact;
|
import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.ChatRoomSecurityLevel;
|
import org.linphone.core.ChatRoomSecurityLevel;
|
||||||
|
@ -120,7 +121,7 @@ public class ContactAvatar {
|
||||||
holder.init();
|
holder.init();
|
||||||
|
|
||||||
if (contact.getThumbnailUri() != null && contact.getThumbnailUri().getScheme().startsWith("http")) {
|
if (contact.getThumbnailUri() != null && contact.getThumbnailUri().getScheme().startsWith("http")) {
|
||||||
bm = LinphoneUtils.downloadBitmap(contact.getThumbnailUri());
|
bm = ImageUtils.downloadBitmap(contact.getThumbnailUri());
|
||||||
} else {
|
} else {
|
||||||
if (contact.getThumbnailUri() != null) {
|
if (contact.getThumbnailUri() != null) {
|
||||||
try {
|
try {
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ContactSelectView.java
|
ContactSelectView.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Digit.java
|
Digit.java
|
||||||
|
@ -30,7 +30,7 @@ import android.widget.Button;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.call.CallActivity;
|
import org.linphone.call.CallActivity;
|
|
@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
LedPreference.java
|
LedPreference.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
LinphoneOverlay.java
|
LinphoneOverlay.java
|
||||||
|
@ -33,7 +33,7 @@ import android.view.WindowManager;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.activities.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.core.Call;
|
import org.linphone.core.Call;
|
||||||
import org.linphone.core.CallParams;
|
import org.linphone.core.CallParams;
|
||||||
import org.linphone.mediastream.Version;
|
import org.linphone.mediastream.Version;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
NumpadView.java
|
NumpadView.java
|
|
@ -1,4 +1,4 @@
|
||||||
package org.linphone.ui;
|
package org.linphone.views;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2008 The Android Open Source Project
|
* Copyright (C) 2008 The Android Open Source Project
|
|
@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.settings.LinphonePreferences;
|
||||||
import org.linphone.core.XmlRpcArgType;
|
import org.linphone.core.XmlRpcArgType;
|
||||||
import org.linphone.core.XmlRpcRequest;
|
import org.linphone.core.XmlRpcRequest;
|
||||||
import org.linphone.core.XmlRpcRequestListener;
|
import org.linphone.core.XmlRpcRequestListener;
|
||||||
|
|
|
@ -414,7 +414,7 @@
|
||||||
android:layout_above="@id/main_bar"
|
android:layout_above="@id/main_bar"
|
||||||
android:layout_marginBottom="60dp">
|
android:layout_marginBottom="60dp">
|
||||||
|
|
||||||
<org.linphone.ui.Numpad
|
<org.linphone.views.Numpad
|
||||||
android:id="@+id/numpad"
|
android:id="@+id/numpad"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:background="@color/colorF"
|
android:background="@color/colorF"
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:layout_alignParentTop="true">
|
android:layout_alignParentTop="true">
|
||||||
|
|
||||||
<org.linphone.ui.EraseButton
|
<org.linphone.views.EraseButton
|
||||||
android:id="@+id/erase"
|
android:id="@+id/erase"
|
||||||
android:src="@drawable/backspace"
|
android:src="@drawable/backspace"
|
||||||
android:contentDescription="@string/content_description_backspace"
|
android:contentDescription="@string/content_description_backspace"
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
android:layout_marginRight="10dp"
|
android:layout_marginRight="10dp"
|
||||||
android:layout_marginLeft="10dp" />
|
android:layout_marginLeft="10dp" />
|
||||||
|
|
||||||
<org.linphone.ui.AddressText
|
<org.linphone.views.AddressText
|
||||||
android:id="@+id/address"
|
android:id="@+id/address"
|
||||||
android:background="@color/colorF"
|
android:background="@color/colorF"
|
||||||
android:textColorHint="@color/colorE"
|
android:textColorHint="@color/colorE"
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<org.linphone.ui.Numpad
|
<org.linphone.views.Numpad
|
||||||
android:id="@+id/numpad"
|
android:id="@+id/numpad"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
@ -92,7 +92,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<org.linphone.ui.CallButton
|
<org.linphone.views.CallButton
|
||||||
android:id="@+id/call"
|
android:id="@+id/call"
|
||||||
android:src="@drawable/call_audio_start"
|
android:src="@drawable/call_audio_start"
|
||||||
android:background="@drawable/call"
|
android:background="@drawable/call"
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:layout_alignParentTop="true">
|
android:layout_alignParentTop="true">
|
||||||
|
|
||||||
<org.linphone.ui.EraseButton
|
<org.linphone.views.EraseButton
|
||||||
android:id="@+id/erase"
|
android:id="@+id/erase"
|
||||||
android:src="@drawable/backspace"
|
android:src="@drawable/backspace"
|
||||||
android:contentDescription="@string/content_description_backspace"
|
android:contentDescription="@string/content_description_backspace"
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
android:layout_marginRight="10dp"
|
android:layout_marginRight="10dp"
|
||||||
android:layout_marginLeft="10dp" />
|
android:layout_marginLeft="10dp" />
|
||||||
|
|
||||||
<org.linphone.ui.AddressText
|
<org.linphone.views.AddressText
|
||||||
android:id="@+id/address"
|
android:id="@+id/address"
|
||||||
android:background="@color/colorF"
|
android:background="@color/colorF"
|
||||||
android:textColorHint="@color/colorE"
|
android:textColorHint="@color/colorE"
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<org.linphone.ui.Numpad
|
<org.linphone.views.Numpad
|
||||||
android:id="@+id/numpad"
|
android:id="@+id/numpad"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -89,7 +89,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<org.linphone.ui.CallButton
|
<org.linphone.views.CallButton
|
||||||
android:id="@+id/call"
|
android:id="@+id/call"
|
||||||
android:src="@drawable/call_audio_start"
|
android:src="@drawable/call_audio_start"
|
||||||
android:contentDescription="@string/content_description_call"
|
android:contentDescription="@string/content_description_call"
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:layout_alignParentTop="true">
|
android:layout_alignParentTop="true">
|
||||||
|
|
||||||
<org.linphone.ui.EraseButton
|
<org.linphone.views.EraseButton
|
||||||
android:id="@+id/erase"
|
android:id="@+id/erase"
|
||||||
android:src="@drawable/backspace"
|
android:src="@drawable/backspace"
|
||||||
android:contentDescription="@string/content_description_backspace"
|
android:contentDescription="@string/content_description_backspace"
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
android:layout_marginRight="10dp"
|
android:layout_marginRight="10dp"
|
||||||
android:layout_marginLeft="10dp" />
|
android:layout_marginLeft="10dp" />
|
||||||
|
|
||||||
<org.linphone.ui.AddressText
|
<org.linphone.views.AddressText
|
||||||
android:id="@+id/address"
|
android:id="@+id/address"
|
||||||
android:background="@color/colorF"
|
android:background="@color/colorF"
|
||||||
android:textColorHint="@color/colorE"
|
android:textColorHint="@color/colorE"
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<org.linphone.ui.Numpad
|
<org.linphone.views.Numpad
|
||||||
android:id="@+id/numpad"
|
android:id="@+id/numpad"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -89,7 +89,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<org.linphone.ui.CallButton
|
<org.linphone.views.CallButton
|
||||||
android:id="@+id/call"
|
android:id="@+id/call"
|
||||||
android:src="@drawable/call_audio_start"
|
android:src="@drawable/call_audio_start"
|
||||||
android:background="@drawable/call"
|
android:background="@drawable/call"
|
||||||
|
|
|
@ -414,7 +414,7 @@
|
||||||
android:layout_above="@id/main_bar"
|
android:layout_above="@id/main_bar"
|
||||||
android:layout_marginBottom="120dp">
|
android:layout_marginBottom="120dp">
|
||||||
|
|
||||||
<org.linphone.ui.Numpad
|
<org.linphone.views.Numpad
|
||||||
android:id="@+id/numpad"
|
android:id="@+id/numpad"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:background="@color/colorF"
|
android:background="@color/colorF"
|
||||||
|
|
|
@ -93,13 +93,13 @@
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<org.linphone.ui.CallIncomingDeclineButton
|
<org.linphone.views.CallIncomingDeclineButton
|
||||||
android:id="@+id/decline_button"
|
android:id="@+id/decline_button"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_weight="1" />
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<org.linphone.ui.CallIncomingAnswerButton
|
<org.linphone.views.CallIncomingAnswerButton
|
||||||
android:id="@+id/answer_button"
|
android:id="@+id/answer_button"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
android:layout_height="60dp"
|
android:layout_height="60dp"
|
||||||
android:layout_alignParentTop="true">
|
android:layout_alignParentTop="true">
|
||||||
|
|
||||||
<org.linphone.ui.EraseButton
|
<org.linphone.views.EraseButton
|
||||||
android:id="@+id/erase"
|
android:id="@+id/erase"
|
||||||
android:layout_width="40dp"
|
android:layout_width="40dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
android:contentDescription="@string/content_description_backspace"
|
android:contentDescription="@string/content_description_backspace"
|
||||||
android:src="@drawable/backspace"/>
|
android:src="@drawable/backspace"/>
|
||||||
|
|
||||||
<org.linphone.ui.AddressText
|
<org.linphone.views.AddressText
|
||||||
android:id="@+id/address"
|
android:id="@+id/address"
|
||||||
android:background="@color/transparent"
|
android:background="@color/transparent"
|
||||||
android:backgroundTint="@color/transparent"
|
android:backgroundTint="@color/transparent"
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<org.linphone.ui.Numpad
|
<org.linphone.views.Numpad
|
||||||
android:id="@+id/numpad"
|
android:id="@+id/numpad"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<org.linphone.ui.CallButton
|
<org.linphone.views.CallButton
|
||||||
android:id="@+id/call"
|
android:id="@+id/call"
|
||||||
android:src="@drawable/call_audio_start"
|
android:src="@drawable/call_audio_start"
|
||||||
android:background="@drawable/call"
|
android:background="@drawable/call"
|
||||||
|
|
|
@ -4,27 +4,39 @@
|
||||||
android:layout_width="match_parent" android:layout_height="match_parent" >
|
android:layout_width="match_parent" android:layout_height="match_parent" >
|
||||||
|
|
||||||
<TableRow android:layout_weight="1" android:gravity="center">
|
<TableRow android:layout_weight="1" android:gravity="center">
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit1" android:text="1" style="@style/DialerDigit" android:background="@drawable/numpad_one" android:soundEffectsEnabled="true"/>
|
<org.linphone.views.Digit
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit2" android:text="2" style="@style/DialerDigit" android:background="@drawable/numpad_two" android:soundEffectsEnabled="true" />
|
android:id="@+id/Digit1" android:text="1" style="@style/DialerDigit" android:background="@drawable/numpad_one" android:soundEffectsEnabled="true"/>
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit3" android:text="3" style="@style/DialerDigit" android:background="@drawable/numpad_three" android:soundEffectsEnabled="true" />
|
<org.linphone.views.Digit
|
||||||
|
android:id="@+id/Digit2" android:text="2" style="@style/DialerDigit" android:background="@drawable/numpad_two" android:soundEffectsEnabled="true" />
|
||||||
|
<org.linphone.views.Digit
|
||||||
|
android:id="@+id/Digit3" android:text="3" style="@style/DialerDigit" android:background="@drawable/numpad_three" android:soundEffectsEnabled="true" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<TableRow android:layout_weight="1" android:gravity="center">
|
<TableRow android:layout_weight="1" android:gravity="center">
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit4" android:text="4" style="@style/DialerDigit" android:background="@drawable/numpad_four" android:soundEffectsEnabled="true" />
|
<org.linphone.views.Digit
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit5" android:text="5" style="@style/DialerDigit" android:background="@drawable/numpad_five" android:soundEffectsEnabled="true" />
|
android:id="@+id/Digit4" android:text="4" style="@style/DialerDigit" android:background="@drawable/numpad_four" android:soundEffectsEnabled="true" />
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit6" android:text="6" style="@style/DialerDigit" android:background="@drawable/numpad_six" android:soundEffectsEnabled="true" />
|
<org.linphone.views.Digit
|
||||||
|
android:id="@+id/Digit5" android:text="5" style="@style/DialerDigit" android:background="@drawable/numpad_five" android:soundEffectsEnabled="true" />
|
||||||
|
<org.linphone.views.Digit
|
||||||
|
android:id="@+id/Digit6" android:text="6" style="@style/DialerDigit" android:background="@drawable/numpad_six" android:soundEffectsEnabled="true" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<TableRow android:layout_weight="1" android:gravity="center">
|
<TableRow android:layout_weight="1" android:gravity="center">
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit7" android:text="7" style="@style/DialerDigit" android:background="@drawable/numpad_seven" android:soundEffectsEnabled="true" />
|
<org.linphone.views.Digit
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit8" android:text="8" style="@style/DialerDigit" android:background="@drawable/numpad_eight" android:soundEffectsEnabled="true" />
|
android:id="@+id/Digit7" android:text="7" style="@style/DialerDigit" android:background="@drawable/numpad_seven" android:soundEffectsEnabled="true" />
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit9" android:text="9" style="@style/DialerDigit" android:background="@drawable/numpad_nine" android:soundEffectsEnabled="true" />
|
<org.linphone.views.Digit
|
||||||
|
android:id="@+id/Digit8" android:text="8" style="@style/DialerDigit" android:background="@drawable/numpad_eight" android:soundEffectsEnabled="true" />
|
||||||
|
<org.linphone.views.Digit
|
||||||
|
android:id="@+id/Digit9" android:text="9" style="@style/DialerDigit" android:background="@drawable/numpad_nine" android:soundEffectsEnabled="true" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
<TableRow android:layout_weight="1" android:gravity="center">
|
<TableRow android:layout_weight="1" android:gravity="center">
|
||||||
<org.linphone.ui.Digit android:id="@+id/DigitStar" android:text="*" style="@style/DialerDigit" android:background="@drawable/numpad_star_digit" android:soundEffectsEnabled="true" />
|
<org.linphone.views.Digit
|
||||||
<org.linphone.ui.Digit android:id="@+id/Digit00" android:text="0+" style="@style/DialerDigit" android:background="@drawable/numpad_zero" android:soundEffectsEnabled="true" />
|
android:id="@+id/DigitStar" android:text="*" style="@style/DialerDigit" android:background="@drawable/numpad_star_digit" android:soundEffectsEnabled="true" />
|
||||||
<org.linphone.ui.Digit android:id="@+id/DigitHash" android:text="#" style="@style/DialerDigit" android:background="@drawable/numpad_sharp" android:soundEffectsEnabled="true" />
|
<org.linphone.views.Digit
|
||||||
|
android:id="@+id/Digit00" android:text="0+" style="@style/DialerDigit" android:background="@drawable/numpad_zero" android:soundEffectsEnabled="true" />
|
||||||
|
<org.linphone.views.Digit
|
||||||
|
android:id="@+id/DigitHash" android:text="#" style="@style/DialerDigit" android:background="@drawable/numpad_sharp" android:soundEffectsEnabled="true" />
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
</TableLayout>
|
</TableLayout>
|
||||||
|
|
Loading…
Reference in a new issue